blob: c3cb60a214e3d31acff8cd9b0eb408a2a3401a49 [file] [log] [blame]
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:prefix1="http://ns.taverna.org.uk/2010/xml/server/rest/"
xmlns:prefix3="http://ns.taverna.org.uk/2010/xml/server/"
xmlns:prefix10="http://ns.taverna.org.uk/2010/port/" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" jxb:version="2.1">
<!--
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: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="uk.org.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: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: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="uk.org.taverna.server.client.generic.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="uk.org.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="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="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="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="prefix1: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="prefix1: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="prefix3:workflow"><doc>Accepts (or not) a request to create a new run executing the given workflow.</doc></representation><representation mediaType="application/xml" element="prefix3: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix10: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="prefix3:workflow"></representation><representation mediaType="application/xml" element="prefix3: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="prefix1: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="prefix10: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix1: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="prefix3: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="prefix3: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="prefix3: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="prefix3: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="prefix1: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="prefix1: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>