@flyteorg/flyteidl 0.24.1 → 0.24.4

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.
@@ -2697,46 +2697,6 @@ Define a set of simple types.
2697
2697
 
2698
2698
 
2699
2699
 
2700
- .. _ref_flyteidl/core/workflow_closure.proto:
2701
-
2702
- flyteidl/core/workflow_closure.proto
2703
- ==================================================================
2704
-
2705
-
2706
-
2707
-
2708
-
2709
- .. _ref_flyteidl.core.WorkflowClosure:
2710
-
2711
- WorkflowClosure
2712
- ------------------------------------------------------------------
2713
-
2714
- Defines an enclosed package of workflow and tasks it references.
2715
-
2716
-
2717
-
2718
- .. csv-table:: WorkflowClosure type fields
2719
- :header: "Field", "Type", "Label", "Description"
2720
- :widths: auto
2721
-
2722
- "workflow", ":ref:`ref_flyteidl.core.WorkflowTemplate`", "", "required. Workflow template."
2723
- "tasks", ":ref:`ref_flyteidl.core.TaskTemplate`", "repeated", "optional. A collection of tasks referenced by the workflow. Only needed if the workflow references tasks."
2724
-
2725
-
2726
-
2727
-
2728
-
2729
-
2730
-
2731
-
2732
-
2733
-
2734
-
2735
-
2736
-
2737
-
2738
-
2739
-
2740
2700
  .. _ref_flyteidl/core/workflow.proto:
2741
2701
 
2742
2702
  flyteidl/core/workflow.proto
@@ -3057,6 +3017,46 @@ Failure Handling Strategy
3057
3017
 
3058
3018
 
3059
3019
 
3020
+ .. _ref_flyteidl/core/workflow_closure.proto:
3021
+
3022
+ flyteidl/core/workflow_closure.proto
3023
+ ==================================================================
3024
+
3025
+
3026
+
3027
+
3028
+
3029
+ .. _ref_flyteidl.core.WorkflowClosure:
3030
+
3031
+ WorkflowClosure
3032
+ ------------------------------------------------------------------
3033
+
3034
+ Defines an enclosed package of workflow and tasks it references.
3035
+
3036
+
3037
+
3038
+ .. csv-table:: WorkflowClosure type fields
3039
+ :header: "Field", "Type", "Label", "Description"
3040
+ :widths: auto
3041
+
3042
+ "workflow", ":ref:`ref_flyteidl.core.WorkflowTemplate`", "", "required. Workflow template."
3043
+ "tasks", ":ref:`ref_flyteidl.core.TaskTemplate`", "repeated", "optional. A collection of tasks referenced by the workflow. Only needed if the workflow references tasks."
3044
+
3045
+
3046
+
3047
+
3048
+
3049
+
3050
+
3051
+
3052
+
3053
+
3054
+
3055
+
3056
+
3057
+
3058
+
3059
+
3060
3060
  .. _ref_google/protobuf/timestamp.proto:
3061
3061
 
3062
3062
  google/protobuf/timestamp.proto
@@ -201,6 +201,85 @@ RPCs defined in this service must be anonymously accessible.
201
201
 
202
202
 
203
203
 
