source: fedd/fedd_types.xsd @ 8f4c361

axis_examplecompt_changesinfo-opsversion-1.30version-2.00version-3.01version-3.02
Last change on this file since 8f4c361 was ef36c1e, checked in by Ted Faber <faber@…>, 16 years ago

split out project creation

  • Property mode set to 100644
File size: 7.2 KB
Line 
1<?xml version="1.0"?>
2<xsd:schema targetNamespace="http://www.isi.edu/faber/fedd_types"
3  xmlns:tns="http://www.isi.edu/faber/fedd_types"
4  xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
5  xmlns="http://www.w3.org/2000/10/XMLSchema">
6
7  <xsd:complexType name="IDType">
8    <xsd:annotation>
9      <xsd:documentation>
10        The types of user IDs
11      </xsd:documentation>
12    </xsd:annotation>
13    <xsd:choice>
14      <xsd:element name="uuid" type="xsd:base64Binary"/>
15      <xsd:element name="fedid" type="xsd:base64Binary"/>
16      <xsd:element name="uri" type="xsd:string"/>
17      <xsd:element name="username" type="xsd:string"/>
18      <xsd:element name="kerberosUsername" type="xsd:string"/>
19    </xsd:choice>
20  </xsd:complexType>
21
22  <xsd:complexType name="nodeType">
23    <xsd:annotation>
24      <xsd:documentation>
25        Nodes are described in terms of their images or hardware requirements.
26        This description may be empty
27      </xsd:documentation>
28    </xsd:annotation>
29    <xsd:sequence>
30      <xsd:element name="image" type="xsd:string" minOccurs="0"
31        maxOccurs="unbounded"/>
32      <xsd:element name="hardware" type="xsd:string" minOccurs="0"
33        maxOccurs="unbounded"/>
34    </xsd:sequence>
35    <xsd:attribute name="count" type="xsd:int" use="optional"/>
36  </xsd:complexType>
37
38  <xsd:simpleType name="kindType">
39    <xsd:restriction base="xsd:string">
40      <xsd:enumeration value="max"/>
41      <xsd:enumeration value="average"/>
42    </xsd:restriction>
43  </xsd:simpleType>
44
45  <xsd:complexType name="capacityType">
46    <xsd:annotation>
47      <xsd:documentation>
48        Capacity value and type of cut
49      </xsd:documentation>
50    </xsd:annotation>
51    <xsd:sequence>
52      <xsd:element name="rate" type="xsd:double"/>
53      <xsd:element name="kind" type="tns:kindType"/>
54    </xsd:sequence>
55  </xsd:complexType>
56
57  <xsd:complexType name="accessType">
58    <xsd:annotation>
59      <xsd:documentation>
60        The types of credentails used for remote project access
61      </xsd:documentation>
62    </xsd:annotation>
63    <xsd:choice>
64      <xsd:element name="X509" type="xsd:base64Binary"/>
65      <xsd:element name="sshPubkey" type="xsd:base64Binary"/>
66      <xsd:element name="pgpPubkey" type="xsd:base64Binary"/>
67    </xsd:choice>
68  </xsd:complexType>
69
70  <xsd:complexType name="userType">
71    <xsd:annotation>
72      <xsd:documentation>
73        A user consists of one or both of an identifier and an access
74        credential.
75      </xsd:documentation>
76    </xsd:annotation>
77    <xsd:sequence>
78      <xsd:element name="userID" type="tns:IDType" minOccurs="0"
79        maxOccurs="1"/>
80      <xsd:element name="access" type="tns:accessType" minOccurs="0"
81        maxOccurs="unbounded"/>
82    </xsd:sequence>
83  </xsd:complexType>
84
85  <xsd:complexType name="fedAttrType">
86    <xsd:annotation>
87      <xsd:documentation>
88        A general attribute value pair for passing federation parameters and
89        preferences
90      </xsd:documentation>
91    </xsd:annotation>
92    <xsd:sequence>
93      <xsd:element name="attribute" type="xsd:string"/>
94      <xsd:element name="value" type="xsd:string"/>
95    </xsd:sequence>
96  </xsd:complexType>
97
98
99  <xsd:complexType name="resourcesType">
100    <xsd:annotation>
101      <xsd:documentation>
102        An estimate of the resources than a federated experiment may require
103      </xsd:documentation>
104    </xsd:annotation>
105    <xsd:sequence>
106      <xsd:element name="node" type="tns:nodeType" minOccurs="0"
107        maxOccurs="unbounded" />
108      <xsd:element name="capacity" type="tns:capacityType" minOccurs="0"
109        maxOccurs="unbounded"/>
110    </xsd:sequence>
111  </xsd:complexType>
112
113  <xsd:complexType name="projectType">
114    <xsd:annotation>
115      <xsd:documentation>
116        A project name and access user
117      </xsd:documentation>
118    </xsd:annotation>
119    <xsd:sequence>
120      <xsd:element name="name" type="tns:IDType" minOccurs="0" maxOccurs="1"/>
121      <xsd:element name="user" type="tns:userType" minOccurs="0"
122        maxOccurs="unbounded"/>
123    </xsd:sequence>
124  </xsd:complexType>
125
126  <xsd:complexType name="emulabType">
127    <xsd:annotation>
128      <xsd:documentation>
129        The information needed to swap an emulab experiment in
130      </xsd:documentation>
131    </xsd:annotation>
132    <xsd:sequence>
133      <xsd:element name="project" type="tns:projectType"/>
134      <xsd:element name="domain" type="xsd:string"/>
135      <xsd:element name="boss" type="xsd:string"/>
136      <xsd:element name="ops" type="xsd:string"/>
137      <xsd:element name="fileServer" type="xsd:string"/>
138      <xsd:element name="eventServer" type="xsd:string"/>
139      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
140        maxOccurs="unbounded"/>
141    </xsd:sequence>
142  </xsd:complexType>
143
144  <xsd:complexType name="projectAllocType">
145    <xsd:annotation>
146      <xsd:documentation>
147        The information needed to create a dynamic project
148      </xsd:documentation>
149    </xsd:annotation>
150    <xsd:sequence>
151      <xsd:element name="project" type="tns:projectType"/>
152      <xsd:element name="resources" type="tns:resourcesType" 
153        minOccurs="0" maxOccurs="1"/>
154    </xsd:sequence>
155  </xsd:complexType>
156
157  <xsd:complexType name="projectAllocResponseType">
158    <xsd:annotation>
159      <xsd:documentation>
160        The information needed to create a dynamic project
161      </xsd:documentation>
162    </xsd:annotation>
163    <xsd:sequence>
164      <xsd:element name="project" type="tns:projectType"/>
165    </xsd:sequence>
166  </xsd:complexType>
167
168  <xsd:complexType name="requestType">
169    <xsd:annotation>
170      <xsd:documentation>
171        The full on request type.
172      </xsd:documentation>
173    </xsd:annotation>
174    <xsd:sequence>
175      <xsd:element name="destinationTestbed" type="tns:IDType"
176        minOccurs="0" maxOccurs="1" />
177      <xsd:choice>
178        <xsd:element name="project" type="tns:projectType" minOccurs="0" 
179          maxOccurs="1"/>
180        <xsd:element name="user" type="tns:userType" minOccurs="0"
181          maxOccurs="unbounded"/>
182      </xsd:choice>
183      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
184        maxOccurs="1"/>
185      <xsd:element name="access" type="tns:accessType" minOccurs="1" 
186        maxOccurs="unbounded"/>
187      <xsd:element name="allocID" type="tns:IDType"/>
188      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
189      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
190        maxOccurs="1"/>
191    </xsd:sequence>
192  </xsd:complexType>
193
194  <xsd:complexType name="responseType">
195    <xsd:annotation>
196      <xsd:documentation>
197        The full on response type.
198      </xsd:documentation>
199    </xsd:annotation>
200    <xsd:sequence>
201      <xsd:element name="allocID" type="tns:IDType"/>
202      <xsd:element name="emulab" type="tns:emulabType"/>
203      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
204      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
205        maxOccurs="1"/>
206    </xsd:sequence>
207  </xsd:complexType>
208
209  <xsd:complexType name="faultType">
210    <xsd:sequence>
211      <xsd:element name="code" type="xsd:int">
212        <xsd:restriction>
213          <xsd:enumeration value="1"/>  <!-- access denied -->
214          <xsd:enumeration value="2"/>  <!-- proxy error -->
215          <xsd:enumeration value="3"/>  <!-- badly formed request -->
216          <xsd:enumeration value="4"/>  <!-- internal error -->
217        </xsd:restriction>
218      </xsd:element>
219      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
220      </xsd:element>
221      <xsd:element name="desc" type="xsd:string"/>
222    </xsd:sequence>
223  </xsd:complexType>
224
225</xsd:schema>
Note: See TracBrowser for help on using the repository browser.