From: Andy Bavier <acb@cs.princeton.edu> Date: Fri, 29 Jan 2010 17:05:51 +0000 (+0000) Subject: RelaxNG file for proposed RSpec X-Git-Tag: sfa-0.9-11~170 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=bbfcb6d2d18fc08ee3e8b2874695b7483e01d615;p=sfa.git RelaxNG file for proposed RSpec --- diff --git a/sfa/managers/eucalyptus/eucalyptus.rnc b/sfa/managers/eucalyptus/eucalyptus.rnc index ca06454d..469e77d3 100644 --- a/sfa/managers/eucalyptus/eucalyptus.rnc +++ b/sfa/managers/eucalyptus/eucalyptus.rnc @@ -11,8 +11,8 @@ cloud = element cloud { images, cluster+ } -user-info = element user-info { - credential +user-info = element user-info { + credential } keypairs = element keypairs { keypair+ } images = element images { image+ } diff --git a/sfa/managers/eucalyptus/eucalyptus.rng b/sfa/managers/eucalyptus/eucalyptus.rng new file mode 100644 index 00000000..9bfe3dca --- /dev/null +++ b/sfa/managers/eucalyptus/eucalyptus.rng @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="RSpec"/> + </start> + <define name="RSpec"> + <element name="RSpec"> + <attribute name="type"> + <data type="NMTOKEN"/> + </attribute> + <ref name="cloud"/> + </element> + </define> + <define name="cloud"> + <element name="cloud"> + <attribute name="id"> + <data type="NMTOKEN"/> + </attribute> + <optional> + <ref name="user-info"/> + </optional> + <ref name="ipv4"/> + <ref name="keypairs"/> + <ref name="images"/> + <oneOrMore> + <ref name="cluster"/> + </oneOrMore> + </element> + </define> + <define name="user-info"> + <element name="user-info"> + <ref name="credential"/> + </element> + </define> + <define name="keypairs"> + <element name="keypairs"> + <oneOrMore> + <ref name="keypair"/> + </oneOrMore> + </element> + </define> + <define name="images"> + <element name="images"> + <oneOrMore> + <ref name="image"/> + </oneOrMore> + </element> + </define> + <define name="image"> + <element name="image"> + <attribute name="id"> + <data type="ID"/> + </attribute> + <ref name="type"/> + <ref name="arch"/> + <ref name="state"/> + <ref name="location"/> + </element> + </define> + <define name="cluster"> + <element name="cluster"> + <attribute name="id"> + <data type="ID"/> + </attribute> + <ref name="ipv4"/> + <ref name="vm-types"/> + </element> + </define> + <define name="vm-types"> + <element name="vm-types"> + <oneOrMore> + <ref name="vm-type"/> + </oneOrMore> + </element> + </define> + <define name="vm-type"> + <element name="vm-type"> + <attribute name="name"> + <data type="ID"/> + </attribute> + <ref name="free-slots"/> + <ref name="max-instances"/> + <ref name="cores"/> + <ref name="memory"/> + <ref name="disk-space"/> + <optional> + <ref name="request"/> + </optional> + </element> + </define> + <define name="request"> + <element name="request"> + <ref name="instances"/> + <ref name="kernel-image"/> + <ref name="ramdisk"/> + <ref name="disk-image"/> + <ref name="keypair"/> + </element> + </define> + <define name="credential"> + <element name="credential"> + <text/> + </element> + </define> + <define name="ipv4"> + <element name="ipv4"> + <text/> + </element> + </define> + <define name="keypair"> + <element name="keypair"> + <text/> + </element> + </define> + <define name="type"> + <element name="type"> + <text/> + </element> + </define> + <define name="arch"> + <element name="arch"> + <text/> + </element> + </define> + <define name="state"> + <element name="state"> + <text/> + </element> + </define> + <define name="location"> + <element name="location"> + <text/> + </element> + </define> + <define name="free-slots"> + <element name="free-slots"> + <text/> + </element> + </define> + <define name="max-instances"> + <element name="max-instances"> + <text/> + </element> + </define> + <define name="cores"> + <element name="cores"> + <text/> + </element> + </define> + <define name="memory"> + <element name="memory"> + <attribute name="unit"> + <data type="NMTOKEN"/> + </attribute> + <text/> + </element> + </define> + <define name="disk-space"> + <element name="disk-space"> + <attribute name="unit"> + <data type="NMTOKEN"/> + </attribute> + <text/> + </element> + </define> + <define name="instances"> + <element name="instances"> + <text/> + </element> + </define> + <define name="kernel-image"> + <element name="kernel-image"> + <attribute name="id"> + <data type="IDREF"/> + </attribute> + <empty/> + </element> + </define> + <define name="ramdisk"> + <element name="ramdisk"> + <optional> + <attribute name="id"> + <data type="IDREF"/> + </attribute> + </optional> + <empty/> + </element> + </define> + <define name="disk-image"> + <element name="disk-image"> + <attribute name="id"> + <data type="IDREF"/> + </attribute> + <empty/> + </element> + </define> +</grammar>