Merge branch '10534-go-systemd-sdnotify-v14' of https://github.com/wtsi-hgi/arvados
[arvados.git] / doc / api / schema / PipelineTemplate.html.textile.liquid
index 412810f02eef85a1b63953a55e124381e0ea0ed0..444960a6ea46e9f38a389e06814b743cf6a4680d 100644 (file)
@@ -5,13 +5,21 @@ navmenu: Schema
 title: PipelineTemplate
 ...
 
-Pipelines consist of a set of "components".  Each component is an Arvados job submission.  "Parameters for job submissions are described on the job method page.":{{site.baseurl}}/api/methods/jobs.html#create
+The pipeline template consists of "name" and "components".
 
 table(table table-bordered table-condensed).
 |_. Attribute    |_. Type |_. Accepted values                           |_. Required|_. Description|
 |name            |string  |any                                          |yes        |The human-readable name of the pipeline template.|
 |components      |object  |JSON object containing job submission objects|yes        |The component jobs that make up the pipeline, with the component name as the key. |
 
+h3. Components
+
+The components field of the pipeline template is a JSON object which describes the individual steps that make up the pipeline.  Each component is an Arvados job submission.  "Parameters for job submissions are described on the job method page.":{{site.baseurl}}/api/methods/jobs.html#create  In addition, a component can have the following parameters:
+
+table(table table-bordered table-condensed).
+|_. Attribute    |_. Type          |_. Accepted values |_. Required|_. Description|
+|output_name     |string or boolean|string or false    |no         |If a string is provided, use this name for the output collection of this component.  If the value is false, do not create a permanent output collection (an temporary intermediate collection will still be created).  If not provided, a default name will be assigned to the output.|
+
 h3. Script parameters
 
 When used in a pipeline, each parameter in the 'script_parameters' attribute of a component job can specify that the input parameter must be supplied by the user, or the input parameter should be linked to the output of another component.  To do this, the value of the parameter should be JSON object containing one of the following attributes:
@@ -43,7 +51,7 @@ This is a pipeline named "Filter MD5 hash values" with two components, "do_hash"
   "components": {
     "do_hash": {
       "script": "hash.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": {
         "input": {
@@ -56,7 +64,7 @@ This is a pipeline named "Filter MD5 hash values" with two components, "do_hash"
     },
     "filter": {
       "script": "0-filter.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": {
         "input": {
@@ -76,13 +84,13 @@ This pipeline consists of three components.  The components "thing1" and "thing2
   "components": {
     "cat_in_the_hat": {
       "script": "cat.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": { }
     },
     "thing1": {
       "script": "thing1.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": {
         "input": {
@@ -92,7 +100,7 @@ This pipeline consists of three components.  The components "thing1" and "thing2
     },
     "thing2": {
       "script": "thing2.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": {
         "input": {
@@ -112,19 +120,19 @@ This pipeline consists of three components.  The component "cleanup" depends on
   "components": {
     "thing1": {
       "script": "thing1.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": { }
     },
     "thing2": {
       "script": "thing2.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": { }
     },
     "cleanup": {
       "script": "cleanup.py",
-      "repository": "<b>you</b>",
+      "repository": "<b>you</b>/<b>you</b>",
       "script_version": "master",
       "script_parameters": {
         "mess1": {