source: wsdl/fedd_types.xsd @ ab3d6c5

compt_changesinfo-ops
Last change on this file since ab3d6c5 was 6e33086, checked in by Ted Faber <faber@…>, 13 years ago

InfoSegment? to emulab access controllers

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