source: wsdl/fedd_types.xsd @ c6f867c

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

beginnings of info requests.

  • 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:sequence>
675  </xsd:complexType>
676
677  <xsd:complexType name="infoResponseType">
678    <xsd:annotation>
679      <xsd:documentation>
680        Information on an instantiated experiment.  Different information may
681        be returned based on the user's rights to see the topology.  Includes
682        the information about federants hosting sub-experiments for service
683        access as well as virtual topology and visualization information.  All
684        that information is relative to the requester.  ExperimentAccess
685        includes credentials with which one can access the experiment.  These
686        may include a public key necessary to prove possession of the
687        credential and should be treated with care.
688      </xsd:documentation>
689    </xsd:annotation>
690    <xsd:sequence>
691      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
692        maxOccurs="1"/>
693      <xsd:element name="vis" type="tns:visType" minOccurs="0"
694        maxOccurs="1"/>
695      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
696        maxOccurs="unbounded"/>
697      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0" 
698        maxOccurs="1"/>
699      <xsd:element name="experimentStatus" type="tns:statusType"/>
700      <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0"
701        maxOccurs="1"/>
702      <xsd:element name="experimentdescription" 
703        type="tns:experimentDescriptionType" minOccurs="0" maxOccurs="1"/>
704      <xsd:element name="proof" type="tns:proofType"/>
705    </xsd:sequence>
706  </xsd:complexType>
707
708
709  <xsd:complexType name="multiInfoRequestType">
710    <xsd:annotation>
711      <xsd:documentation>
712        Gets all information that this user can access on this fedd.
713      </xsd:documentation>
714    </xsd:annotation>
715    <xsd:sequence>
716    </xsd:sequence>
717  </xsd:complexType>
718
719  <xsd:complexType name="multiInfoResponseType">
720    <xsd:annotation>
721      <xsd:documentation>
722        Multi info response.  A list of infoResponses
723      </xsd:documentation>
724    </xsd:annotation>
725    <xsd:sequence>
726      <xsd:element name="info" type="tns:infoResponseType" minOccurs="0"
727        maxOccurs="unbounded"/>
728      <xsd:element name="proof" type="tns:proofType" minOccurs="0" 
729        maxOccurs="unbounded"/>
730    </xsd:sequence>
731  </xsd:complexType>
732
733  <xsd:complexType name="terminateRequestType">
734    <xsd:annotation>
735      <xsd:documentation>
736        Request to terminate an experiment.
737      </xsd:documentation>
738    </xsd:annotation>
739    <xsd:sequence>
740      <xsd:element name="experiment" type="tns:IDType"/>
741      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
742    </xsd:sequence>
743  </xsd:complexType>
744
745  <xsd:complexType name="terminateResponseType">
746    <xsd:annotation>
747      <xsd:documentation>
748        Indication that the experiment has been terminated.
749      </xsd:documentation>
750    </xsd:annotation>
751    <xsd:sequence>
752      <xsd:element name="experiment" type="tns:IDType"/>
753      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
754        maxOccurs="1"/>
755      <xsd:element name="proof" type="tns:proofType" minOccurs="1" maxOccurs="unbounded"/>
756    </xsd:sequence>
757  </xsd:complexType>
758
759  <xsd:complexType name="startSegmentRequestType">
760    <xsd:annotation>
761      <xsd:documentation>
762        Request a testbed to create a segment in the given allocation
763      </xsd:documentation>
764    </xsd:annotation>
765    <xsd:sequence>
766      <xsd:element name="allocID" type="tns:IDType"/>
767      <xsd:element name="segmentdescription" 
768        type="tns:experimentDescriptionType"/>
769      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
770        maxOccurs="unbounded" />
771      <xsd:element name="connection" type="tns:connectionInfoType" 
772        minOccurs="0" maxOccurs="unbounded"/>
773      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
774        maxOccurs="unbounded"/>
775    </xsd:sequence>
776  </xsd:complexType>
777
778  <xsd:complexType name="startSegmentResponseType">
779    <xsd:annotation>
780      <xsd:documentation>
781        Indication that the segment started successfully
782      </xsd:documentation>
783    </xsd:annotation>
784    <xsd:sequence>
785      <xsd:element name="allocID" type="tns:IDType"/>
786      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0"
787        maxOccurs="1"/>
788      <xsd:element name="segmentdescription" 
789        type="tns:experimentDescriptionType"/>
790      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
791        maxOccurs="unbounded"/>
792      <xsd:element name="proof" type="tns:proofType" />
793    </xsd:sequence>
794  </xsd:complexType>
795
796  <xsd:complexType name="terminateSegmentRequestType">
797    <xsd:annotation>
798      <xsd:documentation>
799        Request to terminate an experiment.
800      </xsd:documentation>
801    </xsd:annotation>
802    <xsd:sequence>
803      <xsd:element name="allocID" type="tns:IDType"/>
804      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
805    </xsd:sequence>
806  </xsd:complexType>
807
808  <xsd:complexType name="terminateSegmentResponseType">
809    <xsd:annotation>
810      <xsd:documentation>
811        Indication that the experiment has been terminated.
812      </xsd:documentation>
813    </xsd:annotation>
814    <xsd:sequence>
815      <xsd:element name="allocID" type="tns:IDType"/>
816      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
817        maxOccurs="1"/>
818      <xsd:element name="proof" type="tns:proofType" />
819    </xsd:sequence>
820  </xsd:complexType>
821
822  <xsd:complexType name="infoSegmentRequestType">
823    <xsd:annotation>
824      <xsd:documentation>
825        Request current status of the segment
826      </xsd:documentation>
827    </xsd:annotation>
828    <xsd:sequence>
829      <xsd:element name="allocID" type="tns:IDType"/>
830    </xsd:sequence>
831  </xsd:complexType>
832
833
834  <xsd:complexType name="startSegmentResponseType">
835    <xsd:annotation>
836      <xsd:documentation>
837        Current status of the allocation
838      </xsd:documentation>
839    </xsd:annotation>
840    <xsd:sequence>
841      <xsd:element name="allocID" type="tns:IDType"/>
842      <xsd:element name="segmentdescription" 
843        type="tns:experimentDescriptionType"/>
844      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
845        maxOccurs="unbounded"/>
846      <xsd:element name="proof" type="tns:proofType" />
847    </xsd:sequence>
848  </xsd:complexType>
849
850  <xsd:complexType name="ns2TopdlRequestType">
851    <xsd:annotation>
852      <xsd:documentation>
853        Request to run the CEDL to topdl translator remotely.  This is
854        primarily an internal interface.
855      </xsd:documentation>
856    </xsd:annotation>
857    <xsd:sequence>
858      <xsd:element name="description" type="tns:experimentDescriptionType"/>
859    </xsd:sequence>
860  </xsd:complexType>
861
862  <xsd:complexType name="ns2TopdlResponseType">
863    <xsd:annotation>
864      <xsd:documentation>
865        Translator splitter output.  Also an internal interface
866      </xsd:documentation>
867    </xsd:annotation>
868    <xsd:sequence>
869      <xsd:element name="experimentdescription" 
870        type="tns:experimentDescriptionType"/>
871      <xsd:element name="proof" type="tns:proofType"/>
872    </xsd:sequence>
873  </xsd:complexType>
874
875  <xsd:complexType name="setValueRequestType">
876    <xsd:annotation>
877      <xsd:documentation>
878        Request to set a shared value.
879      </xsd:documentation>
880    </xsd:annotation>
881    <xsd:sequence>
882      <xsd:element name="name" type="xsd:string"/> 
883      <xsd:element name="value" type="xsd:string"/> 
884    </xsd:sequence>
885  </xsd:complexType>
886
887  <xsd:complexType name="setValueResponseType">
888    <xsd:annotation>
889      <xsd:documentation>
890        Request to set a shared value.
891      </xsd:documentation>
892    </xsd:annotation>
893    <xsd:sequence>
894      <xsd:element name="name" type="xsd:string"/> 
895      <xsd:element name="value" type="xsd:string"/> 
896      <xsd:element name="proof" type="tns:proofType"/>
897    </xsd:sequence>
898  </xsd:complexType>
899
900  <xsd:complexType name="getValueRequestType">
901    <xsd:annotation>
902      <xsd:documentation>
903        Request to set a shared value.
904      </xsd:documentation>
905    </xsd:annotation>
906    <xsd:sequence>
907      <xsd:element name="name" type="xsd:string"/> 
908      <xsd:element name="wait" type="xsd:boolean"/> 
909    </xsd:sequence>
910  </xsd:complexType>
911
912  <xsd:complexType name="getValueResponseType">
913    <xsd:annotation>
914      <xsd:documentation>
915        Request to set a shared value.
916      </xsd:documentation>
917    </xsd:annotation>
918    <xsd:sequence>
919      <xsd:element name="name" type="xsd:string"/> 
920      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
921      <xsd:element name="proof" type="tns:proofType"/>
922    </xsd:sequence>
923  </xsd:complexType>
924
925  <xsd:complexType name="faultType">
926    <xsd:annotation>
927      <xsd:documentation>
928        Indication that a service has failed.  The code values are
929
930          1 access denied
931          2 proxy error
932          3 badly formed request
933          4 server configuration error
934          5 internal error
935          6 partial instantiation
936          7 federant error
937
938        Errstr contains the text above corresponding to the code.  Code
939        is always present.  Desc provides additional human-readable data
940        about the error.
941      </xsd:documentation>
942    </xsd:annotation>
943    <xsd:sequence>
944      <xsd:element name="code" type="xsd:int">
945        <xsd:restriction>
946          <xsd:enumeration value="1"/>  <!-- access denied -->
947          <xsd:enumeration value="2"/>  <!-- protocol error -->
948          <xsd:enumeration value="3"/>  <!-- badly formed request -->
949          <xsd:enumeration value="4"/>  <!-- server configuration error -->
950          <xsd:enumeration value="5"/>  <!-- internal error -->
951          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
952          <xsd:enumeration value="7"/>  <!-- federant error -->
953          <xsd:enumeration value="8"/>  <!-- connect error -->
954        </xsd:restriction>
955      </xsd:element>
956      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
957      </xsd:element>
958      <xsd:element name="desc" type="xsd:string"/>
959      <xsd:element name="proof" type="tns:proofType" 
960        minOccurs="0" maxOccurs="unbounded"/>
961    </xsd:sequence>
962  </xsd:complexType>
963</xsd:schema>
Note: See TracBrowser for help on using the repository browser.