1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: Apache-2.0
5 from cwltool.context import LoadingContext, RuntimeContext
6 from collections import namedtuple
8 class ArvLoadingContext(LoadingContext):
9 def __init__(self, kwargs=None):
10 super(ArvLoadingContext, self).__init__(kwargs)
12 ClusterTarget = namedtuple("ClusterTarget", ("instance", "cluster_id", "owner_uuid"))
14 class ArvRuntimeContext(RuntimeContext):
15 def __init__(self, kwargs=None):
17 self.extra_reffiles = []
19 self.enable_reuse = True
21 self.submit_request_uuid = None
22 self.project_uuid = None
23 self.trash_intermediate = False
24 self.intermediate_output_ttl = 0
25 self.update_workflow = ""
26 self.create_workflow = False
27 self.submit_runner_ram = 0
28 self.ignore_docker_for_reuse = False
30 self.submit_runner_image = None
32 self.cwl_runner_job = None
33 self.storage_classes = "default"
34 self.current_container = None
35 self.http_timeout = 300
36 self.submit_runner_cluster = None
37 self.cluster_target_id = 0
39 super(ArvRuntimeContext, self).__init__(kwargs)
41 if self.submit_request_uuid:
42 self.submit_runner_cluster = self.submit_request_uuid[0:5]