a little nicer wrt pep8
[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="expires">
9         <data type="NMTOKEN"/>
10       </attribute>
11       <attribute name="generated">
12         <data type="NMTOKEN"/>
13       </attribute>
14       <attribute name="type">
15         <data type="NMTOKEN"/>
16       </attribute>
17       <oneOrMore>
18         <ref name="network"/>
19       </oneOrMore>
20     </element>
21   </define>
22   <define name="network">
23     <element name="network">
24       <attribute name="name">
25         <data type="NMTOKEN"/>
26       </attribute>
27       <optional>
28         <ref name="user_info"/>
29       </optional>
30       <ref name="ipv4"/>
31       <ref name="bundles"/>
32       <oneOrMore>
33         <!--
34           keypairs,
35           images,
36         -->
37         <ref name="cluster"/>
38       </oneOrMore>
39     </element>
40   </define>
41   <define name="user_info">
42     <element name="user_info">
43       <element name="credential">
44         <text/>
45       </element>
46     </element>
47   </define>
48   <define name="keypairs">
49     <element name="keypairs">
50       <oneOrMore>
51         <ref name="keypair"/>
52       </oneOrMore>
53     </element>
54   </define>
55   <define name="keypair">
56     <element name="keypair">
57       <text/>
58     </element>
59   </define>
60   <define name="bundles">
61     <element name="bundles">
62       <oneOrMore>
63         <element name="bundle">
64           <attribute name="id">
65             <data type="ID"/>
66           </attribute>
67           <empty/>
68         </element>
69       </oneOrMore>
70     </element>
71   </define>
72   <define name="images">
73     <element name="images">
74       <oneOrMore>
75         <ref name="image"/>
76       </oneOrMore>
77     </element>
78   </define>
79   <define name="image">
80     <element name="image">
81       <attribute name="id">
82         <data type="ID"/>
83       </attribute>
84       <ref name="type"/>
85       <ref name="arch"/>
86       <ref name="state"/>
87       <ref name="location"/>
88     </element>
89   </define>
90   <define name="cluster">
91     <element name="cluster">
92       <attribute name="id">
93         <data type="ID"/>
94       </attribute>
95       <ref name="ipv4"/>
96       <ref name="vm_types"/>
97     </element>
98   </define>
99   <define name="vm_types">
100     <element name="vm_types">
101       <oneOrMore>
102         <ref name="vm_type"/>
103       </oneOrMore>
104     </element>
105   </define>
106   <define name="vm_type">
107     <element name="vm_type">
108       <attribute name="name">
109         <data type="ID"/>
110       </attribute>
111       <ref name="free_slots"/>
112       <ref name="max_instances"/>
113       <ref name="cores"/>
114       <ref name="memory"/>
115       <ref name="disk_space"/>
116       <optional>
117         <ref name="euca_instances"/>
118       </optional>
119       <optional>
120         <ref name="request"/>
121       </optional>
122     </element>
123   </define>
124   <define name="request">
125     <element name="request">
126       <ref name="instances"/>
127       <element name="bundle">
128         <data type="IDREF"/>
129       </element>
130     </element>
131   </define>
132   <define name="oldrequest">
133     <element name="oldrequest">
134       <ref name="instances"/>
135       <ref name="kernel_image"/>
136       <ref name="ramdisk"/>
137       <ref name="disk_image"/>
138       <ref name="keypair"/>
139     </element>
140   </define>
141   <define name="euca_instances">
142     <element name="euca_instances">
143       <oneOrMore>
144         <ref name="euca_instance"/>
145       </oneOrMore>
146     </element>
147   </define>
148   <define name="euca_instance">
149     <element name="euca_instance">
150       <attribute name="id">
151         <data type="ID"/>
152       </attribute>
153       <ref name="state"/>
154       <ref name="public_dns"/>
155       <optional>
156         <ref name="keypair"/>
157       </optional>
158     </element>
159   </define>
160   <define name="ipv4">
161     <element name="ipv4">
162       <text/>
163     </element>
164   </define>
165   <define name="type">
166     <element name="type">
167       <text/>
168     </element>
169   </define>
170   <define name="arch">
171     <element name="arch">
172       <text/>
173     </element>
174   </define>
175   <define name="state">
176     <element name="state">
177       <text/>
178     </element>
179   </define>
180   <define name="location">
181     <element name="location">
182       <text/>
183     </element>
184   </define>
185   <define name="free_slots">
186     <element name="free_slots">
187       <text/>
188     </element>
189   </define>
190   <define name="max_instances">
191     <element name="max_instances">
192       <text/>
193     </element>
194   </define>
195   <define name="cores">
196     <element name="cores">
197       <text/>
198     </element>
199   </define>
200   <define name="public_dns">
201     <element name="public_dns">
202       <text/>
203     </element>
204   </define>
205   <define name="memory">
206     <element name="memory">
207       <attribute name="unit">
208         <data type="NMTOKEN"/>
209       </attribute>
210       <text/>
211     </element>
212   </define>
213   <define name="disk_space">
214     <element name="disk_space">
215       <attribute name="unit">
216         <data type="NMTOKEN"/>
217       </attribute>
218       <text/>
219     </element>
220   </define>
221   <define name="instances">
222     <element name="instances">
223       <data type="unsignedInt"/>
224     </element>
225   </define>
226   <define name="kernel_image">
227     <element name="kernel_image">
228       <attribute name="id">
229         <data type="IDREF"/>
230       </attribute>
231       <empty/>
232     </element>
233   </define>
234   <define name="ramdisk">
235     <element name="ramdisk">
236       <optional>
237         <attribute name="id">
238           <data type="IDREF"/>
239         </attribute>
240       </optional>
241       <empty/>
242     </element>
243   </define>
244   <define name="disk_image">
245     <element name="disk_image">
246       <attribute name="id">
247         <data type="IDREF"/>
248       </attribute>
249       <empty/>
250     </element>
251   </define>
252 </grammar>