@flyteorg/flyteidl 1.16.0 → 2.0.0-test1

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.
Files changed (87) hide show
  1. package/package.json +6 -9
  2. package/LICENSE +0 -202
  3. package/NOTICE +0 -4
  4. package/README.md +0 -14
  5. package/gen/pb-js/flyteidl.d.ts +0 -28307
  6. package/gen/pb-js/flyteidl.js +0 -66636
  7. package/protos/buf.lock +0 -18
  8. package/protos/buf.yaml +0 -12
  9. package/protos/docs/admin/admin.rst +0 -4623
  10. package/protos/docs/admin/index.rst +0 -13
  11. package/protos/docs/contributing.md +0 -68
  12. package/protos/docs/core/core.rst +0 -3952
  13. package/protos/docs/core/index.rst +0 -15
  14. package/protos/docs/datacatalog/datacatalog.rst +0 -1313
  15. package/protos/docs/datacatalog/index.rst +0 -16
  16. package/protos/docs/event/event.rst +0 -726
  17. package/protos/docs/event/index.rst +0 -27
  18. package/protos/docs/plugins/index.rst +0 -14
  19. package/protos/docs/plugins/plugins.rst +0 -780
  20. package/protos/docs/restructuredtext.tmpl +0 -129
  21. package/protos/docs/service/index.rst +0 -13
  22. package/protos/docs/service/service.rst +0 -543
  23. package/protos/docs/withoutscalar_restructuredtext.tmpl +0 -105
  24. package/protos/docs_index.rst +0 -19
  25. package/protos/flyteidl/admin/agent.proto +0 -309
  26. package/protos/flyteidl/admin/cluster_assignment.proto +0 -11
  27. package/protos/flyteidl/admin/common.proto +0 -337
  28. package/protos/flyteidl/admin/description_entity.proto +0 -95
  29. package/protos/flyteidl/admin/event.proto +0 -70
  30. package/protos/flyteidl/admin/execution.proto +0 -436
  31. package/protos/flyteidl/admin/launch_plan.proto +0 -231
  32. package/protos/flyteidl/admin/matchable_resource.proto +0 -194
  33. package/protos/flyteidl/admin/node_execution.proto +0 -248
  34. package/protos/flyteidl/admin/notification.proto +0 -27
  35. package/protos/flyteidl/admin/project.proto +0 -132
  36. package/protos/flyteidl/admin/project_attributes.proto +0 -69
  37. package/protos/flyteidl/admin/project_domain_attributes.proto +0 -80
  38. package/protos/flyteidl/admin/schedule.proto +0 -43
  39. package/protos/flyteidl/admin/signal.proto +0 -86
  40. package/protos/flyteidl/admin/task.proto +0 -71
  41. package/protos/flyteidl/admin/task_execution.proto +0 -171
  42. package/protos/flyteidl/admin/version.proto +0 -27
  43. package/protos/flyteidl/admin/workflow.proto +0 -92
  44. package/protos/flyteidl/admin/workflow_attributes.proto +0 -89
  45. package/protos/flyteidl/cacheservice/cacheservice.proto +0 -143
  46. package/protos/flyteidl/core/artifact_id.proto +0 -112
  47. package/protos/flyteidl/core/catalog.proto +0 -63
  48. package/protos/flyteidl/core/compiler.proto +0 -64
  49. package/protos/flyteidl/core/condition.proto +0 -63
  50. package/protos/flyteidl/core/dynamic_job.proto +0 -32
  51. package/protos/flyteidl/core/errors.proto +0 -42
  52. package/protos/flyteidl/core/execution.proto +0 -156
  53. package/protos/flyteidl/core/execution_envs.proto +0 -45
  54. package/protos/flyteidl/core/identifier.proto +0 -80
  55. package/protos/flyteidl/core/interface.proto +0 -64
  56. package/protos/flyteidl/core/literals.proto +0 -205
  57. package/protos/flyteidl/core/metrics.proto +0 -50
  58. package/protos/flyteidl/core/security.proto +0 -135
  59. package/protos/flyteidl/core/tasks.proto +0 -392
  60. package/protos/flyteidl/core/types.proto +0 -208
  61. package/protos/flyteidl/core/workflow.proto +0 -361
  62. package/protos/flyteidl/core/workflow_closure.proto +0 -18
  63. package/protos/flyteidl/datacatalog/datacatalog.proto +0 -420
  64. package/protos/flyteidl/event/cloudevents.proto +0 -81
  65. package/protos/flyteidl/event/event.proto +0 -347
  66. package/protos/flyteidl/plugins/array_job.proto +0 -30
  67. package/protos/flyteidl/plugins/common.proto +0 -27
  68. package/protos/flyteidl/plugins/dask.proto +0 -41
  69. package/protos/flyteidl/plugins/kubeflow/common.proto +0 -28
  70. package/protos/flyteidl/plugins/kubeflow/mpi.proto +0 -47
  71. package/protos/flyteidl/plugins/kubeflow/pytorch.proto +0 -53
  72. package/protos/flyteidl/plugins/kubeflow/tensorflow.proto +0 -46
  73. package/protos/flyteidl/plugins/mpi.proto +0 -20
  74. package/protos/flyteidl/plugins/presto.proto +0 -14
  75. package/protos/flyteidl/plugins/pytorch.proto +0 -25
  76. package/protos/flyteidl/plugins/qubole.proto +0 -26
  77. package/protos/flyteidl/plugins/ray.proto +0 -59
  78. package/protos/flyteidl/plugins/spark.proto +0 -42
  79. package/protos/flyteidl/plugins/tensorflow.proto +0 -18
  80. package/protos/flyteidl/plugins/waitable.proto +0 -15
  81. package/protos/flyteidl/service/admin.proto +0 -668
  82. package/protos/flyteidl/service/agent.proto +0 -79
  83. package/protos/flyteidl/service/auth.proto +0 -94
  84. package/protos/flyteidl/service/dataproxy.proto +0 -205
  85. package/protos/flyteidl/service/external_plugin_service.proto +0 -79
  86. package/protos/flyteidl/service/identity.proto +0 -51
  87. package/protos/flyteidl/service/signal.proto +0 -55
