source: fedd/fedd_types.xsd @ fca8740

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

Experiment creation integrated

  • Property mode set to 100644
File size: 11.7 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="mapType">
114    <xsd:annotation>
115      <xsd:documentation>
116        Explicit translation of testbed attribute in a federated experiment
117        description.  Used in a creation request.
118      </xsd:documentation>
119    </xsd:annotation>
120    <xsd:sequence>
121      <xsd:element name="testbed" type="tns:IDType"/>
122      <xsd:element name="uri" type="xsd:string"/>
123    </xsd:sequence>
124  </xsd:complexType>
125
126
127  <xsd:complexType name="projectType">
128    <xsd:annotation>
129      <xsd:documentation>
130        A project name and access user
131      </xsd:documentation>
132    </xsd:annotation>
133    <xsd:sequence>
134      <xsd:element name="testbed" type="tns:IDType" minOccurs="0"
135        maxOccurs="1"/>
136      <xsd:element name="name" type="tns:IDType" minOccurs="0" maxOccurs="1"/>
137      <xsd:element name="user" type="tns:userType" minOccurs="0"
138        maxOccurs="unbounded"/>
139    </xsd:sequence>
140  </xsd:complexType>
141
142  <xsd:complexType name="emulabType">
143    <xsd:annotation>
144      <xsd:documentation>
145        The information needed to swap an emulab experiment in
146      </xsd:documentation>
147    </xsd:annotation>
148    <xsd:sequence>
149      <xsd:element name="project" type="tns:projectType"/>
150      <xsd:element name="domain" type="xsd:string"/>
151      <xsd:element name="boss" type="xsd:string"/>
152      <xsd:element name="ops" type="xsd:string"/>
153      <xsd:element name="fileServer" type="xsd:string"/>
154      <xsd:element name="eventServer" type="xsd:string"/>
155      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
156        maxOccurs="unbounded"/>
157    </xsd:sequence>
158  </xsd:complexType>
159
160  <xsd:complexType name="vtoponodeType">
161    <xsd:annotation>
162      <xsd:documentation>
163        Node in the virtual topology of a federated experiment (emulab legacy)
164      </xsd:documentation>
165    </xsd:annotation>
166    <xsd:sequence>
167      <xsd:element name="vname" type="xsd:string"/>
168      <xsd:element name="ips" type="xsd:string"/>
169    </xsd:sequence>
170  </xsd:complexType>
171
172  <xsd:complexType name="vtoponodesType">
173    <xsd:annotation>
174      <xsd:documentation>
175        Collection of nodes in the virtual topology of a federated experiment (emulab legacy)
176      </xsd:documentation>
177    </xsd:annotation>
178    <xsd:sequence>
179      <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0"
180        maxOccurs="unbounded"/>
181    </xsd:sequence>
182  </xsd:complexType>
183
184  <xsd:complexType name="vtopolanType">
185    <xsd:annotation>
186      <xsd:documentation>
187        LAN in the virtual topology of a federated experiment (emulab legacy)
188      </xsd:documentation>
189    </xsd:annotation>
190    <xsd:sequence>
191      <xsd:element name="vname" type="xsd:string"/>
192      <xsd:element name="vnode" type="xsd:string"/>
193      <xsd:element name="ip" type="xsd:string"/>
194      <xsd:element name="bandwidth" type="xsd:int"/>
195      <xsd:element name="delay" type="xsd:float"/>
196      <xsd:element name="member" type="xsd:string"/>
197    </xsd:sequence>
198  </xsd:complexType>
199
200  <xsd:complexType name="vtopolansType">
201    <xsd:annotation>
202      <xsd:documentation>
203        Collection of LAN in the virtual topology of a federated experiment (emulab legacy)
204      </xsd:documentation>
205    </xsd:annotation>
206    <xsd:sequence>
207      <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0"
208        maxOccurs="unbounded"/>
209    </xsd:sequence>
210  </xsd:complexType>
211
212  <xsd:complexType name="vtopoType">
213    <xsd:annotation>
214      <xsd:documentation>
215        The virtual topology of a federated experiment (emulab legacy)
216      </xsd:documentation>
217    </xsd:annotation>
218    <xsd:sequence>
219      <xsd:element name="nodes" type="tns:vtoponodesType"/>
220      <xsd:element name="lans" type="tns:vtopolansType"/>
221    </xsd:sequence>
222  </xsd:complexType>
223
224  <xsd:complexType name="visnodeType">
225    <xsd:annotation>
226      <xsd:documentation>
227        Node in the visualization of a federated experiment (emulab legacy)
228      </xsd:documentation>
229    </xsd:annotation>
230    <xsd:sequence>
231      <xsd:element name="name" type="xsd:string"/>
232      <xsd:element name="x" type="xsd:int"/>
233      <xsd:element name="y" type="xsd:int"/>
234      <xsd:element name="type" type="xsd:string"/>
235    </xsd:sequence>
236  </xsd:complexType>
237
238  <xsd:complexType name="visType">
239    <xsd:annotation>
240      <xsd:documentation>
241        The visualization of a federated experiment (emulab legacy)
242      </xsd:documentation>
243    </xsd:annotation>
244    <xsd:sequence>
245      <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
246        maxOccurs="unbounded"/>
247    </xsd:sequence>
248  </xsd:complexType>
249
250  <xsd:complexType name="projectAllocType">
251    <xsd:annotation>
252      <xsd:documentation>
253        The information needed to create a dynamic project
254      </xsd:documentation>
255    </xsd:annotation>
256    <xsd:sequence>
257      <xsd:element name="project" type="tns:projectType"/>
258      <xsd:element name="resources" type="tns:resourcesType" 
259        minOccurs="0" maxOccurs="1"/>
260    </xsd:sequence>
261  </xsd:complexType>
262
263  <xsd:complexType name="projectAllocResponseType">
264    <xsd:annotation>
265      <xsd:documentation>
266        The information needed to create a dynamic project
267      </xsd:documentation>
268    </xsd:annotation>
269    <xsd:sequence>
270      <xsd:element name="project" type="tns:projectType"/>
271    </xsd:sequence>
272  </xsd:complexType>
273
274  <xsd:complexType name="requestType">
275    <xsd:annotation>
276      <xsd:documentation>
277        The full on request type.
278      </xsd:documentation>
279    </xsd:annotation>
280    <xsd:sequence>
281      <xsd:element name="destinationTestbed" type="tns:IDType"
282        minOccurs="0" maxOccurs="1" />
283      <xsd:choice>
284        <xsd:element name="project" type="tns:projectType" minOccurs="0" 
285          maxOccurs="1"/>
286        <xsd:element name="user" type="tns:userType" minOccurs="0"
287          maxOccurs="unbounded"/>
288      </xsd:choice>
289      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
290        maxOccurs="1"/>
291      <xsd:element name="access" type="tns:accessType" minOccurs="1" 
292        maxOccurs="unbounded"/>
293      <xsd:element name="allocID" type="tns:IDType"/>
294      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
295      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
296        maxOccurs="1"/>
297    </xsd:sequence>
298  </xsd:complexType>
299
300  <xsd:complexType name="responseType">
301    <xsd:annotation>
302      <xsd:documentation>
303        The full on response type.
304      </xsd:documentation>
305    </xsd:annotation>
306    <xsd:sequence>
307      <xsd:element name="allocID" type="tns:IDType"/>
308      <xsd:element name="emulab" type="tns:emulabType"/>
309      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
310      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
311        maxOccurs="1"/>
312    </xsd:sequence>
313  </xsd:complexType>
314
315  <xsd:complexType name="createRequestType">
316    <xsd:annotation>
317      <xsd:documentation>
318        A request to embed a federated experiment across testbeds
319      </xsd:documentation>
320    </xsd:annotation>
321    <xsd:sequence>
322      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
323        maxOccurs="unbounded"/>
324      <xsd:element name="user" type="tns:userType" minOccurs="1"
325        maxOccurs="unbounded"/>
326      <xsd:element name="experimentdescription" type="xsd:base64Binary"/>
327      <xsd:element name="master" type="xsd:string"/>
328    </xsd:sequence>
329  </xsd:complexType>
330
331  <xsd:complexType name="createResponseType">
332    <xsd:annotation>
333      <xsd:documentation>
334        A request to embed a federated experiment across testbeds
335      </xsd:documentation>
336    </xsd:annotation>
337    <xsd:sequence>
338      <xsd:element name="emulab" type="tns:emulabType" minOccurs="1" 
339        maxOccurs="unbounded"/>
340      <xsd:element name="experiment" type="tns:vtopoType" minOccurs="0"
341        maxOccurs="1"/>
342      <xsd:element name="vis" type="tns:visType" minOccurs="0"
343        maxOccurs="1"/>
344    </xsd:sequence>
345  </xsd:complexType>
346
347  <xsd:complexType name="faultType">
348    <xsd:sequence>
349      <xsd:element name="code" type="xsd:int">
350        <xsd:restriction>
351          <xsd:enumeration value="1"/>  <!-- access denied -->
352          <xsd:enumeration value="2"/>  <!-- proxy error -->
353          <xsd:enumeration value="3"/>  <!-- badly formed request -->
354          <xsd:enumeration value="4"/>  <!-- server configuration error -->
355          <xsd:enumeration value="5"/>  <!-- internal error -->
356          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
357          <xsd:enumeration value="7"/>  <!-- federant error -->
358        </xsd:restriction>
359      </xsd:element>
360      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
361      </xsd:element>
362      <xsd:element name="desc" type="xsd:string"/>
363    </xsd:sequence>
364  </xsd:complexType>
365
366</xsd:schema>
Note: See TracBrowser for help on using the repository browser.