source: wsdl/fedd_types.xsd @ cb0aafb

compt_changesinfo-ops
Last change on this file since cb0aafb was cb0aafb, checked in by Ted Faber <faber@…>, 12 years ago

Initial wsdl changes for new info.

  • Property mode set to 100644
File size: 32.5 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      <!-- replace with topdl -->
224      <xsd:element name="node" type="tns:nodeType" minOccurs="0"
225        maxOccurs="unbounded" />
226      <xsd:element name="capacity" type="tns:capacityType" minOccurs="0"
227        maxOccurs="unbounded"/>
228      <!-- replace with topdl -->
229    </xsd:sequence>
230  </xsd:complexType>
231
232  <xsd:complexType name="mapType">
233    <xsd:annotation>
234      <xsd:documentation>
235        Explicit translation of testbed attribute in a federated experiment
236        description to the URI at which the controlling federation
237        system can be reached.  Used in a creation request.
238
239        This type allows tools to encode experiments in familiar local
240        names for experimenters while providing remote federation
241        systems the information to map the local name into a service
242        location.
243      </xsd:documentation>
244    </xsd:annotation>
245    <xsd:sequence>
246      <xsd:element name="testbed" type="xsd:string"/>
247      <xsd:element name="uri" type="xsd:string"/>
248    </xsd:sequence>
249  </xsd:complexType>
250 
251  <xsd:complexType name="vtoponodeType">
252    <xsd:annotation>
253      <xsd:documentation>
254        Node in the virtual topology of a federated experiment (Emulab
255        legacy).  The fields are the local hostname and the IP addresses
256        of the experimental interfaces(colon-separated).
257      </xsd:documentation>
258    </xsd:annotation>
259    <xsd:sequence>
260      <xsd:element name="vname" type="xsd:string"/>
261      <xsd:element name="ips" type="xsd:string"/>
262    </xsd:sequence>
263  </xsd:complexType>
264
265  <xsd:complexType name="vtopolanType">
266    <xsd:annotation>
267      <xsd:documentation>
268        LAN in the virtual topology of a federated experiment (Emulab legacy).
269        The fields are the name of the LAN/link (vname) the node that
270        this description applies to (vnode), the IP of the connection,
271        and performance information.
272      </xsd:documentation>
273    </xsd:annotation>
274    <xsd:sequence>
275      <xsd:element name="vname" type="xsd:string"/>
276      <xsd:element name="vnode" type="xsd:string"/>
277      <xsd:element name="ip" type="xsd:string"/>
278      <xsd:element name="bandwidth" type="xsd:int"/>
279      <xsd:element name="delay" type="xsd:float"/>
280      <xsd:element name="member" type="xsd:string"/>
281    </xsd:sequence>
282  </xsd:complexType>
283
284  <xsd:complexType name="vtopoType">
285    <xsd:annotation>
286      <xsd:documentation>
287        The virtual topology of a federated experiment (Emulab legacy).
288      </xsd:documentation>
289    </xsd:annotation>
290    <xsd:sequence>
291      <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0" 
292        maxOccurs="unbounded" />
293      <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0"
294        maxOccurs="unbounded"/>
295    </xsd:sequence>
296  </xsd:complexType>
297
298  <xsd:complexType name="visnodeType">
299    <xsd:annotation>
300      <xsd:documentation>
301        Node in the visualization of a federated experiment (Emulab
302        legacy).  Fields include the local hostname of the node, x,y
303        coordinates in a 2-dimensional representation, and whether the
304        node in the visualization is a host or a LAN.
305      </xsd:documentation>
306    </xsd:annotation>
307    <xsd:sequence>
308      <xsd:element name="name" type="xsd:string"/>
309      <xsd:element name="x" type="xsd:int"/>
310      <xsd:element name="y" type="xsd:int"/>
311      <xsd:element name="type" type="xsd:string"/>
312    </xsd:sequence>
313  </xsd:complexType>
314
315  <xsd:complexType name="visType">
316    <xsd:annotation>
317      <xsd:documentation>
318        The visualization of a federated experiment (Emulab legacy)
319      </xsd:documentation>
320    </xsd:annotation>
321    <xsd:sequence>
322      <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
323        maxOccurs="unbounded"/>
324    </xsd:sequence>
325  </xsd:complexType>
326
327  <xsd:complexType name="experimentDescriptionType">
328    <xsd:annotation>
329      <xsd:documentation>
330        The description of the federated experiment, in extended ns2.
331      </xsd:documentation>
332    </xsd:annotation>
333    <xsd:choice>
334      <xsd:element name="ns2description" type="xsd:base64Binary"/>
335      <xsd:element name="topdldescription" type="topdl:topologyType"/>
336    </xsd:choice>
337  </xsd:complexType>
338
339  <xsd:simpleType name="connectionType">
340    <xsd:annotation>
341      <xsd:documentation>
342        Known subexperiment interconnection mechanisms
343      </xsd:documentation>
344    </xsd:annotation>
345    <xsd:restriction base="xsd:string">
346      <xsd:enumeration value="ssh"/>
347      <xsd:enumeration value="transit"/>
348    </xsd:restriction>
349  </xsd:simpleType>
350
351  <xsd:complexType name="memberType">
352    <xsd:annotation>
353      <xsd:documentation>
354        A member of a set of nodes for which transit is being provided
355      </xsd:documentation>
356    </xsd:annotation>
357    <xsd:sequence>
358      <xsd:element name="element" type="xsd:string"/>
359      <xsd:element name="interface" type="xsd:string" minOccurs="0" 
360        maxOccurs="1"/>
361    </xsd:sequence>
362  </xsd:complexType>
363
364  <xsd:simpleType name="connectionParameterIOType">
365    <xsd:annotation>
366      <xsd:documentation>
367        Connection parameter types: input or output
368      </xsd:documentation>
369    </xsd:annotation>
370    <xsd:restriction base="xsd:string">
371      <xsd:enumeration value="input"/>
372      <xsd:enumeration value="output"/>
373    </xsd:restriction>
374  </xsd:simpleType>
375
376  <xsd:complexType name="connectionParameterType">
377    <xsd:annotation>
378      <xsd:documentation>
379        This is a parameter on which two or more access controllers have to
380        agree in order to complete the stitching.  This gives the name of the
381        parameter, the key under which to store it (or it has been stored)  and
382        whether it is to be input or output.
383      </xsd:documentation>
384    </xsd:annotation>
385    <xsd:sequence>
386      <xsd:element name="name" type="xsd:string"/>
387      <xsd:element name="key" type="xsd:string"/>
388      <xsd:element name="store" type="xsd:string"/>
389      <xsd:element name="type" type="tns:connectionParameterIOType"/>
390    </xsd:sequence>
391  </xsd:complexType>
392
393
394  <xsd:complexType name="connectionInfoType">
395    <xsd:annotation>
396      <xsd:documentation>
397        The information needed to stitch together two segments.  It is both
398        exported from the nmaster and reported by the experiment controller to
399        the access controller and by the access controller into the world.
400      </xsd:documentation>
401    </xsd:annotation>
402    <xsd:sequence>
403      <xsd:element name="type" type="tns:connectionType"/>
404      <xsd:element name="portal" type="xsd:string" minOccurs="0" maxOccurs="1"/>
405      <xsd:element name="peer" type="xsd:string" minOccurs="0" maxOccurs="1"/>
406      <xsd:element name="member" type="tns:memberType" minOccurs="0"
407        maxOccurs="unbounded" />
408      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
409        maxOccurs="unbounded"/>
410      <xsd:element name="parameter" type="tns:connectionParameterType"
411        minOccurs="0" maxOccurs="unbounded"/>
412    </xsd:sequence>
413  </xsd:complexType>
414
415  <xsd:complexType name="serviceInfoType">
416    <xsd:annotation>
417      <xsd:documentation>
418        A generic service entry, basically a name and server
419      </xsd:documentation>
420    </xsd:annotation>
421    <xsd:sequence>
422      <xsd:element name="id" type="xsd:string" minOccurs="0" maxOccurs="1" />
423      <xsd:element name="name" type="xsd:string"/>
424      <xsd:element name="server" type="xsd:string" minOccurs="0" 
425        maxOccurs="1"/>
426      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
427        maxOccurs="unbounded"/>
428      <xsd:element name="visibility" type="xsd:string">
429        <xsd:restriction>
430          <xsd:enumeration value="export"/>     <!-- server -->
431          <xsd:enumeration value="import"/>     <!-- client -->
432          <xsd:enumeration value="composition"/><!-- both -->
433        </xsd:restriction>
434      </xsd:element>
435    </xsd:sequence>
436  </xsd:complexType>
437
438  <xsd:complexType name="createServiceInfoType">
439    <xsd:annotation>
440      <xsd:documentation>
441        The global descriptions of services in the creation request.  These
442        indicate which services are being provided at a testbed level.  They
443        become service info requests in segment creation.
444      </xsd:documentation>
445    </xsd:annotation>
446    <xsd:sequence>
447      <xsd:element name="id" type="xsd:string" minOccurs="0" maxOccurs="1" />
448      <xsd:element name="name" type="xsd:string"/>
449      <xsd:element name="export" type="xsd:string" 
450        minOccurs="0" maxOccurs="unbounded"/>
451      <xsd:choice>
452        <xsd:element name="import" type="xsd:string" 
453          minOccurs="0" maxOccurs="unbounded"/>
454        <xsd:element name="importall" type="xsd:boolean"/>
455      </xsd:choice>
456      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
457        maxOccurs="unbounded"/>
458    </xsd:sequence>
459  </xsd:complexType>
460
461  <xsd:complexType name="newRequestType">
462    <xsd:annotation>
463      <xsd:documentation>
464        Request for an experiment to which credentials can be delegated and
465        resources attached.  A local name may be included as a human readable
466        accessor, local to this experiment controller.  It is a suggestion and
467        may be modified.  experimentID can only be a local name.
468
469        Credentials are seed credentials to begin the proof.
470      </xsd:documentation>
471    </xsd:annotation>
472    <xsd:sequence>
473      <xsd:element name="experimentAccess" type="tns:accessType" 
474        minOccurs="0" maxOccurs="1"/>
475      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
476        maxOccurs="1"/>
477      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
478        maxOccurs="unbounded"/>
479    </xsd:sequence>
480  </xsd:complexType>
481
482  <xsd:complexType name="newResponseType">
483    <xsd:annotation>
484      <xsd:documentation>
485        Result of a new experiment creation.  A successful sreation will have
486        an experimentState of "empty", 2 experimentIDs, one a fedid and one a
487        local name, and an experimentAccess that allows the creator to act as
488        the experiment.
489      </xsd:documentation>
490    </xsd:annotation>
491    <xsd:sequence>
492      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
493        maxOccurs="unbounded"/>
494      <xsd:element name="experimentStatus" type="tns:statusType"/>
495      <xsd:element name="experimentAccess" type="tns:accessType"/>
496      <xsd:element name="proof" type="tns:proofType"/>
497    </xsd:sequence>
498  </xsd:complexType>
499
500  <xsd:complexType name="accessRequestType">
501    <xsd:annotation>
502      <xsd:documentation>
503        Request for access to a testbed.  It includes the testbed from
504        which resources are being requested (a single service may
505        provide access to many), the user or project requesting access
506        (a testbed making the request will leave both empty), the
507        resources needed, and scheduling information.
508      </xsd:documentation>
509    </xsd:annotation>
510    <xsd:sequence>
511      <xsd:element name="credential" type="xsd:string" minOccurs="0"
512        maxOccurs="unbounded"/>
513      <xsd:element name="abac_credential" type="xsd:base64Binary" minOccurs="0"
514        maxOccurs="unbounded"/>
515      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
516        maxOccurs="1"/>
517      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
518        maxOccurs="unbounded" />
519      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
520      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
521        maxOccurs="1"/>
522    </xsd:sequence>
523  </xsd:complexType>
524
525  <xsd:complexType name="accessResponseType">
526    <xsd:annotation>
527      <xsd:documentation>
528        Response to an access request.  Includes the allocation, the
529        information needed to access creation and experiment services
530        and scheduling information.
531      </xsd:documentation>
532    </xsd:annotation>
533    <xsd:sequence>
534      <xsd:element name="allocID" type="tns:IDType"/>
535      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
536        maxOccurs="unbounded" />
537      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
538      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
539        maxOccurs="1"/>
540      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
541        maxOccurs="unbounded"/>
542      <xsd:element name="proof" type="tns:proofType"/>
543    </xsd:sequence>
544  </xsd:complexType>
545
546  <xsd:complexType name="releaseRequestType">
547    <xsd:annotation>
548      <xsd:documentation>
549        A request to release the access rights allocated by an earlier
550        RequestAccess call.
551      </xsd:documentation>
552    </xsd:annotation>
553    <xsd:sequence>
554      <xsd:element name="allocID" type="tns:IDType"/>
555    </xsd:sequence>
556  </xsd:complexType>
557
558  <xsd:complexType name="releaseResponseType">
559    <xsd:annotation>
560      <xsd:documentation>
561        Indication that the access has been terminated.
562      </xsd:documentation>
563    </xsd:annotation>
564    <xsd:sequence>
565      <xsd:element name="allocID" type="tns:IDType"/>
566      <xsd:element name="proof" type="tns:proofType"/>
567    </xsd:sequence>
568  </xsd:complexType>
569
570  <xsd:complexType name="createRequestType">
571    <xsd:annotation>
572      <xsd:documentation>
573        A request to embed a federated experiment across testbeds.  Non-
574        standard local names for testbeds are included in the
575        testbedmap, the user making the request, the experiment
576        description, master testbed, and a suggested experiment name are
577        included.  More than one name can be suggested, either as
578        synonyms (a fedid and a localname) or as choices (multiple
579        localnames).
580      </xsd:documentation>
581    </xsd:annotation>
582    <xsd:sequence>
583      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
584        maxOccurs="unbounded"/>
585      <xsd:element name="experimentdescription" 
586        type="tns:experimentDescriptionType"/>
587      <xsd:element name="service" type="tns:createServiceInfoType" minOccurs="0"
588        maxOccurs="unbounded" />
589      <xsd:element name="experimentID" type="tns:IDType"/>
590      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
591        maxOccurs="unbounded"/>
592    </xsd:sequence>
593  </xsd:complexType>
594
595  <xsd:complexType name="createResponseType">
596    <xsd:annotation>
597      <xsd:documentation>
598        Returned to let the caller know that the request is underway.
599      </xsd:documentation>
600    </xsd:annotation>
601    <xsd:sequence>
602      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
603        maxOccurs="unbounded"/>
604      <xsd:element name="experimentStatus" type="tns:statusType"/>
605      <xsd:element name="proof" type="tns:proofType" minOccurs="1" 
606        maxOccurs="unbounded"/>
607    </xsd:sequence>
608  </xsd:complexType>
609
610  <xsd:complexType name="vtopoRequestType">
611    <xsd:annotation>
612      <xsd:documentation>
613        Request for an existing experiment's virtual topology.
614        Different information may be returned based on the user's rights
615        to see the topology.
616      </xsd:documentation>
617    </xsd:annotation>
618    <xsd:sequence>
619      <xsd:element name="experiment" type="tns:IDType"/>
620    </xsd:sequence>
621  </xsd:complexType>
622
623  <xsd:complexType name="vtopoResponseType">
624    <xsd:annotation>
625      <xsd:documentation>
626        The response to a topology request.  Different information may
627        be returned based on the user's rights to see the topology.
628      </xsd:documentation>
629    </xsd:annotation>
630    <xsd:sequence>
631      <xsd:element name="experiment" type="tns:IDType"/>
632      <xsd:element name="vtopo" type="tns:vtopoType"/>
633      <xsd:element name="proof" type="tns:proofType"/>
634    </xsd:sequence>
635  </xsd:complexType>
636
637
638  <xsd:complexType name="visRequestType">
639    <xsd:annotation>
640      <xsd:documentation>
641        Request for an existing experiment's visualization.  This is
642        largely a compatibility service.  Different information may be
643        returned based on the user's rights to see the topology.
644      </xsd:documentation>
645    </xsd:annotation>
646    <xsd:sequence>
647      <xsd:element name="experiment" type="tns:IDType"/>
648    </xsd:sequence>
649  </xsd:complexType>
650
651  <xsd:complexType name="visResponseType">
652    <xsd:annotation>
653      <xsd:documentation>
654        An existing experiment's visualization.  This is largely a
655        compatibility service.  Different information may be returned
656        based on the user's rights to see the topology.
657      </xsd:documentation>
658    </xsd:annotation>
659    <xsd:sequence>
660      <xsd:element name="experiment" type="tns:IDType"/>
661      <xsd:element name="vis" type="tns:visType"/>
662      <xsd:element name="proof" type="tns:proofType"/>
663    </xsd:sequence>
664  </xsd:complexType>
665
666  <xsd:complexType name="infoRequestType">
667    <xsd:annotation>
668      <xsd:documentation>
669        A combined topology, visualalization, and federant request.
670        Different information may be returned based on the user's rights
671        to see the topology.
672      </xsd:documentation>
673    </xsd:annotation>
674    <xsd:sequence>
675      <xsd:element name="experiment" type="tns:IDType"/>
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="ns2TopdlRequestType">
825    <xsd:annotation>
826      <xsd:documentation>
827        Request to run the CEDL to topdl translator remotely.  This is
828        primarily an internal interface.
829      </xsd:documentation>
830    </xsd:annotation>
831    <xsd:sequence>
832      <xsd:element name="description" type="tns:experimentDescriptionType"/>
833    </xsd:sequence>
834  </xsd:complexType>
835
836  <xsd:complexType name="ns2TopdlResponseType">
837    <xsd:annotation>
838      <xsd:documentation>
839        Translator splitter output.  Also an internal interface
840      </xsd:documentation>
841    </xsd:annotation>
842    <xsd:sequence>
843      <xsd:element name="experimentdescription" 
844        type="tns:experimentDescriptionType"/>
845      <xsd:element name="proof" type="tns:proofType"/>
846    </xsd:sequence>
847  </xsd:complexType>
848
849  <xsd:complexType name="setValueRequestType">
850    <xsd:annotation>
851      <xsd:documentation>
852        Request to set a shared value.
853      </xsd:documentation>
854    </xsd:annotation>
855    <xsd:sequence>
856      <xsd:element name="name" type="xsd:string"/> 
857      <xsd:element name="value" type="xsd:string"/> 
858    </xsd:sequence>
859  </xsd:complexType>
860
861  <xsd:complexType name="setValueResponseType">
862    <xsd:annotation>
863      <xsd:documentation>
864        Request to set a shared value.
865      </xsd:documentation>
866    </xsd:annotation>
867    <xsd:sequence>
868      <xsd:element name="name" type="xsd:string"/> 
869      <xsd:element name="value" type="xsd:string"/> 
870      <xsd:element name="proof" type="tns:proofType"/>
871    </xsd:sequence>
872  </xsd:complexType>
873
874  <xsd:complexType name="getValueRequestType">
875    <xsd:annotation>
876      <xsd:documentation>
877        Request to set a shared value.
878      </xsd:documentation>
879    </xsd:annotation>
880    <xsd:sequence>
881      <xsd:element name="name" type="xsd:string"/> 
882      <xsd:element name="wait" type="xsd:boolean"/> 
883    </xsd:sequence>
884  </xsd:complexType>
885
886  <xsd:complexType name="getValueResponseType">
887    <xsd:annotation>
888      <xsd:documentation>
889        Request to set a shared value.
890      </xsd:documentation>
891    </xsd:annotation>
892    <xsd:sequence>
893      <xsd:element name="name" type="xsd:string"/> 
894      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
895      <xsd:element name="proof" type="tns:proofType"/>
896    </xsd:sequence>
897  </xsd:complexType>
898
899  <xsd:complexType name="faultType">
900    <xsd:annotation>
901      <xsd:documentation>
902        Indication that a service has failed.  The code values are
903
904          1 access denied
905          2 proxy error
906          3 badly formed request
907          4 server configuration error
908          5 internal error
909          6 partial instantiation
910          7 federant error
911
912        Errstr contains the text above corresponding to the code.  Code
913        is always present.  Desc provides additional human-readable data
914        about the error.
915      </xsd:documentation>
916    </xsd:annotation>
917    <xsd:sequence>
918      <xsd:element name="code" type="xsd:int">
919        <xsd:restriction>
920          <xsd:enumeration value="1"/>  <!-- access denied -->
921          <xsd:enumeration value="2"/>  <!-- protocol error -->
922          <xsd:enumeration value="3"/>  <!-- badly formed request -->
923          <xsd:enumeration value="4"/>  <!-- server configuration error -->
924          <xsd:enumeration value="5"/>  <!-- internal error -->
925          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
926          <xsd:enumeration value="7"/>  <!-- federant error -->
927          <xsd:enumeration value="8"/>  <!-- connect error -->
928        </xsd:restriction>
929      </xsd:element>
930      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
931      </xsd:element>
932      <xsd:element name="desc" type="xsd:string"/>
933      <xsd:element name="proof" type="tns:proofType" 
934        minOccurs="0" maxOccurs="unbounded"/>
935    </xsd:sequence>
936  </xsd:complexType>
937</xsd:schema>
Note: See TracBrowser for help on using the repository browser.