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.

Files changed (88) hide show
  1. flyte/__init__.py +5 -0
  2. flyte/_bin/runtime.py +35 -5
  3. flyte/_cache/cache.py +4 -2
  4. flyte/_cache/local_cache.py +215 -0
  5. flyte/_code_bundle/bundle.py +1 -0
  6. flyte/_debug/constants.py +0 -1
  7. flyte/_debug/vscode.py +6 -1
  8. flyte/_deploy.py +193 -52
  9. flyte/_environment.py +5 -0
  10. flyte/_excepthook.py +1 -1
  11. flyte/_image.py +101 -72
  12. flyte/_initialize.py +23 -0
  13. flyte/_internal/controllers/_local_controller.py +64 -24
  14. flyte/_internal/controllers/remote/_action.py +4 -1
  15. flyte/_internal/controllers/remote/_controller.py +5 -2
  16. flyte/_internal/controllers/remote/_core.py +6 -3
  17. flyte/_internal/controllers/remote/_informer.py +1 -1
  18. flyte/_internal/imagebuild/docker_builder.py +92 -28
  19. flyte/_internal/imagebuild/image_builder.py +7 -13
  20. flyte/_internal/imagebuild/remote_builder.py +6 -1
  21. flyte/_internal/runtime/io.py +13 -1
  22. flyte/_internal/runtime/rusty.py +17 -2
  23. flyte/_internal/runtime/task_serde.py +14 -20
  24. flyte/_internal/runtime/taskrunner.py +1 -1
  25. flyte/_internal/runtime/trigger_serde.py +153 -0
  26. flyte/_logging.py +1 -1
  27. flyte/_protos/common/identifier_pb2.py +19 -1
  28. flyte/_protos/common/identifier_pb2.pyi +22 -0
  29. flyte/_protos/workflow/common_pb2.py +14 -3
  30. flyte/_protos/workflow/common_pb2.pyi +49 -0
  31. flyte/_protos/workflow/queue_service_pb2.py +41 -35
  32. flyte/_protos/workflow/queue_service_pb2.pyi +26 -12
  33. flyte/_protos/workflow/queue_service_pb2_grpc.py +34 -0
  34. flyte/_protos/workflow/run_definition_pb2.py +38 -38
  35. flyte/_protos/workflow/run_definition_pb2.pyi +4 -2
  36. flyte/_protos/workflow/run_service_pb2.py +60 -50
  37. flyte/_protos/workflow/run_service_pb2.pyi +24 -6
  38. flyte/_protos/workflow/run_service_pb2_grpc.py +34 -0
  39. flyte/_protos/workflow/task_definition_pb2.py +15 -11
  40. flyte/_protos/workflow/task_definition_pb2.pyi +19 -2
  41. flyte/_protos/workflow/task_service_pb2.py +18 -17
  42. flyte/_protos/workflow/task_service_pb2.pyi +5 -2
  43. flyte/_protos/workflow/trigger_definition_pb2.py +66 -0
  44. flyte/_protos/workflow/trigger_definition_pb2.pyi +117 -0
  45. flyte/_protos/workflow/trigger_definition_pb2_grpc.py +4 -0
  46. flyte/_protos/workflow/trigger_service_pb2.py +96 -0
  47. flyte/_protos/workflow/trigger_service_pb2.pyi +110 -0
  48. flyte/_protos/workflow/trigger_service_pb2_grpc.py +281 -0
  49. flyte/_run.py +42 -15
  50. flyte/_task.py +35 -4
  51. flyte/_task_environment.py +60 -15
  52. flyte/_trigger.py +382 -0
  53. flyte/_version.py +3 -3
  54. flyte/cli/_abort.py +3 -3
  55. flyte/cli/_build.py +1 -3
  56. flyte/cli/_common.py +15 -2
  57. flyte/cli/_create.py +74 -0
  58. flyte/cli/_delete.py +23 -1
  59. flyte/cli/_deploy.py +5 -9
  60. flyte/cli/_get.py +75 -34
  61. flyte/cli/_params.py +4 -2
  62. flyte/cli/_run.py +12 -3
  63. flyte/cli/_update.py +36 -0
  64. flyte/cli/_user.py +17 -0
  65. flyte/cli/main.py +9 -1
  66. flyte/errors.py +9 -0
  67. flyte/io/_dir.py +513 -115
  68. flyte/io/_file.py +495 -135
  69. flyte/models.py +32 -0
  70. flyte/remote/__init__.py +6 -1
  71. flyte/remote/_client/_protocols.py +36 -2
  72. flyte/remote/_client/controlplane.py +19 -3
  73. flyte/remote/_run.py +42 -2
  74. flyte/remote/_task.py +14 -1
  75. flyte/remote/_trigger.py +308 -0
  76. flyte/remote/_user.py +33 -0
  77. flyte/storage/__init__.py +6 -1
  78. flyte/storage/_storage.py +119 -101
  79. flyte/types/_pickle.py +16 -3
  80. {flyte-2.0.0b22.data → flyte-2.0.0b23.data}/scripts/runtime.py +35 -5
  81. {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/METADATA +3 -1
  82. {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/RECORD +87 -75
  83. flyte/_protos/secret/secret_pb2_grpc_grpc.py +0 -198
  84. {flyte-2.0.0b22.data → flyte-2.0.0b23.data}/scripts/debug.py +0 -0
  85. {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/WHEEL +0 -0
  86. {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/entry_points.txt +0 -0
  87. {flyte-2.0.0b22.dist-info → flyte-2.0.0b23.dist-info}/licenses/LICENSE +0 -0
  88. {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 SQL, extra_config, custom
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 = None
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.interruptable,
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
- image_id = task_template.image.identifier
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 image_id not in serialize_context.image_cache.image_lookup:
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
- python_version_str = "{}.{}".format(sys.version_info.major, sys.version_info.minor)
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=True,
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\x61ttemptB\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')
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\tparameterB\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
+ 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['_NAMEDPARAMETER']._serialized_start=75
26
- _globals['_NAMEDPARAMETER']._serialized_end=167
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\"\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\"\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\"X\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\"\x18\n\x16\x41\x62ortQueuedRunResponse\"\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\xa0\x03\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\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')
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['_WORKERIDENTIFIER']._serialized_start=256
84
- _globals['_WORKERIDENTIFIER']._serialized_end=383
85
- _globals['_ENQUEUEACTIONREQUEST']._serialized_start=386
86
- _globals['_ENQUEUEACTIONREQUEST']._serialized_end=961
87
- _globals['_TASKACTION']._serialized_start=964
88
- _globals['_TASKACTION']._serialized_end=1171
89
- _globals['_TRACEACTION']._serialized_start=1174
90
- _globals['_TRACEACTION']._serialized_end=1519
91
- _globals['_CONDITIONACTION']._serialized_start=1522
92
- _globals['_CONDITIONACTION']._serialized_end=1788
93
- _globals['_ENQUEUEACTIONRESPONSE']._serialized_start=1790
94
- _globals['_ENQUEUEACTIONRESPONSE']._serialized_end=1813
95
- _globals['_ABORTQUEUEDRUNREQUEST']._serialized_start=1815
96
- _globals['_ABORTQUEUEDRUNREQUEST']._serialized_end=1903
97
- _globals['_ABORTQUEUEDRUNRESPONSE']._serialized_start=1905
98
- _globals['_ABORTQUEUEDRUNRESPONSE']._serialized_end=1929
99
- _globals['_HEARTBEATREQUEST']._serialized_start=1932
100
- _globals['_HEARTBEATREQUEST']._serialized_end=2316
101
- _globals['_HEARTBEATRESPONSE']._serialized_start=2319
102
- _globals['_HEARTBEATRESPONSE']._serialized_end=2545
103
- _globals['_STREAMLEASESREQUEST']._serialized_start=2547
104
- _globals['_STREAMLEASESREQUEST']._serialized_end=2644
105
- _globals['_STREAMLEASESRESPONSE']._serialized_start=2646
106
- _globals['_STREAMLEASESRESPONSE']._serialized_end=2718
107
- _globals['_LEASE']._serialized_start=2721
108
- _globals['_LEASE']._serialized_end=3306
109
- _globals['_QUEUESERVICE']._serialized_start=3309
110
- _globals['_QUEUESERVICE']._serialized_end=3725
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
- def __init__(self, run_id: _Optional[_Union[_identifier_pb2.RunIdentifier, _Mapping]] = ...) -> None: ...
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]