[ARVADOS] created: 882be2b6f0e2b45e282cf584cf14e5dccc4b5b9a
Git user
git at public.curoverse.com
Mon Sep 12 13:50:47 EDT 2016
at 882be2b6f0e2b45e282cf584cf14e5dccc4b5b9a (commit)
commit 882be2b6f0e2b45e282cf584cf14e5dccc4b5b9a
Author: radhika <radhika at curoverse.com>
Date: Mon Sep 12 13:49:35 2016 -0400
9836: Add workflow to api documentation.
diff --git a/doc/_config.yml b/doc/_config.yml
index 96b8a52..fd9bf7c 100644
--- a/doc/_config.yml
+++ b/doc/_config.yml
@@ -123,6 +123,7 @@ navbar:
- api/methods/traits.html.textile.liquid
- api/methods/users.html.textile.liquid
- api/methods/virtual_machines.html.textile.liquid
+ - api/methods/workflows.html.textile.liquid
- Schema:
- api/schema/ApiClientAuthorization.html.textile.liquid
- api/schema/ApiClient.html.textile.liquid
@@ -144,6 +145,7 @@ navbar:
- api/schema/Trait.html.textile.liquid
- api/schema/User.html.textile.liquid
- api/schema/VirtualMachine.html.textile.liquid
+ - api/schema/Workflow.html.textile.liquid
installguide:
- Overview:
- install/index.html.textile.liquid
diff --git a/doc/api/methods/workflows.html.textile.liquid b/doc/api/methods/workflows.html.textile.liquid
new file mode 100644
index 0000000..c1b6c3c
--- /dev/null
+++ b/doc/api/methods/workflows.html.textile.liquid
@@ -0,0 +1,67 @@
+---
+layout: default
+navsection: api
+navmenu: API Methods
+title: "workflows"
+
+...
+
+See "REST methods for working with Arvados resources":{{site.baseurl}}/api/methods.html
+
+API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/workflows@
+
+Required arguments are displayed in %{background:#ccffcc}green%.
+
+
+h2. create
+
+Create a new Workflow.
+
+Arguments:
+
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
+|workflow|object||query||
+
+h2. delete
+
+Delete an existing Workflow.
+
+Arguments:
+
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
+{background:#ccffcc}.|uuid|string|The UUID of the Workflow in question.|path||
+
+h2. get
+
+Get a Workflow's metadata by UUID.
+
+Arguments:
+
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
+{background:#ccffcc}.|uuid|string|The UUID of the Workflow in question.|path||
+
+h2. list
+
+List workflows.
+
+Arguments:
+
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
+|limit|integer (default 100)|Maximum number of workflows to return.|query||
+|order|string|Order in which to return matching workflows.|query||
+|filters|array|Conditions for filtering workflows.|query||
+
+h2. update
+
+Update attributes of an existing Workflow.
+
+Arguments:
+
+table(table table-bordered table-condensed).
+|_. Argument |_. Type |_. Description |_. Location |_. Example |
+{background:#ccffcc}.|uuid|string|The UUID of the Workflow in question.|path||
+|workflow|object||query||
diff --git a/doc/api/schema/Workflow.html.textile.liquid b/doc/api/schema/Workflow.html.textile.liquid
new file mode 100644
index 0000000..bd95a33
--- /dev/null
+++ b/doc/api/schema/Workflow.html.textile.liquid
@@ -0,0 +1,176 @@
+---
+layout: default
+navsection: api
+navmenu: Schema
+title: Workflow
+
+...
+
+A *Workflow* is a definition of work to be performed by a Crunch2 process. It defines the steps and inputs for the process.
+
+h2. Methods
+
+See "workflows":{{site.baseurl}}/api/methods/workflows.html
+
+h2. Resource
+
+Each Workflow offers the following optional attributes, in addition to the usual "attributes of Arvados resources":{{site.baseurl}}/api/resources.html:
+
+table(table table-bordered table-condensed).
+|_. Attribute|_. Type|_. Description|_. Example|
+|name|string|If not specified, will be set to any 'name' from the 'definition' attribute.||
+|description|string|If not specified, will be set to any 'description' from the 'definition' attribute.||
+|definition|string|A definition yaml that defines the steps in the workflow.|See "Workflow definition":#workflow_definition below for details.|
+
+h2(#workflow_definition). Workflow definition
+
+The workflow definition is a string dump of the yaml document that describes the steps to be executed by any container_request created using it. It is expected to be a valid cwl document that specifies the steps and inputs to be used by the process. An example workflow with explanation follow:
+
+h3. Example workflow
+
+<pre><code>{
+ "$graph": [
+ {
+ "class": "Workflow",
+ "id": "#main",
+ "inputs": [
+ {
+ "default": {
+ "basename": "blorp.txt",
+ "class": "File",
+ "location": "keep:99999999999999999999999999999991+99/input/blorp.txt"
+ },
+ "id": "#main/x",
+ "type": "File"
+ }
+ ],
+ "steps": [
+ {
+ "id": "#main/step1",
+ "in": [
+ {
+ "id": "#main/step1/x",
+ "source": "#main/x"
+ }
+ ],
+ "out": [],
+ "run": "#submit_tool.cwl"
+ }
+ ]
+ }
+ . . .
+ ],
+ "cwlVersion": "v1.0"
+}</code></pre>
+
+h3. Explanation
+
+In the above example, the class @workflow@ in @$graph@ contains an element with the id @#main@ with @inputs@ and @steps at . In addition, information such as cwlVersion, name, description can be provided as well.
+
+table(table table-bordered table-condensed).
+|_. Element Id|_. Description|_. Notes|
+|@#main@|Specifies the steps and inputs of the workflow.||
+|@inputs@|Specifies the inputs for the workflow. The inputs can be required or optional.
+In this example, there is one input of type @File@ with id @#main/x@ with a @default@ value.
+See "Supported input types":#workflow_inputs below for the supported input types.|<pre><code>{
+ "default": {
+ "basename": "blorp.txt",
+ "class": "File",
+ "location": "keep:99999999999999999999999999999991+99/input/blorp.txt"
+ },
+ "id": "#main/x",
+ "type": "File"
+}</code></pre>|
+|@steps@|Specifies the steps to be executed by this workflow. In this example, there is one step with id @#main/step1/x at .||
+
+h3(#workflow_inputs). Supported input types
+
+Currently, input types @boolean@, @double@, @float@, @integer@, @long@, @string@, @Directory@, @File@, and @enum@ are supported. Each can be specified as required or optional.
+
+table(table table-bordered table-condensed).
+|_. Input type|_. Example|_. Notes|
+|@boolean@ - required|<pre><code>{
+ "type": "boolean",
+ "id": "a_required_boolean_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|*Note:* The @id@ needs to be unique among all specified inputs.
+e.g., @a_required_boolean_input@|
+|@boolean@ - optional|<pre><code>{
+ "type": ["null", "boolean"],
+ "id": "a_optional_boolean_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "boolean"]@|
+|@double@|<pre><code>{
+ "type": "double",
+ "id": "a_double_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "double"]@|
+|@float@|<pre><code>{
+ "type": "float",
+ "id": "a_float_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "float"]@|
+|@int@|<pre><code>{
+ "type": "int",
+ "id": "an_int_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "int"]@|
+|@long@|<pre><code>{
+ "type": "long",
+ "id": "a_long_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "long"]@|
+|@string@|<pre><code>{
+ "type": "string",
+ "id": "a_string_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "string"]@|
+|@Directory@|<pre><code>{
+ "type": "Directory",
+ "id": "a_directory_input",
+ "label": "an optional label for this input directory / collection",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "Directory"]@|
+|@File@|<pre><code>{
+ "type": "File",
+ "id": "a_file_input",
+ "label": "an optional label for this input file in a collection",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+@"type": ["null", "File"]@|
+|@enum@ - required|<pre><code>{
+ "type": {
+ "type": "enum",
+ "symbols": ["a", "b", "c"]
+ },
+ "id": "a_required_enum_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|The @symbols@ are the items in this enum.|
+|@enum@ - optional|<pre><code>{
+ "type": ["null", {
+ "type": "enum",
+ "symbols": ["a", "b", "c"]
+ }],
+ "id": "a_required_enum_input",
+ "label": "an optional label for this input",
+ "inputBinding": {"position": 1}
+}</code></pre>|Include @null@ in @type@ definition to mark it as optional.
+<pre><code>"type": ["null", {
+ "type": "enum",
+ "symbols": [. . .]
+ }]</code></pre>|
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list