property1: value1
property2: $(inputs.value2)
+ arv:OutputCollectionProperties:
+ outputProperties:
+ property1: value1
+ property2: $(inputs.value2)
+
cwltool:CUDARequirement:
cudaVersionMin: "11.0"
cudaComputeCapability: "9.0"
|_. Field |_. Type |_. Description |
|processProperties|key-value map, or list of objects with the fields {propertyName, propertyValue}|The properties that will be set on the container request. May include expressions that reference `$(inputs)` of the current workflow or tool.|
+h2(#ProcessProperties). arv:OutputCollectionProperties
+
+Specify custom "properties":{{site.baseurl}}/api/methods.html#subpropertyfilters that will be set on the output collection of the workflow step.
+
+table(table table-bordered table-condensed).
+|_. Field |_. Type |_. Description |
+|outputProperties|key-value map, or list of objects with the fields {propertyName, propertyValue}|The properties that will be set on the output collection. May include expressions that reference `$(inputs)` of the current workflow or tool.|
+
h2(#CUDARequirement). cwltool:CUDARequirement
Request support for Nvidia CUDA GPU acceleration in the container. Assumes that the CUDA runtime (SDK) is installed in the container, and the host will inject the CUDA driver libraries into the container (equal or later to the version requested).
jsonldPredicate:
_id: "@type"
_type: "@vocab"
- processProperties:
+ outputProperties:
type: PropertyDef[]
jsonldPredicate:
mapSubject: propertyName
jsonldPredicate:
_id: "@type"
_type: "@vocab"
- processProperties:
+ outputProperties:
type: PropertyDef[]
jsonldPredicate:
mapSubject: propertyName
jsonldPredicate:
_id: "@type"
_type: "@vocab"
- processProperties:
+ outputProperties:
type: PropertyDef[]
jsonldPredicate:
mapSubject: propertyName
for pr in properties_req["processProperties"]:
container_request["properties"][pr["propertyName"]] = self.builder.do_eval(pr["propertyValue"])
+ container_request["output_properties"] = {}
output_properties_req, _ = self.get_requirement("http://arvados.org/cwl#OutputCollectionProperties")
if output_properties_req:
- for pr in output_properties_req["processProperties"]:
+ for pr in output_properties_req["outputProperties"]:
container_request["output_properties"][pr["propertyName"]] = self.builder.do_eval(pr["propertyValue"])
- output_properties.update(intermediate_collection_info["properties"])
+ container_request["output_properties"].update(intermediate_collection_info["properties"])
if runtimeContext.runnerjob.startswith("arvwf:"):
wfuuid = runtimeContext.runnerjob[6:runtimeContext.runnerjob.index("#")]
output_properties = {}
output_properties_req, _ = self.get_requirement("http://arvados.org/cwl#OutputCollectionProperties")
if output_properties_req:
- for pr in output_properties_req["processProperties"]:
+ for pr in output_properties_req["outputProperties"]:
output_properties[pr["propertyName"]] = self.builder.do_eval(pr["propertyValue"])
self.final_output, self.final_output_collection = self.make_output_collection(self.output_name, storage_classes,
if intermediate_output_ttl > 0:
trash_time = datetime.datetime.utcnow() + datetime.timedelta(seconds=intermediate_output_ttl)
container_uuid = None
+ props = {"type": "intermediate"}
if current_container:
- container_uuid = current_container['uuid']
- props = {"type": "intermediate", "container": container_uuid}
+ props["container"] = current_container['uuid']
return {"name" : name, "trash_at" : trash_time, "properties" : props}
merged_properties.update(self.output_properties)
end
- merged_properties['type'] = out_type
+ if out_type == 'output' and !requesting_container_uuid.nil?
+ merged_properties['type'] = 'intermediate'
+ else
+ merged_properties['type'] = out_type
+ end
merged_properties['container_request'] = uuid
coll.assign_attributes(