X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/882be2b6f0e2b45e282cf584cf14e5dccc4b5b9a..4a46faf1f480ab6d40389be752f56bcda3581b2e:/doc/api/schema/Workflow.html.textile.liquid?ds=sidebyside diff --git a/doc/api/schema/Workflow.html.textile.liquid b/doc/api/schema/Workflow.html.textile.liquid index bd95a336ca..05cd998823 100644 --- a/doc/api/schema/Workflow.html.textile.liquid +++ b/doc/api/schema/Workflow.html.textile.liquid @@ -18,159 +18,6 @@ Each Workflow offers the following optional attributes, in addition to the usual 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 - -
{
- "$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"
-}
-
-h3. Explanation
-
-In the above example, the class @workflow@ in @$graph@ contains an element with the id @#main@ with @inputs@ and @steps@. 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.|{
- "default": {
- "basename": "blorp.txt",
- "class": "File",
- "location": "keep:99999999999999999999999999999991+99/input/blorp.txt"
- },
- "id": "#main/x",
- "type": "File"
-}
|
-|@steps@|Specifies the steps to be executed by this workflow. In this example, there is one step with id @#main/step1/x@.||
-
-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|{
- "type": "boolean",
- "id": "a_required_boolean_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|*Note:* The @id@ needs to be unique among all specified inputs.
-e.g., @a_required_boolean_input@|
-|@boolean@ - optional|{
- "type": ["null", "boolean"],
- "id": "a_optional_boolean_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "boolean"]@|
-|@double@|{
- "type": "double",
- "id": "a_double_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "double"]@|
-|@float@|{
- "type": "float",
- "id": "a_float_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "float"]@|
-|@int@|{
- "type": "int",
- "id": "an_int_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "int"]@|
-|@long@|{
- "type": "long",
- "id": "a_long_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "long"]@|
-|@string@|{
- "type": "string",
- "id": "a_string_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "string"]@|
-|@Directory@|{
- "type": "Directory",
- "id": "a_directory_input",
- "label": "an optional label for this input directory / collection",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "Directory"]@|
-|@File@|{
- "type": "File",
- "id": "a_file_input",
- "label": "an optional label for this input file in a collection",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-@"type": ["null", "File"]@|
-|@enum@ - required|{
- "type": {
- "type": "enum",
- "symbols": ["a", "b", "c"]
- },
- "id": "a_required_enum_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|The @symbols@ are the items in this enum.|
-|@enum@ - optional|{
- "type": ["null", {
- "type": "enum",
- "symbols": ["a", "b", "c"]
- }],
- "id": "a_required_enum_input",
- "label": "an optional label for this input",
- "inputBinding": {"position": 1}
-}
|Include @null@ in @type@ definition to mark it as optional.
-"type": ["null", {
- "type": "enum",
- "symbols": [. . .]
- }]
|
+|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 "Common Workflow Language" document.|Visit "Common Workflow Language":http://www.commonwl.org/ for details.|