blob: 20bfe18d50399fc83f3e613536cd35231ec73dcd [file] [log] [blame]
<application jxb:version="2.1" xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rest="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:server="http://ns.taverna.org.uk/2010/xml/server/" xmlns:port="http://ns.taverna.org.uk/2010/port/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd ">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<grammars>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified"
elementFormDefault="unqualified" targetNamespace="http://www.w3.org/1999/xlink"
jxb:version="2.1">
<xs:attribute name="href" type="xs:string" />
</xs:schema>
<xs:schema
xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/"
xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/"
xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:tns="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/"
xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/xml/server/rest/"
jxb:version="2.1">
<xs:annotation>
<xs:appinfo>
<jxb:schemaBindings>
<jxb:package name="org.apache.taverna.server.client.rest" />
</jxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://ns.taverna.org.uk/2010/xml/server/" />
<xs:import namespace="http://www.w3.org/1999/xlink" />
<xs:element name="capabilities">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capability" type="ts:Capability" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="credential" type="ts-rest:Credential" />
<xs:element name="credentials" type="ts-rest:credentialList" />
<xs:element name="directoryContents" type="ts-rest:DirectoryContents" />
<xs:element name="enabledNotificationFabrics">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="notifier" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="filesystemOperation" type="ts-rest:FilesystemCreationOperation" />
<xs:element name="listenerDefinition" type="ts-rest:ListenerDefinition" />
<xs:element name="listenerDescription" type="ts-rest:ListenerDescription" />
<xs:element name="listeners">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="listener" type="ts-rest:ListenerDescription" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="mkdir" type="ts-rest:MakeDirectory" />
<xs:element name="permissionUpdate" type="ts-rest:permissionDescription" />
<xs:element name="permissionsDescriptor" type="ts-rest:permissionsDescription" />
<xs:element name="permittedListeners">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="permittedWorkflows">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="workflow" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="policyDescription">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="runLimit" type="ts:Location" />
<xs:element minOccurs="0" name="operatingLimit" type="ts:Location" />
<xs:element minOccurs="0" name="permittedWorkflows" type="ts:Location" />
<xs:element minOccurs="0" name="permittedListenerTypes" type="ts:Location" />
<xs:element minOccurs="0" name="enabledNotificationFabrics" type="ts:Location" />
<xs:element minOccurs="0" name="capabilities" type="ts:Location" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="properties">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="ts-rest:PropertyDescription" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="runDescription">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="expiry">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xlink:href" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="creationWorkflow" type="ts:Location" />
<xs:element minOccurs="0" name="createTime" type="ts:Location" />
<xs:element minOccurs="0" name="startTime" type="ts:Location" />
<xs:element minOccurs="0" name="finishTime" type="ts:Location" />
<xs:element minOccurs="0" name="status" type="ts:Location" />
<xs:element minOccurs="0" name="workingDirectory" type="ts:Location" />
<xs:element minOccurs="0" name="inputs" type="ts:Location" />
<xs:element minOccurs="0" name="output" type="ts:Location" />
<xs:element minOccurs="0" name="securityContext" type="ts:Location" />
<xs:element minOccurs="0" name="listeners">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:Location">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="listener" nillable="true" type="ts:Location" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="interaction" type="ts:Location" />
<xs:element minOccurs="0" name="name" type="ts:Location" />
<xs:element minOccurs="0" name="stdout" type="ts:Location" />
<xs:element minOccurs="0" name="stderr" type="ts:Location" />
<xs:element minOccurs="0" name="usage" type="ts:Location" />
<xs:element minOccurs="0" name="log" type="ts:Location" />
<xs:element minOccurs="0" name="run-bundle" type="ts:Location" />
<xs:element minOccurs="0" name="generate-provenance" type="ts:Location" />
</xs:sequence>
<xs:attribute ref="ts-rest:owner" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="runInput" type="ts-rest:InputDescription" />
<xs:element name="runInputs" type="ts-rest:TavernaRunInputs" />
<xs:element name="runList">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="run" type="ts:TavernaRun" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="securityDescriptor" type="ts-rest:SecurityDescriptor" />
<xs:element name="serverDescription">
<xs:complexType>
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="runs" type="ts:Location" />
<xs:element minOccurs="0" name="policy" type="ts:Location" />
<xs:element minOccurs="0" name="feed" type="ts:Location" />
<xs:element minOccurs="0" name="interactionFeed" type="ts:Location" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="trustedIdentities" type="ts-rest:trustList" />
<xs:element name="upload" type="ts-rest:UploadFile" />
<xs:element name="userPermission" type="ts-rest:linkedPermissionDescription" />
<xs:complexType name="InputDescription">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="file">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ts-rest:InputContents" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="reference">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ts-rest:InputContents" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="value">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="ts-rest:InputContents" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:sequence>
<xs:attribute ref="ts-rest:name" />
<xs:attribute ref="ts-rest:descriptorRef" />
<xs:attribute ref="ts-rest:listDelimiter" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="InputContents">
<xs:restriction base="xs:string" />
</xs:simpleType>
<xs:complexType name="ListenerDescription">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="configuration" type="ts:Location" />
<xs:element minOccurs="0" name="properties">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="ts-rest:PropertyDescription" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute ref="xlink:href" />
<xs:attribute ref="ts-rest:name" />
<xs:attribute ref="ts-rest:type" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PropertyDescription">
<xs:complexContent>
<xs:extension base="ts:Location">
<xs:sequence />
<xs:attribute ref="ts-rest:name" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TavernaRunInputs">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="expected" type="ts:Location" />
<xs:element minOccurs="0" name="baclava" type="ts:Location" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="input" nillable="true" type="ts:Location" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType final="extension restriction" name="Credential">
<xs:choice>
<xs:element ref="ts:keypair" />
<xs:element ref="ts:userpass" />
</xs:choice>
</xs:complexType>
<xs:complexType name="DirectoryContents">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="ts:dir" />
<xs:element ref="ts:file" />
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilesystemCreationOperation">
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute ref="ts-rest:name" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="MakeDirectory">
<xs:simpleContent>
<xs:extension base="ts-rest:FilesystemCreationOperation" />
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="UploadFile">
<xs:simpleContent>
<xs:extension base="ts-rest:FilesystemCreationOperation" />
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="permissionsDescription">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="permission" type="ts-rest:linkedPermissionDescription" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="linkedPermissionDescription">
<xs:complexContent>
<xs:extension base="ts:Location">
<xs:sequence>
<xs:element minOccurs="0" name="userName" type="xs:string" />
<xs:element minOccurs="0" name="permission" type="ts:Permission" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType final="extension restriction" name="trustList">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="trust" type="ts:TrustDescriptor" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="permissionDescription">
<xs:sequence>
<xs:element minOccurs="0" name="userName" type="xs:string" />
<xs:element minOccurs="0" name="permission" type="ts:Permission" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="extension restriction" name="SecurityDescriptor">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element minOccurs="0" name="owner" type="xs:string" />
<xs:element minOccurs="0" name="permissions" type="ts:Location" />
<xs:element minOccurs="0" name="credentials" type="ts-rest:CredentialCollection" />
<xs:element minOccurs="0" name="trusts" type="ts-rest:TrustCollection" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType final="extension restriction" name="CredentialCollection">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ts-rest:credential" />
</xs:sequence>
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:complexType final="extension restriction" name="TrustCollection">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="trust" type="ts:TrustDescriptor" />
</xs:sequence>
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:complexType final="extension restriction" name="credentialList">
<xs:complexContent>
<xs:extension base="ts:VersionedElement">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ts-rest:credential" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ListenerDefinition">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="ts-rest:type" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:attribute name="descriptorRef" type="xs:anyURI" />
<xs:attribute name="listDelimiter" type="xs:string" />
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="owner" type="xs:string" />
<xs:attribute name="type" type="xs:string" />
</xs:schema>
<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:port="http://ns.taverna.org.uk/2010/port/"
xmlns:run="http://ns.taverna.org.uk/2010/run/" xmlns:tns="http://ns.taverna.org.uk/2010/port/"
xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/port/"
jxb:version="2.1">
<xs:annotation>
<xs:appinfo>
<jxb:schemaBindings>
<jxb:package name="org.apache.taverna.server.client.port" />
</jxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.w3.org/1999/xlink" />
<xs:element name="inputDescription" type="port:inputDescription" />
<xs:element name="workflowOutputs" type="port:outputDescription" />
<xs:complexType name="outputDescription">
<xs:complexContent>
<xs:extension base="port:PortDescription">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="output" type="port:OutputPort" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="PortDescription">
<xs:sequence />
<xs:attribute ref="port:workflowId" />
<xs:attribute ref="port:workflowRun" />
<xs:attribute ref="port:workflowRunId" />
</xs:complexType>
<xs:complexType name="OutputPort">
<xs:complexContent>
<xs:extension base="port:Port">
<xs:choice>
<xs:element name="value" type="port:LeafValue" />
<xs:element name="list" type="port:ListValue" />
<xs:element name="error" type="port:ErrorValue" />
<xs:element name="absent" type="port:AbsentValue" />
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Port">
<xs:sequence />
<xs:attribute ref="port:name" use="required" />
<xs:attribute ref="port:depth" />
</xs:complexType>
<xs:complexType name="LeafValue">
<xs:complexContent>
<xs:extension base="port:Value">
<xs:sequence />
<xs:attribute ref="port:contentFile" />
<xs:attribute ref="port:contentType" />
<xs:attribute ref="port:contentByteLength" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="Value">
<xs:sequence />
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:complexType name="ErrorValue">
<xs:complexContent>
<xs:extension base="port:Value">
<xs:sequence />
<xs:attribute ref="port:depth" />
<xs:attribute ref="port:errorFile" />
<xs:attribute ref="port:errorByteLength" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ListValue">
<xs:complexContent>
<xs:extension base="port:Value">
<xs:sequence>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element name="value" type="port:LeafValue" />
<xs:element name="list" type="port:ListValue" />
<xs:element name="error" type="port:ErrorValue" />
<xs:element name="absent" type="port:AbsentValue" />
</xs:choice>
</xs:sequence>
<xs:attribute ref="port:length" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AbsentValue">
<xs:complexContent>
<xs:extension base="port:Value">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="inputDescription">
<xs:complexContent>
<xs:extension base="port:PortDescription">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="input" type="port:InputPort" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="InputPort">
<xs:complexContent>
<xs:extension base="port:Port">
<xs:sequence />
<xs:attribute ref="xlink:href" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="contentByteLength" type="xs:long" />
<xs:attribute name="contentFile" type="xs:string" />
<xs:attribute name="contentType" type="xs:string" />
<xs:attribute name="depth" type="xs:int" />
<xs:attribute name="errorByteLength" type="xs:long" />
<xs:attribute name="errorFile" type="xs:string" />
<xs:attribute name="length" type="xs:int" />
<xs:attribute name="name" type="xs:ID" />
<xs:attribute name="workflowId" type="xs:string" />
<xs:attribute name="workflowRun" type="xs:anyURI" />
<xs:attribute name="workflowRunId" type="xs:string" />
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/"
xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:tns="http://ns.taverna.org.uk/2010/xml/server/"
xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/"
xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/xml/server/"
jxb:version="2.1">
<xs:annotation>
<xs:appinfo>
<jxb:schemaBindings>
<jxb:package name="org.apache.taverna.server.client.generic" />
</jxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://www.w3.org/1999/xlink" />
<xs:element name="capability" type="ts:Capability" />
<xs:element name="dir" type="ts:DirectoryReference" />
<xs:element name="file" type="ts:FileReference" />
<xs:element name="keypair" type="ts:KeyPairCredential" />
<xs:element name="runReference" type="ts:TavernaRun" />
<xs:element name="trustedIdentity" type="ts:TrustDescriptor" />
<xs:element name="userpass" type="ts:PasswordCredential" />
<xs:element name="workflow" type="ts:Workflow" />
<xs:complexType abstract="true" name="VersionedElement">
<xs:sequence />
<xs:attribute ref="ts:serverVersion" />
<xs:attribute ref="ts:serverRevision" />
<xs:attribute ref="ts:serverBuildTimestamp" />
</xs:complexType>
<xs:complexType name="Location">
<xs:sequence />
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:complexType name="Capability">
<xs:sequence />
<xs:attribute ref="ts:capability" />
<xs:attribute ref="ts:version" />
</xs:complexType>
<xs:complexType name="KeyPairCredential">
<xs:complexContent>
<xs:extension base="ts:CredentialDescriptor">
<xs:sequence>
<xs:element name="credentialName" type="xs:string" />
<xs:element minOccurs="0" name="credentialFile" type="xs:string" />
<xs:element minOccurs="0" name="fileType" type="xs:string" />
<xs:element minOccurs="0" name="unlockPassword" type="xs:string" />
<xs:element minOccurs="0" name="credentialBytes" type="xs:base64Binary" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType abstract="true" name="CredentialDescriptor">
<xs:sequence>
<xs:element minOccurs="0" name="serviceURI" type="xs:anyURI" />
</xs:sequence>
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:complexType name="PasswordCredential">
<xs:complexContent>
<xs:extension base="ts:CredentialDescriptor">
<xs:sequence>
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TavernaRun">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xlink:href" />
<xs:attribute ref="ts:serverVersion" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DirectoryEntry">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xlink:href" />
<xs:attribute ref="ts:name" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DirectoryReference">
<xs:simpleContent>
<xs:extension base="ts:DirectoryEntry" />
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="FileReference">
<xs:simpleContent>
<xs:extension base="ts:DirectoryEntry" />
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Workflow">
<xs:sequence>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax" />
</xs:sequence>
</xs:complexType>
<xs:complexType final="extension restriction" name="TrustDescriptor">
<xs:sequence>
<xs:element minOccurs="0" name="certificateFile" type="xs:string" />
<xs:element minOccurs="0" name="fileType" type="xs:string" />
<xs:element minOccurs="0" name="certificateBytes" type="xs:base64Binary" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="serverName" type="xs:string" />
</xs:sequence>
<xs:attribute ref="xlink:href" />
</xs:complexType>
<xs:simpleType name="Permission">
<xs:restriction base="xs:string">
<xs:enumeration value="none" />
<xs:enumeration value="read" />
<xs:enumeration value="update" />
<xs:enumeration value="destroy" />
</xs:restriction>
</xs:simpleType>
<xs:attribute name="capability" type="xs:anyURI" />
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="serverBuildTimestamp" type="xs:string" />
<xs:attribute name="serverRevision" type="xs:string" />
<xs:attribute name="serverVersion" type="xs:string" />
<xs:attribute name="version" type="xs:string" />
</xs:schema>
</grammars>
<resources base="http://example.com/taverna/rest">
<resource path="/">
<method name="GET">
<doc>Produces the description of the service.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:serverDescription"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the service.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="runs">
<method name="GET">
<doc>Produces a list of all runs visible to the user.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:runList"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the operations on the collection
of runs.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Accepts (or not) a request to create a new run executing the
given workflow.</doc>
<request>
<representation mediaType="application/vnd.taverna.t2flow+xml" element="server:workflow">
<doc>Accepts (or not) a request to create a new run executing the
given workflow.</doc>
</representation>
<representation mediaType="application/xml" element="server:workflow">
<doc>Accepts (or not) a request to create a new run executing the
given workflow.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Accepts a URL to a workflow to download and run. The URL must
be hosted on a publicly-accessible service.</doc>
<request>
<representation mediaType="text/uri-list">
<doc>Accepts a URL to a workflow to download and run. The URL
must be hosted on a publicly-accessible service.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/policy">
<method name="GET">
<doc>Describe the parts of this policy.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:policyDescription"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<resource path="/capabilities">
<method name="GET">
<doc>Gets a description of the capabilities supported by this
installation of Taverna Server.</doc>
<response>
<representation mediaType="application/xml" element="rest:capabilities"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/enabledNotificationFabrics">
<method name="GET">
<doc>Gets the list of supported, enabled notification fabrics.
Each corresponds (approximately) to a protocol, e.g., email.
</doc>
<response>
<representation mediaType="application/xml" element="rest:enabledNotificationFabrics"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/operatingLimit">
<method name="GET">
<doc>Gets the maximum number of simultaneously operating runs that
the user may have. Note that this is often a global limit; it
does not represent a promise that a particular user may be able
to have that many operating runs at once.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:int">
<doc>Gets the maximum number of simultaneously operating runs
that the user may have. Note that this is often a global
limit; it does not represent a promise that a particular user
may be able to have that many operating runs at once.</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/permittedListenerTypes">
<method name="GET">
<doc>Gets the list of permitted event listener types.</doc>
<response>
<representation mediaType="application/xml" element="rest:permittedListeners"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/permittedWorkflows">
<method name="GET">
<doc>Gets the list of permitted workflows.</doc>
<response>
<representation mediaType="application/xml" element="rest:permittedWorkflows"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/runLimit">
<method name="GET">
<doc>Gets the maximum number of simultaneous runs in any state
that the user may create.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:int">
<doc>Gets the maximum number of simultaneous runs in any state
that the user may create.</doc>
</param>
</representation>
</response>
</method>
</resource>
</resource>
<resource path="/runs/{runName}">
<doc>This represents how a Taverna Server workflow run looks to a
RESTful API.</doc>
<param name="runName" style="template" type="xs:string" />
<method name="DELETE">
<doc>Deletes a workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Describes a workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:runDescription"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="/createTime">
<method name="GET">
<doc>Gives the time when the workflow run was first submitted to
the server.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the time when the workflow run was first submitted
to the server.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run create time.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/expiry">
<method name="GET">
<doc>Gives the time when the workflow run becomes eligible for
automatic deletion.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the time when the workflow run becomes eligible for
automatic deletion.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run expiry.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Sets the time when the workflow run becomes eligible for
automatic deletion.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Sets the time when the workflow run becomes eligible for
automatic deletion.</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Sets the time when the workflow run becomes eligible for
automatic deletion.</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/finishTime">
<method name="GET">
<doc>Gives the time when the workflow run was first detected as
finished, or an empty string if it has not yet finished
(including if it has never started).</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the time when the workflow run was first detected as
finished, or an empty string if it has not yet finished
(including if it has never started).</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run finish time.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/generate-provenance">
<method name="GET">
<doc>Whether to create the run bundle for the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:boolean">
<doc>Whether to create the run bundle for the workflow run.
</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Whether to create the run bundle for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Whether to create the run bundle for the workflow run.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:boolean">
<doc>Whether to create the run bundle for the workflow run.
</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:boolean">
<doc>Whether to create the run bundle for the workflow run.
</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/log">
<method name="GET">
<doc>Return the log for the workflow run.</doc>
<response>
<representation mediaType="text/plain"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Return the log for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/name">
<method name="GET">
<doc>Gives the descriptive name of the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the descriptive name of the workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the operations on the run&apos;s
descriptive name.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Set the descriptive name of the workflow run. Note that this
value may be arbitrarily truncated by the implementation.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Set the descriptive name of the workflow run. Note that
this value may be arbitrarily truncated by the implementation.
</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Set the descriptive name of the workflow run. Note that
this value may be arbitrarily truncated by the implementation.
</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/output">
<method name="GET">
<doc>Gives the Baclava file where output will be written; empty
means use multiple simple files in the out directory.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the Baclava file where output will be written; empty
means use multiple simple files in the out directory.</doc>
</param>
</representation>
</response>
</method>
<method name="GET">
<doc>Gives a description of the outputs, as currently understood
</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="port:workflowOutputs"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run output.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Sets the Baclava file where output will be written; empty
means use multiple simple files in the out directory.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Sets the Baclava file where output will be written; empty
means use multiple simple files in the out directory.</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Sets the Baclava file where output will be written; empty
means use multiple simple files in the out directory.</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/run-bundle">
<method name="GET">
<doc>Return the run bundle for the workflow run.</doc>
<response>
<representation mediaType="application/vnd.wf4ever.robundle+zip"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Return the run bundle for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/startTime">
<method name="GET">
<doc>Gives the time when the workflow run was started, or an empty
string if the run has not yet started.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the time when the workflow run was started, or an
empty string if the run has not yet started.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run start time.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/status">
<method name="GET">
<doc>Gives the current status of the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the current status of the workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run status.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Attempts to update the status of the workflow run.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Attempts to update the status of the workflow run.</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain"></representation>
</response>
</method>
</resource>
<resource path="/stderr">
<method name="GET">
<doc>Return the stderr for the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Return the stderr for the workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Return the stderr for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/stdout">
<method name="GET">
<doc>Return the stdout for the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Return the stdout for the workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Return the stdout for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/usage">
<method name="GET">
<doc>Return the usage record for the workflow run.</doc>
<response>
<representation mediaType="application/xml"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Return the usage record for the workflow run.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/workflow">
<method name="GET">
<doc>Gives the workflow document used to create the workflow run.
</doc>
<response>
<representation mediaType="application/vnd.taverna.t2flow+xml" element="server:workflow"></representation>
<representation mediaType="application/xml" element="server:workflow"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run workflow.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/input">
<doc>This represents how a Taverna Server workflow run&apos;s
inputs looks to a RESTful API.</doc>
<method name="GET">
<doc>Describe the sub-URIs of this resource.</doc>
<response>
<representation mediaType="application/xml" element="rest:runInputs"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run&apos;s inputs&apos;
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="/baclava">
<method name="GET">
<doc>Gives the Baclava file describing the inputs, or empty if
individual files are used.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the Baclava file describing the inputs, or empty if
individual files are used.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the inputs&apos; baclava
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Sets the Baclava file describing the inputs.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Sets the Baclava file describing the inputs.</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Sets the Baclava file describing the inputs.</doc>
</param>
</representation>
</response>
</method>
</resource>
<resource path="/expected">
<method name="GET">
<doc>Describe the expected inputs of this workflow run.</doc>
<response>
<representation mediaType="application/xml" element="port:inputDescription"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the expected inputs&apos;
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/input/{name}">
<param name="name" style="template" type="xs:string" />
<method name="GET">
<doc>Gives a description of what is used to supply a particular
input.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:runInput"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the one input&apos;s operations.
</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Sets the source for a particular input port.</doc>
<request>
<representation mediaType="application/xml" element="rest:runInput">
<doc>Sets the source for a particular input port.</doc>
</representation>
<representation mediaType="application/json">
<doc>Sets the source for a particular input port.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml" element="rest:runInput"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
</resource>
<resource path="/interaction">
<method name="GET">
<doc>Get the feed document for this ATOM feed.</doc>
<response>
<representation mediaType="application/atom+xml"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Describes what HTTP operations are supported on the feed.
</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Adds an entry to this ATOM feed.</doc>
<request>
<representation mediaType="application/atom+xml">
<doc>Adds an entry to this ATOM feed.</doc>
</representation>
</request>
<response>
<representation mediaType="application/atom+xml"></representation>
</response>
</method>
<resource path="/{id}">
<param name="id" style="template" type="xs:string" />
<method name="DELETE">
<doc>Deletes an entry from this ATOM feed.</doc>
<request></request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Deletes an entry from this ATOM feed.</doc>
</param>
</representation>
</response>
</method>
<method name="GET">
<doc>Get the entry with a particular ID within this ATOM feed.
</doc>
<request></request>
<response>
<representation mediaType="application/atom+xml"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Describes what HTTP operations are supported on an entry.
</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
</resource>
<resource path="/listeners">
<doc>This represents all the event listeners attached to a workflow
run.</doc>
<method name="GET">
<doc>Get the listeners installed in the workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:listeners"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run listeners&apos;
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Add a new event listener to the named workflow run.</doc>
<request>
<representation mediaType="application/xml" element="rest:listenerDefinition">
<doc>Add a new event listener to the named workflow run.</doc>
</representation>
<representation mediaType="application/json">
<doc>Add a new event listener to the named workflow run.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="/{name}">
<doc>This represents a single event listener attached to a
workflow run.</doc>
<param name="name" style="template" type="xs:string" />
<method name="GET">
<doc>Get the description of this listener.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:listenerDescription"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run listener&apos;s
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="/configuration">
<method name="GET">
<doc>Get the configuration for the given event listener that is
attached to a workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Get the configuration for the given event listener that
is attached to a workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run listener&apos;s
configuration&apos;s operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/properties">
<method name="GET">
<doc>Get the list of properties supported by a given event
listener attached to a workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:properties"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run listener&apos;s
properties&apos; operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/properties/{propertyName}">
<doc>This represents a single property attached of an event
listener.</doc>
<param name="propertyName" style="template" type="xs:string" />
<method name="GET">
<doc>Get the value of the particular property of an event
listener attached to a workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Get the value of the particular property of an event
listener attached to a workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run listener&apos;s
property&apos;s operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Set the value of the particular property of an event
listener attached to a workflow run.</doc>
<request>
<representation mediaType="text/plain">
<param name="request" style="plain" type="xs:string">
<doc>Set the value of the particular property of an event
listener attached to a workflow run.</doc>
</param>
</representation>
</request>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Set the value of the particular property of an event
listener attached to a workflow run.</doc>
</param>
</representation>
</response>
</method>
</resource>
</resource>
</resource>
<resource path="/security">
<doc>Manages the security of the workflow run. In general, only the
owner of a run may access this resource.</doc>
<method name="GET">
<doc>Gives a description of the security information supported by
the workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:securityDescriptor"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run security.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<resource path="/credentials">
<method name="DELETE">
<doc>Deletes all credentials.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Gives a list of credentials supplied to this workflow run.
</doc>
<response>
<representation mediaType="application/xml" element="rest:credentials"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run credentials&apos;
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Creates a new credential.</doc>
<request>
<representation mediaType="application/xml" element="rest:credential">
<doc>Creates a new credential.</doc>
</representation>
<representation mediaType="application/json">
<doc>Creates a new credential.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/credentials/{id}">
<param name="id" style="template" type="xs:string" />
<method name="DELETE">
<doc>Deletes a particular credential.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Describes a particular credential.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:credential"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run credential&apos;s
operations.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Updates a particular credential.</doc>
<request>
<representation mediaType="application/xml" element="rest:credential">
<doc>Updates a particular credential.</doc>
</representation>
<representation mediaType="application/json">
<doc>Updates a particular credential.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml" element="rest:credential"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/owner">
<method name="GET">
<doc>Gives the identity of who owns the workflow run.</doc>
<response>
<representation mediaType="text/plain">
<param name="result" style="plain" type="xs:string">
<doc>Gives the identity of who owns the workflow run.</doc>
</param>
</representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run owner.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/permissions">
<method name="GET">
<doc>Gives a list of all non-default permissions associated with
the enclosing workflow run. By default, nobody has any access at
all except for the owner of the run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:permissionsDescriptor"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run permissions&apos;
operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Creates a new assignment of permissions to a particular
user.</doc>
<request>
<representation mediaType="application/xml" element="rest:permissionUpdate">
<doc>Creates a new assignment of permissions to a particular
user.</doc>
</representation>
<representation mediaType="application/json">
<doc>Creates a new assignment of permissions to a particular
user.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/permissions/{id}">
<param name="id" style="template" type="xs:string" />
<method name="DELETE">
<doc>Deletes (by resetting to default) the permissions associated
with a particular user.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Describes the permission granted to a particular user.</doc>
<request></request>
<response>
<representation mediaType="text/plain"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run permission&apos;s
operations.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Updates the permissions granted to a particular user.</doc>
<request>
<representation mediaType="text/plain">
<doc>Updates the permissions granted to a particular user.
</doc>
</representation>
</request>
<response>
<representation mediaType="text/plain"></representation>
</response>
</method>
</resource>
<resource path="/trusts">
<method name="DELETE">
<doc>Deletes all trusted identities.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Gives a list of trusted identities supplied to this workflow
run.</doc>
<response>
<representation mediaType="application/xml" element="rest:trustedIdentities"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the run trusted
certificates&apos; operations.</doc>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="POST">
<doc>Adds a new trusted identity.</doc>
<request>
<representation mediaType="application/xml" element="server:trustedIdentity">
<doc>Adds a new trusted identity.</doc>
</representation>
<representation mediaType="application/json">
<doc>Adds a new trusted identity.</doc>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
</resource>
<resource path="/trusts/{id}">
<param name="id" style="template" type="xs:string" />
<method name="DELETE">
<doc>Deletes a particular trusted identity.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="GET">
<doc>Describes a particular trusted identity.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="server:trustedIdentity"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of one run trusted
certificate&apos;s operations.</doc>
<request></request>
<response>
<representation mediaType="application/octet-stream"></representation>
</response>
</method>
<method name="PUT">
<doc>Updates a particular trusted identity.</doc>
<request>
<representation mediaType="application/xml" element="server:trustedIdentity">
<doc>Updates a particular trusted identity.</doc>
</representation>
<representation mediaType="application/json">
<doc>Updates a particular trusted identity.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml" element="server:trustedIdentity"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
</resource>
<resource path="/wd">
<doc>Representation of how a workflow run&apos;s working directory
tree looks.</doc>
<method name="GET">
<doc>Describes the working directory of the workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml" element="rest:directoryContents"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<resource path="/{path:(.*)}">
<param name="path" style="template" repeating="true" />
<method name="POST">
<doc>Creates or updates a file in a particular location beneath
the working directory of the workflow run with the contents of a
publicly readable URL.</doc>
<request>
<representation mediaType="text/uri-list">
<doc>Creates or updates a file in a particular location beneath
the working directory of the workflow run with the contents of
a publicly readable URL.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="PUT">
<doc>Creates or updates a file in a particular location beneath
the working directory of the workflow run.</doc>
<request>
<representation mediaType="application/octet-stream">
<doc>Creates or updates a file in a particular location beneath
the working directory of the workflow run.</doc>
</representation>
<representation mediaType="*/*">
<doc>Creates or updates a file in a particular location beneath
the working directory of the workflow run.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/{path:.*}">
<param name="path" style="template" repeating="true" />
<method name="DELETE">
<doc>Deletes a file or directory that is in or below the working
directory of a workflow run.</doc>
<request></request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="OPTIONS">
<doc>Produces the description of the files/directories&apos;
baclava operations.</doc>
<request></request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
<method name="POST">
<doc>Creates a directory in the filesystem beneath the working
directory of the workflow run, or creates or updates a
file&apos;s contents, where that file is in or below the working
directory of a workflow run.</doc>
<request>
<representation mediaType="application/xml" element="rest:filesystemOperation">
<doc>Creates a directory in the filesystem beneath the working
directory of the workflow run, or creates or updates a
file&apos;s contents, where that file is in or below the
working directory of a workflow run.</doc>
</representation>
<representation mediaType="application/json">
<doc>Creates a directory in the filesystem beneath the working
directory of the workflow run, or creates or updates a
file&apos;s contents, where that file is in or below the
working directory of a workflow run.</doc>
</representation>
</request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
</response>
</method>
</resource>
<resource path="/{path:.+}">
<param name="path" style="template" repeating="true" />
<method name="GET">
<doc>Gives a description of the named entity in or beneath the
working directory of the workflow run (either a Directory or
File).</doc>
<request></request>
<response>
<representation mediaType="application/xml"></representation>
<representation mediaType="application/json"></representation>
<representation mediaType="application/octet-stream"></representation>
<representation mediaType="application/zip"></representation>
<representation mediaType="*/*"></representation>
</response>
</method>
</resource>
</resource>
</resource>
</resource>
</resources>
</application>