source: wsdl/fedd_types.xsd @ 43197eb

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

better service handling including project_export psuedo service done more or less right- tested on dry runs

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