Initial commmit.
[sfa.git] / rspec / planetlab.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:pl="http://www.planet-lab.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ecore:nsPrefix="pl" ecore:package="planetlab.planetlab" targetNamespace="http://www.planet-lab.org">
3   <xsd:import namespace="http://www.eclipse.org/emf/2002/Ecore" schemaLocation="../../../plugin/org.eclipse.emf.ecore/model/Ecore.xsd"/>
4   <xsd:element ecore:ignore="true" name="Network" type="pl:Network"/>
5   <xsd:element ecore:ignore="true" name="Node" type="pl:Node"/>
6   <xsd:element ecore:ignore="true" name="Link" type="pl:Link"/>
7   <xsd:element ecore:ignore="true" name="Interface" type="pl:Interface"/>
8   <xsd:element ecore:ignore="true" name="RSpec" type="pl:RSpec"/>
9   <xsd:complexType name="Network">
10     <xsd:sequence>
11       <xsd:element ecore:resolveProxies="true" maxOccurs="unbounded" minOccurs="0" name="links" type="pl:Link"/>
12     </xsd:sequence>
13     <xsd:attribute ecore:reference="pl:Node" name="nodes" use="required">
14       <xsd:simpleType>
15         <xsd:list itemType="xsd:anyURI"/>
16       </xsd:simpleType>
17     </xsd:attribute>
18   </xsd:complexType>
19   <xsd:complexType name="Node">
20     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="name" type="ecore:EString"/>
21     <xsd:attribute default="&quot;&quot;" ecore:unsettable="false" name="type" type="ecore:EString"/>
22     <xsd:attribute default="&quot;&quot;" ecore:name="init_script" ecore:unsettable="false" name="init_script" type="ecore:EString"/>
23     <xsd:attribute default="0" ecore:name="cpu_min" ecore:unsettable="false" name="cpu_min" type="ecore:EBigInteger"/>
24     <xsd:attribute default="0" ecore:name="cpu_share" ecore:unsettable="false" name="cpu_share" type="ecore:EBigInteger"/>
25     <xsd:attribute default="0" ecore:name="cpu_pct" ecore:unsettable="false" name="cpu_pct" type="ecore:EBigInteger"/>
26     <xsd:attribute default="0" ecore:name="disk_max" ecore:unsettable="false" name="disk_max" type="ecore:EBigInteger"/>
27     <xsd:attribute ecore:name="net_if" ecore:reference="pl:Interface" name="net_if" use="required">
28       <xsd:simpleType>
29         <xsd:list itemType="xsd:anyURI"/>
30       </xsd:simpleType>
31     </xsd:attribute>
32   </xsd:complexType>
33   <xsd:complexType name="Link">
34     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="type" type="ecore:EString"/>
35     <xsd:attribute default="0" ecore:unsettable="false" name="bw" type="ecore:EBigInteger"/>
36     <xsd:attribute default="0" ecore:name="min_alloc" ecore:unsettable="false" name="min_alloc" type="ecore:EBigInteger"/>
37     <xsd:attribute default="0" ecore:name="max_alloc" ecore:unsettable="false" name="max_alloc" type="ecore:EBigInteger"/>
38     <xsd:attribute ecore:changeable="false" ecore:reference="pl:Interface" name="endpoint" use="required">
39       <xsd:simpleType>
40         <xsd:list itemType="xsd:anyURI"/>
41       </xsd:simpleType>
42     </xsd:attribute>
43   </xsd:complexType>
44   <xsd:complexType name="Interface">
45     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="name" type="ecore:EString"/>
46     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="type" type="ecore:EString"/>
47     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="addr" type="ecore:EString"/>
48     <xsd:attribute default="0" ecore:name="min_rate" ecore:unsettable="false" name="min_rate" type="ecore:EBigInteger"/>
49     <xsd:attribute default="0" ecore:name="max_rate" ecore:unsettable="false" name="max_rate" type="ecore:EBigInteger"/>
50     <xsd:attribute default="0" ecore:name="max_kbyte" ecore:unsettable="false" name="max_kbyte" type="ecore:EBigInteger"/>
51   </xsd:complexType>
52   <xsd:complexType name="RSpec">
53     <xsd:attribute ecore:reference="pl:Network" name="networks" use="required">
54       <xsd:simpleType>
55         <xsd:list itemType="xsd:anyURI"/>
56       </xsd:simpleType>
57     </xsd:attribute>
58     <xsd:attribute ecore:name="start_time" name="start_time" type="ecore:EBigInteger"/>
59     <xsd:attribute name="duration" type="ecore:EBigInteger"/>
60   </xsd:complexType>
61 </xsd:schema>