1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: Apache-2.0
5 $base: "http://arvados.org/cwl#"
7 cwl: "https://w3id.org/cwl/cwl#"
8 cwltool: "http://commonwl.org/cwltool#"
10 - $import: https://w3id.org/cwl/CommonWorkflowLanguage.yml
12 - name: cwltool:LoadListingRequirement
14 extends: cwl:ProcessRequirement
19 doc: "Always 'LoadListingRequirement'"
28 symbols: [no_listing, shallow_listing, deep_listing]
30 - name: cwltool:Secrets
33 extends: cwl:ProcessRequirement
37 doc: "Always 'Secrets'"
44 List one or more input parameters that are sensitive (such as passwords)
45 which will be deliberately obscured from logging.
50 - name: RunInSingleContainer
52 extends: cwl:ProcessRequirement
55 Indicates that a subworkflow should run in a single container
56 and not be scheduled as separate steps.
60 doc: "Always 'arv:RunInSingleContainer'"
72 local_output_dir: Use regular file system local to the compute node.
73 There must be sufficient local scratch space to store entire output;
74 specify this with `outdirMin` of `ResourceRequirement`. Files are
75 batch uploaded to Keep when the process completes. Most compatible, but
76 upload step can be time consuming for very large files.
78 keep_output_dir: Use writable Keep mount. Files are streamed to Keep as
79 they are written. Does not consume local scratch space, but does consume
80 RAM for output buffers (up to 192 MiB per file simultaneously open for
81 writing.) Best suited to processes which produce sequential output of
82 large files (non-sequential writes may produced fragmented file
83 manifests). Supports regular files and directories, does not support
84 special files such as symlinks, hard links, named pipes, named sockets,
88 - name: RuntimeConstraints
90 extends: cwl:ProcessRequirement
93 Set Arvados-specific runtime hints.
97 doc: "Always 'arv:RuntimeConstraints'"
104 Size of file data buffer for Keep mount in MiB. Default is 256
105 MiB. Increase this to reduce cache thrashing in situations such as
106 accessing multiple large (64+ MiB) files at the same time, or
107 performing random access on a large file.
108 - name: outputDirType
111 Preferred backing store for output staging. If not specified, the
112 system may choose which one to use.
114 - name: PartitionRequirement
116 extends: cwl:ProcessRequirement
119 Select preferred compute partitions on which to run jobs.
123 doc: "Always 'arv:PartitionRequirement'"
132 - name: APIRequirement
134 extends: cwl:ProcessRequirement
137 Indicates that process wants to access to the Arvados API. Will be granted
138 limited network access and have ARVADOS_API_HOST and ARVADOS_API_TOKEN set
143 doc: "Always 'arv:APIRequirement'"
148 - name: IntermediateOutput
150 extends: cwl:ProcessRequirement
153 Specify desired handling of intermediate output collections.
157 doc: "Always 'arv:IntermediateOutput'"
164 If the value is greater than zero, consider intermediate output
165 collections to be temporary and should be automatically
166 trashed. Temporary collections will be trashed `outputTTL` seconds
167 after creation. A value of zero means intermediate output should be
168 retained indefinitely (this is the default behavior).
170 Note: arvados-cwl-runner currently does not take workflow dependencies
171 into account when setting the TTL on an intermediate output
172 collection. If the TTL is too short, it is possible for a collection to
173 be trashed before downstream steps that consume it are started. The
174 recommended minimum value for TTL is the expected duration of the
177 - name: ReuseRequirement
179 extends: cwl:ProcessRequirement
182 Enable/disable work reuse for current process. Default true (work reuse enabled).
186 doc: "Always 'arv:ReuseRequirement'"