source: wsdl/fedd_types.xsd @ 4e00f7c

axis_examplecompt_changesinfo-opsversion-3.01version-3.02
Last change on this file since 4e00f7c was 4e00f7c, checked in by Ted Faber <faber@…>, 14 years ago

Explicit embedding map

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