sfa-0.9-17 tag
[sfa.git] / rspec / model / planetlab.xsd
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
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="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.xsd"/>
4   <xsd:element ecore:ignore="true" name="RSpec" type="pl:RSpec"/>
5   <xsd:element ecore:ignore="true" name="NetSpec" type="pl:NetSpec"/>
6   <xsd:element ecore:ignore="true" name="NodeSpec" type="pl:NodeSpec"/>
7   <xsd:element ecore:ignore="true" name="LinkSpec" type="pl:LinkSpec"/>
8   <xsd:element ecore:ignore="true" name="IfSpec" type="pl:IfSpec"/>
9   <xsd:element ecore:ignore="true" name="SwitchSpec" type="pl:SwitchSpec"/>
10   <xsd:complexType name="RSpec">
11     <xsd:attribute ecore:reference="pl:NetSpec" name="networks" use="required">
12       <xsd:simpleType>
13         <xsd:list itemType="xsd:anyURI"/>
14       </xsd:simpleType>
15     </xsd:attribute>
16     <xsd:attribute ecore:name="start_time" name="start_time" type="ecore:EDate"/>
17     <xsd:attribute name="duration" type="ecore:EDate"/>
18   </xsd:complexType>
19   <xsd:complexType name="NetSpec">
20     <xsd:sequence>
21       <xsd:element ecore:resolveProxies="true" maxOccurs="unbounded" minOccurs="0" name="links" type="pl:LinkSpec"/>
22     </xsd:sequence>
23     <xsd:attribute name="name" type="ecore:EString"/>
24     <xsd:attribute ecore:reference="pl:NodeSpec" name="nodes" use="required">
25       <xsd:simpleType>
26         <xsd:list itemType="xsd:anyURI"/>
27       </xsd:simpleType>
28     </xsd:attribute>
29     <xsd:attribute ecore:name="start_time" name="start_time" type="ecore:EDate"/>
30     <xsd:attribute name="duration" type="ecore:EDate"/>
31   </xsd:complexType>
32   <xsd:complexType name="NodeSpec">
33     <xsd:sequence>
34       <xsd:element ecore:unique="true" maxOccurs="1000" name="name" nillable="true" type="ecore:EString"/>
35     </xsd:sequence>
36     <xsd:attribute default="&quot;&quot;" ecore:unsettable="false" name="type" type="ecore:EString"/>
37     <xsd:attribute default="" ecore:name="init_params" ecore:unsettable="false" name="init_params" type="ecore:EByteArray"/>
38     <xsd:attribute default="0" ecore:name="cpu_min" ecore:unsettable="false" name="cpu_min" type="ecore:EInt"/>
39     <xsd:attribute default="0" ecore:name="cpu_share" ecore:unsettable="false" name="cpu_share" type="ecore:EInt"/>
40     <xsd:attribute default="0" ecore:name="cpu_pct" ecore:unsettable="false" name="cpu_pct" type="ecore:EInt"/>
41     <xsd:attribute default="0" ecore:name="disk_max" ecore:unsettable="false" name="disk_max" type="ecore:EInt"/>
42     <xsd:attribute ecore:name="net_if" ecore:reference="pl:IfSpec" name="net_if" use="required">
43       <xsd:simpleType>
44         <xsd:list itemType="xsd:anyURI"/>
45       </xsd:simpleType>
46     </xsd:attribute>
47     <xsd:attribute ecore:name="start_time" name="start_time" type="ecore:EDate"/>
48     <xsd:attribute name="duration" type="ecore:EDate"/>
49   </xsd:complexType>
50   <xsd:complexType name="LinkSpec">
51     <xsd:sequence>
52       <xsd:element default="0" ecore:unique="true" maxOccurs="unbounded" minOccurs="0" name="bw" type="ecore:EInt"/>
53       <xsd:element default="0" ecore:name="max_alloc" ecore:unique="true" maxOccurs="unbounded" minOccurs="0" name="max_alloc" type="ecore:EInt"/>
54     </xsd:sequence>
55     <xsd:attribute default="&quot;&quot;" ecore:changeable="false" ecore:unsettable="false" name="type" type="ecore:EString"/>
56     <xsd:attribute ecore:name="init_params" name="init_params" type="ecore:EByteArray"/>
57     <xsd:attribute default="0" ecore:name="min_alloc" ecore:unsettable="false" name="min_alloc" type="ecore:EInt"/>
58     <xsd:attribute ecore:changeable="false" ecore:reference="pl:IfSpec" name="endpoint" use="required">
59       <xsd:simpleType>
60         <xsd:list itemType="xsd:anyURI"/>
61       </xsd:simpleType>
62     </xsd:attribute>
63     <xsd:attribute ecore:name="start_time" name="start_time" type="ecore:EDate"/>
64     <xsd:attribute name="duration" type="ecore:EDate"/>
65   </xsd:complexType>
66   <xsd:complexType name="IfSpec">
67     <xsd:sequence>
68       <xsd:element default="5452595" ecore:name="max_kbyte" ecore:unique="true" ecore:unsettable="true" maxOccurs="unbounded" minOccurs="0" name="max_kbyte" type="ecore:EInt"/>
69     </xsd:sequence>
70     <xsd:attribute name="name" type="ecore:EString"/>
71     <xsd:attribute name="addr" type="ecore:EString"/>
72     <xsd:attribute default="" ecore:changeable="false" ecore:unsettable="false" name="type" type="ecore:EString"/>
73     <xsd:attribute default="" ecore:name="init_params" ecore:unsettable="false" name="init_params" type="ecore:EByteArray"/>
74     <xsd:attribute default="0" ecore:name="min_rate" ecore:unsettable="false" name="min_rate" type="ecore:EInt"/>
75     <xsd:attribute default="12207" ecore:name="max_rate" ecore:unsettable="false" name="max_rate" type="ecore:EInt"/>
76     <xsd:attribute default="false" ecore:name="ip_spoof" ecore:unsettable="false" name="ip_spoof" type="ecore:EBoolean"/>
77   </xsd:complexType>
78   <xsd:complexType name="SwitchSpec">
79     <xsd:complexContent>
80       <xsd:extension base="pl:NodeSpec">
81         <xsd:attribute default="0" ecore:name="fib_max" ecore:unsettable="false" name="fib_max" type="ecore:EInt"/>
82       </xsd:extension>
83     </xsd:complexContent>
84   </xsd:complexType>
85 </xsd:schema>