Replace dashes with underscores to work around xmlbuilder limitation
[sfa.git] / sfa / managers / eucalyptus / eucalyptus.rng
1 <?xml version="1.0" encoding="UTF-8"?>
2 <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3   <start>
4     <ref name="RSpec"/>
5   </start>
6   <define name="RSpec">
7     <element name="RSpec">
8       <attribute name="type">
9         <data type="NMTOKEN"/>
10       </attribute>
11       <ref name="cloud"/>
12     </element>
13   </define>
14   <define name="cloud">
15     <element name="cloud">
16       <attribute name="id">
17         <data type="NMTOKEN"/>
18       </attribute>
19       <optional>
20         <ref name="user_info"/>
21       </optional>
22       <ref name="ipv4"/>
23       <ref name="keypairs"/>
24       <ref name="images"/>
25       <oneOrMore>
26         <ref name="cluster"/>
27       </oneOrMore>
28     </element>
29   </define>
30   <define name="user_info">
31     <element name="user_info">
32       <ref name="credential"/>
33     </element>
34   </define>
35   <define name="keypairs">
36     <element name="keypairs">
37       <oneOrMore>
38         <ref name="keypair"/>
39       </oneOrMore>
40     </element>
41   </define>
42   <define name="images">
43     <element name="images">
44       <oneOrMore>
45         <ref name="image"/>
46       </oneOrMore>
47     </element>
48   </define>
49   <define name="image">
50     <element name="image">
51       <attribute name="id">
52         <data type="ID"/>
53       </attribute>
54       <ref name="type"/>
55       <ref name="arch"/>
56       <ref name="state"/>
57       <ref name="location"/>
58     </element>
59   </define>
60   <define name="cluster">
61     <element name="cluster">
62       <attribute name="id">
63         <data type="ID"/>
64       </attribute>
65       <ref name="ipv4"/>
66       <ref name="vm_types"/>
67     </element>
68   </define>
69   <define name="vm_types">
70     <element name="vm_types">
71       <oneOrMore>
72         <ref name="vm_type"/>
73       </oneOrMore>
74     </element>
75   </define>
76   <define name="vm_type">
77     <element name="vm_type">
78       <attribute name="name">
79         <data type="ID"/>
80       </attribute>
81       <ref name="free_slots"/>
82       <ref name="max_instances"/>
83       <ref name="cores"/>
84       <ref name="memory"/>
85       <ref name="disk_space"/>
86       <optional>
87         <ref name="request"/>
88       </optional>
89     </element>
90   </define>
91   <define name="request">
92     <element name="request">
93       <ref name="instances"/>
94       <ref name="kernel_image"/>
95       <ref name="ramdisk"/>
96       <ref name="disk_image"/>
97       <ref name="keypair"/>
98     </element>
99   </define>
100   <define name="credential">
101     <element name="credential">
102       <text/>
103     </element>
104   </define>
105   <define name="ipv4">
106     <element name="ipv4">
107       <text/>
108     </element>
109   </define>
110   <define name="keypair">
111     <element name="keypair">
112       <text/>
113     </element>
114   </define>
115   <define name="type">
116     <element name="type">
117       <text/>
118     </element>
119   </define>
120   <define name="arch">
121     <element name="arch">
122       <text/>
123     </element>
124   </define>
125   <define name="state">
126     <element name="state">
127       <text/>
128     </element>
129   </define>
130   <define name="location">
131     <element name="location">
132       <text/>
133     </element>
134   </define>
135   <define name="free_slots">
136     <element name="free_slots">
137       <text/>
138     </element>
139   </define>
140   <define name="max_instances">
141     <element name="max_instances">
142       <text/>
143     </element>
144   </define>
145   <define name="cores">
146     <element name="cores">
147       <text/>
148     </element>
149   </define>
150   <define name="memory">
151     <element name="memory">
152       <attribute name="unit">
153         <data type="NMTOKEN"/>
154       </attribute>
155       <text/>
156     </element>
157   </define>
158   <define name="disk_space">
159     <element name="disk_space">
160       <attribute name="unit">
161         <data type="NMTOKEN"/>
162       </attribute>
163       <text/>
164     </element>
165   </define>
166   <define name="instances">
167     <element name="instances">
168       <data type="unsignedInt"/>
169     </element>
170   </define>
171   <define name="kernel_image">
172     <element name="kernel_image">
173       <attribute name="id">
174         <data type="IDREF"/>
175       </attribute>
176       <empty/>
177     </element>
178   </define>
179   <define name="ramdisk">
180     <element name="ramdisk">
181       <optional>
182         <attribute name="id">
183           <data type="IDREF"/>
184         </attribute>
185       </optional>
186       <empty/>
187     </element>
188   </define>
189   <define name="disk_image">
190     <element name="disk_image">
191       <attribute name="id">
192         <data type="IDREF"/>
193       </attribute>
194       <empty/>
195     </element>
196   </define>
197 </grammar>