flyte 2.0.0b22__py3-none-any.whl → 2.0.0b23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of flyte might be problematic. Click here for more details.
- flyte/__init__.py +5 -0
- flyte/_bin/runtime.py +35 -5
- flyte/_cache/cache.py +4 -2
- flyte/_cache/local_cache.py +215 -0
- flyte/_code_bundle/bundle.py +1 -0
- flyte/_debug/constants.py +0 -1
- flyte/_debug/vscode.py +6 -1
- flyte/_deploy.py +193 -52
- flyte/_environment.py +5 -0
- flyte/_excepthook.py +1 -1
- flyte/_image.py +101 -72
- flyte/_initialize.py +23 -0
- flyte/_internal/controllers/_local_controller.py +64 -24
- flyte/_internal/controllers/remote/_action.py +4 -1
- flyte/_internal/controllers/remote/_controller.py +5 -2
- flyte/_internal/controllers/remote/_core.py +6 -3
- flyte/_internal/controllers/remote/_informer.py +1 -1
- flyte/_internal/imagebuild/docker_builder.py +92 -28
- flyte/_internal/imagebuild/image_builder.py +7 -13
- flyte/_internal/imagebuild/remote_builder.py +6 -1
- flyte/_internal/runtime/io.py +13 -1
- flyte/_internal/runtime/rusty.py +17 -2
- flyte/_internal/runtime/task_serde.py +14 -20
- flyte/_internal/runtime/taskrunner.py +1 -1
- flyte/_internal/runtime/trigger_serde.py +153 -0
- flyte/_logging.py +1 -1
- flyte/_protos/common/identifier_pb2.py +19 -1
- flyte/_protos/common/identifier_pb2.pyi +22 -0
- flyte/_protos/workflow/common_pb2.py +14 -3
- flyte/_protos/workflow/common_pb2.pyi +49 -0
- flyte/_protos/workflow/queue_service_pb2.py +41 -35
- flyte/_protos/workflow/queue_service_pb2.pyi +26 -12
- flyte/_protos/workflow/queue_service_pb2_grpc.py +34 -0
- flyte/_protos/workflow/run_definition_pb2.py +38 -38
- flyte/_protos/workflow/run_definition_pb2.pyi +4 -2
- flyte/_protos/workflow/run_service_pb2.py +60 -50
- flyte/_protos/workflow/run_service_pb2.pyi +24 -6
- flyte/_protos/workflow/run_service_pb2_grpc.py +34 -0
- flyte/_protos/workflow/task_definition_pb2.py +15 -11
- flyte/_protos/workflow/task_definition_pb2.pyi +19 -2
- flyte/_protos/workflow/task_service_pb2.py +18 -17
- flyte/_protos/workflow/task_service_pb2.pyi +5 -2
- flyte/_protos/workflow/trigger_definition_pb2.py +66 -0
- flyte/_protos/workflow/trigger_definition_pb2.pyi +117 -0
- flyte/_protos/workflow/trigger_definition_pb2_grpc.py +4 -0
- flyte/_protos/workflow/trigger_service_pb2.py +96 -0
- flyte/_protos/workflow/trigger_service_pb2.pyi +110 -0
- flyte/_protos/workflow/trigger_service_pb2_grpc.py +281 -0
- flyte/_run.py +42 -15
- flyte/_task.py +35 -4
- flyte/_task_environment.py +60 -15
- flyte/_trigger.py +382 -0
- flyte/_version.py +3 -3
- flyte/cli/_abort.py +3 -3
- flyte/cli/_build.py +1 -3
- flyte/cli/_common.py +15 -2
- flyte/cli/_create.py +74 -0
- flyte/cli/_delete.py +23 -1
- flyte/cli/_deploy.py +5 -9
- flyte/cli/_get.py +75 -34
- flyte/cli/_params.py +4 -2
- flyte/cli/_run.py +12 -3
- flyte/cli/_update.py +36 -0
- flyte/cli/_user.py +17 -0
- flyte/cli/main.py +9 -1
- flyte/errors.py +9 -0
- flyte/io/_dir.py +513 -115
- flyte/io/_file.py +495 -135
- flyte/models.py +32 -0
- flyte/remote/__init__.py +6 -1
- flyte/remote/_client/_protocols.py +36 -2
- flyte/remote/_client/controlplane.py +19 -3
- flyte/remote/_run.py +42 -2
- flyte/remote/_task.py +14 -1
- flyte/remote/_trigger.py +308 -0
- flyte/remote/_user.py +33 -0
- flyte/storage/__init__.py +6 -1
- flyte/storage/_storage.py +119 -101
- flyte/types/_pickle.py +16 -3
- {flyte-2.0.0b22.data → flyte-2.0.0b23.data}/scripts/runtime.py +35 -5
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/METADATA +3 -1
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/RECORD +87 -75
- flyte/_protos/secret/secret_pb2_grpc_grpc.py +0 -198
- {flyte-2.0.0b22.data → flyte-2.0.0b23.data}/scripts/debug.py +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/WHEEL +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/entry_points.txt +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/licenses/LICENSE +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/top_level.txt +0 -0
|
@@ -4,7 +4,6 @@ It includes a Resolver interface for loading tasks, and functions to load classe
|
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
import copy
|
|
7
|
-
import sys
|
|
8
7
|
import typing
|
|
9
8
|
from datetime import timedelta
|
|
10
9
|
from typing import Optional, cast
|
|
@@ -120,7 +119,7 @@ def get_proto_task(task: TaskTemplate, serialize_context: SerializationContext)
|
|
|
120
119
|
version=serialize_context.version,
|
|
121
120
|
)
|
|
122
121
|
|
|
123
|
-
# TODO Add support for
|
|
122
|
+
# TODO Add support for extra_config, custom
|
|
124
123
|
extra_config: typing.Dict[str, str] = {}
|
|
125
124
|
|
|
126
125
|
if task.pod_template and not isinstance(task.pod_template, str):
|
|
@@ -133,7 +132,7 @@ def get_proto_task(task: TaskTemplate, serialize_context: SerializationContext)
|
|
|
133
132
|
|
|
134
133
|
custom = task.custom_config(serialize_context)
|
|
135
134
|
|
|
136
|
-
sql =
|
|
135
|
+
sql = task.sql(serialize_context)
|
|
137
136
|
|
|
138
137
|
# -------------- CACHE HANDLING ----------------------
|
|
139
138
|
task_cache = cache_from_request(task.cache)
|
|
@@ -171,7 +170,7 @@ def get_proto_task(task: TaskTemplate, serialize_context: SerializationContext)
|
|
|
171
170
|
retries=get_proto_retry_strategy(task.retries),
|
|
172
171
|
timeout=get_proto_timeout(task.timeout),
|
|
173
172
|
pod_template_name=(task.pod_template if task.pod_template and isinstance(task.pod_template, str) else None),
|
|
174
|
-
interruptible=task.
|
|
173
|
+
interruptible=task.interruptible,
|
|
175
174
|
generates_deck=wrappers_pb2.BoolValue(value=task.report),
|
|
176
175
|
),
|
|
177
176
|
interface=transform_native_to_typed_interface(task.native_interface),
|
|
@@ -212,31 +211,26 @@ def _get_urun_container(
|
|
|
212
211
|
# pr: under what conditions should this return None?
|
|
213
212
|
if isinstance(task_template.image, str):
|
|
214
213
|
raise flyte.errors.RuntimeSystemError("BadConfig", "Image is not a valid image")
|
|
215
|
-
|
|
214
|
+
|
|
215
|
+
env_name = ""
|
|
216
|
+
if task_template.parent_env is not None:
|
|
217
|
+
task_env = task_template.parent_env()
|
|
218
|
+
if task_env is not None:
|
|
219
|
+
env_name = task_env.name
|
|
220
|
+
else:
|
|
221
|
+
raise flyte.errors.RuntimeSystemError("BadConfig", "Task template has no parent environment")
|
|
222
|
+
|
|
216
223
|
if not serialize_context.image_cache:
|
|
217
224
|
# This computes the image uri, computing hashes as necessary so can fail if done remotely.
|
|
218
225
|
img_uri = task_template.image.uri
|
|
219
|
-
elif serialize_context.image_cache and
|
|
226
|
+
elif serialize_context.image_cache and env_name not in serialize_context.image_cache.image_lookup:
|
|
220
227
|
img_uri = task_template.image.uri
|
|
221
228
|
|
|
222
229
|
logger.warning(
|
|
223
230
|
f"Image {task_template.image} not found in the image cache: {serialize_context.image_cache.image_lookup}."
|
|
224
231
|
)
|
|
225
232
|
else:
|
|
226
|
-
|
|
227
|
-
version_lookup = serialize_context.image_cache.image_lookup[image_id]
|
|
228
|
-
if python_version_str in version_lookup:
|
|
229
|
-
img_uri = version_lookup[python_version_str]
|
|
230
|
-
elif version_lookup:
|
|
231
|
-
# Fallback: try to get any available version
|
|
232
|
-
fallback_py_version, img_uri = next(iter(version_lookup.items()))
|
|
233
|
-
logger.warning(
|
|
234
|
-
f"Image {task_template.image} for python version {python_version_str} "
|
|
235
|
-
f"not found in the image cache: {serialize_context.image_cache.image_lookup}.\n"
|
|
236
|
-
f"Fall back using image {img_uri} for python version {fallback_py_version} ."
|
|
237
|
-
)
|
|
238
|
-
else:
|
|
239
|
-
img_uri = task_template.image.uri
|
|
233
|
+
img_uri = serialize_context.image_cache.image_lookup[env_name]
|
|
240
234
|
|
|
241
235
|
return tasks_pb2.Container(
|
|
242
236
|
image=img_uri,
|
|
@@ -144,7 +144,7 @@ async def convert_and_run(
|
|
|
144
144
|
interactive_mode=interactive_mode,
|
|
145
145
|
)
|
|
146
146
|
with ctx.replace_task_context(tctx):
|
|
147
|
-
inputs = await load_inputs(input_path) if input_path else inputs
|
|
147
|
+
inputs = await load_inputs(input_path, path_rewrite_config=raw_data_path.path_rewrite) if input_path else inputs
|
|
148
148
|
inputs_kwargs = await convert_inputs_to_native(inputs, task.native_interface)
|
|
149
149
|
out, err = await run_task(tctx=tctx, controller=controller, task=task, inputs=inputs_kwargs)
|
|
150
150
|
if err is not None:
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
from typing import Union
|
|
3
|
+
|
|
4
|
+
from flyteidl.core import interface_pb2, literals_pb2
|
|
5
|
+
from google.protobuf import timestamp_pb2, wrappers_pb2
|
|
6
|
+
|
|
7
|
+
import flyte.types
|
|
8
|
+
from flyte import Cron, FixedRate, Trigger, TriggerTime
|
|
9
|
+
from flyte._protos.workflow import common_pb2, run_definition_pb2, trigger_definition_pb2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _to_schedule(m: Union[Cron, FixedRate], kickoff_arg_name: str | None = None) -> common_pb2.Schedule:
|
|
13
|
+
if isinstance(m, Cron):
|
|
14
|
+
return common_pb2.Schedule(
|
|
15
|
+
cron_expression=m.expression,
|
|
16
|
+
kickoff_time_input_arg=kickoff_arg_name,
|
|
17
|
+
)
|
|
18
|
+
elif isinstance(m, FixedRate):
|
|
19
|
+
start_time = None
|
|
20
|
+
if m.start_time is not None:
|
|
21
|
+
start_time = timestamp_pb2.Timestamp()
|
|
22
|
+
start_time.FromDatetime(m.start_time)
|
|
23
|
+
|
|
24
|
+
return common_pb2.Schedule(
|
|
25
|
+
rate=common_pb2.FixedRate(
|
|
26
|
+
value=m.interval_minutes,
|
|
27
|
+
unit=common_pb2.FixedRateUnit.FIXED_RATE_UNIT_MINUTE,
|
|
28
|
+
start_time=start_time,
|
|
29
|
+
),
|
|
30
|
+
kickoff_time_input_arg=kickoff_arg_name,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
async def process_default_inputs(
|
|
35
|
+
default_inputs: dict,
|
|
36
|
+
task_name: str,
|
|
37
|
+
task_inputs: interface_pb2.VariableMap,
|
|
38
|
+
task_default_inputs: list[common_pb2.NamedParameter],
|
|
39
|
+
) -> list[run_definition_pb2.NamedLiteral]:
|
|
40
|
+
"""
|
|
41
|
+
Process default inputs and convert them to NamedLiteral objects.
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
default_inputs: Dictionary of default input values
|
|
45
|
+
task_name: Name of the task for error messages
|
|
46
|
+
task_inputs: Task input variable map
|
|
47
|
+
task_default_inputs: List of default parameters from task
|
|
48
|
+
|
|
49
|
+
Returns:
|
|
50
|
+
List of NamedLiteral objects
|
|
51
|
+
"""
|
|
52
|
+
keys = []
|
|
53
|
+
literal_coros = []
|
|
54
|
+
for k, v in default_inputs.items():
|
|
55
|
+
if k not in task_inputs.variables:
|
|
56
|
+
raise ValueError(
|
|
57
|
+
f"Trigger default input '{k}' must be an input to the task, but not found in task {task_name}. "
|
|
58
|
+
f"Available inputs: {list(task_inputs.variables.keys())}"
|
|
59
|
+
)
|
|
60
|
+
else:
|
|
61
|
+
literal_coros.append(flyte.types.TypeEngine.to_literal(v, type(v), task_inputs.variables[k].type))
|
|
62
|
+
keys.append(k)
|
|
63
|
+
|
|
64
|
+
final_literals: list[literals_pb2.Literal] = await asyncio.gather(*literal_coros)
|
|
65
|
+
|
|
66
|
+
for p in task_default_inputs or []:
|
|
67
|
+
if p.name not in keys:
|
|
68
|
+
keys.append(p.name)
|
|
69
|
+
final_literals.append(p.parameter.default)
|
|
70
|
+
|
|
71
|
+
literals: list[run_definition_pb2.NamedLiteral] = []
|
|
72
|
+
for k, lit in zip(keys, final_literals):
|
|
73
|
+
literals.append(
|
|
74
|
+
run_definition_pb2.NamedLiteral(
|
|
75
|
+
name=k,
|
|
76
|
+
value=lit,
|
|
77
|
+
)
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
return literals
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
async def to_task_trigger(
|
|
84
|
+
t: Trigger,
|
|
85
|
+
task_name: str,
|
|
86
|
+
task_inputs: interface_pb2.VariableMap,
|
|
87
|
+
task_default_inputs: list[common_pb2.NamedParameter],
|
|
88
|
+
) -> trigger_definition_pb2.TaskTrigger:
|
|
89
|
+
"""
|
|
90
|
+
Converts a Trigger object to a TaskTrigger protobuf object.
|
|
91
|
+
Args:
|
|
92
|
+
t:
|
|
93
|
+
task_name:
|
|
94
|
+
task_inputs:
|
|
95
|
+
task_default_inputs:
|
|
96
|
+
Returns:
|
|
97
|
+
|
|
98
|
+
"""
|
|
99
|
+
env = None
|
|
100
|
+
if t.env_vars:
|
|
101
|
+
env = run_definition_pb2.Envs()
|
|
102
|
+
for k, v in t.env_vars.items():
|
|
103
|
+
env.values.append(literals_pb2.KeyValuePair(key=k, value=v))
|
|
104
|
+
|
|
105
|
+
labels = run_definition_pb2.Labels(values=t.labels) if t.labels else None
|
|
106
|
+
|
|
107
|
+
annotations = run_definition_pb2.Annotations(values=t.annotations) if t.annotations else None
|
|
108
|
+
|
|
109
|
+
run_spec = run_definition_pb2.RunSpec(
|
|
110
|
+
overwrite_cache=t.overwrite_cache,
|
|
111
|
+
envs=env,
|
|
112
|
+
interruptible=wrappers_pb2.BoolValue(value=t.interruptible) if t.interruptible is not None else None,
|
|
113
|
+
cluster=t.queue,
|
|
114
|
+
labels=labels,
|
|
115
|
+
annotations=annotations,
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
kickoff_arg_name = None
|
|
119
|
+
default_inputs = {}
|
|
120
|
+
if t.inputs:
|
|
121
|
+
for k, v in t.inputs.items():
|
|
122
|
+
if v is TriggerTime:
|
|
123
|
+
kickoff_arg_name = k
|
|
124
|
+
else:
|
|
125
|
+
default_inputs[k] = v
|
|
126
|
+
|
|
127
|
+
# assert that default_inputs and the kickoff_arg_name are infact in the task inputs
|
|
128
|
+
if kickoff_arg_name is not None and kickoff_arg_name not in task_inputs.variables:
|
|
129
|
+
raise ValueError(
|
|
130
|
+
f"For a scheduled trigger, the TriggerTime input '{kickoff_arg_name}' "
|
|
131
|
+
f"must be an input to the task, but not found in task {task_name}. "
|
|
132
|
+
f"Available inputs: {list(task_inputs.variables.keys())}"
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
literals = await process_default_inputs(default_inputs, task_name, task_inputs, task_default_inputs)
|
|
136
|
+
|
|
137
|
+
automation = _to_schedule(
|
|
138
|
+
t.automation,
|
|
139
|
+
kickoff_arg_name=kickoff_arg_name,
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
return trigger_definition_pb2.TaskTrigger(
|
|
143
|
+
name=t.name,
|
|
144
|
+
spec=trigger_definition_pb2.TaskTriggerSpec(
|
|
145
|
+
active=t.auto_activate,
|
|
146
|
+
run_spec=run_spec,
|
|
147
|
+
inputs=run_definition_pb2.Inputs(literals=literals),
|
|
148
|
+
),
|
|
149
|
+
automation_spec=common_pb2.TriggerAutomationSpec(
|
|
150
|
+
type=common_pb2.TriggerAutomationSpec.Type.TYPE_SCHEDULE,
|
|
151
|
+
schedule=automation,
|
|
152
|
+
),
|
|
153
|
+
)
|
flyte/_logging.py
CHANGED
|
@@ -71,7 +71,7 @@ def get_rich_handler(log_level: int) -> Optional[logging.Handler]:
|
|
|
71
71
|
|
|
72
72
|
handler = RichHandler(
|
|
73
73
|
tracebacks_suppress=[click],
|
|
74
|
-
rich_tracebacks=
|
|
74
|
+
rich_tracebacks=False,
|
|
75
75
|
omit_repeated_times=False,
|
|
76
76
|
show_path=False,
|
|
77
77
|
log_time_format="%H:%M:%S.%f",
|
|
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
from flyte._protos.validate.validate import validate_pb2 as validate_dot_validate__pb2
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63ommon/identifier.proto\x12\x0f\x63loudidl.common\x1a\x17validate/validate.proto\"~\n\x11ProjectIdentifier\x12+\n\x0corganization\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0corganization\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x06\x64omain\x12\x1b\n\x04name\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"T\n\x11\x43lusterIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"O\n\x15\x43lusterPoolIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"_\n\x17\x43lusterConfigIdentifier\x12+\n\x0corganization\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0corganization\x12\x17\n\x02id\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x02id\"\x88\x01\n\x19\x43lusterNodepoolIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12*\n\x0c\x63luster_name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0b\x63lusterName\x12\x1b\n\x04name\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"3\n\x0eUserIdentifier\x12!\n\x07subject\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x07subject\":\n\x15\x41pplicationIdentifier\x12!\n\x07subject\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x07subject\"Q\n\x0eRoleIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"O\n\rOrgIdentifier\x12>\n\x04name\x18\x01 \x01(\tB*\xfa\x42\'r%\x10\x01\x18?2\x1f^[a-z0-9]([-a-z0-9]*[a-z0-9])?$R\x04name\"y\n\x18ManagedClusterIdentifier\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\x12:\n\x03org\x18\x03 \x01(\x0b\x32\x1e.cloudidl.common.OrgIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x03orgJ\x04\x08\x01\x10\x02\"S\n\x10PolicyIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"\x93\x01\n\rRunIdentifier\x12\x1b\n\x03org\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x03org\x12#\n\x07project\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x07project\x12!\n\x06\x64omain\x18\x03 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x06\x64omain\x12\x1d\n\x04name\x18\x04 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x1eR\x04name\"m\n\x10\x41\x63tionIdentifier\x12:\n\x03run\x18\x01 \x01(\x0b\x32\x1e.cloudidl.common.RunIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x03run\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x1eR\x04name\"\x86\x01\n\x17\x41\x63tionAttemptIdentifier\x12H\n\taction_id\x18\x01 \x01(\x0b\x32!.cloudidl.common.ActionIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xfa\x42\x04*\x02 \x00R\x07\
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17\x63ommon/identifier.proto\x12\x0f\x63loudidl.common\x1a\x17validate/validate.proto\"~\n\x11ProjectIdentifier\x12+\n\x0corganization\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0corganization\x12\x1f\n\x06\x64omain\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x06\x64omain\x12\x1b\n\x04name\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"T\n\x11\x43lusterIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"O\n\x15\x43lusterPoolIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\"_\n\x17\x43lusterConfigIdentifier\x12+\n\x0corganization\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0corganization\x12\x17\n\x02id\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x02id\"\x88\x01\n\x19\x43lusterNodepoolIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12*\n\x0c\x63luster_name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0b\x63lusterName\x12\x1b\n\x04name\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"3\n\x0eUserIdentifier\x12!\n\x07subject\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x07subject\":\n\x15\x41pplicationIdentifier\x12!\n\x07subject\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x07subject\"Q\n\x0eRoleIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"O\n\rOrgIdentifier\x12>\n\x04name\x18\x01 \x01(\tB*\xfa\x42\'r%\x10\x01\x18?2\x1f^[a-z0-9]([-a-z0-9]*[a-z0-9])?$R\x04name\"y\n\x18ManagedClusterIdentifier\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\x12:\n\x03org\x18\x03 \x01(\x0b\x32\x1e.cloudidl.common.OrgIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x03orgJ\x04\x08\x01\x10\x02\"S\n\x10PolicyIdentifier\x12\"\n\x0corganization\x18\x01 \x01(\tR\x0corganization\x12\x1b\n\x04name\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"\x93\x01\n\rRunIdentifier\x12\x1b\n\x03org\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x03org\x12#\n\x07project\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x07project\x12!\n\x06\x64omain\x18\x03 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x06\x64omain\x12\x1d\n\x04name\x18\x04 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x1eR\x04name\"m\n\x10\x41\x63tionIdentifier\x12:\n\x03run\x18\x01 \x01(\x0b\x32\x1e.cloudidl.common.RunIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x03run\x12\x1d\n\x04name\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18\x1eR\x04name\"\x86\x01\n\x17\x41\x63tionAttemptIdentifier\x12H\n\taction_id\x18\x01 \x01(\x0b\x32!.cloudidl.common.ActionIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08\x61\x63tionId\x12!\n\x07\x61ttempt\x18\x02 \x01(\rB\x07\xfa\x42\x04*\x02 \x00R\x07\x61ttempt\"\xbb\x01\n\x0bTriggerName\x12\x1b\n\x03org\x18\x01 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x03org\x12#\n\x07project\x18\x02 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x07project\x12!\n\x06\x64omain\x18\x03 \x01(\tB\t\xfa\x42\x06r\x04\x10\x01\x18?R\x06\x64omain\x12\x1e\n\x04name\x18\x04 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x04name\x12\'\n\ttask_name\x18\x05 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01R\x08taskName\"t\n\x11TriggerIdentifier\x12:\n\x04name\x18\x01 \x01(\x0b\x32\x1c.cloudidl.common.TriggerNameB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x04name\x12#\n\x08revision\x18\x02 \x01(\x04\x42\x07\xfa\x42\x04\x32\x02 \x00R\x08revisionB\xb0\x01\n\x13\x63om.cloudidl.commonB\x0fIdentifierProtoH\x02P\x01Z)github.com/unionai/cloud/gen/pb-go/common\xa2\x02\x03\x43\x43X\xaa\x02\x0f\x43loudidl.Common\xca\x02\x0f\x43loudidl\\Common\xe2\x02\x1b\x43loudidl\\Common\\GPBMetadata\xea\x02\x10\x43loudidl::Commonb\x06proto3')
|
|
18
18
|
|
|
19
19
|
_globals = globals()
|
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -68,6 +68,20 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
68
68
|
_ACTIONATTEMPTIDENTIFIER.fields_by_name['action_id']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
69
69
|
_ACTIONATTEMPTIDENTIFIER.fields_by_name['attempt']._options = None
|
|
70
70
|
_ACTIONATTEMPTIDENTIFIER.fields_by_name['attempt']._serialized_options = b'\372B\004*\002 \000'
|
|
71
|
+
_TRIGGERNAME.fields_by_name['org']._options = None
|
|
72
|
+
_TRIGGERNAME.fields_by_name['org']._serialized_options = b'\372B\006r\004\020\001\030?'
|
|
73
|
+
_TRIGGERNAME.fields_by_name['project']._options = None
|
|
74
|
+
_TRIGGERNAME.fields_by_name['project']._serialized_options = b'\372B\006r\004\020\001\030?'
|
|
75
|
+
_TRIGGERNAME.fields_by_name['domain']._options = None
|
|
76
|
+
_TRIGGERNAME.fields_by_name['domain']._serialized_options = b'\372B\006r\004\020\001\030?'
|
|
77
|
+
_TRIGGERNAME.fields_by_name['name']._options = None
|
|
78
|
+
_TRIGGERNAME.fields_by_name['name']._serialized_options = b'\372B\007r\005\020\001\030\377\001'
|
|
79
|
+
_TRIGGERNAME.fields_by_name['task_name']._options = None
|
|
80
|
+
_TRIGGERNAME.fields_by_name['task_name']._serialized_options = b'\372B\007r\005\020\001\030\377\001'
|
|
81
|
+
_TRIGGERIDENTIFIER.fields_by_name['name']._options = None
|
|
82
|
+
_TRIGGERIDENTIFIER.fields_by_name['name']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
83
|
+
_TRIGGERIDENTIFIER.fields_by_name['revision']._options = None
|
|
84
|
+
_TRIGGERIDENTIFIER.fields_by_name['revision']._serialized_options = b'\372B\0042\002 \000'
|
|
71
85
|
_globals['_PROJECTIDENTIFIER']._serialized_start=69
|
|
72
86
|
_globals['_PROJECTIDENTIFIER']._serialized_end=195
|
|
73
87
|
_globals['_CLUSTERIDENTIFIER']._serialized_start=197
|
|
@@ -96,4 +110,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
96
110
|
_globals['_ACTIONIDENTIFIER']._serialized_end=1344
|
|
97
111
|
_globals['_ACTIONATTEMPTIDENTIFIER']._serialized_start=1347
|
|
98
112
|
_globals['_ACTIONATTEMPTIDENTIFIER']._serialized_end=1481
|
|
113
|
+
_globals['_TRIGGERNAME']._serialized_start=1484
|
|
114
|
+
_globals['_TRIGGERNAME']._serialized_end=1671
|
|
115
|
+
_globals['_TRIGGERIDENTIFIER']._serialized_start=1673
|
|
116
|
+
_globals['_TRIGGERIDENTIFIER']._serialized_end=1789
|
|
99
117
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -118,3 +118,25 @@ class ActionAttemptIdentifier(_message.Message):
|
|
|
118
118
|
action_id: ActionIdentifier
|
|
119
119
|
attempt: int
|
|
120
120
|
def __init__(self, action_id: _Optional[_Union[ActionIdentifier, _Mapping]] = ..., attempt: _Optional[int] = ...) -> None: ...
|
|
121
|
+
|
|
122
|
+
class TriggerName(_message.Message):
|
|
123
|
+
__slots__ = ["org", "project", "domain", "name", "task_name"]
|
|
124
|
+
ORG_FIELD_NUMBER: _ClassVar[int]
|
|
125
|
+
PROJECT_FIELD_NUMBER: _ClassVar[int]
|
|
126
|
+
DOMAIN_FIELD_NUMBER: _ClassVar[int]
|
|
127
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
128
|
+
TASK_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
129
|
+
org: str
|
|
130
|
+
project: str
|
|
131
|
+
domain: str
|
|
132
|
+
name: str
|
|
133
|
+
task_name: str
|
|
134
|
+
def __init__(self, org: _Optional[str] = ..., project: _Optional[str] = ..., domain: _Optional[str] = ..., name: _Optional[str] = ..., task_name: _Optional[str] = ...) -> None: ...
|
|
135
|
+
|
|
136
|
+
class TriggerIdentifier(_message.Message):
|
|
137
|
+
__slots__ = ["name", "revision"]
|
|
138
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
139
|
+
REVISION_FIELD_NUMBER: _ClassVar[int]
|
|
140
|
+
name: TriggerName
|
|
141
|
+
revision: int
|
|
142
|
+
def __init__(self, name: _Optional[_Union[TriggerName, _Mapping]] = ..., revision: _Optional[int] = ...) -> None: ...
|
|
@@ -12,9 +12,10 @@ _sym_db = _symbol_database.Default()
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
from flyteidl.core import interface_pb2 as flyteidl_dot_core_dot_interface__pb2
|
|
15
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
15
16
|
|
|
16
17
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15workflow/common.proto\x12\x11\x63loudidl.workflow\x1a\x1d\x66lyteidl/core/interface.proto\"\\\n\x0eNamedParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x36\n\tparameter\x18\x02 \x01(\x0b\x32\x18.flyteidl.core.ParameterR\
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15workflow/common.proto\x12\x11\x63loudidl.workflow\x1a\x1d\x66lyteidl/core/interface.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\\\n\x0eNamedParameter\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x36\n\tparameter\x18\x02 \x01(\x0b\x32\x18.flyteidl.core.ParameterR\tparameter\"\x92\x01\n\tFixedRate\x12\x14\n\x05value\x18\x01 \x01(\rR\x05value\x12\x34\n\x04unit\x18\x02 \x01(\x0e\x32 .cloudidl.workflow.FixedRateUnitR\x04unit\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\"\xac\x01\n\x08Schedule\x12\x32\n\x04rate\x18\x01 \x01(\x0b\x32\x1c.cloudidl.workflow.FixedRateH\x00R\x04rate\x12)\n\x0f\x63ron_expression\x18\x02 \x01(\tH\x00R\x0e\x63ronExpression\x12\x33\n\x16kickoff_time_input_arg\x18\x03 \x01(\tR\x13kickoffTimeInputArgB\x0c\n\nexpression\"\xe3\x01\n\x15TriggerAutomationSpec\x12\x41\n\x04type\x18\x01 \x01(\x0e\x32-.cloudidl.workflow.TriggerAutomationSpec.TypeR\x04type\x12\x39\n\x08schedule\x18\x02 \x01(\x0b\x32\x1b.cloudidl.workflow.ScheduleH\x00R\x08schedule\">\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\r\n\tTYPE_NONE\x10\x01\x12\x11\n\rTYPE_SCHEDULE\x10\x02\x42\x0c\n\nautomation*\x7f\n\rFixedRateUnit\x12\x1f\n\x1b\x46IXED_RATE_UNIT_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x46IXED_RATE_UNIT_MINUTE\x10\x01\x12\x18\n\x14\x46IXED_RATE_UNIT_HOUR\x10\x02\x12\x17\n\x13\x46IXED_RATE_UNIT_DAY\x10\x03\x42\xb8\x01\n\x15\x63om.cloudidl.workflowB\x0b\x43ommonProtoH\x02P\x01Z+github.com/unionai/cloud/gen/pb-go/workflow\xa2\x02\x03\x43WX\xaa\x02\x11\x43loudidl.Workflow\xca\x02\x11\x43loudidl\\Workflow\xe2\x02\x1d\x43loudidl\\Workflow\\GPBMetadata\xea\x02\x12\x43loudidl::Workflowb\x06proto3')
|
|
18
19
|
|
|
19
20
|
_globals = globals()
|
|
20
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -22,6 +23,16 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'workflow.common_pb2', _glob
|
|
|
22
23
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
23
24
|
DESCRIPTOR._options = None
|
|
24
25
|
DESCRIPTOR._serialized_options = b'\n\025com.cloudidl.workflowB\013CommonProtoH\002P\001Z+github.com/unionai/cloud/gen/pb-go/workflow\242\002\003CWX\252\002\021Cloudidl.Workflow\312\002\021Cloudidl\\Workflow\342\002\035Cloudidl\\Workflow\\GPBMetadata\352\002\022Cloudidl::Workflow'
|
|
25
|
-
_globals['
|
|
26
|
-
_globals['
|
|
26
|
+
_globals['_FIXEDRATEUNIT']._serialized_start=756
|
|
27
|
+
_globals['_FIXEDRATEUNIT']._serialized_end=883
|
|
28
|
+
_globals['_NAMEDPARAMETER']._serialized_start=108
|
|
29
|
+
_globals['_NAMEDPARAMETER']._serialized_end=200
|
|
30
|
+
_globals['_FIXEDRATE']._serialized_start=203
|
|
31
|
+
_globals['_FIXEDRATE']._serialized_end=349
|
|
32
|
+
_globals['_SCHEDULE']._serialized_start=352
|
|
33
|
+
_globals['_SCHEDULE']._serialized_end=524
|
|
34
|
+
_globals['_TRIGGERAUTOMATIONSPEC']._serialized_start=527
|
|
35
|
+
_globals['_TRIGGERAUTOMATIONSPEC']._serialized_end=754
|
|
36
|
+
_globals['_TRIGGERAUTOMATIONSPEC_TYPE']._serialized_start=678
|
|
37
|
+
_globals['_TRIGGERAUTOMATIONSPEC_TYPE']._serialized_end=740
|
|
27
38
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,10 +1,23 @@
|
|
|
1
1
|
from flyteidl.core import interface_pb2 as _interface_pb2
|
|
2
|
+
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
3
|
+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
|
|
2
4
|
from google.protobuf import descriptor as _descriptor
|
|
3
5
|
from google.protobuf import message as _message
|
|
4
6
|
from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
|
|
5
7
|
|
|
6
8
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
7
9
|
|
|
10
|
+
class FixedRateUnit(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
11
|
+
__slots__ = []
|
|
12
|
+
FIXED_RATE_UNIT_UNSPECIFIED: _ClassVar[FixedRateUnit]
|
|
13
|
+
FIXED_RATE_UNIT_MINUTE: _ClassVar[FixedRateUnit]
|
|
14
|
+
FIXED_RATE_UNIT_HOUR: _ClassVar[FixedRateUnit]
|
|
15
|
+
FIXED_RATE_UNIT_DAY: _ClassVar[FixedRateUnit]
|
|
16
|
+
FIXED_RATE_UNIT_UNSPECIFIED: FixedRateUnit
|
|
17
|
+
FIXED_RATE_UNIT_MINUTE: FixedRateUnit
|
|
18
|
+
FIXED_RATE_UNIT_HOUR: FixedRateUnit
|
|
19
|
+
FIXED_RATE_UNIT_DAY: FixedRateUnit
|
|
20
|
+
|
|
8
21
|
class NamedParameter(_message.Message):
|
|
9
22
|
__slots__ = ["name", "parameter"]
|
|
10
23
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -12,3 +25,39 @@ class NamedParameter(_message.Message):
|
|
|
12
25
|
name: str
|
|
13
26
|
parameter: _interface_pb2.Parameter
|
|
14
27
|
def __init__(self, name: _Optional[str] = ..., parameter: _Optional[_Union[_interface_pb2.Parameter, _Mapping]] = ...) -> None: ...
|
|
28
|
+
|
|
29
|
+
class FixedRate(_message.Message):
|
|
30
|
+
__slots__ = ["value", "unit", "start_time"]
|
|
31
|
+
VALUE_FIELD_NUMBER: _ClassVar[int]
|
|
32
|
+
UNIT_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
START_TIME_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
+
value: int
|
|
35
|
+
unit: FixedRateUnit
|
|
36
|
+
start_time: _timestamp_pb2.Timestamp
|
|
37
|
+
def __init__(self, value: _Optional[int] = ..., unit: _Optional[_Union[FixedRateUnit, str]] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
|
|
38
|
+
|
|
39
|
+
class Schedule(_message.Message):
|
|
40
|
+
__slots__ = ["rate", "cron_expression", "kickoff_time_input_arg"]
|
|
41
|
+
RATE_FIELD_NUMBER: _ClassVar[int]
|
|
42
|
+
CRON_EXPRESSION_FIELD_NUMBER: _ClassVar[int]
|
|
43
|
+
KICKOFF_TIME_INPUT_ARG_FIELD_NUMBER: _ClassVar[int]
|
|
44
|
+
rate: FixedRate
|
|
45
|
+
cron_expression: str
|
|
46
|
+
kickoff_time_input_arg: str
|
|
47
|
+
def __init__(self, rate: _Optional[_Union[FixedRate, _Mapping]] = ..., cron_expression: _Optional[str] = ..., kickoff_time_input_arg: _Optional[str] = ...) -> None: ...
|
|
48
|
+
|
|
49
|
+
class TriggerAutomationSpec(_message.Message):
|
|
50
|
+
__slots__ = ["type", "schedule"]
|
|
51
|
+
class Type(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
52
|
+
__slots__ = []
|
|
53
|
+
TYPE_UNSPECIFIED: _ClassVar[TriggerAutomationSpec.Type]
|
|
54
|
+
TYPE_NONE: _ClassVar[TriggerAutomationSpec.Type]
|
|
55
|
+
TYPE_SCHEDULE: _ClassVar[TriggerAutomationSpec.Type]
|
|
56
|
+
TYPE_UNSPECIFIED: TriggerAutomationSpec.Type
|
|
57
|
+
TYPE_NONE: TriggerAutomationSpec.Type
|
|
58
|
+
TYPE_SCHEDULE: TriggerAutomationSpec.Type
|
|
59
|
+
TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
60
|
+
SCHEDULE_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
+
type: TriggerAutomationSpec.Type
|
|
62
|
+
schedule: Schedule
|
|
63
|
+
def __init__(self, type: _Optional[_Union[TriggerAutomationSpec.Type, str]] = ..., schedule: _Optional[_Union[Schedule, _Mapping]] = ...) -> None: ...
|
|
@@ -20,7 +20,7 @@ from flyte._protos.workflow import run_definition_pb2 as workflow_dot_run__defin
|
|
|
20
20
|
from flyte._protos.workflow import task_definition_pb2 as workflow_dot_task__definition__pb2
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cworkflow/queue_service.proto\x12\x11\x63loudidl.workflow\x1a\x17\x63ommon/identifier.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17validate/validate.proto\x1a\x1dworkflow/run_definition.proto\x1a\x1eworkflow/task_definition.proto\"\
|
|
23
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cworkflow/queue_service.proto\x12\x11\x63loudidl.workflow\x1a\x17\x63ommon/identifier.proto\x1a\x19\x66lyteidl/core/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17validate/validate.proto\x1a\x1dworkflow/run_definition.proto\x1a\x1eworkflow/task_definition.proto\"\xbf\x04\n\x14\x45nqueueActionRequest\x12H\n\taction_id\x18\x01 \x01(\x0b\x32!.cloudidl.common.ActionIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08\x61\x63tionId\x12\x31\n\x12parent_action_name\x18\x02 \x01(\tH\x01R\x10parentActionName\x88\x01\x01\x12\x35\n\x08run_spec\x18\x03 \x01(\x0b\x32\x1a.cloudidl.workflow.RunSpecR\x07runSpec\x12$\n\tinput_uri\x18\x06 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x08inputUri\x12/\n\x0frun_output_base\x18\x07 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\rrunOutputBase\x12\x14\n\x05group\x18\x08 \x01(\tR\x05group\x12\x18\n\x07subject\x18\t \x01(\tR\x07subject\x12=\n\x04task\x18\n \x01(\x0b\x32\x1d.cloudidl.workflow.TaskActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\x04task\x12@\n\x05trace\x18\x0b \x01(\x0b\x32\x1e.cloudidl.workflow.TraceActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\x05trace\x12L\n\tcondition\x18\x0c \x01(\x0b\x32\".cloudidl.workflow.ConditionActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\tconditionB\x06\n\x04specB\x15\n\x13_parent_action_name\"\xcf\x01\n\nTaskAction\x12\x31\n\x02id\x18\x01 \x01(\x0b\x32!.cloudidl.workflow.TaskIdentifierR\x02id\x12\x39\n\x04spec\x18\x02 \x01(\x0b\x32\x1b.cloudidl.workflow.TaskSpecB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x04spec\x12\x39\n\tcache_key\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValueR\x08\x63\x61\x63heKey\x12\x18\n\x07\x63luster\x18\x04 \x01(\tR\x07\x63luster\"\xd9\x02\n\x0bTraceAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\x12.\n\x05phase\x18\x02 \x01(\x0e\x32\x18.cloudidl.workflow.PhaseR\x05phase\x12\x39\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x07\x65ndTime\x88\x01\x01\x12=\n\x07outputs\x18\x05 \x01(\x0b\x32#.cloudidl.workflow.OutputReferencesR\x07outputs\x12:\n\x04spec\x18\x06 \x01(\x0b\x32\x1c.cloudidl.workflow.TraceSpecB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x04specB\x0b\n\t_end_time\"\x8a\x02\n\x0f\x43onditionAction\x12\x1b\n\x04name\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\x12 \n\x06run_id\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01H\x00R\x05runId\x12&\n\taction_id\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01H\x00R\x08\x61\x63tionId\x12\x18\n\x06global\x18\x04 \x01(\x08H\x00R\x06global\x12.\n\x04type\x18\x06 \x01(\x0b\x32\x1a.flyteidl.core.LiteralTypeR\x04type\x12\x16\n\x06prompt\x18\x07 \x01(\tR\x06prompt\x12 \n\x0b\x64\x65scription\x18\x08 \x01(\tR\x0b\x64\x65scriptionB\x0c\n\x05scope\x12\x03\xf8\x42\x01\"\x17\n\x15\x45nqueueActionResponse\"\x80\x01\n\x15\x41\x62ortQueuedRunRequest\x12?\n\x06run_id\x18\x01 \x01(\x0b\x32\x1e.cloudidl.common.RunIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x05runId\x12\x1b\n\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01\x42\t\n\x07_reason\"\x18\n\x16\x41\x62ortQueuedRunResponse\"\x8c\x01\n\x18\x41\x62ortQueuedActionRequest\x12H\n\taction_id\x18\x01 \x01(\x0b\x32!.cloudidl.common.ActionIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08\x61\x63tionId\x12\x1b\n\x06reason\x18\x02 \x01(\tH\x00R\x06reason\x88\x01\x01\x42\t\n\x07_reason\"\x1b\n\x19\x41\x62ortQueuedActionResponse\"\x7f\n\x10WorkerIdentifier\x12+\n\x0corganization\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x0corganization\x12!\n\x07\x63luster\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x07\x63luster\x12\x1b\n\x04name\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x04name\"\x80\x03\n\x10HeartbeatRequest\x12J\n\tworker_id\x18\x01 \x01(\x0b\x32#.cloudidl.workflow.WorkerIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08workerId\x12M\n\x11\x61\x63tive_action_ids\x18\x02 \x03(\x0b\x32!.cloudidl.common.ActionIdentifierR\x0f\x61\x63tiveActionIds\x12Q\n\x13terminal_action_ids\x18\x03 \x03(\x0b\x32!.cloudidl.common.ActionIdentifierR\x11terminalActionIds\x12O\n\x12\x61\x62orted_action_ids\x18\x04 \x03(\x0b\x32!.cloudidl.common.ActionIdentifierR\x10\x61\x62ortedActionIds\x12-\n\x12\x61vailable_capacity\x18\x05 \x01(\x05R\x11\x61vailableCapacity\"\xe2\x01\n\x11HeartbeatResponse\x12\x37\n\nnew_leases\x18\x01 \x03(\x0b\x32\x18.cloudidl.workflow.LeaseR\tnewLeases\x12?\n\x0e\x61\x62orted_leases\x18\x02 \x03(\x0b\x32\x18.cloudidl.workflow.LeaseR\rabortedLeases\x12S\n\x14\x66inalized_action_ids\x18\x03 \x03(\x0b\x32!.cloudidl.common.ActionIdentifierR\x12\x66inalizedActionIds\"a\n\x13StreamLeasesRequest\x12J\n\tworker_id\x18\x01 \x01(\x0b\x32#.cloudidl.workflow.WorkerIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08workerId\"H\n\x14StreamLeasesResponse\x12\x30\n\x06leases\x18\x01 \x03(\x0b\x32\x18.cloudidl.workflow.LeaseR\x06leases\"\xc9\x04\n\x05Lease\x12H\n\taction_id\x18\x01 \x01(\x0b\x32!.cloudidl.common.ActionIdentifierB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01R\x08\x61\x63tionId\x12\x31\n\x12parent_action_name\x18\x02 \x01(\tH\x01R\x10parentActionName\x88\x01\x01\x12\x35\n\x08run_spec\x18\x03 \x01(\x0b\x32\x1a.cloudidl.workflow.RunSpecR\x07runSpec\x12$\n\tinput_uri\x18\x04 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\x08inputUri\x12/\n\x0frun_output_base\x18\x05 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01R\rrunOutputBase\x12=\n\x04task\x18\x06 \x01(\x0b\x32\x1d.cloudidl.workflow.TaskActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\x04task\x12L\n\tcondition\x18\x07 \x01(\x0b\x32\".cloudidl.workflow.ConditionActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\tcondition\x12@\n\x05trace\x18\n \x01(\x0b\x32\x1e.cloudidl.workflow.TraceActionB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01H\x00R\x05trace\x12\x14\n\x05group\x18\x08 \x01(\tR\x05group\x12\x18\n\x07subject\x18\t \x01(\tR\x07subject\x12\x12\n\x04host\x18\x0b \x01(\tR\x04hostB\x0b\n\x04spec\x12\x03\xf8\x42\x01\x42\x15\n\x13_parent_action_name2\x92\x04\n\x0cQueueService\x12\x64\n\rEnqueueAction\x12\'.cloudidl.workflow.EnqueueActionRequest\x1a(.cloudidl.workflow.EnqueueActionResponse\"\x00\x12g\n\x0e\x41\x62ortQueuedRun\x12(.cloudidl.workflow.AbortQueuedRunRequest\x1a).cloudidl.workflow.AbortQueuedRunResponse\"\x00\x12p\n\x11\x41\x62ortQueuedAction\x12+.cloudidl.workflow.AbortQueuedActionRequest\x1a,.cloudidl.workflow.AbortQueuedActionResponse\"\x00\x12\\\n\tHeartbeat\x12#.cloudidl.workflow.HeartbeatRequest\x1a$.cloudidl.workflow.HeartbeatResponse\"\x00(\x01\x30\x01\x12\x63\n\x0cStreamLeases\x12&.cloudidl.workflow.StreamLeasesRequest\x1a\'.cloudidl.workflow.StreamLeasesResponse\"\x00\x30\x01\x42\xbe\x01\n\x15\x63om.cloudidl.workflowB\x11QueueServiceProtoH\x02P\x01Z+github.com/unionai/cloud/gen/pb-go/workflow\xa2\x02\x03\x43WX\xaa\x02\x11\x43loudidl.Workflow\xca\x02\x11\x43loudidl\\Workflow\xe2\x02\x1d\x43loudidl\\Workflow\\GPBMetadata\xea\x02\x12\x43loudidl::Workflowb\x06proto3')
|
|
24
24
|
|
|
25
25
|
_globals = globals()
|
|
26
26
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -28,12 +28,6 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'workflow.queue_service_pb2'
|
|
|
28
28
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
29
29
|
DESCRIPTOR._options = None
|
|
30
30
|
DESCRIPTOR._serialized_options = b'\n\025com.cloudidl.workflowB\021QueueServiceProtoH\002P\001Z+github.com/unionai/cloud/gen/pb-go/workflow\242\002\003CWX\252\002\021Cloudidl.Workflow\312\002\021Cloudidl\\Workflow\342\002\035Cloudidl\\Workflow\\GPBMetadata\352\002\022Cloudidl::Workflow'
|
|
31
|
-
_WORKERIDENTIFIER.fields_by_name['organization']._options = None
|
|
32
|
-
_WORKERIDENTIFIER.fields_by_name['organization']._serialized_options = b'\372B\004r\002\020\001'
|
|
33
|
-
_WORKERIDENTIFIER.fields_by_name['cluster']._options = None
|
|
34
|
-
_WORKERIDENTIFIER.fields_by_name['cluster']._serialized_options = b'\372B\004r\002\020\001'
|
|
35
|
-
_WORKERIDENTIFIER.fields_by_name['name']._options = None
|
|
36
|
-
_WORKERIDENTIFIER.fields_by_name['name']._serialized_options = b'\372B\004r\002\020\001'
|
|
37
31
|
_ENQUEUEACTIONREQUEST.fields_by_name['action_id']._options = None
|
|
38
32
|
_ENQUEUEACTIONREQUEST.fields_by_name['action_id']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
39
33
|
_ENQUEUEACTIONREQUEST.fields_by_name['input_uri']._options = None
|
|
@@ -62,6 +56,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
62
56
|
_CONDITIONACTION.fields_by_name['action_id']._serialized_options = b'\372B\004r\002\020\001'
|
|
63
57
|
_ABORTQUEUEDRUNREQUEST.fields_by_name['run_id']._options = None
|
|
64
58
|
_ABORTQUEUEDRUNREQUEST.fields_by_name['run_id']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
59
|
+
_ABORTQUEUEDACTIONREQUEST.fields_by_name['action_id']._options = None
|
|
60
|
+
_ABORTQUEUEDACTIONREQUEST.fields_by_name['action_id']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
61
|
+
_WORKERIDENTIFIER.fields_by_name['organization']._options = None
|
|
62
|
+
_WORKERIDENTIFIER.fields_by_name['organization']._serialized_options = b'\372B\004r\002\020\001'
|
|
63
|
+
_WORKERIDENTIFIER.fields_by_name['cluster']._options = None
|
|
64
|
+
_WORKERIDENTIFIER.fields_by_name['cluster']._serialized_options = b'\372B\004r\002\020\001'
|
|
65
|
+
_WORKERIDENTIFIER.fields_by_name['name']._options = None
|
|
66
|
+
_WORKERIDENTIFIER.fields_by_name['name']._serialized_options = b'\372B\004r\002\020\001'
|
|
65
67
|
_HEARTBEATREQUEST.fields_by_name['worker_id']._options = None
|
|
66
68
|
_HEARTBEATREQUEST.fields_by_name['worker_id']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
67
69
|
_STREAMLEASESREQUEST.fields_by_name['worker_id']._options = None
|
|
@@ -80,32 +82,36 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
80
82
|
_LEASE.fields_by_name['condition']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
81
83
|
_LEASE.fields_by_name['trace']._options = None
|
|
82
84
|
_LEASE.fields_by_name['trace']._serialized_options = b'\372B\005\212\001\002\020\001'
|
|
83
|
-
_globals['
|
|
84
|
-
_globals['
|
|
85
|
-
_globals['
|
|
86
|
-
_globals['
|
|
87
|
-
_globals['
|
|
88
|
-
_globals['
|
|
89
|
-
_globals['
|
|
90
|
-
_globals['
|
|
91
|
-
_globals['
|
|
92
|
-
_globals['
|
|
93
|
-
_globals['
|
|
94
|
-
_globals['
|
|
95
|
-
_globals['
|
|
96
|
-
_globals['
|
|
97
|
-
_globals['
|
|
98
|
-
_globals['
|
|
99
|
-
_globals['
|
|
100
|
-
_globals['
|
|
101
|
-
_globals['
|
|
102
|
-
_globals['
|
|
103
|
-
_globals['
|
|
104
|
-
_globals['
|
|
105
|
-
_globals['
|
|
106
|
-
_globals['
|
|
107
|
-
_globals['
|
|
108
|
-
_globals['
|
|
109
|
-
_globals['
|
|
110
|
-
_globals['
|
|
85
|
+
_globals['_ENQUEUEACTIONREQUEST']._serialized_start=257
|
|
86
|
+
_globals['_ENQUEUEACTIONREQUEST']._serialized_end=832
|
|
87
|
+
_globals['_TASKACTION']._serialized_start=835
|
|
88
|
+
_globals['_TASKACTION']._serialized_end=1042
|
|
89
|
+
_globals['_TRACEACTION']._serialized_start=1045
|
|
90
|
+
_globals['_TRACEACTION']._serialized_end=1390
|
|
91
|
+
_globals['_CONDITIONACTION']._serialized_start=1393
|
|
92
|
+
_globals['_CONDITIONACTION']._serialized_end=1659
|
|
93
|
+
_globals['_ENQUEUEACTIONRESPONSE']._serialized_start=1661
|
|
94
|
+
_globals['_ENQUEUEACTIONRESPONSE']._serialized_end=1684
|
|
95
|
+
_globals['_ABORTQUEUEDRUNREQUEST']._serialized_start=1687
|
|
96
|
+
_globals['_ABORTQUEUEDRUNREQUEST']._serialized_end=1815
|
|
97
|
+
_globals['_ABORTQUEUEDRUNRESPONSE']._serialized_start=1817
|
|
98
|
+
_globals['_ABORTQUEUEDRUNRESPONSE']._serialized_end=1841
|
|
99
|
+
_globals['_ABORTQUEUEDACTIONREQUEST']._serialized_start=1844
|
|
100
|
+
_globals['_ABORTQUEUEDACTIONREQUEST']._serialized_end=1984
|
|
101
|
+
_globals['_ABORTQUEUEDACTIONRESPONSE']._serialized_start=1986
|
|
102
|
+
_globals['_ABORTQUEUEDACTIONRESPONSE']._serialized_end=2013
|
|
103
|
+
_globals['_WORKERIDENTIFIER']._serialized_start=2015
|
|
104
|
+
_globals['_WORKERIDENTIFIER']._serialized_end=2142
|
|
105
|
+
_globals['_HEARTBEATREQUEST']._serialized_start=2145
|
|
106
|
+
_globals['_HEARTBEATREQUEST']._serialized_end=2529
|
|
107
|
+
_globals['_HEARTBEATRESPONSE']._serialized_start=2532
|
|
108
|
+
_globals['_HEARTBEATRESPONSE']._serialized_end=2758
|
|
109
|
+
_globals['_STREAMLEASESREQUEST']._serialized_start=2760
|
|
110
|
+
_globals['_STREAMLEASESREQUEST']._serialized_end=2857
|
|
111
|
+
_globals['_STREAMLEASESRESPONSE']._serialized_start=2859
|
|
112
|
+
_globals['_STREAMLEASESRESPONSE']._serialized_end=2931
|
|
113
|
+
_globals['_LEASE']._serialized_start=2934
|
|
114
|
+
_globals['_LEASE']._serialized_end=3519
|
|
115
|
+
_globals['_QUEUESERVICE']._serialized_start=3522
|
|
116
|
+
_globals['_QUEUESERVICE']._serialized_end=4052
|
|
111
117
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -12,16 +12,6 @@ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Map
|
|
|
12
12
|
|
|
13
13
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
14
14
|
|
|
15
|
-
class WorkerIdentifier(_message.Message):
|
|
16
|
-
__slots__ = ["organization", "cluster", "name"]
|
|
17
|
-
ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
|
|
18
|
-
CLUSTER_FIELD_NUMBER: _ClassVar[int]
|
|
19
|
-
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
20
|
-
organization: str
|
|
21
|
-
cluster: str
|
|
22
|
-
name: str
|
|
23
|
-
def __init__(self, organization: _Optional[str] = ..., cluster: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
|
|
24
|
-
|
|
25
15
|
class EnqueueActionRequest(_message.Message):
|
|
26
16
|
__slots__ = ["action_id", "parent_action_name", "run_spec", "input_uri", "run_output_base", "group", "subject", "task", "trace", "condition"]
|
|
27
17
|
ACTION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -96,15 +86,39 @@ class EnqueueActionResponse(_message.Message):
|
|
|
96
86
|
def __init__(self) -> None: ...
|
|
97
87
|
|
|
98
88
|
class AbortQueuedRunRequest(_message.Message):
|
|
99
|
-
__slots__ = ["run_id"]
|
|
89
|
+
__slots__ = ["run_id", "reason"]
|
|
100
90
|
RUN_ID_FIELD_NUMBER: _ClassVar[int]
|
|
91
|
+
REASON_FIELD_NUMBER: _ClassVar[int]
|
|
101
92
|
run_id: _identifier_pb2.RunIdentifier
|
|
102
|
-
|
|
93
|
+
reason: str
|
|
94
|
+
def __init__(self, run_id: _Optional[_Union[_identifier_pb2.RunIdentifier, _Mapping]] = ..., reason: _Optional[str] = ...) -> None: ...
|
|
103
95
|
|
|
104
96
|
class AbortQueuedRunResponse(_message.Message):
|
|
105
97
|
__slots__ = []
|
|
106
98
|
def __init__(self) -> None: ...
|
|
107
99
|
|
|
100
|
+
class AbortQueuedActionRequest(_message.Message):
|
|
101
|
+
__slots__ = ["action_id", "reason"]
|
|
102
|
+
ACTION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
103
|
+
REASON_FIELD_NUMBER: _ClassVar[int]
|
|
104
|
+
action_id: _identifier_pb2.ActionIdentifier
|
|
105
|
+
reason: str
|
|
106
|
+
def __init__(self, action_id: _Optional[_Union[_identifier_pb2.ActionIdentifier, _Mapping]] = ..., reason: _Optional[str] = ...) -> None: ...
|
|
107
|
+
|
|
108
|
+
class AbortQueuedActionResponse(_message.Message):
|
|
109
|
+
__slots__ = []
|
|
110
|
+
def __init__(self) -> None: ...
|
|
111
|
+
|
|
112
|
+
class WorkerIdentifier(_message.Message):
|
|
113
|
+
__slots__ = ["organization", "cluster", "name"]
|
|
114
|
+
ORGANIZATION_FIELD_NUMBER: _ClassVar[int]
|
|
115
|
+
CLUSTER_FIELD_NUMBER: _ClassVar[int]
|
|
116
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
117
|
+
organization: str
|
|
118
|
+
cluster: str
|
|
119
|
+
name: str
|
|
120
|
+
def __init__(self, organization: _Optional[str] = ..., cluster: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...
|
|
121
|
+
|
|
108
122
|
class HeartbeatRequest(_message.Message):
|
|
109
123
|
__slots__ = ["worker_id", "active_action_ids", "terminal_action_ids", "aborted_action_ids", "available_capacity"]
|
|
110
124
|
WORKER_ID_FIELD_NUMBER: _ClassVar[int]
|