204
+ .. _ref_flyteidl/service/dataproxy.proto:
205
+
206
+ flyteidl/service/dataproxy.proto
207
+ ==================================================================
208
+
209
+
210
+
211
+
212
+
213
+ .. _ref_flyteidl.service.CreateUploadLocationRequest:
214
+
215
+ CreateUploadLocationRequest
216
+ ------------------------------------------------------------------
217
+
218
+ CreateUploadLocationRequest specified request for the CreateUploadLocation API.
219
+
220
+
221
+
222
+ .. csv-table:: CreateUploadLocationRequest type fields
223
+ :header: "Field", "Type", "Label", "Description"
224
+ :widths: auto
225
+
226
+ "project", ":ref:`ref_string`", "", "Project to create the upload location for +required"
227
+ "domain", ":ref:`ref_string`", "", "Domain to create the upload location for. +required"
228
+ "suffix", ":ref:`ref_string`", "", "Suffix specifies a desired suffix for the generated location. E.g. `/file.py` or `pre/fix/file.zip`. +optional. By default, the service will generate a random file name."
229
+ "expires_in", ":ref:`ref_google.protobuf.Duration`", "", "ExpiresIn defines a requested expiration duration for the generated url. The request will be rejected if this exceeds the platform allowed max. +optional. The default value comes from a global config."
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ .. _ref_flyteidl.service.CreateUploadLocationResponse:
238
+
239
+ CreateUploadLocationResponse
240
+ ------------------------------------------------------------------
241
+
242
+
243
+
244
+
245
+
246
+ .. csv-table:: CreateUploadLocationResponse type fields
247
+ :header: "Field", "Type", "Label", "Description"
248
+ :widths: auto
249
+
250
+ "signed_url", ":ref:`ref_string`", "", "SignedUrl specifies the url to use to upload content to (e.g. https://my-bucket.s3.amazonaws.com/randomstring/suffix.tar?X-...)"
251
+ "native_url", ":ref:`ref_string`", "", "NativeUrl specifies the url in the format of the configured storage provider (e.g. s3://my-bucket/randomstring/suffix.tar)"
252
+ "expires_at", ":ref:`ref_google.protobuf.Timestamp`", "", "ExpiresAt defines when will the signed URL expires."
253
+
254
+
255
+
256
+
257
+
258
+ <!-- end messages -->
259
+
260
+ <!-- end enums -->
261
+
262
+ <!-- end HasExtensions -->
263
+
264
+
265
+
266
+ .. _ref_flyteidl.service.DataProxy:
267
+
268
+ DataProxy
269
+ ------------------------------------------------------------------
270
+
271
+ DataProxy defines an RPC Service that allows access to user-data in a controlled manner.
272
+
273
+ .. csv-table:: DataProxy service methods
274
+ :header: "Method Name", "Request Type", "Response Type", "Description"
275
+ :widths: auto
276
+
277
+ "CreateUploadLocation", ":ref:`ref_flyteidl.service.CreateUploadLocationRequest`", ":ref:`ref_flyteidl.service.CreateUploadLocationResponse`", "Retrieves user information about the currently logged in user."
278
+ <!-- end services -->
279
+
280
+
281
+
282
+
204
283
  .. _ref_flyteidl/service/identity.proto:
205
284
 
206
285
  flyteidl/service/identity.proto
@@ -0,0 +1,41 @@
1
+ syntax = "proto3";
2
+
3
+ package flyteidl.admin;
4
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin";
5
+
6
+
7
+ // Encapsulates specifications for routing an execution onto a specific cluster.
8
+ message ClusterAssignment {
9
+ Affinity affinity = 1;
10
+ }
11
+
12
+ // Defines a set of constraints used to select eligible objects based on labels they possess.
13
+ message Affinity {
14
+ // Multiples selectors are 'and'-ed together to produce the list of matching, eligible objects.
15
+ repeated Selector selectors = 1;
16
+ }
17
+
18
+ // A Selector is a specification for identifying a set of objects with corresponding labels.
19
+ message Selector {
20
+
21
+ // The label key.
22
+ string key = 1;
23
+
24
+ // One or more values used to match labels.
25
+ // For equality (or inequality) requirements, values must contain a single element.
26
+ // For set-based requirements, values may contain one or more elements.
27
+ repeated string value = 2;
28
+
29
+ // Defines how a label with a corresponding key and value is selected or excluded.
30
+ enum Operator {
31
+ EQUALS = 0;
32
+ NOT_EQUALS = 1;
33
+ IN = 2;
34
+ NOT_IN = 3;
35
+ EXISTS = 4; // A label key with any value
36
+
37
+ // K8s supports more operators, we can consider adding them if necessary
38
+ }
39
+ Operator operator = 3;
40
+ }
41
+
@@ -3,6 +3,7 @@ syntax = "proto3";
3
3
  package flyteidl.admin;
4
4
  option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin";
5
5
 
6
+ import "flyteidl/admin/cluster_assignment.proto";
6
7
  import "flyteidl/admin/common.proto";
7
8
  import "flyteidl/core/literals.proto";
8
9
  import "flyteidl/core/execution.proto";
