sfa-0.9-17 tag
[sfa.git] / sfa / managers / vini / vini.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       <choice>
12         <ref name="network"/>
13         <ref name="request"/>
14       </choice>
15     </element>
16   </define>
17   <define name="network">
18     <element name="network">
19       <attribute name="name">
20         <data type="NMTOKEN"/>
21       </attribute>
22       <optional>
23         <attribute name="slice">
24           <data type="NMTOKEN"/>
25         </attribute>
26       </optional>
27       <optional>
28         <ref name="sliver_defaults"/>
29       </optional>
30       <oneOrMore>
31         <ref name="site"/>
32       </oneOrMore>
33       <zeroOrMore>
34         <ref name="link"/>
35       </zeroOrMore>
36     </element>
37   </define>
38   <define name="sliver_defaults">
39     <element name="sliver_defaults">
40       <ref name="sliver_elements"/>
41     </element>
42   </define>
43   <define name="site">
44     <element name="site">
45       <attribute name="id">
46         <data type="ID"/>
47       </attribute>
48       <element name="name">
49         <text/>
50       </element>
51       <zeroOrMore>
52         <ref name="node"/>
53       </zeroOrMore>
54     </element>
55   </define>
56   <define name="node">
57     <element name="node">
58       <attribute name="id">
59         <data type="ID"/>
60       </attribute>
61       <element name="hostname">
62         <text/>
63       </element>
64       <optional>
65         <element name="bw_unallocated">
66           <attribute name="units">
67             <data type="NMTOKEN"/>
68           </attribute>
69           <text/>
70         </element>
71       </optional>
72       <optional>
73         <element name="bw_limit">
74           <attribute name="units">
75             <data type="NMTOKEN"/>
76           </attribute>
77           <text/>
78         </element>
79       </optional>
80       <zeroOrMore>
81         <ref name="sliver"/>
82       </zeroOrMore>
83     </element>
84   </define>
85   <define name="link">
86     <element name="link">
87       <attribute name="endpoints">
88         <data type="IDREFS"/>
89       </attribute>
90       <optional>
91         <element name="description">
92           <text/>
93         </element>
94       </optional>
95       <element name="bw_unallocated">
96         <attribute name="units">
97           <data type="NMTOKEN"/>
98         </attribute>
99         <text/>
100       </element>
101       <zeroOrMore>
102         <ref name="vlink"/>
103       </zeroOrMore>
104     </element>
105   </define>
106   <define name="request">
107     <element name="request">
108       <attribute name="name">
109         <data type="NMTOKEN"/>
110       </attribute>
111       <optional>
112         <ref name="sliver_defaults"/>
113       </optional>
114       <zeroOrMore>
115         <ref name="sliver"/>
116       </zeroOrMore>
117       <zeroOrMore>
118         <ref name="vlink"/>
119       </zeroOrMore>
120     </element>
121   </define>
122   <define name="sliver">
123     <element name="sliver">
124       <optional>
125         <attribute name="nodeid">
126           <data type="ID"/>
127         </attribute>
128       </optional>
129       <ref name="sliver_elements"/>
130     </element>
131   </define>
132   <define name="sliver_elements">
133     <interleave>
134       <optional>
135         <element name="capabilities">
136           <text/>
137         </element>
138       </optional>
139       <zeroOrMore>
140         <element name="codemux">
141           <text/>
142         </element>
143       </zeroOrMore>
144       <optional>
145         <element name="cpu_pct">
146           <text/>
147         </element>
148       </optional>
149       <optional>
150         <element name="cpu_share">
151           <text/>
152         </element>
153       </optional>
154       <optional>
155         <element name="delegations">
156           <text/>
157         </element>
158       </optional>
159       <optional>
160         <element name="disk_max">
161           <text/>
162         </element>
163       </optional>
164       <optional>
165         <element name="initscript">
166           <text/>
167         </element>
168       </optional>
169       <zeroOrMore>
170         <element name="ip_addresses">
171           <text/>
172         </element>
173       </zeroOrMore>
174       <optional>
175         <element name="net_i2_max_kbyte">
176           <text/>
177         </element>
178       </optional>
179       <optional>
180         <element name="net_i2_max_rate">
181           <text/>
182         </element>
183       </optional>
184       <optional>
185         <element name="net_i2_min_rate">
186           <text/>
187         </element>
188       </optional>
189       <optional>
190         <element name="net_i2_share">
191           <text/>
192         </element>
193       </optional>
194       <optional>
195         <element name="net_i2_thresh_kbyte">
196           <text/>
197         </element>
198       </optional>
199       <optional>
200         <element name="net_max_kbyte">
201           <text/>
202         </element>
203       </optional>
204       <optional>
205         <element name="net_max_rate">
206           <text/>
207         </element>
208       </optional>
209       <optional>
210         <element name="net_min_rate">
211           <text/>
212         </element>
213       </optional>
214       <optional>
215         <element name="net_share">
216           <text/>
217         </element>
218       </optional>
219       <optional>
220         <element name="net_thresh_kbyte">
221           <text/>
222         </element>
223       </optional>
224       <zeroOrMore>
225         <element name="vsys">
226           <text/>
227         </element>
228       </zeroOrMore>
229       <optional>
230         <element name="vsys_vnet">
231           <text/>
232         </element>
233       </optional>
234     </interleave>
235   </define>
236   <define name="vlink">
237     <element name="vlink">
238       <optional>
239         <attribute name="endpoints">
240           <data type="IDREFS"/>
241         </attribute>
242       </optional>
243       <optional>
244         <element name="description">
245           <text/>
246         </element>
247       </optional>
248       <optional>
249         <element name="kbps">
250           <text/>
251         </element>
252       </optional>
253     </element>
254   </define>
255 </grammar>