11095: Add arv:ReuseRequirement hint. Update tests & documentation.
[arvados.git] / sdk / cwl / arvados_cwl / arv-cwl-schema.yml
index 1af6e38ff2e0815a421716c646378790d8553494..3107628958b3aa1101f419a1943949be2e7340c0 100644 (file)
@@ -94,6 +94,12 @@ $graph:
   doc: |
     Select preferred compute partitions on which to run jobs.
   fields:
+    - name: class
+      type: string
+      doc: "Always 'arv:PartitionRequirement'"
+      jsonldPredicate:
+        _id: "@type"
+        _type: "@vocab"
     - name: partition
       type:
         - string
@@ -132,15 +138,30 @@ $graph:
       type: int
       doc: |
         If the value is greater than zero, consider intermediate output
-        collections to be temporary and should be automatically trashed.
-        Temporary collections will be trashed `outputTTL` seconds after
-        creation, or on successful completion of workflow (whichever comes
-        first).  A value of zero means intermediate output should be retained
-        indefinitely (this is the default behavior).
+        collections to be temporary and should be automatically
+        trashed. Temporary collections will be trashed `outputTTL` seconds
+        after creation.  A value of zero means intermediate output should be
+        retained indefinitely (this is the default behavior).
 
         Note: arvados-cwl-runner currently does not take workflow dependencies
-        into account when setting the TTL on an intermediate output collection.
-        If the TTL is too short, it is possible for a collection to be trashed
-        before before downstream steps that consume it are started.  The
-        recommend minimum value for TTL is the time required to complete
+        into account when setting the TTL on an intermediate output
+        collection. If the TTL is too short, it is possible for a collection to
+        be trashed before downstream steps that consume it are started.  The
+        recommended minimum value for TTL is the expected duration of the
         entire the workflow.
+
+- name: ReuseRequirement
+  type: record
+  extends: cwl:ProcessRequirement
+  inVocab: false
+  doc: |
+    Enable/disable work reuse for current process.  Default true (work reuse enabled).
+  fields:
+    - name: class
+      type: string
+      doc: "Always 'arv:ReuseRequirement'"
+      jsonldPredicate:
+        _id: "@type"
+        _type: "@vocab"
+    - name: enableReuse
+      type: boolean