source: wsdl/fedd_types.xsd @ e83f2f2

axis_examplecompt_changesinfo-ops
Last change on this file since e83f2f2 was e83f2f2, checked in by Ted Faber <faber@…>, 13 years ago

Move proofs around. Lots of changes, including fault handling.

  • Property mode set to 100644
File size: 34.0 KB
Line 
1<?xml version="1.0"?>
2<xsd:schema targetNamespace="http://www.isi.edu/fedd_types"
3  xmlns:tns="http://www.isi.edu/fedd_types"
4  xmlns:topdl="http://www.isi.edu/topdl"
5  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6  xmlns="http://www.w3.org/2000/10/XMLSchema">
7
8  <xsd:complexType name="IDType">
9    <xsd:annotation>
10      <xsd:documentation>
11        An ID is an identifier for a principal, service, or object.  This type
12        is currently polymorphic o allow different implementations of type,
13        though running code primarily uses localnames and fedids.
14      </xsd:documentation>
15    </xsd:annotation>
16    <xsd:choice>
17      <xsd:element name="uuid" type="xsd:base64Binary"/>
18      <xsd:element name="fedid" type="xsd:base64Binary"/>
19      <xsd:element name="uri" type="xsd:string"/>
20      <xsd:element name="localname" type="xsd:string"/>
21      <xsd:element name="kerberosUsername" type="xsd:string"/>
22    </xsd:choice>
23  </xsd:complexType>
24
25  <!-- begin deprecated -->
26
27  <xsd:complexType name="projectType">
28    <xsd:annotation>
29      <xsd:documentation>
30        A description of the project used to access a testbed.  Includes
31        the testbed being accessed, the project name (often a local
32        name, scoped by the testbed), and any users who have been
33        granted access or for whom access is being requested.
34      </xsd:documentation>
35    </xsd:annotation>
36    <xsd:sequence>
37      <xsd:element name="testbed" type="tns:IDType" minOccurs="0"
38        maxOccurs="1"/>
39      <xsd:element name="name" type="tns:IDType" minOccurs="0" maxOccurs="1"/>
40      <xsd:element name="user" type="tns:userType" minOccurs="0"
41        maxOccurs="unbounded"/>
42    </xsd:sequence>
43  </xsd:complexType>
44
45  <xsd:complexType name="nodeType">
46    <xsd:annotation>
47      <xsd:documentation>
48        A node from an Emulab.  It may have 0 or more images or hardware
49        types associated with it.  As this description is used for
50        acquiring access to the testbed in question, multiple images or
51        types are considered options.  Specifying multiple image names
52        indicates that the requester is looking for support for any of
53        them.
54      </xsd:documentation>
55    </xsd:annotation>
56    <xsd:sequence>
57      <xsd:element name="image" type="xsd:string" minOccurs="0"
58        maxOccurs="unbounded"/>
59      <xsd:element name="hardware" type="xsd:string" minOccurs="0"
60        maxOccurs="unbounded"/>
61    </xsd:sequence>
62    <xsd:attribute name="count" type="xsd:int" use="optional"/>
63  </xsd:complexType>
64
65  <xsd:complexType name="capacityType">
66    <xsd:annotation>
67      <xsd:documentation>
68        A strawman network capacity description for access negotiation.
69        This will come to include more and more interesting parameters.
70      </xsd:documentation>
71    </xsd:annotation>
72    <xsd:sequence>
73      <xsd:element name="rate" type="xsd:double"/>
74      <xsd:element name="kind" type="tns:kindType"/>
75    </xsd:sequence>
76  </xsd:complexType>
77
78
79  <xsd:simpleType name="userRole">
80    <xsd:annotation>
81      <xsd:documentation>
82        This defines the role the user/account is playing in the
83        federated experiment.  An account being accessed by the
84        federation system to create the experiment is in the
85        experimentCreation role and the accounts that experimenters will
86        use to access local testbed services (e.g., rebooting a local
87        node) are serviceAccess roles.
88      </xsd:documentation>
89    </xsd:annotation>
90    <xsd:restriction base="xsd:string">
91      <xsd:enumeration value="serviceAccess"/>
92      <xsd:enumeration value="experimentCreation"/>
93    </xsd:restriction>
94  </xsd:simpleType>
95
96  <xsd:simpleType name="kindType">
97    <xsd:annotation>
98      <xsd:documentation>
99        An indication of how requested networking capacity is measured.
100        This will undoubtably expand.
101      </xsd:documentation>
102    </xsd:annotation>
103    <xsd:restriction base="xsd:string">
104      <xsd:enumeration value="max"/>
105      <xsd:enumeration value="average"/>
106    </xsd:restriction>
107  </xsd:simpleType>
108
109  <xsd:complexType name="userType">
110    <xsd:annotation>
111      <xsd:documentation>
112        The definition of a user principal.  It includes the
113        identification of the user as an ID type, the access credential(s)
114        that the user will use, and the role of the user, if any.
115        Multiple access keys may be used, and it is also possible for
116        the user to be anonymous.  Though it is possible to specify a
117        user without ID, access, or role, it is difficult to imagine
118        such a user being useful.
119      </xsd:documentation>
120    </xsd:annotation>
121    <xsd:sequence>
122      <xsd:element name="userID" type="tns:IDType" minOccurs="0"
123        maxOccurs="1"/>
124      <xsd:element name="access" type="tns:accessType" minOccurs="0"
125        maxOccurs="unbounded"/>
126      <!-- begin deprecated -->
127      <xsd:element name="role" type="tns:userRole" minOccurs="0" maxOccurs="1"/>
128      <!-- end deprecated -->
129    </xsd:sequence>
130  </xsd:complexType>
131
132  <!-- end deprecated -->
133
134  <xsd:complexType name="proofType">
135    <xsd:annotation>
136      <xsd:documentation>
137        A proof or partial proof of access rights
138      </xsd:documentation>
139    </xsd:annotation>
140    <xsd:sequence>
141      <xsd:element name="prover" type="xsd:string"/>
142      <xsd:element name="principal" type="xsd:string"/>
143      <xsd:element name="attribute" type="xsd:string"/>
144      <xsd:element name="credential" type="xsd:base64Binary" 
145        maxOccurs="unbounded" minOccurs="0"/>
146    </xsd:sequence>
147  </xsd:complexType>
148
149  <xsd:simpleType name="statusType">
150    <xsd:annotation>
151      <xsd:documentation>
152        The current state of the experiment.
153      </xsd:documentation>
154    </xsd:annotation>
155    <xsd:restriction base="xsd:string">
156      <xsd:enumeration value="empty"/>
157      <xsd:enumeration value="active"/>
158      <xsd:enumeration value="starting"/>
159      <xsd:enumeration value="terminating"/>
160      <xsd:enumeration value="failed"/>
161    </xsd:restriction>
162  </xsd:simpleType>
163
164  <xsd:complexType name="accessType">
165    <xsd:annotation>
166      <xsd:documentation>
167        This captures an access credential that will be used to access
168        resources.  These are certificates or public keys.  The type is
169        used to designate the key to which access should be bound, or on
170        a reply has been bound.  Dynamic credentials where new keys have
171        been created may also be passed in this kind of field.
172      </xsd:documentation>
173    </xsd:annotation>
174    <xsd:choice>
175      <xsd:element name="X509" type="xsd:base64Binary"/>
176      <xsd:element name="sshPubkey" type="xsd:base64Binary"/>
177      <xsd:element name="pgpPubkey" type="xsd:base64Binary"/>
178      <xsd:element name="passwordHash" type="xsd:string"/>
179    </xsd:choice>
180  </xsd:complexType>
181
182  <xsd:complexType name="fedAttrType">
183    <xsd:annotation>
184      <xsd:documentation>
185        A general attribute/value pair for passing federation parameters and
186        preferences.  Anything encodable in XML is allowed.  This is a
187        point for customization and extension.
188      </xsd:documentation>
189    </xsd:annotation>
190    <xsd:sequence>
191      <xsd:element name="attribute" type="xsd:string"/>
192      <xsd:element name="value" type="xsd:string"/>
193    </xsd:sequence>
194  </xsd:complexType>
195
196
197  <xsd:complexType name="resourcesType">
198    <xsd:annotation>
199      <xsd:documentation>
200        The estimate of resources a requester is looking for, or the
201        response of a testbed indicating what it can provide.  This is
202        something of a placeholder for a full resource specification,
203        and alternative encodings are likely to be imported.
204      </xsd:documentation>
205    </xsd:annotation>
206    <xsd:sequence>
207      <!-- replace with topdl -->
208      <xsd:element name="node" type="tns:nodeType" minOccurs="0"
209        maxOccurs="unbounded" />
210      <xsd:element name="capacity" type="tns:capacityType" minOccurs="0"
211        maxOccurs="unbounded"/>
212      <!-- replace with topdl -->
213    </xsd:sequence>
214  </xsd:complexType>
215
216  <xsd:complexType name="mapType">
217    <xsd:annotation>
218      <xsd:documentation>
219        Explicit translation of testbed attribute in a federated experiment
220        description to the URI at which the controlling federation
221        system can be reached.  Used in a creation request.
222
223        This type allows tools to encode experiments in familiar local
224        names for experimenters while providing remote federation
225        systems the information to map the local name into a service
226        location.
227      </xsd:documentation>
228    </xsd:annotation>
229    <xsd:sequence>
230      <xsd:element name="testbed" type="xsd:string"/>
231      <xsd:element name="uri" type="xsd:string"/>
232    </xsd:sequence>
233  </xsd:complexType>
234 
235  <xsd:complexType name="vtoponodeType">
236    <xsd:annotation>
237      <xsd:documentation>
238        Node in the virtual topology of a federated experiment (Emulab
239        legacy).  The fields are the local hostname and the IP addresses
240        of the experimental interfaces(colon-separated).
241      </xsd:documentation>
242    </xsd:annotation>
243    <xsd:sequence>
244      <xsd:element name="vname" type="xsd:string"/>
245      <xsd:element name="ips" type="xsd:string"/>
246    </xsd:sequence>
247  </xsd:complexType>
248
249  <xsd:complexType name="vtopolanType">
250    <xsd:annotation>
251      <xsd:documentation>
252        LAN in the virtual topology of a federated experiment (Emulab legacy).
253        The fields are the name of the LAN/link (vname) the node that
254        this description applies to (vnode), the IP of the connection,
255        and performance information.
256      </xsd:documentation>
257    </xsd:annotation>
258    <xsd:sequence>
259      <xsd:element name="vname" type="xsd:string"/>
260      <xsd:element name="vnode" type="xsd:string"/>
261      <xsd:element name="ip" type="xsd:string"/>
262      <xsd:element name="bandwidth" type="xsd:int"/>
263      <xsd:element name="delay" type="xsd:float"/>
264      <xsd:element name="member" type="xsd:string"/>
265    </xsd:sequence>
266  </xsd:complexType>
267
268  <xsd:complexType name="vtopoType">
269    <xsd:annotation>
270      <xsd:documentation>
271        The virtual topology of a federated experiment (Emulab legacy).
272      </xsd:documentation>
273    </xsd:annotation>
274    <xsd:sequence>
275      <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0" 
276        maxOccurs="unbounded" />
277      <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0"
278        maxOccurs="unbounded"/>
279    </xsd:sequence>
280  </xsd:complexType>
281
282  <xsd:complexType name="visnodeType">
283    <xsd:annotation>
284      <xsd:documentation>
285        Node in the visualization of a federated experiment (Emulab
286        legacy).  Fields include the local hostname of the node, x,y
287        coordinates in a 2-dimensional representation, and whether the
288        node in the visualization is a host or a LAN.
289      </xsd:documentation>
290    </xsd:annotation>
291    <xsd:sequence>
292      <xsd:element name="name" type="xsd:string"/>
293      <xsd:element name="x" type="xsd:int"/>
294      <xsd:element name="y" type="xsd:int"/>
295      <xsd:element name="type" type="xsd:string"/>
296    </xsd:sequence>
297  </xsd:complexType>
298
299  <xsd:complexType name="visType">
300    <xsd:annotation>
301      <xsd:documentation>
302        The visualization of a federated experiment (Emulab legacy)
303      </xsd:documentation>
304    </xsd:annotation>
305    <xsd:sequence>
306      <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
307        maxOccurs="unbounded"/>
308    </xsd:sequence>
309  </xsd:complexType>
310
311  <xsd:complexType name="projectAllocType">
312    <xsd:annotation>
313      <xsd:documentation>
314        The information needed to create a dynamic project, specifically
315        a project description and the resources in needs access to.
316        This is used by an internal fedd interface.
317      </xsd:documentation>
318    </xsd:annotation>
319    <xsd:sequence>
320      <xsd:element name="project" type="tns:projectType"/>
321      <xsd:element name="resources" type="tns:resourcesType" 
322        minOccurs="0" maxOccurs="1"/>
323    </xsd:sequence>
324  </xsd:complexType>
325
326  <xsd:complexType name="experimentDescriptionType">
327    <xsd:annotation>
328      <xsd:documentation>
329        The description of the federated experiment, in extended ns2.
330      </xsd:documentation>
331    </xsd:annotation>
332    <xsd:choice>
333      <xsd:element name="ns2description" type="xsd:base64Binary"/>
334      <xsd:element name="topdldescription" type="topdl:topologyType"/>
335    </xsd:choice>
336  </xsd:complexType>
337
338  <xsd:simpleType name="connectionType">
339    <xsd:annotation>
340      <xsd:documentation>
341        Known subexperiment interconnection mechanisms
342      </xsd:documentation>
343    </xsd:annotation>
344    <xsd:restriction base="xsd:string">
345      <xsd:enumeration value="ssh"/>
346      <xsd:enumeration value="transit"/>
347    </xsd:restriction>
348  </xsd:simpleType>
349
350  <xsd:complexType name="memberType">
351    <xsd:annotation>
352      <xsd:documentation>
353        A member of a set of nodes for which transit is being provided
354      </xsd:documentation>
355    </xsd:annotation>
356    <xsd:sequence>
357      <xsd:element name="element" type="xsd:string"/>
358      <xsd:element name="interface" type="xsd:string" minOccurs="0" 
359        maxOccurs="1"/>
360    </xsd:sequence>
361  </xsd:complexType>
362
363  <xsd:simpleType name="connectionParameterIOType">
364    <xsd:annotation>
365      <xsd:documentation>
366        Connection parameter types: input or output
367      </xsd:documentation>
368    </xsd:annotation>
369    <xsd:restriction base="xsd:string">
370      <xsd:enumeration value="input"/>
371      <xsd:enumeration value="output"/>
372    </xsd:restriction>
373  </xsd:simpleType>
374
375  <xsd:complexType name="connectionParameterType">
376    <xsd:annotation>
377      <xsd:documentation>
378        This is a parameter on which two or more access controllers have to
379        agree in order to complete the stitching.  This gives the name of the
380        parameter, the key under which to store it (or it has been stored)  and
381        whether it is to be input or output.
382      </xsd:documentation>
383    </xsd:annotation>
384    <xsd:sequence>
385      <xsd:element name="name" type="xsd:string"/>
386      <xsd:element name="key" type="xsd:string"/>
387      <xsd:element name="store" type="xsd:string"/>
388      <xsd:element name="type" type="tns:connectionParameterIOType"/>
389    </xsd:sequence>
390  </xsd:complexType>
391
392
393  <xsd:complexType name="connectionInfoType">
394    <xsd:annotation>
395      <xsd:documentation>
396        The information needed to stitch together two segments.  It is both
397        exported from the nmaster and reported by the experiment controller to
398        the access controller and by the access controller into the world.
399      </xsd:documentation>
400    </xsd:annotation>
401    <xsd:sequence>
402      <xsd:element name="type" type="tns:connectionType"/>
403      <xsd:element name="portal" type="xsd:string" minOccurs="0" maxOccurs="1"/>
404      <xsd:element name="peer" type="xsd:string" minOccurs="0" maxOccurs="1"/>
405      <xsd:element name="member" type="tns:memberType" minOccurs="0"
406        maxOccurs="unbounded" />
407      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
408        maxOccurs="unbounded"/>
409      <xsd:element name="parameter" type="tns:connectionParameterType"
410        minOccurs="0" maxOccurs="unbounded"/>
411    </xsd:sequence>
412  </xsd:complexType>
413
414  <xsd:complexType name="serviceInfoType">
415    <xsd:annotation>
416      <xsd:documentation>
417        A generic service entry, basically a name and server
418      </xsd:documentation>
419    </xsd:annotation>
420    <xsd:sequence>
421      <xsd:element name="id" type="xsd:string" minOccurs="0" maxOccurs="1" />
422      <xsd:element name="name" type="xsd:string"/>
423      <xsd:element name="server" type="xsd:string" minOccurs="0" 
424        maxOccurs="1"/>
425      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
426        maxOccurs="unbounded"/>
427      <xsd:element name="visibility" type="xsd:string">
428        <xsd:restriction>
429          <xsd:enumeration value="export"/>     <!-- server -->
430          <xsd:enumeration value="import"/>     <!-- client -->
431          <xsd:enumeration value="composition"/><!-- both -->
432        </xsd:restriction>
433      </xsd:element>
434    </xsd:sequence>
435  </xsd:complexType>
436
437  <xsd:complexType name="createServiceInfoType">
438    <xsd:annotation>
439      <xsd:documentation>
440        The global descriptions of services in the creation request.  These
441        indicate which services are being provided at a testbed level.  They
442        become service info requests in segment creation.
443      </xsd:documentation>
444    </xsd:annotation>
445    <xsd:sequence>
446      <xsd:element name="id" type="xsd:string" minOccurs="0" maxOccurs="1" />
447      <xsd:element name="name" type="xsd:string"/>
448      <xsd:element name="export" type="xsd:string" 
449        minOccurs="0" maxOccurs="unbounded"/>
450      <xsd:choice>
451        <xsd:element name="import" type="xsd:string" 
452          minOccurs="0" maxOccurs="unbounded"/>
453        <xsd:element name="importall" type="xsd:boolean"/>
454      </xsd:choice>
455      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
456        maxOccurs="unbounded"/>
457    </xsd:sequence>
458  </xsd:complexType>
459
460  <xsd:complexType name="newRequestType">
461    <xsd:annotation>
462      <xsd:documentation>
463        Request for an experiment to which credentials can be delegated and
464        resources attached.  A local name may be included as a human readable
465        accessor, local to this experiment controller.  It is a suggestion and
466        may be modified.  experimentID can only be a local name.
467
468        Credentials are seed credentials to begin the proof.
469      </xsd:documentation>
470    </xsd:annotation>
471    <xsd:sequence>
472      <xsd:element name="experimentAccess" type="tns:accessType" 
473        minOccurs="0" maxOccurs="1"/>
474      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
475        maxOccurs="1"/>
476      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
477        maxOccurs="unbounded"/>
478    </xsd:sequence>
479  </xsd:complexType>
480
481  <xsd:complexType name="newResponseType">
482    <xsd:annotation>
483      <xsd:documentation>
484        Result of a new experiment creation.  A successful sreation will have
485        an experimentState of "empty", 2 experimentIDs, one a fedid and one a
486        local name, and an experimentAccess that allows the creator to act as
487        the experiment.
488      </xsd:documentation>
489    </xsd:annotation>
490    <xsd:sequence>
491      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
492        maxOccurs="unbounded"/>
493      <xsd:element name="experimentStatus" type="tns:statusType"/>
494      <xsd:element name="experimentAccess" type="tns:accessType"/>
495      <xsd:element name="proof" type="tns:proofType"/>
496    </xsd:sequence>
497  </xsd:complexType>
498
499  <xsd:complexType name="accessRequestType">
500    <xsd:annotation>
501      <xsd:documentation>
502        Request for access to a testbed.  It includes the testbed from
503        which resources are being requested (a single service may
504        provide access to many), the user or project requesting access
505        (a testbed making the request will leave both empty), the
506        resources needed, and scheduling information.
507      </xsd:documentation>
508    </xsd:annotation>
509    <xsd:sequence>
510      <xsd:element name="credential" type="xsd:string" minOccurs="0"
511        maxOccurs="unbounded"/>
512      <xsd:element name="abac_credential" type="xsd:base64Binary" minOccurs="0"
513        maxOccurs="unbounded"/>
514      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
515        maxOccurs="1"/>
516      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
517        maxOccurs="unbounded" />
518      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
519      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
520        maxOccurs="1"/>
521    </xsd:sequence>
522  </xsd:complexType>
523
524  <xsd:complexType name="accessResponseType">
525    <xsd:annotation>
526      <xsd:documentation>
527        Response to an access request.  Includes the allocation, the
528        information needed to access creation and experiment services
529        and scheduling information.
530      </xsd:documentation>
531    </xsd:annotation>
532    <xsd:sequence>
533      <xsd:element name="allocID" type="tns:IDType"/>
534      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
535        maxOccurs="unbounded" />
536      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
537      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
538        maxOccurs="1"/>
539      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
540        maxOccurs="unbounded"/>
541      <xsd:element name="proof" type="tns:proofType"/>
542    </xsd:sequence>
543  </xsd:complexType>
544
545  <xsd:complexType name="releaseRequestType">
546    <xsd:annotation>
547      <xsd:documentation>
548        A request to release the access rights allocated by an earlier
549        RequestAccess call.
550      </xsd:documentation>
551    </xsd:annotation>
552    <xsd:sequence>
553      <xsd:element name="allocID" type="tns:IDType"/>
554    </xsd:sequence>
555  </xsd:complexType>
556
557  <xsd:complexType name="releaseResponseType">
558    <xsd:annotation>
559      <xsd:documentation>
560        Indication that the access has been terminated.
561      </xsd:documentation>
562    </xsd:annotation>
563    <xsd:sequence>
564      <xsd:element name="allocID" type="tns:IDType"/>
565      <xsd:element name="proof" type="tns:proofType"/>
566    </xsd:sequence>
567  </xsd:complexType>
568
569  <xsd:complexType name="createRequestType">
570    <xsd:annotation>
571      <xsd:documentation>
572        A request to embed a federated experiment across testbeds.  Non-
573        standard local names for testbeds are included in the
574        testbedmap, the user making the request, the experiment
575        description, master testbed, and a suggested experiment name are
576        included.  More than one name can be suggested, either as
577        synonyms (a fedid and a localname) or as choices (multiple
578        localnames).
579      </xsd:documentation>
580    </xsd:annotation>
581    <xsd:sequence>
582      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
583        maxOccurs="unbounded"/>
584      <xsd:element name="experimentdescription" 
585        type="tns:experimentDescriptionType"/>
586      <xsd:element name="service" type="tns:createServiceInfoType" minOccurs="0"
587        maxOccurs="unbounded" />
588      <xsd:element name="experimentID" type="tns:IDType"/>
589      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
590        maxOccurs="unbounded"/>
591    </xsd:sequence>
592  </xsd:complexType>
593
594  <xsd:complexType name="createResponseType">
595    <xsd:annotation>
596      <xsd:documentation>
597        Returned to let the caller know that the request is underway.
598      </xsd:documentation>
599    </xsd:annotation>
600    <xsd:sequence>
601      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
602        maxOccurs="unbounded"/>
603      <xsd:element name="experimentStatus" type="tns:statusType"/>
604      <xsd:element name="proof" type="tns:proofType" minOccurs="1" 
605        maxOccurs="unbounded"/>
606    </xsd:sequence>
607  </xsd:complexType>
608
609  <xsd:complexType name="vtopoRequestType">
610    <xsd:annotation>
611      <xsd:documentation>
612        Request for an existing experiment's virtual topology.
613        Different information may be returned based on the user's rights
614        to see the topology.
615      </xsd:documentation>
616    </xsd:annotation>
617    <xsd:sequence>
618      <xsd:element name="experiment" type="tns:IDType"/>
619    </xsd:sequence>
620  </xsd:complexType>
621
622  <xsd:complexType name="vtopoResponseType">
623    <xsd:annotation>
624      <xsd:documentation>
625        The response to a topology request.  Different information may
626        be returned based on the user's rights to see the topology.
627      </xsd:documentation>
628    </xsd:annotation>
629    <xsd:sequence>
630      <xsd:element name="experiment" type="tns:IDType"/>
631      <xsd:element name="vtopo" type="tns:vtopoType"/>
632      <xsd:element name="proof" type="tns:proofType"/>
633    </xsd:sequence>
634  </xsd:complexType>
635
636
637  <xsd:complexType name="visRequestType">
638    <xsd:annotation>
639      <xsd:documentation>
640        Request for an existing experiment's visualization.  This is
641        largely a compatibility service.  Different information may be
642        returned based on the user's rights to see the topology.
643      </xsd:documentation>
644    </xsd:annotation>
645    <xsd:sequence>
646      <xsd:element name="experiment" type="tns:IDType"/>
647    </xsd:sequence>
648  </xsd:complexType>
649
650  <xsd:complexType name="visResponseType">
651    <xsd:annotation>
652      <xsd:documentation>
653        An existing experiment's visualization.  This is largely a
654        compatibility service.  Different information may be returned
655        based on the user's rights to see the topology.
656      </xsd:documentation>
657    </xsd:annotation>
658    <xsd:sequence>
659      <xsd:element name="experiment" type="tns:IDType"/>
660      <xsd:element name="vis" type="tns:visType"/>
661      <xsd:element name="proof" type="tns:proofType"/>
662    </xsd:sequence>
663  </xsd:complexType>
664
665  <xsd:complexType name="infoRequestType">
666    <xsd:annotation>
667      <xsd:documentation>
668        A combined topology, visualalization, and federant request.
669        Different information may be returned based on the user's rights
670        to see the topology.
671      </xsd:documentation>
672    </xsd:annotation>
673    <xsd:sequence>
674      <xsd:element name="experiment" type="tns:IDType"/>
675    </xsd:sequence>
676  </xsd:complexType>
677
678  <!-- This needs to go away as well.  It's only part of an infoResponseType,
679  which needs to be reworked overall -->
680  <xsd:complexType name="federatedExperimentType">
681    <xsd:annotation>
682      <xsd:documentation>
683        Naming and Emulab instantiation information about a federant.
684        This is returned by various informational requests and as part
685        of a successful creation message.
686      </xsd:documentation>
687    </xsd:annotation>
688    <xsd:sequence>
689      <xsd:element name="name" type="tns:IDType" minOccurs="1" 
690        maxOccurs="unbounded"/>
691      <xsd:element name="proof" type="tns:proofType" minOccurs="1" 
692        maxOccurs="unbounded"/>
693    </xsd:sequence>
694  </xsd:complexType>
695
696  <!-- end go away -->
697
698  <xsd:complexType name="embeddingMapType">
699    <xsd:annotation>
700      <xsd:documentation>
701        A mapping between a name in the topology and the physical resource to
702        which it has been mapped.
703      </xsd:documentation>
704    </xsd:annotation>
705    <xsd:sequence>
706      <xsd:element name="toponame" type="xsd:string"/>
707      <xsd:element name="physname" type="xsd:string" minOccurs="0" 
708        maxOccurs="unbounded"/>
709      <xsd:element name="testbed" type="xsd:string" minOccurs="0" 
710        maxOccurs="1"/>
711    </xsd:sequence>
712  </xsd:complexType>
713
714  <xsd:complexType name="infoResponseType">
715    <xsd:annotation>
716      <xsd:documentation>
717        Information on an instantiated experiment.  Different information may
718        be returned based on the user's rights to see the topology.  Includes
719        the information about federants hosting sub-experiments for service
720        access as well as virtual topology and visualization information.  All
721        that information is relative to the requester.  ExperimentAccess
722        includes credentials with which one can access the experiment.  These
723        may include a public key necessary to prove possession of the
724        credential and should be treated with care.
725      </xsd:documentation>
726    </xsd:annotation>
727    <xsd:sequence>
728      <xsd:element name="federant" type="tns:federatedExperimentType" 
729        minOccurs="0" maxOccurs="unbounded"/>
730      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
731        maxOccurs="1"/>
732      <xsd:element name="vis" type="tns:visType" minOccurs="0"
733        maxOccurs="1"/>
734      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
735        maxOccurs="unbounded"/>
736      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0" 
737        maxOccurs="1"/>
738      <xsd:element name="experimentStatus" type="tns:statusType"/>
739      <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0"
740        maxOccurs="1"/>
741      <xsd:element name="experimentdescription" 
742        type="tns:experimentDescriptionType" minOccurs="0" maxOccurs="1"/>
743      <xsd:element name="embedding" type="tns:embeddingMapType" minOccurs="0"
744        maxOccurs="unbounded"/>
745      <xsd:element name="proof" type="tns:proofType"/>
746    </xsd:sequence>
747  </xsd:complexType>
748
749
750  <xsd:complexType name="multiInfoRequestType">
751    <xsd:annotation>
752      <xsd:documentation>
753        Gets all information that this user can access on this fedd.
754      </xsd:documentation>
755    </xsd:annotation>
756    <xsd:sequence>
757    </xsd:sequence>
758  </xsd:complexType>
759
760  <xsd:complexType name="multiInfoResponseType">
761    <xsd:annotation>
762      <xsd:documentation>
763        Multi info response.  A list of infoResponses
764      </xsd:documentation>
765    </xsd:annotation>
766    <xsd:sequence>
767      <xsd:element name="info" type="tns:infoResponseType" minOccurs="0"
768        maxOccurs="unbounded"/>
769      <xsd:element name="proof" type="tns:proofType" minOccurs="0" 
770        maxOccurs="unbounded"/>
771    </xsd:sequence>
772  </xsd:complexType>
773
774  <xsd:complexType name="terminateRequestType">
775    <xsd:annotation>
776      <xsd:documentation>
777        Request to terminate an experiment.
778      </xsd:documentation>
779    </xsd:annotation>
780    <xsd:sequence>
781      <xsd:element name="experiment" type="tns:IDType"/>
782      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
783    </xsd:sequence>
784  </xsd:complexType>
785
786  <xsd:complexType name="terminateResponseType">
787    <xsd:annotation>
788      <xsd:documentation>
789        Indication that the experiment has been terminated.
790      </xsd:documentation>
791    </xsd:annotation>
792    <xsd:sequence>
793      <xsd:element name="experiment" type="tns:IDType"/>
794      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
795        maxOccurs="1"/>
796      <xsd:element name="proof" type="tns:proofType" minOccurs="1" maxOccurs="unbounded"/>
797    </xsd:sequence>
798  </xsd:complexType>
799
800  <xsd:complexType name="startSegmentRequestType">
801    <xsd:annotation>
802      <xsd:documentation>
803        Request a testbed to create a segment in the given allocation
804      </xsd:documentation>
805    </xsd:annotation>
806    <xsd:sequence>
807      <xsd:element name="allocID" type="tns:IDType"/>
808      <xsd:element name="segmentdescription" 
809        type="tns:experimentDescriptionType"/>
810      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
811        maxOccurs="unbounded" />
812      <xsd:element name="connection" type="tns:connectionInfoType" 
813        minOccurs="0" maxOccurs="unbounded"/>
814      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
815        maxOccurs="unbounded"/>
816    </xsd:sequence>
817  </xsd:complexType>
818
819  <xsd:complexType name="startSegmentResponseType">
820    <xsd:annotation>
821      <xsd:documentation>
822        Indication that the segment started successfully
823      </xsd:documentation>
824    </xsd:annotation>
825    <xsd:sequence>
826      <xsd:element name="allocID" type="tns:IDType"/>
827      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0"
828        maxOccurs="1"/>
829      <xsd:element name="segmentdescription" 
830        type="tns:experimentDescriptionType"/>
831      <xsd:element name="embedding" type="tns:embeddingMapType" minOccurs="0"
832        maxOccurs="unbounded"/>
833      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
834        maxOccurs="unbounded"/>
835      <xsd:element name="proof" type="tns:proofType" />
836    </xsd:sequence>
837  </xsd:complexType>
838
839  <xsd:complexType name="terminateSegmentRequestType">
840    <xsd:annotation>
841      <xsd:documentation>
842        Request to terminate an experiment.
843      </xsd:documentation>
844    </xsd:annotation>
845    <xsd:sequence>
846      <xsd:element name="allocID" type="tns:IDType"/>
847      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
848    </xsd:sequence>
849  </xsd:complexType>
850
851  <xsd:complexType name="terminateSegmentResponseType">
852    <xsd:annotation>
853      <xsd:documentation>
854        Indication that the experiment has been terminated.
855      </xsd:documentation>
856    </xsd:annotation>
857    <xsd:sequence>
858      <xsd:element name="allocID" type="tns:IDType"/>
859      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
860        maxOccurs="1"/>
861      <xsd:element name="proof" type="tns:proofType" />
862    </xsd:sequence>
863  </xsd:complexType>
864
865  <xsd:complexType name="ns2TopdlRequestType">
866    <xsd:annotation>
867      <xsd:documentation>
868        Request to run the CEDL to topdl translator remotely.  This is
869        primarily an internal interface.
870      </xsd:documentation>
871    </xsd:annotation>
872    <xsd:sequence>
873      <xsd:element name="description" type="tns:experimentDescriptionType"/>
874    </xsd:sequence>
875  </xsd:complexType>
876
877  <xsd:complexType name="ns2TopdlResponseType">
878    <xsd:annotation>
879      <xsd:documentation>
880        Translator splitter output.  Also an internal interface
881      </xsd:documentation>
882    </xsd:annotation>
883    <xsd:sequence>
884      <xsd:element name="experimentdescription" 
885        type="tns:experimentDescriptionType"/>
886      <xsd:element name="proof" type="tns:proofType"/>
887    </xsd:sequence>
888  </xsd:complexType>
889
890  <xsd:complexType name="setValueRequestType">
891    <xsd:annotation>
892      <xsd:documentation>
893        Request to set a shared value.
894      </xsd:documentation>
895    </xsd:annotation>
896    <xsd:sequence>
897      <xsd:element name="name" type="xsd:string"/> 
898      <xsd:element name="value" type="xsd:string"/> 
899    </xsd:sequence>
900  </xsd:complexType>
901
902  <xsd:complexType name="setValueResponseType">
903    <xsd:annotation>
904      <xsd:documentation>
905        Request to set a shared value.
906      </xsd:documentation>
907    </xsd:annotation>
908    <xsd:sequence>
909      <xsd:element name="name" type="xsd:string"/> 
910      <xsd:element name="value" type="xsd:string"/> 
911      <xsd:element name="proof" type="tns:proofType"/>
912    </xsd:sequence>
913  </xsd:complexType>
914
915  <xsd:complexType name="getValueRequestType">
916    <xsd:annotation>
917      <xsd:documentation>
918        Request to set a shared value.
919      </xsd:documentation>
920    </xsd:annotation>
921    <xsd:sequence>
922      <xsd:element name="name" type="xsd:string"/> 
923      <xsd:element name="wait" type="xsd:boolean"/> 
924    </xsd:sequence>
925  </xsd:complexType>
926
927  <xsd:complexType name="getValueResponseType">
928    <xsd:annotation>
929      <xsd:documentation>
930        Request to set a shared value.
931      </xsd:documentation>
932    </xsd:annotation>
933    <xsd:sequence>
934      <xsd:element name="name" type="xsd:string"/> 
935      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
936      <xsd:element name="proof" type="tns:proofType"/>
937    </xsd:sequence>
938  </xsd:complexType>
939
940  <xsd:complexType name="faultType">
941    <xsd:annotation>
942      <xsd:documentation>
943        Indication that a service has failed.  The code values are
944
945          1 access denied
946          2 proxy error
947          3 badly formed request
948          4 server configuration error
949          5 internal error
950          6 partial instantiation
951          7 federant error
952
953        Errstr contains the text above corresponding to the code.  Code
954        is always present.  Desc provides additional human-readable data
955        about the error.
956      </xsd:documentation>
957    </xsd:annotation>
958    <xsd:sequence>
959      <xsd:element name="code" type="xsd:int">
960        <xsd:restriction>
961          <xsd:enumeration value="1"/>  <!-- access denied -->
962          <xsd:enumeration value="2"/>  <!-- protocol error -->
963          <xsd:enumeration value="3"/>  <!-- badly formed request -->
964          <xsd:enumeration value="4"/>  <!-- server configuration error -->
965          <xsd:enumeration value="5"/>  <!-- internal error -->
966          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
967          <xsd:enumeration value="7"/>  <!-- federant error -->
968          <xsd:enumeration value="8"/>  <!-- connect error -->
969        </xsd:restriction>
970      </xsd:element>
971      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
972      </xsd:element>
973      <xsd:element name="desc" type="xsd:string"/>
974      <xsd:element name="proof" type="tns:proofType" 
975        minOccurs="0" maxOccurs="unbounded"/>
976    </xsd:sequence>
977  </xsd:complexType>
978</xsd:schema>
Note: See TracBrowser for help on using the repository browser.