source: wsdl/fedd_types.xsd @ 7e55a14

compt_changes
Last change on this file since 7e55a14 was 4ffa6f8, checked in by Ted Faber <faber@…>, 12 years ago

Add support for nat_portal parameter. Remove old half-assed active
endpoints

  • Property mode set to 100644
File size: 36.4 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="operationStatusType">
458    <xsd:annotation>
459      <xsd:documentation>
460        Result of an operation.  The target, success or failure code and
461        descriptive text
462      </xsd:documentation>
463    </xsd:annotation>
464    <xsd:sequence>
465      <xsd:element name="target" type="xsd:string"/>
466      <xsd:element name="code" type="xsd:int">
467        <xsd:restriction>
468          <xsd:enumeration value="0"/>  <!-- success -->
469          <xsd:enumeration value="1"/>  <!-- access denied -->
470          <xsd:enumeration value="2"/>  <!-- busy, retry -->
471          <xsd:enumeration value="3"/>  <!-- not supported -->
472          <xsd:enumeration value="4"/>  <!-- bad parameter -->
473          <xsd:enumeration value="5"/>  <!-- internal error -->
474          <xsd:enumeration value="6"/>  <!-- partial success -->
475          <xsd:enumeration value="7"/>  <!-- no such target -->
476          <xsd:enumeration value="8"/>  <!-- federant error -->
477        </xsd:restriction>
478      </xsd:element>
479      <xsd:element name="description" type="xsd:string" 
480        minOccurs="0" maxOccurs="1"/>
481    </xsd:sequence>
482  </xsd:complexType>
483
484
485  <xsd:complexType name="newRequestType">
486    <xsd:annotation>
487      <xsd:documentation>
488        Request for an experiment to which credentials can be delegated and
489        resources attached.  A local name may be included as a human readable
490        accessor, local to this experiment controller.  It is a suggestion and
491        may be modified.  experimentID can only be a local name.
492
493        Credentials are seed credentials to begin the proof.
494      </xsd:documentation>
495    </xsd:annotation>
496    <xsd:sequence>
497      <xsd:element name="experimentAccess" type="tns:accessType" 
498        minOccurs="0" maxOccurs="1"/>
499      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
500        maxOccurs="1"/>
501      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
502        maxOccurs="unbounded"/>
503    </xsd:sequence>
504  </xsd:complexType>
505
506  <xsd:complexType name="newResponseType">
507    <xsd:annotation>
508      <xsd:documentation>
509        Result of a new experiment creation.  A successful sreation will have
510        an experimentState of "empty", 2 experimentIDs, one a fedid and one a
511        local name, and an experimentAccess that allows the creator to act as
512        the experiment.
513      </xsd:documentation>
514    </xsd:annotation>
515    <xsd:sequence>
516      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
517        maxOccurs="unbounded"/>
518      <xsd:element name="experimentStatus" type="tns:statusType"/>
519      <xsd:element name="experimentAccess" type="tns:accessType"/>
520      <xsd:element name="proof" type="tns:proofType"/>
521    </xsd:sequence>
522  </xsd:complexType>
523
524  <xsd:complexType name="accessRequestType">
525    <xsd:annotation>
526      <xsd:documentation>
527        Request for access to a testbed.  It includes the testbed from
528        which resources are being requested (a single service may
529        provide access to many), the user or project requesting access
530        (a testbed making the request will leave both empty), the
531        resources needed, and scheduling information.
532      </xsd:documentation>
533    </xsd:annotation>
534    <xsd:sequence>
535      <xsd:element name="credential" type="xsd:string" minOccurs="0"
536        maxOccurs="unbounded"/>
537      <xsd:element name="abac_credential" type="xsd:base64Binary" minOccurs="0"
538        maxOccurs="unbounded"/>
539      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
540        maxOccurs="1"/>
541      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
542        maxOccurs="unbounded" />
543      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
544      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
545        maxOccurs="1"/>
546    </xsd:sequence>
547  </xsd:complexType>
548
549  <xsd:complexType name="accessResponseType">
550    <xsd:annotation>
551      <xsd:documentation>
552        Response to an access request.  Includes the allocation, the
553        information needed to access creation and experiment services
554        and scheduling information.
555      </xsd:documentation>
556    </xsd:annotation>
557    <xsd:sequence>
558      <xsd:element name="allocID" type="tns:IDType"/>
559      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
560        maxOccurs="unbounded" />
561      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
562      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
563        maxOccurs="1"/>
564      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
565        maxOccurs="unbounded"/>
566      <xsd:element name="proof" type="tns:proofType"/>
567    </xsd:sequence>
568  </xsd:complexType>
569
570  <xsd:complexType name="releaseRequestType">
571    <xsd:annotation>
572      <xsd:documentation>
573        A request to release the access rights allocated by an earlier
574        RequestAccess call.
575      </xsd:documentation>
576    </xsd:annotation>
577    <xsd:sequence>
578      <xsd:element name="allocID" type="tns:IDType"/>
579    </xsd:sequence>
580  </xsd:complexType>
581
582  <xsd:complexType name="releaseResponseType">
583    <xsd:annotation>
584      <xsd:documentation>
585        Indication that the access has been terminated.
586      </xsd:documentation>
587    </xsd:annotation>
588    <xsd:sequence>
589      <xsd:element name="allocID" type="tns:IDType"/>
590      <xsd:element name="proof" type="tns:proofType"/>
591    </xsd:sequence>
592  </xsd:complexType>
593
594  <xsd:complexType name="createRequestType">
595    <xsd:annotation>
596      <xsd:documentation>
597        A request to embed a federated experiment across testbeds.  Non-
598        standard local names for testbeds are included in the
599        testbedmap, the user making the request, the experiment
600        description, master testbed, and a suggested experiment name are
601        included.  More than one name can be suggested, either as
602        synonyms (a fedid and a localname) or as choices (multiple
603        localnames).
604      </xsd:documentation>
605    </xsd:annotation>
606    <xsd:sequence>
607      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
608        maxOccurs="unbounded"/>
609      <xsd:element name="experimentdescription" 
610        type="tns:experimentDescriptionType"/>
611      <xsd:element name="service" type="tns:createServiceInfoType" minOccurs="0"
612        maxOccurs="unbounded" />
613      <xsd:element name="experimentID" type="tns:IDType"/>
614      <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" 
615        maxOccurs="unbounded"/>
616    </xsd:sequence>
617  </xsd:complexType>
618
619  <xsd:complexType name="createResponseType">
620    <xsd:annotation>
621      <xsd:documentation>
622        Returned to let the caller know that the request is underway.
623      </xsd:documentation>
624    </xsd:annotation>
625    <xsd:sequence>
626      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
627        maxOccurs="unbounded"/>
628      <xsd:element name="experimentStatus" type="tns:statusType"/>
629      <xsd:element name="proof" type="tns:proofType" minOccurs="1" 
630        maxOccurs="unbounded"/>
631    </xsd:sequence>
632  </xsd:complexType>
633
634  <xsd:complexType name="vtopoRequestType">
635    <xsd:annotation>
636      <xsd:documentation>
637        Request for an existing experiment's virtual topology.
638        Different information may be returned based on the user's rights
639        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="vtopoResponseType">
648    <xsd:annotation>
649      <xsd:documentation>
650        The response to a topology request.  Different information may
651        be returned based on the user's rights to see the topology.
652      </xsd:documentation>
653    </xsd:annotation>
654    <xsd:sequence>
655      <xsd:element name="experiment" type="tns:IDType"/>
656      <xsd:element name="vtopo" type="tns:vtopoType"/>
657      <xsd:element name="proof" type="tns:proofType"/>
658    </xsd:sequence>
659  </xsd:complexType>
660
661
662  <xsd:complexType name="visRequestType">
663    <xsd:annotation>
664      <xsd:documentation>
665        Request for an existing experiment's visualization.  This is
666        largely a compatibility service.  Different information may be
667        returned based on the user's rights to see the topology.
668      </xsd:documentation>
669    </xsd:annotation>
670    <xsd:sequence>
671      <xsd:element name="experiment" type="tns:IDType"/>
672    </xsd:sequence>
673  </xsd:complexType>
674
675  <xsd:complexType name="visResponseType">
676    <xsd:annotation>
677      <xsd:documentation>
678        An existing experiment's visualization.  This is largely a
679        compatibility service.  Different information may be returned
680        based on the user's rights to see the topology.
681      </xsd:documentation>
682    </xsd:annotation>
683    <xsd:sequence>
684      <xsd:element name="experiment" type="tns:IDType"/>
685      <xsd:element name="vis" type="tns:visType"/>
686      <xsd:element name="proof" type="tns:proofType"/>
687    </xsd:sequence>
688  </xsd:complexType>
689
690  <xsd:complexType name="infoRequestType">
691    <xsd:annotation>
692      <xsd:documentation>
693        A combined topology, visualalization, and federant request.
694        Different information may be returned based on the user's rights
695        to see the topology.
696      </xsd:documentation>
697    </xsd:annotation>
698    <xsd:sequence>
699      <xsd:element name="experiment" type="tns:IDType"/>
700      <xsd:element name="legacy" type="xsd:boolean" 
701        minOccurs="0" maxOccurs="1"/>
702      <xsd:element name="fresh" type="xsd:boolean" 
703        minOccurs="0" maxOccurs="1"/>
704    </xsd:sequence>
705  </xsd:complexType>
706
707  <xsd:complexType name="infoResponseType">
708    <xsd:annotation>
709      <xsd:documentation>
710        Information on an instantiated experiment.  Different information may
711        be returned based on the user's rights to see the topology.  Includes
712        the information about federants hosting sub-experiments for service
713        access as well as virtual topology and visualization information.  All
714        that information is relative to the requester.  ExperimentAccess
715        includes credentials with which one can access the experiment.  These
716        may include a public key necessary to prove possession of the
717        credential and should be treated with care.
718      </xsd:documentation>
719    </xsd:annotation>
720    <xsd:sequence>
721      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
722        maxOccurs="1"/>
723      <xsd:element name="vis" type="tns:visType" minOccurs="0"
724        maxOccurs="1"/>
725      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
726        maxOccurs="unbounded"/>
727      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0" 
728        maxOccurs="1"/>
729      <xsd:element name="experimentStatus" type="tns:statusType"/>
730      <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0"
731        maxOccurs="1"/>
732      <xsd:element name="experimentdescription" 
733        type="tns:experimentDescriptionType" minOccurs="0" maxOccurs="1"/>
734      <xsd:element name="proof" type="tns:proofType"/>
735    </xsd:sequence>
736  </xsd:complexType>
737
738
739  <xsd:complexType name="multiInfoRequestType">
740    <xsd:annotation>
741      <xsd:documentation>
742        Gets all information that this user can access on this fedd.
743      </xsd:documentation>
744    </xsd:annotation>
745    <xsd:sequence>
746    </xsd:sequence>
747  </xsd:complexType>
748
749  <xsd:complexType name="multiInfoResponseType">
750    <xsd:annotation>
751      <xsd:documentation>
752        Multi info response.  A list of infoResponses
753      </xsd:documentation>
754    </xsd:annotation>
755    <xsd:sequence>
756      <xsd:element name="info" type="tns:infoResponseType" minOccurs="0"
757        maxOccurs="unbounded"/>
758      <xsd:element name="proof" type="tns:proofType" minOccurs="0" 
759        maxOccurs="unbounded"/>
760    </xsd:sequence>
761  </xsd:complexType>
762
763  <xsd:complexType name="operationRequestType">
764    <xsd:annotation>
765      <xsd:documentation>
766        A request to operate on one or more elements of this experiment
767      </xsd:documentation>
768    </xsd:annotation>
769    <xsd:sequence>
770      <xsd:element name="experiment" type="tns:IDType"/>
771      <xsd:element name="operation" type="xsd:string"/>
772      <xsd:element name="target" type="xsd:string"
773        minOccurs="1" maxOccurs="unbounded"/>
774      <xsd:element name="parameter" type="tns:fedAttrType"
775        minOccurs="0" maxOccurs="unbounded"/>
776    </xsd:sequence>
777  </xsd:complexType>
778
779  <xsd:complexType name="operationResponseType">
780    <xsd:annotation>
781      <xsd:documentation>
782        A status of requested operations.
783      </xsd:documentation>
784    </xsd:annotation>
785    <xsd:sequence>
786      <xsd:element name="experiment" type="tns:IDType"/>
787      <xsd:element name="status" type="tns:operationStatusType"
788        minOccurs="1" maxOccurs="unbounded"/>
789      <xsd:element name="proof" type="tns:proofType" />
790    </xsd:sequence>
791  </xsd:complexType>
792
793  <xsd:complexType name="terminateRequestType">
794    <xsd:annotation>
795      <xsd:documentation>
796        Request to terminate an experiment.
797      </xsd:documentation>
798    </xsd:annotation>
799    <xsd:sequence>
800      <xsd:element name="experiment" type="tns:IDType"/>
801      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
802    </xsd:sequence>
803  </xsd:complexType>
804
805  <xsd:complexType name="terminateResponseType">
806    <xsd:annotation>
807      <xsd:documentation>
808        Indication that the experiment has been terminated.
809      </xsd:documentation>
810    </xsd:annotation>
811    <xsd:sequence>
812      <xsd:element name="experiment" type="tns:IDType"/>
813      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
814        maxOccurs="1"/>
815      <xsd:element name="proof" type="tns:proofType" minOccurs="1" maxOccurs="unbounded"/>
816    </xsd:sequence>
817  </xsd:complexType>
818
819  <xsd:complexType name="startSegmentRequestType">
820    <xsd:annotation>
821      <xsd:documentation>
822        Request a testbed to create a segment in the given allocation
823      </xsd:documentation>
824    </xsd:annotation>
825    <xsd:sequence>
826      <xsd:element name="allocID" type="tns:IDType"/>
827      <xsd:element name="segmentdescription" 
828        type="tns:experimentDescriptionType"/>
829      <xsd:element name="service" type="tns:serviceInfoType" minOccurs="0"
830        maxOccurs="unbounded" />
831      <xsd:element name="connection" type="tns:connectionInfoType" 
832        minOccurs="0" maxOccurs="unbounded"/>
833      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
834        maxOccurs="unbounded"/>
835    </xsd:sequence>
836  </xsd:complexType>
837
838  <xsd:complexType name="startSegmentResponseType">
839    <xsd:annotation>
840      <xsd:documentation>
841        Indication that the segment started successfully
842      </xsd:documentation>
843    </xsd:annotation>
844    <xsd:sequence>
845      <xsd:element name="allocID" type="tns:IDType"/>
846      <xsd:element name="allocationLog" type="xsd:string" minOccurs="0"
847        maxOccurs="1"/>
848      <xsd:element name="segmentdescription" 
849        type="tns:experimentDescriptionType"/>
850      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
851        maxOccurs="unbounded"/>
852      <xsd:element name="proof" type="tns:proofType" />
853    </xsd:sequence>
854  </xsd:complexType>
855
856  <xsd:complexType name="terminateSegmentRequestType">
857    <xsd:annotation>
858      <xsd:documentation>
859        Request to terminate an experiment.
860      </xsd:documentation>
861    </xsd:annotation>
862    <xsd:sequence>
863      <xsd:element name="allocID" type="tns:IDType"/>
864      <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
865    </xsd:sequence>
866  </xsd:complexType>
867
868  <xsd:complexType name="terminateSegmentResponseType">
869    <xsd:annotation>
870      <xsd:documentation>
871        Indication that the experiment has been terminated.
872      </xsd:documentation>
873    </xsd:annotation>
874    <xsd:sequence>
875      <xsd:element name="allocID" type="tns:IDType"/>
876      <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0"
877        maxOccurs="1"/>
878      <xsd:element name="proof" type="tns:proofType" />
879    </xsd:sequence>
880  </xsd:complexType>
881
882  <xsd:complexType name="infoSegmentRequestType">
883    <xsd:annotation>
884      <xsd:documentation>
885        Request current status of the segment
886      </xsd:documentation>
887    </xsd:annotation>
888    <xsd:sequence>
889      <xsd:element name="allocID" type="tns:IDType"/>
890    </xsd:sequence>
891  </xsd:complexType>
892
893
894  <xsd:complexType name="infoSegmentResponseType">
895    <xsd:annotation>
896      <xsd:documentation>
897        Current status of the allocation
898      </xsd:documentation>
899    </xsd:annotation>
900    <xsd:sequence>
901      <xsd:element name="allocID" type="tns:IDType"/>
902      <xsd:element name="segmentdescription" 
903        type="tns:experimentDescriptionType" minOccurs="0" maxOccurs="1"/>
904      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
905        maxOccurs="unbounded"/>
906      <xsd:element name="proof" type="tns:proofType" />
907    </xsd:sequence>
908  </xsd:complexType>
909
910  <xsd:complexType name="operationSegmentRequestType">
911    <xsd:annotation>
912      <xsd:documentation>
913        A request to operate on one or more elements of this segment (or the
914        whole segment)
915      </xsd:documentation>
916    </xsd:annotation>
917    <xsd:sequence>
918      <xsd:element name="allocID" type="tns:IDType"/>
919      <xsd:element name="operation" type="xsd:string"/>
920      <xsd:element name="target" type="xsd:string"
921        minOccurs="1" maxOccurs="unbounded"/>
922      <xsd:element name="parameter" type="tns:fedAttrType"
923        minOccurs="0" maxOccurs="unbounded"/>
924    </xsd:sequence>
925  </xsd:complexType>
926
927  <xsd:complexType name="operationSegmentResponseType">
928    <xsd:annotation>
929      <xsd:documentation>
930        A status of requested operations.
931      </xsd:documentation>
932    </xsd:annotation>
933    <xsd:sequence>
934      <xsd:element name="allocID" type="tns:IDType"/>
935      <xsd:element name="status" type="tns:operationStatusType"
936        minOccurs="1" maxOccurs="unbounded"/>
937      <xsd:element name="proof" type="tns:proofType" />
938    </xsd:sequence>
939  </xsd:complexType>
940
941  <xsd:complexType name="ns2TopdlRequestType">
942    <xsd:annotation>
943      <xsd:documentation>
944        Request to run the CEDL to topdl translator remotely.  This is
945        primarily an internal interface.
946      </xsd:documentation>
947    </xsd:annotation>
948    <xsd:sequence>
949      <xsd:element name="description" type="tns:experimentDescriptionType"/>
950    </xsd:sequence>
951  </xsd:complexType>
952
953  <xsd:complexType name="ns2TopdlResponseType">
954    <xsd:annotation>
955      <xsd:documentation>
956        Translator splitter output.  Also an internal interface
957      </xsd:documentation>
958    </xsd:annotation>
959    <xsd:sequence>
960      <xsd:element name="experimentdescription" 
961        type="tns:experimentDescriptionType"/>
962      <xsd:element name="proof" type="tns:proofType"/>
963    </xsd:sequence>
964  </xsd:complexType>
965
966  <xsd:complexType name="setValueRequestType">
967    <xsd:annotation>
968      <xsd:documentation>
969        Request to set a shared value.
970      </xsd:documentation>
971    </xsd:annotation>
972    <xsd:sequence>
973      <xsd:element name="name" type="xsd:string"/> 
974      <xsd:element name="value" type="xsd:string"/> 
975    </xsd:sequence>
976  </xsd:complexType>
977
978  <xsd:complexType name="setValueResponseType">
979    <xsd:annotation>
980      <xsd:documentation>
981        Request to set a shared value.
982      </xsd:documentation>
983    </xsd:annotation>
984    <xsd:sequence>
985      <xsd:element name="name" type="xsd:string"/> 
986      <xsd:element name="value" type="xsd:string"/> 
987      <xsd:element name="proof" type="tns:proofType"/>
988    </xsd:sequence>
989  </xsd:complexType>
990
991  <xsd:complexType name="getValueRequestType">
992    <xsd:annotation>
993      <xsd:documentation>
994        Request to set a shared value.
995      </xsd:documentation>
996    </xsd:annotation>
997    <xsd:sequence>
998      <xsd:element name="name" type="xsd:string"/> 
999      <xsd:element name="wait" type="xsd:boolean"/> 
1000    </xsd:sequence>
1001  </xsd:complexType>
1002
1003  <xsd:complexType name="getValueResponseType">
1004    <xsd:annotation>
1005      <xsd:documentation>
1006        Request to set a shared value.
1007      </xsd:documentation>
1008    </xsd:annotation>
1009    <xsd:sequence>
1010      <xsd:element name="name" type="xsd:string"/> 
1011      <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/> 
1012      <xsd:element name="proof" type="tns:proofType"/>
1013    </xsd:sequence>
1014  </xsd:complexType>
1015
1016  <xsd:complexType name="faultType">
1017    <xsd:annotation>
1018      <xsd:documentation>
1019        Indication that a service has failed.  The code values are
1020
1021          1 access denied
1022          2 proxy error
1023          3 badly formed request
1024          4 server configuration error
1025          5 internal error
1026          6 partial instantiation
1027          7 federant error
1028
1029        Errstr contains the text above corresponding to the code.  Code
1030        is always present.  Desc provides additional human-readable data
1031        about the error.
1032      </xsd:documentation>
1033    </xsd:annotation>
1034    <xsd:sequence>
1035      <xsd:element name="code" type="xsd:int">
1036        <xsd:restriction>
1037          <xsd:enumeration value="1"/>  <!-- access denied -->
1038          <xsd:enumeration value="2"/>  <!-- protocol error -->
1039          <xsd:enumeration value="3"/>  <!-- badly formed request -->
1040          <xsd:enumeration value="4"/>  <!-- server configuration error -->
1041          <xsd:enumeration value="5"/>  <!-- internal error -->
1042          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
1043          <xsd:enumeration value="7"/>  <!-- federant error -->
1044          <xsd:enumeration value="8"/>  <!-- connect error -->
1045        </xsd:restriction>
1046      </xsd:element>
1047      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
1048      </xsd:element>
1049      <xsd:element name="desc" type="xsd:string"/>
1050      <xsd:element name="proof" type="tns:proofType" 
1051        minOccurs="0" maxOccurs="unbounded"/>
1052    </xsd:sequence>
1053  </xsd:complexType>
1054</xsd:schema>
Note: See TracBrowser for help on using the repository browser.