@@ -1,208 +0,0 @@
1
- syntax = "proto3";
2
-
3
- package flyteidl.core;
4
-
5
- option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core";
6
-
7
- import "google/protobuf/struct.proto";
8
-
9
- // Define a set of simple types.
10
- enum SimpleType {
11
- NONE = 0;
12
- INTEGER = 1;
13
- FLOAT = 2;
14
- STRING = 3;
15
- BOOLEAN = 4;
16
- DATETIME = 5;
17
- DURATION = 6;
18
- BINARY = 7;
19
- ERROR = 8;
20
- STRUCT = 9;
21
- }
22
-
23
- // Defines schema columns and types to strongly type-validate schemas interoperability.
24
- message SchemaType {
25
- message SchemaColumn {
26
- // A unique name -within the schema type- for the column
27
- string name = 1;
28
-
29
- enum SchemaColumnType {
30
- INTEGER = 0;
31
- FLOAT = 1;
32
- STRING = 2;
33
- BOOLEAN = 3;
34
- DATETIME = 4;
35
- DURATION = 5;
36
- }
37
-
38
- // The column type. This allows a limited set of types currently.
39
- SchemaColumnType type = 2;
40
- }
41
-
42
- // A list of ordered columns this schema comprises of.
43
- repeated SchemaColumn columns = 3;
44
- }
45
-
46
- message StructuredDatasetType {
47
- message DatasetColumn {
48
- // A unique name within the schema type for the column.
49
- string name = 1;
50
-
51
- // The column type.
52
- LiteralType literal_type = 2;
53
- }
54
-
55
- // A list of ordered columns this schema comprises of.
56
- repeated DatasetColumn columns = 1;
57
-
58
- // This is the storage format, the format of the bits at rest
59
- // parquet, feather, csv, etc.
60
- // For two types to be compatible, the format will need to be an exact match.
61
- string format = 2;
62
-
63
- // This is a string representing the type that the bytes in external_schema_bytes are formatted in.
64
- // This is an optional field that will not be used for type checking.
65
- string external_schema_type = 3;
66
-
67
- // The serialized bytes of a third-party schema library like Arrow.
68
- // This is an optional field that will not be used for type checking.
69
- bytes external_schema_bytes = 4;
70
- }
71
-
72
- // Defines type behavior for blob objects
73
- message BlobType {
74
- enum BlobDimensionality {
75
- SINGLE = 0;
76
- MULTIPART = 1;
77
- }
78
-
79
- // Format can be a free form string understood by SDK/UI etc like
80
- // csv, parquet etc
81
- string format = 1;
82
- BlobDimensionality dimensionality = 2;
83
- }
84
-
85
- // Enables declaring enum types, with predefined string values
86
- // For len(values) > 0, the first value in the ordered list is regarded as the default value. If you wish
87
- // To provide no defaults, make the first value as undefined.
88
- message EnumType {
89
- // Predefined set of enum values.
90
- repeated string values = 1;
91
- }
92
-
93
- // Defines a tagged union type, also known as a variant (and formally as the sum type).
94
- //
95
- // A sum type S is defined by a sequence of types (A, B, C, ...), each tagged by a string tag
96
- // A value of type S is constructed from a value of any of the variant types. The specific choice of type is recorded by
97
- // storing the varaint's tag with the literal value and can be examined in runtime.
98
- //
99
- // Type S is typically written as
100
- // S := Apple A | Banana B | Cantaloupe C | ...
101
- //
102
- // Notably, a nullable (optional) type is a sum type between some type X and the singleton type representing a null-value:
103
- // Optional X := X | Null
104
- //
105
- // See also: https://en.wikipedia.org/wiki/Tagged_union
106
- message UnionType {
107
- // Predefined set of variants in union.
108
- repeated LiteralType variants = 1;
109
- }
110
-
111
- // Hints to improve type matching
112
- // e.g. allows distinguishing output from custom type transformers
113
- // even if the underlying IDL serialization matches.
114
- message TypeStructure {
115
- // Must exactly match for types to be castable
116
- string tag = 1;
117
- // dataclass_type only exists for dataclasses.
118
- // This is used to resolve the type of the fields of dataclass
119
- // The key is the field name, and the value is the literal type of the field
120
- // e.g. For dataclass Foo, with fields a, and a is a string
121
- // Foo.a will be resolved as a literal type of string from dataclass_type
122
- map<string, LiteralType> dataclass_type = 2;
123
- }
124
-
125
- // TypeAnnotation encapsulates registration time information about a type. This can be used for various control-plane operations. TypeAnnotation will not be available at runtime when a task runs.
126
- message TypeAnnotation {
127
- // A arbitrary JSON payload to describe a type.
128
- google.protobuf.Struct annotations = 1;
129
- }
130
-
131
- // Defines a strong type to allow type checking between interfaces.
132
- message LiteralType {
133
- oneof type {
134
- // A simple type that can be compared one-to-one with another.
135
- SimpleType simple = 1;
136
-
137
- // A complex type that requires matching of inner fields.
138
- SchemaType schema = 2;
139
-
140
- // Defines the type of the value of a collection. Only homogeneous collections are allowed.
141
- LiteralType collection_type = 3;
142
-
143
- // Defines the type of the value of a map type. The type of the key is always a string.
144
- LiteralType map_value_type = 4;
145
-
146
- // A blob might have specialized implementation details depending on associated metadata.
147
- BlobType blob = 5;
148
-
149
- // Defines an enum with pre-defined string values.
150
- EnumType enum_type = 7;
151
-
152
- // Generalized schema support
153
- StructuredDatasetType structured_dataset_type = 8;
154
-
155
- // Defines an union type with pre-defined LiteralTypes.
156
- UnionType union_type = 10;
157
- }
158
-
159
- // This field contains type metadata that is descriptive of the type, but is NOT considered in type-checking. This might be used by
160
- // consumers to identify special behavior or display extended information for the type.
161
- google.protobuf.Struct metadata = 6;
162
-
163
- // This field contains arbitrary data that might have special semantic
164
- // meaning for the client but does not effect internal flyte behavior.
165
- TypeAnnotation annotation = 9;
166
-
167
- // Hints to improve type matching.
168
- TypeStructure structure = 11;
169
- }
170
-
171
- // A reference to an output produced by a node. The type can be retrieved -and validated- from
172
- // the underlying interface of the node.
173
- message OutputReference {
174
- // Node id must exist at the graph layer.
175
- string node_id = 1;
176
-
177
- // Variable name must refer to an output variable for the node.
178
- string var = 2;
179
-
180
- repeated PromiseAttribute attr_path = 3;
181
- }
182
-
183
- // PromiseAttribute stores the attribute path of a promise, which will be resolved at runtime.
184
- // The attribute path is a list of strings and integers.
185
- // In the following example,
186
- // ```
187
- // @workflow
188
- // def wf():
189
- // o = t1()
190
- // t2(o.a["b"][0])
191
- // ```
192
- // the output reference t2 binds to has a list of PromiseAttribute ["a", "b", 0]
193
-
194
- message PromiseAttribute {
195
- oneof value {
196
- string string_value = 1;
197
- int32 int_value = 2;
198
- }
199
- }
200
-
201
- // Represents an error thrown from a node.
202
- message Error {
203
- // The node id that threw the error.
204
- string failed_node_id = 1;
205
-
206
- // Error message thrown.
207
- string message = 2;
208
- }
@@ -1,361 +0,0 @@
1
- syntax = "proto3";
2
-
3
- package flyteidl.core;
4
-
5
- option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core";
6
-
7
- import "flyteidl/core/condition.proto";
8
- import "flyteidl/core/execution.proto";
9
- import "flyteidl/core/identifier.proto";
10
- import "flyteidl/core/interface.proto";
11
- import "flyteidl/core/literals.proto";
12
- import "flyteidl/core/tasks.proto";
13
- import "flyteidl/core/types.proto";
14
- import "flyteidl/core/security.proto";
15
- import "google/protobuf/duration.proto";
16
- import "google/protobuf/wrappers.proto";
17
-
18
- // Defines a condition and the execution unit that should be executed if the condition is satisfied.
19
- message IfBlock {
20
- core.BooleanExpression condition = 1;
21
- Node then_node = 2;
22
- }
23
-
24
- // Defines a series of if/else blocks. The first branch whose condition evaluates to true is the one to execute.
25
- // If no conditions were satisfied, the else_node or the error will execute.
26
- message IfElseBlock {
27
- //+required. First condition to evaluate.
28
- IfBlock case = 1;
29
-
30
- //+optional. Additional branches to evaluate.
31
- repeated IfBlock other = 2;
32
-
33
- //+required.
34
- oneof default {
35
- // The node to execute in case none of the branches were taken.
36
- Node else_node = 3;
37
-
38
- // An error to throw in case none of the branches were taken.
39
- Error error = 4;
40
- }
41
- }
42
-
43
- // BranchNode is a special node that alter the flow of the workflow graph. It allows the control flow to branch at
44
- // runtime based on a series of conditions that get evaluated on various parameters (e.g. inputs, primitives).
45
- message BranchNode {
46
- //+required
47
- IfElseBlock if_else = 1;
48
- }
49
-
50
- // Refers to the task that the Node is to execute.
51
- message TaskNode {
52
- oneof reference {
53
- // A globally unique identifier for the task.
54
- Identifier reference_id = 1;
55
- }
56
-
57
- // Optional overrides applied at task execution time.
58
- TaskNodeOverrides overrides = 2;
59
- }
60
-
61
- // Refers to a the workflow the node is to execute.
62
- message WorkflowNode {
63
- oneof reference {
64
- // A globally unique identifier for the launch plan.
65
- Identifier launchplan_ref = 1;
66
-
67
- // Reference to a subworkflow, that should be defined with the compiler context
68
- Identifier sub_workflow_ref = 2;
69
- }
70
- }
71
-
72
- // ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean
73
- // signal with the provided signal_id.
74
- message ApproveCondition {
75
- // A unique identifier for the requested boolean signal.
76
- string signal_id = 1;
77
- }
78
-
79
- // SignalCondition represents a dependency on an signal.
80
- message SignalCondition {
81
- // A unique identifier for the requested signal.
82
- string signal_id = 1;
83
-
84
- // A type denoting the required value type for this signal.
85
- LiteralType type = 2;
86
-
87
- // The variable name for the signal value in this nodes outputs.
88
- string output_variable_name = 3;
89
- }
90
-
91
- // SleepCondition represents a dependency on waiting for the specified duration.
92
- message SleepCondition {
93
- // The overall duration for this sleep.
94
- google.protobuf.Duration duration = 1;
95
- }
96
-
97
- // GateNode refers to the condition that is required for the gate to successfully complete.
98
- message GateNode {
99
- oneof condition {
100
- // ApproveCondition represents a dependency on an external approval provided by a boolean signal.
101
- ApproveCondition approve = 1;
102
-
103
- // SignalCondition represents a dependency on an signal.
104
- SignalCondition signal = 2;
105
-
106
- // SleepCondition represents a dependency on waiting for the specified duration.
107
- SleepCondition sleep = 3;
108
- }
109
- }
110
-
111
- // ArrayNode is a Flyte node type that simplifies the execution of a sub-node over a list of input
112
- // values. An ArrayNode can be executed with configurable parallelism (separate from the parent
113
- // workflow) and can be configured to succeed when a certain number of sub-nodes succeed.
114
- message ArrayNode {
115
- // node is the sub-node that will be executed for each element in the array.
116
- Node node = 1;
117
-
118
- oneof parallelism_option {
119
- // parallelism defines the minimum number of instances to bring up concurrently at any given
120
- // point. Note that this is an optimistic restriction and that, due to network partitioning or
121
- // other failures, the actual number of currently running instances might be more. This has to
122
- // be a positive number if assigned. Default value is size.
123
- uint32 parallelism = 2;
124
- }
125
-
126
- oneof success_criteria {
127
- // min_successes is an absolute number of the minimum number of successful completions of
128
- // sub-nodes. As soon as this criteria is met, the ArrayNode will be marked as successful
129
- // and outputs will be computed. This has to be a non-negative number if assigned. Default
130
- // value is size (if specified).
131
- uint32 min_successes = 3;
132
-
133
- // If the array job size is not known beforehand, the min_success_ratio can instead be used
134
- // to determine when an ArrayNode can be marked successful.
135
- float min_success_ratio = 4;
136
- }
137
-
138
- enum ExecutionMode {
139
- // Indicates the ArrayNode will store minimal state for the sub-nodes.
140
- // This is more efficient, but only supports a subset of Flyte entities.
141
- MINIMAL_STATE = 0;
142
-
143
- // Indicates the ArrayNode will store full state for the sub-nodes.
144
- // This supports a wider range of Flyte entities.
145
- FULL_STATE = 1;
146
- }
147
-
148
- // execution_mode determines the execution path for ArrayNode.
149
- ExecutionMode execution_mode = 5;
150
-
151
- // Indicates whether the sub node's original interface was altered
152
- google.protobuf.BoolValue is_original_sub_node_interface = 6;
153
-
154
- enum DataMode {
155
- // Indicates the ArrayNode's input is a list of input values that map to subNode executions.
156
- // The file path set for the subNode will be the ArrayNode's input file, but the in-memory
157
- // value utilized in propeller will be the individual value for each subNode execution.
158
- // SubNode executions need to be able to read in and parse the individual value to execute correctly.
159
- SINGLE_INPUT_FILE = 0;
160
-
161
- // Indicates the ArrayNode's input is a list of input values that map to subNode executions.
162
- // Propeller will create input files for each ArrayNode subNode by parsing the inputs and
163
- // setting the InputBindings on each subNodeSpec. Both the file path and in-memory input values will
164
- // be the individual value for each subNode execution.
165
- INDIVIDUAL_INPUT_FILES = 1;
166
- }
167
-
168
- // data_mode determines how input data is passed to the sub-nodes
169
- DataMode data_mode = 7;
170
-
171
- //+optional. Specifies input bindings that are not mapped over for the node.
172
- repeated string bound_inputs = 8;
173
- }
174
-
175
- // Defines extra information about the Node.
176
- message NodeMetadata {
177
- // A friendly name for the Node
178
- string name = 1;
179
-
180
- // The overall timeout of a task.
181
- google.protobuf.Duration timeout = 4;
182
-
183
- // Number of retries per task.
184
- RetryStrategy retries = 5;
185
-
186
- // Identify whether node is interruptible
187
- oneof interruptible_value {
188
- bool interruptible = 6;
189
- };
190
-
191
- // Identify whether a node should have it's outputs cached.
192
- oneof cacheable_value {
193
- bool cacheable = 7;
194
- }
195
-
196
- // The version of the cache to use.
197
- oneof cache_version_value {
198
- string cache_version = 8;
199
- }
200
-
201
- // Identify whether caching operations involving this node should be serialized.
202
- oneof cache_serializable_value {
203
- bool cache_serializable = 9;
204
- }
205
-
206
- // Config is a bag of properties that can be used to instruct propeller on how to execute the node.
207
- map<string, string> config = 10;
208
- }
209
-
210
- // Links a variable to an alias.
211
- message Alias {
212
- // Must match one of the output variable names on a node.
213
- string var = 1;
214
-
215
- // A workflow-level unique alias that downstream nodes can refer to in their input.
216
- string alias = 2;
217
- }
218
-
219
- // A Workflow graph Node. One unit of execution in the graph. Each node can be linked to a Task, a Workflow or a branch
220
- // node.
221
- message Node {
222
- // A workflow-level unique identifier that identifies this node in the workflow. 'inputs' and 'outputs' are reserved
223
- // node ids that cannot be used by other nodes.
224
- string id = 1;
225
-
226
- // Extra metadata about the node.
227
- NodeMetadata metadata = 2;
228
-
229
- // Specifies how to bind the underlying interface's inputs. All required inputs specified in the underlying interface
230
- // must be fulfilled.
231
- repeated Binding inputs = 3;
232
-
233
- //+optional Specifies execution dependency for this node ensuring it will only get scheduled to run after all its
234
- // upstream nodes have completed. This node will have an implicit dependency on any node that appears in inputs
235
- // field.
236
- repeated string upstream_node_ids = 4;
237
-
238
- //+optional. A node can define aliases for a subset of its outputs. This is particularly useful if different nodes
239
- // need to conform to the same interface (e.g. all branches in a branch node). Downstream nodes must refer to this
240
- // nodes outputs using the alias if one's specified.
241
- repeated Alias output_aliases = 5;
242
-
243
- // Information about the target to execute in this node.
244
- oneof target {
245
- // Information about the Task to execute in this node.
246
- TaskNode task_node = 6;
247
-
248
- // Information about the Workflow to execute in this mode.
249
- WorkflowNode workflow_node = 7;
250
-
251
- // Information about the branch node to evaluate in this node.
252
- BranchNode branch_node = 8;
253
-
254
- // Information about the condition to evaluate in this node.
255
- GateNode gate_node = 9;
256
-
257
- // Information about the sub-node executions for each value in the list of this nodes
258
- // inputs values.
259
- ArrayNode array_node = 10;
260
- }
261
- }
262
-
263
- // This is workflow layer metadata. These settings are only applicable to the workflow as a whole, and do not
264
- // percolate down to child entities (like tasks) launched by the workflow.
265
- message WorkflowMetadata {
266
- // Indicates the runtime priority of workflow executions.
267
- QualityOfService quality_of_service = 1;
268
-
269
- // Failure Handling Strategy
270
- enum OnFailurePolicy {
271
- // FAIL_IMMEDIATELY instructs the system to fail as soon as a node fails in the workflow. It'll automatically
272
- // abort all currently running nodes and clean up resources before finally marking the workflow executions as
273
- // failed.
274
- FAIL_IMMEDIATELY = 0;
275
-
276
- // FAIL_AFTER_EXECUTABLE_NODES_COMPLETE instructs the system to make as much progress as it can. The system will
277
- // not alter the dependencies of the execution graph so any node that depend on the failed node will not be run.
278
- // Other nodes that will be executed to completion before cleaning up resources and marking the workflow
279
- // execution as failed.
280
- FAIL_AFTER_EXECUTABLE_NODES_COMPLETE = 1;
281
- }
282
-
283
- // Defines how the system should behave when a failure is detected in the workflow execution.
284
- OnFailurePolicy on_failure = 2;
285
-
286
- // Arbitrary tags that allow users and the platform to store small but arbitrary labels
287
- map<string, string> tags = 3;
288
- }
289
-
290
- // The difference between these settings and the WorkflowMetadata ones is that these are meant to be passed down to
291
- // a workflow's underlying entities (like tasks). For instance, 'interruptible' has no meaning at the workflow layer, it
292
- // is only relevant when a task executes. The settings here are the defaults that are passed to all nodes
293
- // unless explicitly overridden at the node layer.
294
- // If you are adding a setting that applies to both the Workflow itself, and everything underneath it, it should be
295
- // added to both this object and the WorkflowMetadata object above.
296
- message WorkflowMetadataDefaults {
297
- // Whether child nodes of the workflow are interruptible.
298
- bool interruptible = 1;
299
- }
300
-
301
- // Flyte Workflow Structure that encapsulates task, branch and subworkflow nodes to form a statically analyzable,
302
- // directed acyclic graph.
303
- message WorkflowTemplate {
304
- // A globally unique identifier for the workflow.
305
- Identifier id = 1;
306
-
307
- // Extra metadata about the workflow.
308
- WorkflowMetadata metadata = 2;
309
-
310
- // Defines a strongly typed interface for the Workflow. This can include some optional parameters.
311
- TypedInterface interface = 3;
312
-
313
- // A list of nodes. In addition, 'globals' is a special reserved node id that can be used to consume workflow inputs.
314
- repeated Node nodes = 4;
315
-
316
- // A list of output bindings that specify how to construct workflow outputs. Bindings can pull node outputs or
317
- // specify literals. All workflow outputs specified in the interface field must be bound in order for the workflow
318
- // to be validated. A workflow has an implicit dependency on all of its nodes to execute successfully in order to
319
- // bind final outputs.
320
- // Most of these outputs will be Binding's with a BindingData of type OutputReference. That is, your workflow can
321
- // just have an output of some constant (`Output(5)`), but usually, the workflow will be pulling
322
- // outputs from the output of a task.
323
- repeated Binding outputs = 5;
324
-
325
- //+optional A catch-all node. This node is executed whenever the execution engine determines the workflow has failed.
326
- // The interface of this node must match the Workflow interface with an additional input named 'error' of type
327
- // pb.lyft.flyte.core.Error.
328
- Node failure_node = 6;
329
-
330
- // workflow defaults
331
- WorkflowMetadataDefaults metadata_defaults = 7;
332
- }
333
-
334
- // Optional task node overrides that will be applied at task execution time.
335
- message TaskNodeOverrides {
336
- // A customizable interface to convey resources requested for a task container.
337
- Resources resources = 1;
338
-
339
- // Overrides for all non-standard resources, not captured by
340
- // v1.ResourceRequirements, to allocate to a task.
341
- ExtendedResources extended_resources = 2;
342
-
343
- // Override for the image used by task pods.
344
- string container_image = 3;
345
-
346
- // Override for the pod template used by task pods
347
- //+optional
348
- K8sPod pod_template = 4;
349
- }
350
-
351
- // A structure that uniquely identifies a launch plan in the system.
352
- message LaunchPlanTemplate {
353
- // A globally unique identifier for the launch plan.
354
- Identifier id = 1;
355
-
356
- // The input and output interface for the launch plan
357
- TypedInterface interface = 2;
358
-
359
- // A collection of input literals that are fixed for the launch plan
360
- LiteralMap fixed_inputs = 3;
361
- }
@@ -1,18 +0,0 @@
1
- syntax = "proto3";
2
-
3
- package flyteidl.core;
4
-
5
- option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core";
6
-
7
- import "flyteidl/core/workflow.proto";
8
- import "flyteidl/core/tasks.proto";
9
-
10
- // Defines an enclosed package of workflow and tasks it references.
11
- message WorkflowClosure {
12
- //required. Workflow template.
13
- WorkflowTemplate workflow = 1;
14
-
15
- //optional. A collection of tasks referenced by the workflow. Only needed if the workflow
16
- // references tasks.
17
- repeated TaskTemplate tasks = 2;
18
- }