New RSpec format
[sfa.git] / sfa / managers / pl / pl.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     </element>
34   </define>
35   <define name="sliver_defaults">
36     <element name="sliver_defaults">
37       <ref name="sliver_elements"/>
38     </element>
39   </define>
40   <define name="site">
41     <element name="site">
42       <attribute name="id">
43         <data type="ID"/>
44       </attribute>
45       <element name="name">
46         <text/>
47       </element>
48       <zeroOrMore>
49         <ref name="node"/>
50       </zeroOrMore>
51     </element>
52   </define>
53   <define name="node">
54     <element name="node">
55       <attribute name="id">
56         <data type="ID"/>
57       </attribute>
58       <element name="hostname">
59         <text/>
60       </element>
61       <optional>
62         <element name="bw_limit">
63           <attribute name="units">
64             <data type="NMTOKEN"/>
65           </attribute>
66           <text/>
67         </element>
68       </optional>
69       <zeroOrMore>
70         <ref name="sliver"/>
71       </zeroOrMore>
72     </element>
73   </define>
74   <define name="request">
75     <element name="request">
76       <oneOrMore>
77         <ref name="sliver"/>
78       </oneOrMore>
79     </element>
80   </define>
81   <define name="sliver">
82     <element name="sliver">
83       <optional>
84         <attribute name="nodeid">
85           <data type="ID"/>
86         </attribute>
87       </optional>
88       <ref name="sliver_elements"/>
89     </element>
90   </define>
91   <define name="sliver_elements">
92     <interleave>
93       <optional>
94         <element name="capabilities">
95           <text/>
96         </element>
97       </optional>
98       <zeroOrMore>
99         <element name="codemux">
100           <text/>
101         </element>
102       </zeroOrMore>
103       <optional>
104         <element name="cpu_pct">
105           <text/>
106         </element>
107       </optional>
108       <optional>
109         <element name="cpu_share">
110           <text/>
111         </element>
112       </optional>
113       <optional>
114         <element name="delegations">
115           <text/>
116         </element>
117       </optional>
118       <optional>
119         <element name="disk_max">
120           <text/>
121         </element>
122       </optional>
123       <optional>
124         <element name="initscript">
125           <text/>
126         </element>
127       </optional>
128       <zeroOrMore>
129         <element name="ip_addresses">
130           <text/>
131         </element>
132       </zeroOrMore>
133       <optional>
134         <element name="net_i2_max_kbyte">
135           <text/>
136         </element>
137       </optional>
138       <optional>
139         <element name="net_i2_max_rate">
140           <text/>
141         </element>
142       </optional>
143       <optional>
144         <element name="net_i2_min_rate">
145           <text/>
146         </element>
147       </optional>
148       <optional>
149         <element name="net_i2_share">
150           <text/>
151         </element>
152       </optional>
153       <optional>
154         <element name="net_i2_thresh_kbyte">
155           <text/>
156         </element>
157       </optional>
158       <optional>
159         <element name="net_max_kbyte">
160           <text/>
161         </element>
162       </optional>
163       <optional>
164         <element name="net_max_rate">
165           <text/>
166         </element>
167       </optional>
168       <optional>
169         <element name="net_min_rate">
170           <text/>
171         </element>
172       </optional>
173       <optional>
174         <element name="net_share">
175           <text/>
176         </element>
177       </optional>
178       <optional>
179         <element name="net_thresh_kbyte">
180           <text/>
181         </element>
182       </optional>
183       <zeroOrMore>
184         <element name="vsys">
185           <text/>
186         </element>
187       </zeroOrMore>
188       <optional>
189         <element name="vsys_vnet">
190           <text/>
191         </element>
192       </optional>
193     </interleave>
194   </define>
195 </grammar>