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