X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bee4fa82c15b2188c2105fff3b52c305b38f04a6..72c6ba534706ddd929d11bf7800c7a483c9656af:/sdk/cwl/arvados_cwl/arv-cwl-schema.yml diff --git a/sdk/cwl/arvados_cwl/arv-cwl-schema.yml b/sdk/cwl/arvados_cwl/arv-cwl-schema.yml index b45378d6fe..dce1bd4d02 100644 --- a/sdk/cwl/arvados_cwl/arv-cwl-schema.yml +++ b/sdk/cwl/arvados_cwl/arv-cwl-schema.yml @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 + $base: "http://arvados.org/cwl#" $namespaces: cwl: "https://w3id.org/cwl/cwl#" @@ -23,6 +27,48 @@ $graph: name: LoadListingEnum symbols: [no_listing, shallow_listing, deep_listing] +- name: cwltool:Secrets + type: record + inVocab: false + extends: cwl:ProcessRequirement + fields: + class: + type: string + doc: "Always 'Secrets'" + jsonldPredicate: + "_id": "@type" + "_type": "@vocab" + secrets: + type: string[] + doc: | + List one or more input parameters that are sensitive (such as passwords) + which will be deliberately obscured from logging. + jsonldPredicate: + "_type": "@id" + refScope: 0 + +- name: cwltool:TimeLimit + type: record + inVocab: false + extends: cwl:ProcessRequirement + doc: | + Set an upper limit on the execution time of a CommandLineTool or + ExpressionTool. A tool execution which exceeds the time limit may + be preemptively terminated and considered failed. May also be + used by batch systems to make scheduling decisions. + fields: + - name: class + type: string + doc: "Always 'TimeLimit'" + jsonldPredicate: + "_id": "@type" + "_type": "@vocab" + - name: timelimit + type: [long, string] + doc: | + The time limit, in seconds. A time limit of zero means no + time limit. Negative time limits are an error. + - name: RunInSingleContainer type: record extends: cwl:ProcessRequirement @@ -94,6 +140,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 @@ -143,3 +195,68 @@ $graph: 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 + +- name: WorkflowRunnerResources + type: record + extends: cwl:ProcessRequirement + inVocab: false + doc: | + Specify memory or cores resource request for the CWL runner process itself. + fields: + class: + type: string + doc: "Always 'arv:WorkflowRunnerResources'" + jsonldPredicate: + _id: "@type" + _type: "@vocab" + ramMin: + type: int? + doc: Minimum RAM, in mebibytes (2**20) + jsonldPredicate: "https://w3id.org/cwl/cwl#ResourceRequirement/ramMin" + coresMin: + type: int? + doc: Minimum cores allocated to cwl-runner + jsonldPredicate: "https://w3id.org/cwl/cwl#ResourceRequirement/coresMin" + keep_cache: + type: int? + doc: | + Size of collection metadata cache for the workflow runner, in + MiB. Default 256 MiB. Will be added on to the RAM request + when determining node size to request. + jsonldPredicate: "http://arvados.org/cwl#RuntimeConstraints/keep_cache" + +- name: ClusterTarget + type: record + extends: cwl:ProcessRequirement + inVocab: false + doc: | + Specify where a workflow step should run + fields: + class: + type: string + doc: "Always 'arv:ClusterTarget'" + jsonldPredicate: + _id: "@type" + _type: "@vocab" + cluster_id: + type: string? + doc: The cluster to run the container + project_uuid: + type: string? + doc: The project that will own the container requests and intermediate collections