flyte 2.0.0b22__py3-none-any.whl → 2.0.0b24__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 +7 -1
- flyte/_bin/runtime.py +35 -5
- flyte/_cache/cache.py +4 -2
- flyte/_cache/local_cache.py +215 -0
- flyte/_code_bundle/bundle.py +10 -2
- flyte/_context.py +4 -1
- 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 +104 -75
- flyte/_initialize.py +51 -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 +11 -21
- 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 +36 -4
- flyte/_task_environment.py +62 -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 +29 -2
- flyte/cli/_create.py +74 -0
- flyte/cli/_delete.py +23 -1
- flyte/cli/_deploy.py +13 -9
- flyte/cli/_get.py +75 -34
- flyte/cli/_params.py +4 -2
- flyte/cli/_run.py +27 -22
- flyte/cli/_update.py +36 -0
- flyte/cli/_user.py +17 -0
- flyte/cli/main.py +9 -1
- flyte/errors.py +9 -0
- flyte/extend.py +4 -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.0b24.data}/scripts/runtime.py +35 -5
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/METADATA +3 -1
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/RECORD +89 -77
- flyte/_protos/secret/secret_pb2_grpc_grpc.py +0 -198
- {flyte-2.0.0b22.data → flyte-2.0.0b24.data}/scripts/debug.py +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/WHEEL +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/entry_points.txt +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/licenses/LICENSE +0 -0
- {flyte-2.0.0b22.dist-info → flyte-2.0.0b24.dist-info}/top_level.txt +0 -0
flyte/_internal/runtime/rusty.py
CHANGED
|
@@ -11,7 +11,7 @@ from flyte._internal.runtime.entrypoints import download_code_bundle, load_pkl_t
|
|
|
11
11
|
from flyte._internal.runtime.taskrunner import extract_download_run_upload
|
|
12
12
|
from flyte._logging import logger
|
|
13
13
|
from flyte._task import TaskTemplate
|
|
14
|
-
from flyte.models import ActionID, Checkpoints, CodeBundle, RawDataPath
|
|
14
|
+
from flyte.models import ActionID, Checkpoints, CodeBundle, PathRewrite, RawDataPath
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
async def download_tgz(destination: str, version: str, tgz: str) -> CodeBundle:
|
|
@@ -115,6 +115,7 @@ async def run_task(
|
|
|
115
115
|
prev_checkpoint: str | None = None,
|
|
116
116
|
code_bundle: CodeBundle | None = None,
|
|
117
117
|
input_path: str | None = None,
|
|
118
|
+
path_rewrite_cfg: str | None = None,
|
|
118
119
|
):
|
|
119
120
|
"""
|
|
120
121
|
Runs the task with the provided parameters.
|
|
@@ -134,6 +135,7 @@ async def run_task(
|
|
|
134
135
|
:param controller: The controller to use for the task.
|
|
135
136
|
:param code_bundle: Optional code bundle for the task.
|
|
136
137
|
:param input_path: Optional input path for the task.
|
|
138
|
+
:param path_rewrite_cfg: Optional path rewrite configuration.
|
|
137
139
|
:return: The loaded task template.
|
|
138
140
|
"""
|
|
139
141
|
start_time = time.time()
|
|
@@ -144,6 +146,19 @@ async def run_task(
|
|
|
144
146
|
f" at {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(start_time))}"
|
|
145
147
|
)
|
|
146
148
|
|
|
149
|
+
path_rewrite = PathRewrite.from_str(path_rewrite_cfg) if path_rewrite_cfg else None
|
|
150
|
+
if path_rewrite:
|
|
151
|
+
import flyte.storage as storage
|
|
152
|
+
|
|
153
|
+
if not await storage.exists(path_rewrite.new_prefix):
|
|
154
|
+
logger.error(
|
|
155
|
+
f"[rusty] Path rewrite failed for path {path_rewrite.new_prefix}, "
|
|
156
|
+
f"not found, reverting to original path {path_rewrite.old_prefix}"
|
|
157
|
+
)
|
|
158
|
+
path_rewrite = None
|
|
159
|
+
else:
|
|
160
|
+
logger.info(f"[rusty] Using path rewrite: {path_rewrite}")
|
|
161
|
+
|
|
147
162
|
try:
|
|
148
163
|
await contextual_run(
|
|
149
164
|
extract_download_run_upload,
|
|
@@ -151,7 +166,7 @@ async def run_task(
|
|
|
151
166
|
action=ActionID(name=name, org=org, project=project, domain=domain, run_name=run_name),
|
|
152
167
|
version=version,
|
|
153
168
|
controller=controller,
|
|
154
|
-
raw_data_path=RawDataPath(path=raw_data_path),
|
|
169
|
+
raw_data_path=RawDataPath(path=raw_data_path, path_rewrite=path_rewrite),
|
|
155
170
|
output_path=output_path,
|
|
156
171
|
run_base_dir=run_base_dir,
|
|
157
172
|
checkpoints=Checkpoints(prev_checkpoint_path=prev_checkpoint, checkpoint_path=checkpoint_path),
|
|
@@ -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),
|
|
@@ -209,34 +208,25 @@ def _get_urun_container(
|
|
|
209
208
|
else None
|
|
210
209
|
)
|
|
211
210
|
resources = get_proto_resources(task_template.resources)
|
|
212
|
-
|
|
211
|
+
|
|
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 = task_template.parent_env_name
|
|
216
|
+
if env_name is None:
|
|
217
|
+
raise flyte.errors.RuntimeSystemError("BadConfig", f"Task {task_template.name} has no parent environment name")
|
|
218
|
+
|
|
216
219
|
if not serialize_context.image_cache:
|
|
217
220
|
# This computes the image uri, computing hashes as necessary so can fail if done remotely.
|
|
218
221
|
img_uri = task_template.image.uri
|
|
219
|
-
elif serialize_context.image_cache and
|
|
222
|
+
elif serialize_context.image_cache and env_name not in serialize_context.image_cache.image_lookup:
|
|
220
223
|
img_uri = task_template.image.uri
|
|
221
224
|
|
|
222
225
|
logger.warning(
|
|
223
226
|
f"Image {task_template.image} not found in the image cache: {serialize_context.image_cache.image_lookup}."
|
|
224
227
|
)
|
|
225
228
|
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
|
|
229
|
+
img_uri = serialize_context.image_cache.image_lookup[env_name]
|
|
240
230
|
|
|
241
231
|
return tasks_pb2.Container(
|
|
242
232
|
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)
|