14198: Refactor and add support for --submit-runner-cluster
[arvados.git] / sdk / cwl / arvados_cwl / context.py
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 from cwltool.context import LoadingContext, RuntimeContext
6
7 class ArvLoadingContext(LoadingContext):
8     def __init__(self, kwargs=None):
9         super(ArvLoadingContext, self).__init__(kwargs)
10
11 class ArvRuntimeContext(RuntimeContext):
12     def __init__(self, kwargs=None):
13         self.work_api = None
14         self.extra_reffiles = []
15         self.priority = 500
16         self.enable_reuse = True
17         self.runnerjob = ""
18         self.submit_request_uuid = None
19         self.project_uuid = None
20         self.trash_intermediate = False
21         self.intermediate_output_ttl = 0
22         self.update_workflow = ""
23         self.create_workflow = False
24         self.submit_runner_ram = 0
25         self.ignore_docker_for_reuse = False
26         self.submit = True
27         self.submit_runner_image = None
28         self.wait = True
29         self.cwl_runner_job = None
30         self.storage_classes = "default"
31         self.current_container = None
32         self.http_timeout = 300
33         self.submit_runner_cluster = None
34
35         super(ArvRuntimeContext, self).__init__(kwargs)
36
37         if self.submit_request_uuid:
38             self.submit_runner_cluster = self.submit_request_uuid[0:5]