@@ -285,6 +286,9 @@ message ExecutionSpec {
285
286
  // User setting to configure where to store offloaded data (i.e. Blobs, structured datasets, query data, etc.).
286
287
  // This should be a prefix like s3://my-bucket/my-data
287
288
  RawOutputDataConfig raw_output_data_config = 19;
289
+
290
+ // Controls how to select an available cluster on which this execution should run.
291
+ ClusterAssignment cluster_assignment = 20;
288
292
  }
289
293
 
290
294
  // Request to terminate an in-progress execution. This action is irreversible.
@@ -356,4 +360,4 @@ message ExecutionStateChangeDetails {
356
360
  string principal = 3;
357
361
  }
358
362
 
359
- message ExecutionUpdateResponse {}
363
+ message ExecutionUpdateResponse {}
@@ -3,6 +3,7 @@ syntax = "proto3";
3
3
  package flyteidl.admin;
4
4
  option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin";
5
5
 
6
+ import "flyteidl/admin/cluster_assignment.proto";
6
7
  import "flyteidl/core/execution.proto";
7
8
 
8
9
  // Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes
@@ -28,6 +29,9 @@ enum MatchableResource {
28
29
 
29
30
  // Adds defaults for customizable workflow-execution specifications and overrides.
30
31
  WORKFLOW_EXECUTION_CONFIG = 6;
32
+
33
+ // Controls how to select an available cluster on which this execution should run.
34
+ CLUSTER_ASSIGNMENT = 7;
31
35
  }
32
36
 
33
37
  // Defines a set of overridable task resource attributes set during task registration.
@@ -116,6 +120,8 @@ message MatchingAttributes {
116
120
  PluginOverrides plugin_overrides = 6;
117
121
 
118
122
  WorkflowExecutionConfig workflow_execution_config = 7;
123
+
124
+ ClusterAssignment cluster_assignment = 8;
119
125
  }
120
126
  }
121
127
 
@@ -0,0 +1,54 @@
1
+ syntax = "proto3";
2
+ package flyteidl.service;
3
+
4
+ option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service";
5
+
6
+ import "google/api/annotations.proto";
7
+ import "protoc-gen-swagger/options/annotations.proto";
8
+ import "google/protobuf/duration.proto";
9
+ import "google/protobuf/timestamp.proto";
10
+
11
+ message CreateUploadLocationResponse {
12
+ // SignedUrl specifies the url to use to upload content to (e.g. https://my-bucket.s3.amazonaws.com/randomstring/suffix.tar?X-...)
13
+ string signed_url = 1;
14
+
15
+ // NativeUrl specifies the url in the format of the configured storage provider (e.g. s3://my-bucket/randomstring/suffix.tar)
16
+ string native_url = 2;
17
+
18
+ // ExpiresAt defines when will the signed URL expires.
19
+ google.protobuf.Timestamp expires_at = 3;
20
+ }
21
+
22
+ // CreateUploadLocationRequest specified request for the CreateUploadLocation API.
23
+ message CreateUploadLocationRequest {
24
+ // Project to create the upload location for
25
+ // +required
26
+ string project = 1;
27
+
28
+ // Domain to create the upload location for.
29
+ // +required
30
+ string domain = 2;
31
+
32
+ // Suffix specifies a desired suffix for the generated location. E.g. `/file.py` or `pre/fix/file.zip`.
33
+ // +optional. By default, the service will generate a random file name.
34
+ string suffix = 3;
35
+
36
+ // ExpiresIn defines a requested expiration duration for the generated url. The request will be rejected if this
37
+ // exceeds the platform allowed max.
38
+ // +optional. The default value comes from a global config.
39
+ google.protobuf.Duration expires_in = 4;
40
+ }
41
+
42
+ // DataProxy defines an RPC Service that allows access to user-data in a controlled manner.
43
+ service DataProxy {
44
+ // Retrieves user information about the currently logged in user.
45
+ rpc CreateUploadLocation (CreateUploadLocationRequest) returns (CreateUploadLocationResponse) {
46
+ option (google.api.http) = {
47
+ post: "/api/v1/dataproxy/artifact_urn"
48
+ body: "*"
49
+ };
50
+ option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
51
+ description: "Creates a write-only http location that is accessible for tasks at runtime."
52
+ };
53
+ }
54
+ }