Changes to registry manager. SA.
[sfa.git] / sfa / managers / vini / vini.rng
index f7585fa..387c831 100644 (file)
@@ -5,6 +5,12 @@
   </start>
   <define name="RSpec">
     <element name="RSpec">
+      <attribute name="expires">
+        <data type="NMTOKEN"/>
+      </attribute>
+      <attribute name="generated">
+        <data type="NMTOKEN"/>
+      </attribute>
       <attribute name="type">
         <data type="NMTOKEN"/>
       </attribute>
           <data type="NMTOKEN"/>
         </attribute>
       </optional>
+      <optional>
+        <ref name="sliver_defaults"/>
+      </optional>
       <oneOrMore>
-        <choice>
-          <ref name="site"/>
-          <ref name="link"/>
-        </choice>
+        <ref name="site"/>
       </oneOrMore>
+      <zeroOrMore>
+        <ref name="link"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="sliver_defaults">
+    <element name="sliver_defaults">
+      <ref name="sliver_elements"/>
     </element>
   </define>
   <define name="site">
@@ -40,9 +54,9 @@
       <element name="name">
         <text/>
       </element>
-      <oneOrMore>
+      <zeroOrMore>
         <ref name="node"/>
-      </oneOrMore>
+      </zeroOrMore>
     </element>
   </define>
   <define name="node">
       <attribute name="id">
         <data type="ID"/>
       </attribute>
-      <ref name="hostname"/>
-      <ref name="kbps"/>
+      <element name="hostname">
+        <text/>
+      </element>
+      <optional>
+        <element name="bw_unallocated">
+          <attribute name="units">
+            <data type="NMTOKEN"/>
+          </attribute>
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="bw_limit">
+          <attribute name="units">
+            <data type="NMTOKEN"/>
+          </attribute>
+          <text/>
+        </element>
+      </optional>
       <zeroOrMore>
         <ref name="sliver"/>
       </zeroOrMore>
           <text/>
         </element>
       </optional>
-      <optional>
-        <ref name="kbps"/>
-      </optional>
+      <element name="bw_unallocated">
+        <attribute name="units">
+          <data type="NMTOKEN"/>
+        </attribute>
+        <text/>
+      </element>
       <zeroOrMore>
         <ref name="vlink"/>
       </zeroOrMore>
   </define>
   <define name="request">
     <element name="request">
-      <oneOrMore>
-        <choice>
-          <ref name="sliver"/>
-          <ref name="vlink"/>
-        </choice>
-      </oneOrMore>
+      <attribute name="name">
+        <data type="NMTOKEN"/>
+      </attribute>
+      <optional>
+        <ref name="sliver_defaults"/>
+      </optional>
+      <zeroOrMore>
+        <ref name="sliver"/>
+      </zeroOrMore>
+      <zeroOrMore>
+        <ref name="vlink"/>
+      </zeroOrMore>
     </element>
   </define>
   <define name="sliver">
           <data type="ID"/>
         </attribute>
       </optional>
-      <empty/>
+      <ref name="sliver_elements"/>
     </element>
   </define>
+  <define name="sliver_elements">
+    <interleave>
+      <optional>
+        <element name="capabilities">
+          <text/>
+        </element>
+      </optional>
+      <zeroOrMore>
+        <element name="codemux">
+          <text/>
+        </element>
+      </zeroOrMore>
+      <optional>
+        <element name="cpu_pct">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="cpu_share">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="delegations">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="disk_max">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="initscript">
+          <text/>
+        </element>
+      </optional>
+      <zeroOrMore>
+        <element name="ip_addresses">
+          <text/>
+        </element>
+      </zeroOrMore>
+      <optional>
+        <element name="net_i2_max_kbyte">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_i2_max_rate">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_i2_min_rate">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_i2_share">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_i2_thresh_kbyte">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_max_kbyte">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_max_rate">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_min_rate">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_share">
+          <text/>
+        </element>
+      </optional>
+      <optional>
+        <element name="net_thresh_kbyte">
+          <text/>
+        </element>
+      </optional>
+      <zeroOrMore>
+        <element name="vsys">
+          <text/>
+        </element>
+      </zeroOrMore>
+      <optional>
+        <element name="vsys_vnet">
+          <text/>
+        </element>
+      </optional>
+    </interleave>
+  </define>
   <define name="vlink">
     <element name="vlink">
       <optional>
         </element>
       </optional>
       <optional>
-        <ref name="kbps"/>
+        <element name="kbps">
+          <text/>
+        </element>
       </optional>
     </element>
   </define>
-  <define name="hostname">
-    <element name="hostname">
-      <text/>
-    </element>
-  </define>
-  <define name="kbps">
-    <element name="kbps">
-      <text/>
-    </element>
-  </define>
 </grammar>