[6ff0b91] | 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" |
---|
[eec716b] | 4 | xmlns:topdl="http://www.isi.edu/faber/topdl" |
---|
[f4cc4b7] | 5 | xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
---|
[6ff0b91] | 6 | xmlns="http://www.w3.org/2000/10/XMLSchema"> |
---|
| 7 | |
---|
| 8 | <xsd:complexType name="IDType"> |
---|
| 9 | <xsd:annotation> |
---|
| 10 | <xsd:documentation> |
---|
[2dafa0c] | 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. |
---|
[6ff0b91] | 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"/> |
---|
[e40c7ee] | 20 | <xsd:element name="localname" type="xsd:string"/> |
---|
[6ff0b91] | 21 | <xsd:element name="kerberosUsername" type="xsd:string"/> |
---|
| 22 | </xsd:choice> |
---|
| 23 | </xsd:complexType> |
---|
| 24 | |
---|
| 25 | <xsd:complexType name="nodeType"> |
---|
| 26 | <xsd:annotation> |
---|
| 27 | <xsd:documentation> |
---|
[2dafa0c] | 28 | A node from an Emulab. It may have 0 or more images or hardware |
---|
| 29 | types associated with it. As this description is used for |
---|
| 30 | acquiring access to the testbed in question, multiple images or |
---|
| 31 | types are considered options. Specifying multiple image names |
---|
| 32 | indicates that the requester is looking for support for any of |
---|
| 33 | them. |
---|
[6ff0b91] | 34 | </xsd:documentation> |
---|
| 35 | </xsd:annotation> |
---|
| 36 | <xsd:sequence> |
---|
| 37 | <xsd:element name="image" type="xsd:string" minOccurs="0" |
---|
| 38 | maxOccurs="unbounded"/> |
---|
| 39 | <xsd:element name="hardware" type="xsd:string" minOccurs="0" |
---|
| 40 | maxOccurs="unbounded"/> |
---|
| 41 | </xsd:sequence> |
---|
| 42 | <xsd:attribute name="count" type="xsd:int" use="optional"/> |
---|
| 43 | </xsd:complexType> |
---|
| 44 | |
---|
| 45 | <xsd:simpleType name="kindType"> |
---|
[2dafa0c] | 46 | <xsd:annotation> |
---|
| 47 | <xsd:documentation> |
---|
| 48 | An indication of how requested networking capacity is measured. |
---|
| 49 | This will undoubtably expand. |
---|
| 50 | </xsd:documentation> |
---|
| 51 | </xsd:annotation> |
---|
[6ff0b91] | 52 | <xsd:restriction base="xsd:string"> |
---|
| 53 | <xsd:enumeration value="max"/> |
---|
| 54 | <xsd:enumeration value="average"/> |
---|
| 55 | </xsd:restriction> |
---|
| 56 | </xsd:simpleType> |
---|
| 57 | |
---|
[bd3e314] | 58 | <xsd:simpleType name="statusType"> |
---|
| 59 | <xsd:annotation> |
---|
| 60 | <xsd:documentation> |
---|
| 61 | The current state of the experiment. |
---|
| 62 | </xsd:documentation> |
---|
| 63 | </xsd:annotation> |
---|
| 64 | <xsd:restriction base="xsd:string"> |
---|
[a3ad8bd] | 65 | <xsd:enumeration value="empty"/> |
---|
[bd3e314] | 66 | <xsd:enumeration value="active"/> |
---|
| 67 | <xsd:enumeration value="starting"/> |
---|
| 68 | <xsd:enumeration value="terminating"/> |
---|
| 69 | <xsd:enumeration value="failed"/> |
---|
| 70 | </xsd:restriction> |
---|
| 71 | </xsd:simpleType> |
---|
| 72 | |
---|
[6ff0b91] | 73 | <xsd:complexType name="capacityType"> |
---|
| 74 | <xsd:annotation> |
---|
| 75 | <xsd:documentation> |
---|
[2dafa0c] | 76 | A strawman network capacity description for access negotiation. |
---|
| 77 | This will come to include more and more interesting parameters. |
---|
[6ff0b91] | 78 | </xsd:documentation> |
---|
| 79 | </xsd:annotation> |
---|
| 80 | <xsd:sequence> |
---|
| 81 | <xsd:element name="rate" type="xsd:double"/> |
---|
| 82 | <xsd:element name="kind" type="tns:kindType"/> |
---|
| 83 | </xsd:sequence> |
---|
| 84 | </xsd:complexType> |
---|
| 85 | |
---|
| 86 | <xsd:complexType name="accessType"> |
---|
| 87 | <xsd:annotation> |
---|
| 88 | <xsd:documentation> |
---|
[2dafa0c] | 89 | This captures an access credential that will be used to access |
---|
| 90 | resources. These are certificates or public keys. The type is |
---|
| 91 | used to designate the key to which access should be bound, or on |
---|
| 92 | a reply has been bound. Dynamic credentials where new keys have |
---|
| 93 | been created may also be passed in this kind of field. |
---|
[6ff0b91] | 94 | </xsd:documentation> |
---|
| 95 | </xsd:annotation> |
---|
| 96 | <xsd:choice> |
---|
| 97 | <xsd:element name="X509" type="xsd:base64Binary"/> |
---|
| 98 | <xsd:element name="sshPubkey" type="xsd:base64Binary"/> |
---|
| 99 | <xsd:element name="pgpPubkey" type="xsd:base64Binary"/> |
---|
| 100 | </xsd:choice> |
---|
| 101 | </xsd:complexType> |
---|
| 102 | |
---|
[abb87eb] | 103 | <xsd:simpleType name="userRole"> |
---|
| 104 | <xsd:annotation> |
---|
| 105 | <xsd:documentation> |
---|
[2dafa0c] | 106 | This defines the role the user/account is playing in the |
---|
| 107 | federated experiment. An account being accessed by the |
---|
| 108 | federation system to create the experiment is in the |
---|
| 109 | experimentCreation role and the accounts that experimenters will |
---|
| 110 | use to access local testbed services (e.g., rebooting a local |
---|
| 111 | node) are serviceAccess roles. |
---|
[abb87eb] | 112 | </xsd:documentation> |
---|
| 113 | </xsd:annotation> |
---|
| 114 | <xsd:restriction base="xsd:string"> |
---|
| 115 | <xsd:enumeration value="serviceAccess"/> |
---|
| 116 | <xsd:enumeration value="experimentCreation"/> |
---|
| 117 | </xsd:restriction> |
---|
| 118 | </xsd:simpleType> |
---|
| 119 | |
---|
| 120 | |
---|
[6ff0b91] | 121 | <xsd:complexType name="userType"> |
---|
| 122 | <xsd:annotation> |
---|
| 123 | <xsd:documentation> |
---|
[2dafa0c] | 124 | The definition of a user principal. It includes the |
---|
| 125 | identification of the user as an ID type, the access credential(s) |
---|
| 126 | that the user will use, and the role of the user, if any. |
---|
| 127 | Multiple access keys may be used, and it is also possible for |
---|
| 128 | the user to be anonymous. Though it is possible to specify a |
---|
| 129 | user without ID, access, or role, it is difficult to imagine |
---|
| 130 | such a user being useful. |
---|
[6ff0b91] | 131 | </xsd:documentation> |
---|
| 132 | </xsd:annotation> |
---|
| 133 | <xsd:sequence> |
---|
| 134 | <xsd:element name="userID" type="tns:IDType" minOccurs="0" |
---|
| 135 | maxOccurs="1"/> |
---|
| 136 | <xsd:element name="access" type="tns:accessType" minOccurs="0" |
---|
| 137 | maxOccurs="unbounded"/> |
---|
[abb87eb] | 138 | <xsd:element name="role" type="tns:userRole" minOccurs="0" maxOccurs="1"/> |
---|
[6ff0b91] | 139 | </xsd:sequence> |
---|
| 140 | </xsd:complexType> |
---|
| 141 | |
---|
| 142 | <xsd:complexType name="fedAttrType"> |
---|
| 143 | <xsd:annotation> |
---|
| 144 | <xsd:documentation> |
---|
[2dafa0c] | 145 | A general attribute/value pair for passing federation parameters and |
---|
| 146 | preferences. Anything encodable in XML is allowed. This is a |
---|
| 147 | point for customization and extension. |
---|
[6ff0b91] | 148 | </xsd:documentation> |
---|
| 149 | </xsd:annotation> |
---|
| 150 | <xsd:sequence> |
---|
| 151 | <xsd:element name="attribute" type="xsd:string"/> |
---|
| 152 | <xsd:element name="value" type="xsd:string"/> |
---|
| 153 | </xsd:sequence> |
---|
| 154 | </xsd:complexType> |
---|
| 155 | |
---|
| 156 | |
---|
| 157 | <xsd:complexType name="resourcesType"> |
---|
| 158 | <xsd:annotation> |
---|
| 159 | <xsd:documentation> |
---|
[2dafa0c] | 160 | The estimate of resources a requester is looking for, or the |
---|
| 161 | response of a testbed indicating what it can provide. This is |
---|
| 162 | something of a placeholder for a full resource specification, |
---|
| 163 | and alternative encodings are likely to be imported. |
---|
[6ff0b91] | 164 | </xsd:documentation> |
---|
| 165 | </xsd:annotation> |
---|
| 166 | <xsd:sequence> |
---|
| 167 | <xsd:element name="node" type="tns:nodeType" minOccurs="0" |
---|
| 168 | maxOccurs="unbounded" /> |
---|
| 169 | <xsd:element name="capacity" type="tns:capacityType" minOccurs="0" |
---|
| 170 | maxOccurs="unbounded"/> |
---|
| 171 | </xsd:sequence> |
---|
| 172 | </xsd:complexType> |
---|
| 173 | |
---|
[6679c122] | 174 | <xsd:complexType name="mapType"> |
---|
| 175 | <xsd:annotation> |
---|
| 176 | <xsd:documentation> |
---|
| 177 | Explicit translation of testbed attribute in a federated experiment |
---|
[2dafa0c] | 178 | description to the URI at which the controlling federation |
---|
| 179 | system can be reached. Used in a creation request. |
---|
| 180 | |
---|
| 181 | This type allows tools to encode experiments in familiar local |
---|
| 182 | names for experimenters while providing remote federation |
---|
| 183 | systems the information to map the local name into a service |
---|
| 184 | location. |
---|
[6679c122] | 185 | </xsd:documentation> |
---|
| 186 | </xsd:annotation> |
---|
| 187 | <xsd:sequence> |
---|
| 188 | <xsd:element name="testbed" type="tns:IDType"/> |
---|
| 189 | <xsd:element name="uri" type="xsd:string"/> |
---|
| 190 | </xsd:sequence> |
---|
| 191 | </xsd:complexType> |
---|
| 192 | |
---|
| 193 | |
---|
[6ff0b91] | 194 | <xsd:complexType name="projectType"> |
---|
| 195 | <xsd:annotation> |
---|
| 196 | <xsd:documentation> |
---|
[2dafa0c] | 197 | A description of the project used to access a testbed. Includes |
---|
| 198 | the testbed being accessed, the project name (often a local |
---|
| 199 | name, scoped by the testbed), and any users who have been |
---|
| 200 | granted access or for whom access is being requested. |
---|
[6ff0b91] | 201 | </xsd:documentation> |
---|
| 202 | </xsd:annotation> |
---|
| 203 | <xsd:sequence> |
---|
[6679c122] | 204 | <xsd:element name="testbed" type="tns:IDType" minOccurs="0" |
---|
| 205 | maxOccurs="1"/> |
---|
[ef36c1e] | 206 | <xsd:element name="name" type="tns:IDType" minOccurs="0" maxOccurs="1"/> |
---|
[6ff0b91] | 207 | <xsd:element name="user" type="tns:userType" minOccurs="0" |
---|
| 208 | maxOccurs="unbounded"/> |
---|
| 209 | </xsd:sequence> |
---|
| 210 | </xsd:complexType> |
---|
| 211 | |
---|
| 212 | <xsd:complexType name="emulabType"> |
---|
| 213 | <xsd:annotation> |
---|
| 214 | <xsd:documentation> |
---|
[2dafa0c] | 215 | A description of an Emulab sufficient for the federation system |
---|
| 216 | to create a sub experiment on it. Note that fedAttrs provide an |
---|
| 217 | extension mechanism by which testbeds may communicate additional |
---|
| 218 | information and preferences to federation systems that |
---|
| 219 | understand it. |
---|
[6ff0b91] | 220 | </xsd:documentation> |
---|
| 221 | </xsd:annotation> |
---|
| 222 | <xsd:sequence> |
---|
| 223 | <xsd:element name="project" type="tns:projectType"/> |
---|
| 224 | <xsd:element name="domain" type="xsd:string"/> |
---|
| 225 | <xsd:element name="boss" type="xsd:string"/> |
---|
| 226 | <xsd:element name="ops" type="xsd:string"/> |
---|
| 227 | <xsd:element name="fileServer" type="xsd:string"/> |
---|
| 228 | <xsd:element name="eventServer" type="xsd:string"/> |
---|
| 229 | <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0" |
---|
| 230 | maxOccurs="unbounded"/> |
---|
| 231 | </xsd:sequence> |
---|
| 232 | </xsd:complexType> |
---|
[7da9da6] | 233 | |
---|
[e40c7ee] | 234 | <xsd:complexType name="federatedExperimentType"> |
---|
| 235 | <xsd:annotation> |
---|
| 236 | <xsd:documentation> |
---|
[2dafa0c] | 237 | Naming and Emulab instantiation information about a federant. |
---|
| 238 | This is returned by various informational requests and as part |
---|
| 239 | of a successful creation message. |
---|
[e40c7ee] | 240 | </xsd:documentation> |
---|
| 241 | </xsd:annotation> |
---|
| 242 | <xsd:sequence> |
---|
| 243 | <xsd:element name="name" type="tns:IDType" minOccurs="1" |
---|
| 244 | maxOccurs="unbounded"/> |
---|
[46bc576] | 245 | <xsd:element name="emulab" type="tns:emulabType" minOccurs="0" |
---|
| 246 | maxOccurs="1"/> |
---|
[e40c7ee] | 247 | <xsd:element name="master" type="xsd:boolean"/> |
---|
| 248 | </xsd:sequence> |
---|
| 249 | </xsd:complexType> |
---|
| 250 | |
---|
| 251 | |
---|
[b234bb9] | 252 | <xsd:complexType name="vtoponodeType"> |
---|
| 253 | <xsd:annotation> |
---|
| 254 | <xsd:documentation> |
---|
[2dafa0c] | 255 | Node in the virtual topology of a federated experiment (Emulab |
---|
| 256 | legacy). The fields are the local hostname and the IP addresses |
---|
| 257 | of the experimental interfaces(colon-separated). |
---|
[b234bb9] | 258 | </xsd:documentation> |
---|
| 259 | </xsd:annotation> |
---|
| 260 | <xsd:sequence> |
---|
| 261 | <xsd:element name="vname" type="xsd:string"/> |
---|
| 262 | <xsd:element name="ips" type="xsd:string"/> |
---|
| 263 | </xsd:sequence> |
---|
| 264 | </xsd:complexType> |
---|
| 265 | |
---|
| 266 | <xsd:complexType name="vtopolanType"> |
---|
| 267 | <xsd:annotation> |
---|
| 268 | <xsd:documentation> |
---|
[2dafa0c] | 269 | LAN in the virtual topology of a federated experiment (Emulab legacy). |
---|
| 270 | The fields are the name of the LAN/link (vname) the node that |
---|
| 271 | this description applies to (vnode), the IP of the connection, |
---|
| 272 | and performance information. |
---|
[b234bb9] | 273 | </xsd:documentation> |
---|
| 274 | </xsd:annotation> |
---|
| 275 | <xsd:sequence> |
---|
| 276 | <xsd:element name="vname" type="xsd:string"/> |
---|
| 277 | <xsd:element name="vnode" type="xsd:string"/> |
---|
| 278 | <xsd:element name="ip" type="xsd:string"/> |
---|
| 279 | <xsd:element name="bandwidth" type="xsd:int"/> |
---|
| 280 | <xsd:element name="delay" type="xsd:float"/> |
---|
| 281 | <xsd:element name="member" type="xsd:string"/> |
---|
| 282 | </xsd:sequence> |
---|
| 283 | </xsd:complexType> |
---|
| 284 | |
---|
| 285 | <xsd:complexType name="vtopoType"> |
---|
| 286 | <xsd:annotation> |
---|
| 287 | <xsd:documentation> |
---|
[2dafa0c] | 288 | The virtual topology of a federated experiment (Emulab legacy). |
---|
[b234bb9] | 289 | </xsd:documentation> |
---|
| 290 | </xsd:annotation> |
---|
| 291 | <xsd:sequence> |
---|
[bcbf543] | 292 | <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0" |
---|
| 293 | maxOccurs="unbounded" /> |
---|
| 294 | <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0" |
---|
| 295 | maxOccurs="unbounded"/> |
---|
[b234bb9] | 296 | </xsd:sequence> |
---|
| 297 | </xsd:complexType> |
---|
| 298 | |
---|
| 299 | <xsd:complexType name="visnodeType"> |
---|
| 300 | <xsd:annotation> |
---|
| 301 | <xsd:documentation> |
---|
[2dafa0c] | 302 | Node in the visualization of a federated experiment (Emulab |
---|
| 303 | legacy). Fields include the local hostname of the node, x,y |
---|
| 304 | coordinates in a 2-dimensional representation, and whether the |
---|
| 305 | node in the visualization is a host or a LAN. |
---|
[b234bb9] | 306 | </xsd:documentation> |
---|
| 307 | </xsd:annotation> |
---|
| 308 | <xsd:sequence> |
---|
| 309 | <xsd:element name="name" type="xsd:string"/> |
---|
| 310 | <xsd:element name="x" type="xsd:int"/> |
---|
| 311 | <xsd:element name="y" type="xsd:int"/> |
---|
| 312 | <xsd:element name="type" type="xsd:string"/> |
---|
| 313 | </xsd:sequence> |
---|
| 314 | </xsd:complexType> |
---|
| 315 | |
---|
| 316 | <xsd:complexType name="visType"> |
---|
| 317 | <xsd:annotation> |
---|
| 318 | <xsd:documentation> |
---|
[2dafa0c] | 319 | The visualization of a federated experiment (Emulab legacy) |
---|
[b234bb9] | 320 | </xsd:documentation> |
---|
| 321 | </xsd:annotation> |
---|
| 322 | <xsd:sequence> |
---|
| 323 | <xsd:element name="node" type="tns:visnodeType" minOccurs="0" |
---|
| 324 | maxOccurs="unbounded"/> |
---|
| 325 | </xsd:sequence> |
---|
| 326 | </xsd:complexType> |
---|
| 327 | |
---|
[7da9da6] | 328 | <xsd:complexType name="projectAllocType"> |
---|
| 329 | <xsd:annotation> |
---|
| 330 | <xsd:documentation> |
---|
[2dafa0c] | 331 | The information needed to create a dynamic project, specifically |
---|
| 332 | a project description and the resources in needs access to. |
---|
| 333 | This is used by an internal fedd interface. |
---|
[7da9da6] | 334 | </xsd:documentation> |
---|
| 335 | </xsd:annotation> |
---|
| 336 | <xsd:sequence> |
---|
| 337 | <xsd:element name="project" type="tns:projectType"/> |
---|
| 338 | <xsd:element name="resources" type="tns:resourcesType" |
---|
| 339 | minOccurs="0" maxOccurs="1"/> |
---|
| 340 | </xsd:sequence> |
---|
| 341 | </xsd:complexType> |
---|
[ef36c1e] | 342 | |
---|
[3925b50] | 343 | <xsd:complexType name="experimentDescriptionType"> |
---|
| 344 | <xsd:annotation> |
---|
| 345 | <xsd:documentation> |
---|
[2dafa0c] | 346 | The description of the federated experiment, in extended ns2. |
---|
[3925b50] | 347 | </xsd:documentation> |
---|
| 348 | </xsd:annotation> |
---|
| 349 | <xsd:choice> |
---|
| 350 | <xsd:element name="ns2description" type="xsd:base64Binary"/> |
---|
[eec716b] | 351 | <xsd:element name="topdldescription" type="topdl:topologyType"/> |
---|
[3925b50] | 352 | </xsd:choice> |
---|
| 353 | </xsd:complexType> |
---|
| 354 | |
---|
[a3ad8bd] | 355 | <xsd:complexType name="newRequestType"> |
---|
| 356 | <xsd:annotation> |
---|
| 357 | <xsd:documentation> |
---|
| 358 | Request for an experiment to which credentials can be delegated and |
---|
| 359 | resources attached. A local name may be included as a human readable |
---|
| 360 | accessor, local to this experiment controller. It is a suggestion and |
---|
| 361 | may be modified. experimentID can only be a local name. |
---|
| 362 | |
---|
| 363 | Credentials are seed credentials to begin the proof. |
---|
| 364 | </xsd:documentation> |
---|
| 365 | </xsd:annotation> |
---|
| 366 | <xsd:sequence> |
---|
| 367 | <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" |
---|
| 368 | maxOccurs="1"/> |
---|
| 369 | <xsd:element name="credential" type="xsd:base64Binary" minOccurs="0" |
---|
| 370 | maxOccurs="unbounded"/> |
---|
| 371 | </xsd:sequence> |
---|
| 372 | </xsd:complexType> |
---|
| 373 | |
---|
| 374 | <xsd:complexType name="newResponseType"> |
---|
| 375 | <xsd:annotation> |
---|
| 376 | <xsd:documentation> |
---|
| 377 | Result of a new experiment creation. A successful sreation will have |
---|
| 378 | an experimentState of "empty", 2 experimentIDs, one a fedid and one a |
---|
| 379 | local name, and an experimentAccess that allows the creator to act as |
---|
| 380 | the experiment. |
---|
| 381 | </xsd:documentation> |
---|
| 382 | </xsd:annotation> |
---|
| 383 | <xsd:sequence> |
---|
| 384 | <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" |
---|
| 385 | maxOccurs="unbounded"/> |
---|
| 386 | <xsd:element name="experimentStatus" type="tns:statusType"/> |
---|
| 387 | <xsd:element name="experimentAccess" type="tns:accessType"/> |
---|
| 388 | </xsd:sequence> |
---|
| 389 | </xsd:complexType> |
---|
| 390 | |
---|
[6ff0b91] | 391 | <xsd:complexType name="requestType"> |
---|
| 392 | <xsd:annotation> |
---|
| 393 | <xsd:documentation> |
---|
[2dafa0c] | 394 | Request for access to a testbed. It includes the testbed from |
---|
| 395 | which resources are being requested (a single service may |
---|
| 396 | provide access to many), the user or project requesting access |
---|
| 397 | (a testbed making the request will leave both empty), the |
---|
| 398 | resources needed, the access keys to be used in the subsequent |
---|
| 399 | instantiation and service use, an allocation ID to identify this |
---|
| 400 | access in later requests, and scheduling information. |
---|
[6ff0b91] | 401 | </xsd:documentation> |
---|
| 402 | </xsd:annotation> |
---|
| 403 | <xsd:sequence> |
---|
| 404 | <xsd:element name="destinationTestbed" type="tns:IDType" |
---|
| 405 | minOccurs="0" maxOccurs="1" /> |
---|
| 406 | <xsd:choice> |
---|
| 407 | <xsd:element name="project" type="tns:projectType" minOccurs="0" |
---|
| 408 | maxOccurs="1"/> |
---|
| 409 | <xsd:element name="user" type="tns:userType" minOccurs="0" |
---|
| 410 | maxOccurs="unbounded"/> |
---|
| 411 | </xsd:choice> |
---|
| 412 | <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" |
---|
| 413 | maxOccurs="1"/> |
---|
[abb87eb] | 414 | <xsd:element name="createAccess" type="tns:accessType" minOccurs="1" |
---|
| 415 | maxOccurs="unbounded"/> |
---|
| 416 | <xsd:element name="serviceAccess" type="tns:accessType" minOccurs="1" |
---|
[6ff0b91] | 417 | maxOccurs="unbounded"/> |
---|
[5576a47] | 418 | <xsd:element name="exportProject" type="tns:IDType" |
---|
| 419 | minOccurs="0" maxOccurs="1"/> |
---|
[6ff0b91] | 420 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 421 | <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/> |
---|
| 422 | <xsd:element name="until" type="xsd:dateTime" minOccurs="0" |
---|
| 423 | maxOccurs="1"/> |
---|
| 424 | </xsd:sequence> |
---|
| 425 | </xsd:complexType> |
---|
| 426 | |
---|
| 427 | <xsd:complexType name="responseType"> |
---|
| 428 | <xsd:annotation> |
---|
| 429 | <xsd:documentation> |
---|
[2dafa0c] | 430 | Response to an access request. Includes the allocation, the |
---|
| 431 | information needed to access creation and experiment services |
---|
| 432 | and scheduling information. |
---|
[6ff0b91] | 433 | </xsd:documentation> |
---|
| 434 | </xsd:annotation> |
---|
| 435 | <xsd:sequence> |
---|
| 436 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
[53dfd4b] | 437 | <xsd:element name="emulab" type="tns:emulabType" minOccurs="0" maxOccurs="1"/> |
---|
[6ff0b91] | 438 | <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/> |
---|
| 439 | <xsd:element name="until" type="xsd:dateTime" minOccurs="0" |
---|
| 440 | maxOccurs="1"/> |
---|
| 441 | </xsd:sequence> |
---|
| 442 | </xsd:complexType> |
---|
| 443 | |
---|
[d81971a] | 444 | <xsd:complexType name="releaseRequestType"> |
---|
| 445 | <xsd:annotation> |
---|
| 446 | <xsd:documentation> |
---|
| 447 | A request to release the access rights allocated by an earlier |
---|
| 448 | RequestAccess call. |
---|
| 449 | </xsd:documentation> |
---|
| 450 | </xsd:annotation> |
---|
| 451 | <xsd:sequence> |
---|
| 452 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 453 | </xsd:sequence> |
---|
| 454 | </xsd:complexType> |
---|
| 455 | |
---|
| 456 | <xsd:complexType name="releaseResponseType"> |
---|
| 457 | <xsd:annotation> |
---|
| 458 | <xsd:documentation> |
---|
| 459 | Indication that the access has been terminated. |
---|
| 460 | </xsd:documentation> |
---|
| 461 | </xsd:annotation> |
---|
| 462 | <xsd:sequence> |
---|
| 463 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 464 | </xsd:sequence> |
---|
| 465 | </xsd:complexType> |
---|
| 466 | |
---|
[6679c122] | 467 | <xsd:complexType name="createRequestType"> |
---|
| 468 | <xsd:annotation> |
---|
| 469 | <xsd:documentation> |
---|
[2dafa0c] | 470 | A request to embed a federated experiment across testbeds. Non- |
---|
| 471 | standard local names for testbeds are included in the |
---|
| 472 | testbedmap, the user making the request, the experiment |
---|
| 473 | description, master testbed, and a suggested experiment name are |
---|
| 474 | included. More than one name can be suggested, either as |
---|
| 475 | synonyms (a fedid and a localname) or as choices (multiple |
---|
| 476 | localnames). |
---|
[6679c122] | 477 | </xsd:documentation> |
---|
| 478 | </xsd:annotation> |
---|
| 479 | <xsd:sequence> |
---|
| 480 | <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0" |
---|
| 481 | maxOccurs="unbounded"/> |
---|
| 482 | <xsd:element name="user" type="tns:userType" minOccurs="1" |
---|
| 483 | maxOccurs="unbounded"/> |
---|
[3925b50] | 484 | <xsd:element name="experimentdescription" |
---|
| 485 | type="tns:experimentDescriptionType"/> |
---|
[3441fe3] | 486 | <xsd:element name="master" type="xsd:string"/> |
---|
[5576a47] | 487 | <xsd:element name='exportProject' type="tns:IDType"/> |
---|
[e40c7ee] | 488 | <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" |
---|
| 489 | maxOccurs="1"/> |
---|
[6679c122] | 490 | </xsd:sequence> |
---|
| 491 | </xsd:complexType> |
---|
| 492 | |
---|
| 493 | <xsd:complexType name="createResponseType"> |
---|
| 494 | <xsd:annotation> |
---|
| 495 | <xsd:documentation> |
---|
[bd3e314] | 496 | Returned to let the caller know that the request is underway and what |
---|
| 497 | credentials will eventauly be able to be used to access them. |
---|
[6679c122] | 498 | </xsd:documentation> |
---|
| 499 | </xsd:annotation> |
---|
| 500 | <xsd:sequence> |
---|
[e40c7ee] | 501 | <xsd:element name="experimentID" type="tns:IDType" minOccurs="1" |
---|
| 502 | maxOccurs="unbounded"/> |
---|
[bd3e314] | 503 | <xsd:element name="experimentStatus" type="tns:statusType"/> |
---|
[4fc2250] | 504 | <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0" |
---|
| 505 | maxOccurs="1"/> |
---|
[6679c122] | 506 | </xsd:sequence> |
---|
| 507 | </xsd:complexType> |
---|
| 508 | |
---|
[987aaa1] | 509 | <xsd:complexType name="vtopoRequestType"> |
---|
| 510 | <xsd:annotation> |
---|
| 511 | <xsd:documentation> |
---|
[2dafa0c] | 512 | Request for an existing experiment's virtual topology. |
---|
| 513 | Different information may be returned based on the user's rights |
---|
| 514 | to see the topology. |
---|
[987aaa1] | 515 | </xsd:documentation> |
---|
| 516 | </xsd:annotation> |
---|
| 517 | <xsd:sequence> |
---|
| 518 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
| 519 | </xsd:sequence> |
---|
| 520 | </xsd:complexType> |
---|
| 521 | |
---|
| 522 | <xsd:complexType name="vtopoResponseType"> |
---|
| 523 | <xsd:annotation> |
---|
| 524 | <xsd:documentation> |
---|
[2dafa0c] | 525 | The response to a topology request. Different information may |
---|
| 526 | be returned based on the user's rights to see the topology. |
---|
[987aaa1] | 527 | </xsd:documentation> |
---|
| 528 | </xsd:annotation> |
---|
| 529 | <xsd:sequence> |
---|
| 530 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
| 531 | <xsd:element name="vtopo" type="tns:vtopoType"/> |
---|
| 532 | </xsd:sequence> |
---|
| 533 | </xsd:complexType> |
---|
| 534 | |
---|
| 535 | |
---|
| 536 | <xsd:complexType name="visRequestType"> |
---|
| 537 | <xsd:annotation> |
---|
| 538 | <xsd:documentation> |
---|
[2dafa0c] | 539 | Request for an existing experiment's visualization. This is |
---|
| 540 | largely a compatibility service. Different information may be |
---|
| 541 | returned based on the user's rights to see the topology. |
---|
[987aaa1] | 542 | </xsd:documentation> |
---|
| 543 | </xsd:annotation> |
---|
| 544 | <xsd:sequence> |
---|
| 545 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
| 546 | </xsd:sequence> |
---|
| 547 | </xsd:complexType> |
---|
| 548 | |
---|
| 549 | <xsd:complexType name="visResponseType"> |
---|
| 550 | <xsd:annotation> |
---|
| 551 | <xsd:documentation> |
---|
[2dafa0c] | 552 | An existing experiment's visualization. This is largely a |
---|
| 553 | compatibility service. Different information may be returned |
---|
| 554 | based on the user's rights to see the topology. |
---|
[987aaa1] | 555 | </xsd:documentation> |
---|
| 556 | </xsd:annotation> |
---|
| 557 | <xsd:sequence> |
---|
| 558 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
| 559 | <xsd:element name="vis" type="tns:visType"/> |
---|
| 560 | </xsd:sequence> |
---|
| 561 | </xsd:complexType> |
---|
| 562 | |
---|
[c52c48d] | 563 | <xsd:complexType name="infoRequestType"> |
---|
| 564 | <xsd:annotation> |
---|
| 565 | <xsd:documentation> |
---|
[2dafa0c] | 566 | A combined topology, visualalization, and federant request. |
---|
| 567 | Different information may be returned based on the user's rights |
---|
[bd3e314] | 568 | to see the topology. |
---|
| 569 | </xsd:documentation> |
---|
[c52c48d] | 570 | </xsd:annotation> |
---|
| 571 | <xsd:sequence> |
---|
| 572 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
| 573 | </xsd:sequence> |
---|
| 574 | </xsd:complexType> |
---|
| 575 | |
---|
| 576 | <xsd:complexType name="infoResponseType"> |
---|
| 577 | <xsd:annotation> |
---|
| 578 | <xsd:documentation> |
---|
[bd3e314] | 579 | Information on an instantiated experiment. Different information may |
---|
| 580 | be returned based on the user's rights to see the topology. Includes |
---|
| 581 | the information about federants hosting sub-experiments for service |
---|
| 582 | access as well as virtual topology and visualization information. All |
---|
| 583 | that information is relative to the requester. ExperimentAccess |
---|
| 584 | includes credentials with which one can access the experiment. These |
---|
| 585 | may include a public key necessary to prove possession of the |
---|
| 586 | credential and should be treated with care. |
---|
[c52c48d] | 587 | </xsd:documentation> |
---|
| 588 | </xsd:annotation> |
---|
| 589 | <xsd:sequence> |
---|
| 590 | <xsd:element name="federant" type="tns:federatedExperimentType" |
---|
[bd3e314] | 591 | minOccurs="0" maxOccurs="unbounded"/> |
---|
[c52c48d] | 592 | <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0" |
---|
| 593 | maxOccurs="1"/> |
---|
| 594 | <xsd:element name="vis" type="tns:visType" minOccurs="0" |
---|
| 595 | maxOccurs="1"/> |
---|
| 596 | <xsd:element name="experimentID" type="tns:IDType" minOccurs="1" |
---|
| 597 | maxOccurs="unbounded"/> |
---|
[bd3e314] | 598 | <xsd:element name="allocationLog" type="xsd:string" minOccurs="0" |
---|
| 599 | maxOccurs="1"/> |
---|
| 600 | <xsd:element name="experimentStatus" type="tns:statusType"/> |
---|
| 601 | <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0" |
---|
| 602 | maxOccurs="1"/> |
---|
[c52c48d] | 603 | </xsd:sequence> |
---|
| 604 | </xsd:complexType> |
---|
| 605 | |
---|
[65f3f29] | 606 | |
---|
| 607 | <xsd:complexType name="multiInfoRequestType"> |
---|
| 608 | <xsd:annotation> |
---|
| 609 | <xsd:documentation> |
---|
| 610 | Gets all information that this user can access on this fedd. |
---|
| 611 | </xsd:documentation> |
---|
| 612 | </xsd:annotation> |
---|
| 613 | <xsd:sequence> |
---|
| 614 | </xsd:sequence> |
---|
| 615 | </xsd:complexType> |
---|
| 616 | |
---|
| 617 | <xsd:complexType name="multiInfoResponseType"> |
---|
| 618 | <xsd:annotation> |
---|
| 619 | <xsd:documentation> |
---|
| 620 | Multi info response. A list of infoResponses |
---|
| 621 | </xsd:documentation> |
---|
| 622 | </xsd:annotation> |
---|
| 623 | <xsd:sequence> |
---|
| 624 | <xsd:element name="info" type="tns:infoResponseType" minOccurs="0" |
---|
| 625 | maxOccurs="unbounded"/> |
---|
| 626 | </xsd:sequence> |
---|
| 627 | </xsd:complexType> |
---|
| 628 | |
---|
[7a8d667] | 629 | <xsd:complexType name="terminateRequestType"> |
---|
| 630 | <xsd:annotation> |
---|
| 631 | <xsd:documentation> |
---|
[2dafa0c] | 632 | Request to terminate an experiment. |
---|
[7a8d667] | 633 | </xsd:documentation> |
---|
| 634 | </xsd:annotation> |
---|
| 635 | <xsd:sequence> |
---|
| 636 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
[ca489e8] | 637 | <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> |
---|
[7a8d667] | 638 | </xsd:sequence> |
---|
| 639 | </xsd:complexType> |
---|
| 640 | |
---|
| 641 | <xsd:complexType name="terminateResponseType"> |
---|
| 642 | <xsd:annotation> |
---|
| 643 | <xsd:documentation> |
---|
[2dafa0c] | 644 | Indication that the experiment has been terminated. |
---|
[7a8d667] | 645 | </xsd:documentation> |
---|
| 646 | </xsd:annotation> |
---|
| 647 | <xsd:sequence> |
---|
| 648 | <xsd:element name="experiment" type="tns:IDType"/> |
---|
[46e4682] | 649 | <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0" |
---|
| 650 | maxOccurs="1"/> |
---|
[7a8d667] | 651 | </xsd:sequence> |
---|
| 652 | </xsd:complexType> |
---|
| 653 | |
---|
[66861a2] | 654 | <xsd:complexType name="startSegmentRequestType"> |
---|
| 655 | <xsd:annotation> |
---|
| 656 | <xsd:documentation> |
---|
| 657 | Request a testbed to create a segment in the given allocation |
---|
| 658 | </xsd:documentation> |
---|
| 659 | </xsd:annotation> |
---|
| 660 | <xsd:sequence> |
---|
| 661 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 662 | <xsd:element name="segmentdescription" |
---|
| 663 | type="tns:experimentDescriptionType"/> |
---|
[f5ae004] | 664 | <xsd:element name="master" type="xsd:boolean"/> |
---|
[66861a2] | 665 | <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0" |
---|
| 666 | maxOccurs="unbounded"/> |
---|
| 667 | </xsd:sequence> |
---|
| 668 | </xsd:complexType> |
---|
| 669 | |
---|
| 670 | <xsd:complexType name="startSegmentResponseType"> |
---|
| 671 | <xsd:annotation> |
---|
| 672 | <xsd:documentation> |
---|
| 673 | Indication that the segment started successfully |
---|
| 674 | </xsd:documentation> |
---|
| 675 | </xsd:annotation> |
---|
| 676 | <xsd:sequence> |
---|
| 677 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 678 | <xsd:element name="allocationLog" type="xsd:string" minOccurs="0" |
---|
| 679 | maxOccurs="1"/> |
---|
[ae0f69a] | 680 | <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0" |
---|
| 681 | maxOccurs="unbounded"/> |
---|
[66861a2] | 682 | </xsd:sequence> |
---|
| 683 | </xsd:complexType> |
---|
| 684 | |
---|
[2b7d768] | 685 | <xsd:complexType name="terminateSegmentRequestType"> |
---|
| 686 | <xsd:annotation> |
---|
| 687 | <xsd:documentation> |
---|
| 688 | Request to terminate an experiment. |
---|
| 689 | </xsd:documentation> |
---|
| 690 | </xsd:annotation> |
---|
| 691 | <xsd:sequence> |
---|
| 692 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 693 | <xsd:element name="force" type="xsd:boolean" minOccurs="0" maxOccurs="1"/> |
---|
| 694 | </xsd:sequence> |
---|
| 695 | </xsd:complexType> |
---|
| 696 | |
---|
| 697 | <xsd:complexType name="terminateSegmentResponseType"> |
---|
| 698 | <xsd:annotation> |
---|
| 699 | <xsd:documentation> |
---|
| 700 | Indication that the experiment has been terminated. |
---|
| 701 | </xsd:documentation> |
---|
| 702 | </xsd:annotation> |
---|
| 703 | <xsd:sequence> |
---|
| 704 | <xsd:element name="allocID" type="tns:IDType"/> |
---|
| 705 | <xsd:element name="deallocationLog" type="xsd:string" minOccurs="0" |
---|
| 706 | maxOccurs="1"/> |
---|
| 707 | </xsd:sequence> |
---|
| 708 | </xsd:complexType> |
---|
| 709 | |
---|
[4700b3b] | 710 | <xsd:complexType name="ns2SplitRequestType"> |
---|
| 711 | <xsd:annotation> |
---|
| 712 | <xsd:documentation> |
---|
[2dafa0c] | 713 | Request to run the CEDL splitter remotely. This is primarily an |
---|
| 714 | internal interface. |
---|
[4700b3b] | 715 | </xsd:documentation> |
---|
| 716 | </xsd:annotation> |
---|
| 717 | <xsd:sequence> |
---|
| 718 | <xsd:element name="description" type="tns:experimentDescriptionType"/> |
---|
| 719 | <xsd:element name="master" type="xsd:string"/> |
---|
[f4cc4b7] | 720 | <xsd:element name="include_fedkit" type="xsd:boolean"/> |
---|
| 721 | <xsd:element name="include_gatewaykit" type="xsd:boolean"/> |
---|
[4700b3b] | 722 | </xsd:sequence> |
---|
| 723 | </xsd:complexType> |
---|
| 724 | |
---|
| 725 | <xsd:complexType name="ns2SplitResponseType"> |
---|
| 726 | <xsd:annotation> |
---|
| 727 | <xsd:documentation> |
---|
[2dafa0c] | 728 | Remote splitter output. Also an internal interface |
---|
[4700b3b] | 729 | </xsd:documentation> |
---|
| 730 | </xsd:annotation> |
---|
| 731 | <xsd:sequence> |
---|
| 732 | <xsd:element name="output" type="xsd:base64Binary"/> |
---|
[66861a2] | 733 | <xsd:element name="experimentdescription" |
---|
| 734 | type="tns:experimentDescriptionType"/> |
---|
[4700b3b] | 735 | </xsd:sequence> |
---|
| 736 | </xsd:complexType> |
---|
| 737 | |
---|
[7a8d667] | 738 | |
---|
[bb3769a] | 739 | <xsd:complexType name="faultType"> |
---|
[2dafa0c] | 740 | <xsd:annotation> |
---|
| 741 | <xsd:documentation> |
---|
| 742 | Indication that a service has failed. The code values are |
---|
| 743 | |
---|
| 744 | 1 access denied |
---|
| 745 | 2 proxy error |
---|
| 746 | 3 badly formed request |
---|
| 747 | 4 server configuration error |
---|
| 748 | 5 internal error |
---|
| 749 | 6 partial instantiation |
---|
| 750 | 7 federant error |
---|
| 751 | |
---|
| 752 | Errstr contains the text above corresponding to the code. Code |
---|
| 753 | is always present. Desc provides additional human-readable data |
---|
| 754 | about the error. |
---|
| 755 | </xsd:documentation> |
---|
| 756 | </xsd:annotation> |
---|
[bb3769a] | 757 | <xsd:sequence> |
---|
[0c0b13c] | 758 | <xsd:element name="code" type="xsd:int"> |
---|
| 759 | <xsd:restriction> |
---|
| 760 | <xsd:enumeration value="1"/> <!-- access denied --> |
---|
[058f58e] | 761 | <xsd:enumeration value="2"/> <!-- protocol error --> |
---|
[0c0b13c] | 762 | <xsd:enumeration value="3"/> <!-- badly formed request --> |
---|
[3441fe3] | 763 | <xsd:enumeration value="4"/> <!-- server configuration error --> |
---|
| 764 | <xsd:enumeration value="5"/> <!-- internal error --> |
---|
| 765 | <xsd:enumeration value="6"/> <!-- partial instantiation --> |
---|
| 766 | <xsd:enumeration value="7"/> <!-- federant error --> |
---|
[9d3e646] | 767 | <xsd:enumeration value="8"/> <!-- connect error --> |
---|
[0c0b13c] | 768 | </xsd:restriction> |
---|
| 769 | </xsd:element> |
---|
| 770 | <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string"> |
---|
| 771 | </xsd:element> |
---|
[bb3769a] | 772 | <xsd:element name="desc" type="xsd:string"/> |
---|
| 773 | </xsd:sequence> |
---|
| 774 | </xsd:complexType> |
---|
[6ff0b91] | 775 | </xsd:schema> |
---|