source: fedd/fedd_types.xsd @ 3925b50

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

add placeholder for other experiment descriptions

  • Property mode set to 100644
File size: 15.0 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="localname" 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="federatedExperimentType">
161    <xsd:annotation>
162      <xsd:documentation>
163        The information about a federated sub-experiment
164      </xsd:documentation>
165    </xsd:annotation>
166    <xsd:sequence>
167      <xsd:element name="name" type="tns:IDType" minOccurs="1" 
168        maxOccurs="unbounded"/>
169      <xsd:element name="emulab" type="tns:emulabType"/>
170      <xsd:element name="master" type="xsd:boolean"/>
171    </xsd:sequence>
172  </xsd:complexType>
173
174
175  <xsd:complexType name="vtoponodeType">
176    <xsd:annotation>
177      <xsd:documentation>
178        Node in the virtual topology of a federated experiment (emulab legacy)
179      </xsd:documentation>
180    </xsd:annotation>
181    <xsd:sequence>
182      <xsd:element name="vname" type="xsd:string"/>
183      <xsd:element name="ips" type="xsd:string"/>
184    </xsd:sequence>
185  </xsd:complexType>
186
187  <xsd:complexType name="vtopolanType">
188    <xsd:annotation>
189      <xsd:documentation>
190        LAN in the virtual topology of a federated experiment (emulab legacy)
191      </xsd:documentation>
192    </xsd:annotation>
193    <xsd:sequence>
194      <xsd:element name="vname" type="xsd:string"/>
195      <xsd:element name="vnode" type="xsd:string"/>
196      <xsd:element name="ip" type="xsd:string"/>
197      <xsd:element name="bandwidth" type="xsd:int"/>
198      <xsd:element name="delay" type="xsd:float"/>
199      <xsd:element name="member" type="xsd:string"/>
200    </xsd:sequence>
201  </xsd:complexType>
202
203  <xsd:complexType name="vtopoType">
204    <xsd:annotation>
205      <xsd:documentation>
206        The virtual topology of a federated experiment (emulab legacy)
207      </xsd:documentation>
208    </xsd:annotation>
209    <xsd:sequence>
210      <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0" 
211        maxOccurs="unbounded" />
212      <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0"
213        maxOccurs="unbounded"/>
214    </xsd:sequence>
215  </xsd:complexType>
216
217  <xsd:complexType name="visnodeType">
218    <xsd:annotation>
219      <xsd:documentation>
220        Node in the visualization of a federated experiment (emulab legacy)
221      </xsd:documentation>
222    </xsd:annotation>
223    <xsd:sequence>
224      <xsd:element name="name" type="xsd:string"/>
225      <xsd:element name="x" type="xsd:int"/>
226      <xsd:element name="y" type="xsd:int"/>
227      <xsd:element name="type" type="xsd:string"/>
228    </xsd:sequence>
229  </xsd:complexType>
230
231  <xsd:complexType name="visType">
232    <xsd:annotation>
233      <xsd:documentation>
234        The visualization of a federated experiment (emulab legacy)
235      </xsd:documentation>
236    </xsd:annotation>
237    <xsd:sequence>
238      <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
239        maxOccurs="unbounded"/>
240    </xsd:sequence>
241  </xsd:complexType>
242
243  <xsd:complexType name="projectAllocType">
244    <xsd:annotation>
245      <xsd:documentation>
246        The information needed to create a dynamic project
247      </xsd:documentation>
248    </xsd:annotation>
249    <xsd:sequence>
250      <xsd:element name="project" type="tns:projectType"/>
251      <xsd:element name="resources" type="tns:resourcesType" 
252        minOccurs="0" maxOccurs="1"/>
253    </xsd:sequence>
254  </xsd:complexType>
255
256  <xsd:complexType name="projectAllocResponseType">
257    <xsd:annotation>
258      <xsd:documentation>
259        The information needed to create a dynamic project
260      </xsd:documentation>
261    </xsd:annotation>
262    <xsd:sequence>
263      <xsd:element name="project" type="tns:projectType"/>
264    </xsd:sequence>
265  </xsd:complexType>
266
267  <xsd:complexType name="experimentDescriptionType">
268    <xsd:annotation>
269      <xsd:documentation>
270        The description of the federated experiment
271      </xsd:documentation>
272    </xsd:annotation>
273    <xsd:choice>
274      <xsd:element name="ns2description" type="xsd:base64Binary"/>
275    </xsd:choice>
276  </xsd:complexType>
277
278
279  <xsd:complexType name="requestType">
280    <xsd:annotation>
281      <xsd:documentation>
282        The full on request type.
283      </xsd:documentation>
284    </xsd:annotation>
285    <xsd:sequence>
286      <xsd:element name="destinationTestbed" type="tns:IDType"
287        minOccurs="0" maxOccurs="1" />
288      <xsd:choice>
289        <xsd:element name="project" type="tns:projectType" minOccurs="0" 
290          maxOccurs="1"/>
291        <xsd:element name="user" type="tns:userType" minOccurs="0"
292          maxOccurs="unbounded"/>
293      </xsd:choice>
294      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
295        maxOccurs="1"/>
296      <xsd:element name="access" type="tns:accessType" minOccurs="1" 
297        maxOccurs="unbounded"/>
298      <xsd:element name="allocID" type="tns:IDType"/>
299      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
300      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
301        maxOccurs="1"/>
302    </xsd:sequence>
303  </xsd:complexType>
304
305  <xsd:complexType name="responseType">
306    <xsd:annotation>
307      <xsd:documentation>
308        The full on response type.
309      </xsd:documentation>
310    </xsd:annotation>
311    <xsd:sequence>
312      <xsd:element name="allocID" type="tns:IDType"/>
313      <xsd:element name="emulab" type="tns:emulabType"/>
314      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
315      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
316        maxOccurs="1"/>
317    </xsd:sequence>
318  </xsd:complexType>
319
320  <xsd:complexType name="createRequestType">
321    <xsd:annotation>
322      <xsd:documentation>
323        A request to embed a federated experiment across testbeds
324      </xsd:documentation>
325    </xsd:annotation>
326    <xsd:sequence>
327      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
328        maxOccurs="unbounded"/>
329      <xsd:element name="user" type="tns:userType" minOccurs="1"
330        maxOccurs="unbounded"/>
331      <xsd:element name="experimentdescription" 
332        type="tns:experimentDescriptionType"/>
333      <xsd:element name="master" type="xsd:string"/>
334      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
335        maxOccurs="1"/>
336    </xsd:sequence>
337  </xsd:complexType>
338
339  <xsd:complexType name="createResponseType">
340    <xsd:annotation>
341      <xsd:documentation>
342        A request to embed a federated experiment across testbeds
343      </xsd:documentation>
344    </xsd:annotation>
345    <xsd:sequence>
346      <xsd:element name="federant" type="tns:federatedExperimentType" 
347        minOccurs="1" maxOccurs="unbounded"/>
348      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
349        maxOccurs="1"/>
350      <xsd:element name="vis" type="tns:visType" minOccurs="0"
351        maxOccurs="1"/>
352      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
353        maxOccurs="unbounded"/>
354      <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0"
355        maxOccurs="1"/>
356    </xsd:sequence>
357  </xsd:complexType>
358
359  <xsd:complexType name="vtopoRequestType">
360    <xsd:annotation>
361      <xsd:documentation>
362        Request for an existing experiment's topology
363      </xsd:documentation>
364    </xsd:annotation>
365    <xsd:sequence>
366      <xsd:element name="experiment" type="tns:IDType"/>
367    </xsd:sequence>
368  </xsd:complexType>
369
370  <xsd:complexType name="vtopoResponseType">
371    <xsd:annotation>
372      <xsd:documentation>
373        Request for an existing experiment's topology
374      </xsd:documentation>
375    </xsd:annotation>
376    <xsd:sequence>
377      <xsd:element name="experiment" type="tns:IDType"/>
378      <xsd:element name="vtopo" type="tns:vtopoType"/>
379    </xsd:sequence>
380  </xsd:complexType>
381
382
383  <xsd:complexType name="visRequestType">
384    <xsd:annotation>
385      <xsd:documentation>
386        Request for an existing experiment's topology
387      </xsd:documentation>
388    </xsd:annotation>
389    <xsd:sequence>
390      <xsd:element name="experiment" type="tns:IDType"/>
391    </xsd:sequence>
392  </xsd:complexType>
393
394  <xsd:complexType name="visResponseType">
395    <xsd:annotation>
396      <xsd:documentation>
397        Request for an existing experiment's topology
398      </xsd:documentation>
399    </xsd:annotation>
400    <xsd:sequence>
401      <xsd:element name="experiment" type="tns:IDType"/>
402      <xsd:element name="vis" type="tns:visType"/>
403    </xsd:sequence>
404  </xsd:complexType>
405
406  <xsd:complexType name="infoRequestType">
407    <xsd:annotation>
408      <xsd:documentation>
409        Request for an existing experiment's topology
410      </xsd:documentation>
411    </xsd:annotation>
412    <xsd:sequence>
413      <xsd:element name="experiment" type="tns:IDType"/>
414    </xsd:sequence>
415  </xsd:complexType>
416
417  <xsd:complexType name="infoResponseType">
418    <xsd:annotation>
419      <xsd:documentation>
420        Information on an instantiated experiment.  The createResponse without
421        the secret information
422      </xsd:documentation>
423    </xsd:annotation>
424    <xsd:sequence>
425      <xsd:element name="federant" type="tns:federatedExperimentType" 
426        minOccurs="1" maxOccurs="unbounded"/>
427      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
428        maxOccurs="1"/>
429      <xsd:element name="vis" type="tns:visType" minOccurs="0"
430        maxOccurs="1"/>
431      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
432        maxOccurs="unbounded"/>
433    </xsd:sequence>
434  </xsd:complexType>
435
436  <xsd:complexType name="terminateRequestType">
437    <xsd:annotation>
438      <xsd:documentation>
439        Request to terminate an experiment
440      </xsd:documentation>
441    </xsd:annotation>
442    <xsd:sequence>
443      <xsd:element name="experiment" type="tns:IDType"/>
444    </xsd:sequence>
445  </xsd:complexType>
446
447  <xsd:complexType name="terminateResponseType">
448    <xsd:annotation>
449      <xsd:documentation>
450        Request to terminate an experiment
451      </xsd:documentation>
452    </xsd:annotation>
453    <xsd:sequence>
454      <xsd:element name="experiment" type="tns:IDType"/>
455    </xsd:sequence>
456  </xsd:complexType>
457
458
459  <xsd:complexType name="faultType">
460    <xsd:sequence>
461      <xsd:element name="code" type="xsd:int">
462        <xsd:restriction>
463          <xsd:enumeration value="1"/>  <!-- access denied -->
464          <xsd:enumeration value="2"/>  <!-- proxy error -->
465          <xsd:enumeration value="3"/>  <!-- badly formed request -->
466          <xsd:enumeration value="4"/>  <!-- server configuration error -->
467          <xsd:enumeration value="5"/>  <!-- internal error -->
468          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
469          <xsd:enumeration value="7"/>  <!-- federant error -->
470        </xsd:restriction>
471      </xsd:element>
472      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
473      </xsd:element>
474      <xsd:element name="desc" type="xsd:string"/>
475    </xsd:sequence>
476  </xsd:complexType>
477</xsd:schema>
Note: See TracBrowser for help on using the repository browser.