@flyteorg/flyteidl 0.21.8 → 0.21.12

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.
@@ -140,6 +140,64 @@ export namespace flyteidl {
140
140
  public static verify(message: { [k: string]: any }): (string|null);
141
141
  }
142
142
 
143
+ /** Properties of a CatalogReservation. */
144
+ interface ICatalogReservation {
145
+ }
146
+
147
+ /** Represents a CatalogReservation. */
148
+ class CatalogReservation implements ICatalogReservation {
149
+
150
+ /**
151
+ * Constructs a new CatalogReservation.
152
+ * @param [properties] Properties to set
153
+ */
154
+ constructor(properties?: flyteidl.core.ICatalogReservation);
155
+
156
+ /**
157
+ * Creates a new CatalogReservation instance using the specified properties.
158
+ * @param [properties] Properties to set
159
+ * @returns CatalogReservation instance
160
+ */
161
+ public static create(properties?: flyteidl.core.ICatalogReservation): flyteidl.core.CatalogReservation;
162
+
163
+ /**
164
+ * Encodes the specified CatalogReservation message. Does not implicitly {@link flyteidl.core.CatalogReservation.verify|verify} messages.
165
+ * @param message CatalogReservation message or plain object to encode
166
+ * @param [writer] Writer to encode to
167
+ * @returns Writer
168
+ */
169
+ public static encode(message: flyteidl.core.ICatalogReservation, writer?: $protobuf.Writer): $protobuf.Writer;
170
+
171
+ /**
172
+ * Decodes a CatalogReservation message from the specified reader or buffer.
173
+ * @param reader Reader or buffer to decode from
174
+ * @param [length] Message length if known beforehand
175
+ * @returns CatalogReservation
176
+ * @throws {Error} If the payload is not a reader or valid buffer
177
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
178
+ */
179
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.CatalogReservation;
180
+
181
+ /**
182
+ * Verifies a CatalogReservation message.
183
+ * @param message Plain object to verify
184
+ * @returns `null` if valid, otherwise the reason why it is not
185
+ */
186
+ public static verify(message: { [k: string]: any }): (string|null);
187
+ }
188
+
189
+ namespace CatalogReservation {
190
+
191
+ /** Status enum. */
192
+ enum Status {
193
+ RESERVATION_DISABLED = 0,
194
+ RESERVATION_ACQUIRED = 1,
195
+ RESERVATION_EXISTS = 2,
196
+ RESERVATION_RELEASED = 3,
197
+ RESERVATION_FAILURE = 4
198
+ }
199
+ }
200
+
143
201
  /** ResourceType enum. */
144
202
  enum ResourceType {
145
203
  UNSPECIFIED = 0,
@@ -4175,6 +4233,9 @@ export namespace flyteidl {
4175
4233
 
4176
4234
  /** TaskMetadata interruptible */
4177
4235
  interruptible?: (boolean|null);
4236
+
4237
+ /** TaskMetadata cacheSerializable */
4238
+ cacheSerializable?: (boolean|null);
4178
4239
  }
4179
4240
 
4180
4241
  /** Represents a TaskMetadata. */
@@ -4207,6 +4268,9 @@ export namespace flyteidl {
4207
4268
  /** TaskMetadata interruptible. */
4208
4269
  public interruptible: boolean;
4209
4270
 
4271
+ /** TaskMetadata cacheSerializable. */
4272
+ public cacheSerializable: boolean;
4273
+
4210
4274
  /** TaskMetadata interruptibleValue. */
4211
4275
  public interruptibleValue?: "interruptible";
4212
4276
 
@@ -5781,6 +5845,9 @@ export namespace flyteidl {
5781
5845
  /** TaskNodeMetadata catalogKey */
5782
5846
  catalogKey?: (flyteidl.core.ICatalogMetadata|null);
5783
5847
 
5848
+ /** TaskNodeMetadata reservationStatus */
5849
+ reservationStatus?: (flyteidl.core.CatalogReservation.Status|null);
5850
+
5784
5851
  /** TaskNodeMetadata dynamicWorkflow */
5785
5852
  dynamicWorkflow?: (flyteidl.event.IDynamicWorkflowNodeMetadata|null);
5786
5853
  }
@@ -5800,6 +5867,9 @@ export namespace flyteidl {
5800
5867
  /** TaskNodeMetadata catalogKey. */
5801
5868
  public catalogKey?: (flyteidl.core.ICatalogMetadata|null);
5802
5869
 
5870
+ /** TaskNodeMetadata reservationStatus. */
5871
+ public reservationStatus: flyteidl.core.CatalogReservation.Status;
5872
+
5803
5873
  /** TaskNodeMetadata dynamicWorkflow. */
5804
5874
  public dynamicWorkflow?: (flyteidl.event.IDynamicWorkflowNodeMetadata|null);
5805
5875
 
@@ -342,6 +342,119 @@ export const flyteidl = $root.flyteidl = (() => {
342
342
  return CatalogMetadata;
343
343
  })();
344
344
 
345
+ core.CatalogReservation = (function() {
346
+
347
+ /**
348
+ * Properties of a CatalogReservation.
349
+ * @memberof flyteidl.core
350
+ * @interface ICatalogReservation
351
+ */
352
+
353
+ /**
354
+ * Constructs a new CatalogReservation.
355
+ * @memberof flyteidl.core
356
+ * @classdesc Represents a CatalogReservation.
357
+ * @implements ICatalogReservation
358
+ * @constructor
359
+ * @param {flyteidl.core.ICatalogReservation=} [properties] Properties to set
360
+ */
361
+ function CatalogReservation(properties) {
362
+ if (properties)
363
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
364
+ if (properties[keys[i]] != null)
365
+ this[keys[i]] = properties[keys[i]];
366
+ }
367
+
368
+ /**
369
+ * Creates a new CatalogReservation instance using the specified properties.
370
+ * @function create
371
+ * @memberof flyteidl.core.CatalogReservation
372
+ * @static
373
+ * @param {flyteidl.core.ICatalogReservation=} [properties] Properties to set
374
+ * @returns {flyteidl.core.CatalogReservation} CatalogReservation instance
375
+ */
376
+ CatalogReservation.create = function create(properties) {
377
+ return new CatalogReservation(properties);
378
+ };
379
+
380
+ /**
381
+ * Encodes the specified CatalogReservation message. Does not implicitly {@link flyteidl.core.CatalogReservation.verify|verify} messages.
382
+ * @function encode
383
+ * @memberof flyteidl.core.CatalogReservation
384
+ * @static
385
+ * @param {flyteidl.core.ICatalogReservation} message CatalogReservation message or plain object to encode
386
+ * @param {$protobuf.Writer} [writer] Writer to encode to
387
+ * @returns {$protobuf.Writer} Writer
388
+ */
389
+ CatalogReservation.encode = function encode(message, writer) {
390
+ if (!writer)
391
+ writer = $Writer.create();
392
+ return writer;
393
+ };
394
+
395
+ /**
396
+ * Decodes a CatalogReservation message from the specified reader or buffer.
397
+ * @function decode
398
+ * @memberof flyteidl.core.CatalogReservation
399
+ * @static
400
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
401
+ * @param {number} [length] Message length if known beforehand
402
+ * @returns {flyteidl.core.CatalogReservation} CatalogReservation
403
+ * @throws {Error} If the payload is not a reader or valid buffer
404
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
405
+ */
406
+ CatalogReservation.decode = function decode(reader, length) {
407
+ if (!(reader instanceof $Reader))
408
+ reader = $Reader.create(reader);
409
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.CatalogReservation();
410
+ while (reader.pos < end) {
411
+ let tag = reader.uint32();
412
+ switch (tag >>> 3) {
413
+ default:
414
+ reader.skipType(tag & 7);
415
+ break;
416
+ }
417
+ }
418
+ return message;
419
+ };
420
+
421
+ /**
422
+ * Verifies a CatalogReservation message.
423
+ * @function verify
424
+ * @memberof flyteidl.core.CatalogReservation
425
+ * @static
426
+ * @param {Object.<string,*>} message Plain object to verify
427
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
428
+ */
429
+ CatalogReservation.verify = function verify(message) {
430
+ if (typeof message !== "object" || message === null)
431
+ return "object expected";
432
+ return null;
433
+ };
434
+
435
+ /**
436
+ * Status enum.
437
+ * @name flyteidl.core.CatalogReservation.Status
438
+ * @enum {string}
439
+ * @property {number} RESERVATION_DISABLED=0 RESERVATION_DISABLED value
440
+ * @property {number} RESERVATION_ACQUIRED=1 RESERVATION_ACQUIRED value
441
+ * @property {number} RESERVATION_EXISTS=2 RESERVATION_EXISTS value
442
+ * @property {number} RESERVATION_RELEASED=3 RESERVATION_RELEASED value
443
+ * @property {number} RESERVATION_FAILURE=4 RESERVATION_FAILURE value
444
+ */
445
+ CatalogReservation.Status = (function() {
446
+ const valuesById = {}, values = Object.create(valuesById);
447
+ values[valuesById[0] = "RESERVATION_DISABLED"] = 0;
448
+ values[valuesById[1] = "RESERVATION_ACQUIRED"] = 1;
449
+ values[valuesById[2] = "RESERVATION_EXISTS"] = 2;
450
+ values[valuesById[3] = "RESERVATION_RELEASED"] = 3;
451
+ values[valuesById[4] = "RESERVATION_FAILURE"] = 4;
452
+ return values;
453
+ })();
454
+
455
+ return CatalogReservation;
456
+ })();
457
+
345
458
  /**
346
459
  * ResourceType enum.
347
460
  * @name flyteidl.core.ResourceType
@@ -9895,6 +10008,7 @@ export const flyteidl = $root.flyteidl = (() => {
9895
10008
  * @property {string|null} [discoveryVersion] TaskMetadata discoveryVersion
9896
10009
  * @property {string|null} [deprecatedErrorMessage] TaskMetadata deprecatedErrorMessage
9897
10010
  * @property {boolean|null} [interruptible] TaskMetadata interruptible
10011
+ * @property {boolean|null} [cacheSerializable] TaskMetadata cacheSerializable
9898
10012
  */
9899
10013
 
9900
10014
  /**
@@ -9968,6 +10082,14 @@ export const flyteidl = $root.flyteidl = (() => {
9968
10082
  */
9969
10083
  TaskMetadata.prototype.interruptible = false;
9970
10084
 
10085
+ /**
10086
+ * TaskMetadata cacheSerializable.
10087
+ * @member {boolean} cacheSerializable
10088
+ * @memberof flyteidl.core.TaskMetadata
10089
+ * @instance
10090
+ */
10091
+ TaskMetadata.prototype.cacheSerializable = false;
10092
+
9971
10093
  // OneOf field names bound to virtual getters and setters
9972
10094
  let $oneOfFields;
9973
10095
 
@@ -10020,6 +10142,8 @@ export const flyteidl = $root.flyteidl = (() => {
10020
10142
  writer.uint32(/* id 7, wireType 2 =*/58).string(message.deprecatedErrorMessage);
10021
10143
  if (message.interruptible != null && message.hasOwnProperty("interruptible"))
10022
10144
  writer.uint32(/* id 8, wireType 0 =*/64).bool(message.interruptible);
10145
+ if (message.cacheSerializable != null && message.hasOwnProperty("cacheSerializable"))
10146
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.cacheSerializable);
10023
10147
  return writer;
10024
10148
  };
10025
10149
 
@@ -10062,6 +10186,9 @@ export const flyteidl = $root.flyteidl = (() => {
10062
10186
  case 8:
10063
10187
  message.interruptible = reader.bool();
10064
10188
  break;
10189
+ case 9:
10190
+ message.cacheSerializable = reader.bool();
10191
+ break;
10065
10192
  default:
10066
10193
  reader.skipType(tag & 7);
10067
10194
  break;
@@ -10111,6 +10238,9 @@ export const flyteidl = $root.flyteidl = (() => {
10111
10238
  if (typeof message.interruptible !== "boolean")
10112
10239
  return "interruptible: boolean expected";
10113
10240
  }
10241
+ if (message.cacheSerializable != null && message.hasOwnProperty("cacheSerializable"))
10242
+ if (typeof message.cacheSerializable !== "boolean")
10243
+ return "cacheSerializable: boolean expected";
10114
10244
  return null;
10115
10245
  };
10116
10246
 
@@ -13984,6 +14114,7 @@ export const flyteidl = $root.flyteidl = (() => {
13984
14114
  * @interface ITaskNodeMetadata
13985
14115
  * @property {flyteidl.core.CatalogCacheStatus|null} [cacheStatus] TaskNodeMetadata cacheStatus
13986
14116
  * @property {flyteidl.core.ICatalogMetadata|null} [catalogKey] TaskNodeMetadata catalogKey
14117
+ * @property {flyteidl.core.CatalogReservation.Status|null} [reservationStatus] TaskNodeMetadata reservationStatus
13987
14118
  * @property {flyteidl.event.IDynamicWorkflowNodeMetadata|null} [dynamicWorkflow] TaskNodeMetadata dynamicWorkflow
13988
14119
  */
13989
14120
 
@@ -14018,6 +14149,14 @@ export const flyteidl = $root.flyteidl = (() => {
14018
14149
  */
14019
14150
  TaskNodeMetadata.prototype.catalogKey = null;
14020
14151
 
14152
+ /**
14153
+ * TaskNodeMetadata reservationStatus.
14154
+ * @member {flyteidl.core.CatalogReservation.Status} reservationStatus
14155
+ * @memberof flyteidl.event.TaskNodeMetadata
14156
+ * @instance
14157
+ */
14158
+ TaskNodeMetadata.prototype.reservationStatus = 0;
14159
+
14021
14160
  /**
14022
14161
  * TaskNodeMetadata dynamicWorkflow.
14023
14162
  * @member {flyteidl.event.IDynamicWorkflowNodeMetadata|null|undefined} dynamicWorkflow
@@ -14054,6 +14193,8 @@ export const flyteidl = $root.flyteidl = (() => {
14054
14193
  writer.uint32(/* id 1, wireType 0 =*/8).int32(message.cacheStatus);
14055
14194
  if (message.catalogKey != null && message.hasOwnProperty("catalogKey"))
14056
14195
  $root.flyteidl.core.CatalogMetadata.encode(message.catalogKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
14196
+ if (message.reservationStatus != null && message.hasOwnProperty("reservationStatus"))
14197
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.reservationStatus);
14057
14198
  if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow"))
14058
14199
  $root.flyteidl.event.DynamicWorkflowNodeMetadata.encode(message.dynamicWorkflow, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
14059
14200
  return writer;
@@ -14083,6 +14224,9 @@ export const flyteidl = $root.flyteidl = (() => {
14083
14224
  case 2:
14084
14225
  message.catalogKey = $root.flyteidl.core.CatalogMetadata.decode(reader, reader.uint32());
14085
14226
  break;
14227
+ case 3:
14228
+ message.reservationStatus = reader.int32();
14229
+ break;
14086
14230
  case 16:
14087
14231
  message.dynamicWorkflow = $root.flyteidl.event.DynamicWorkflowNodeMetadata.decode(reader, reader.uint32());
14088
14232
  break;
@@ -14122,6 +14266,17 @@ export const flyteidl = $root.flyteidl = (() => {
14122
14266
  if (error)
14123
14267
  return "catalogKey." + error;
14124
14268
  }
14269
+ if (message.reservationStatus != null && message.hasOwnProperty("reservationStatus"))
14270
+ switch (message.reservationStatus) {
14271
+ default:
14272
+ return "reservationStatus: enum value expected";
14273
+ case 0:
14274
+ case 1:
14275
+ case 2:
14276
+ case 3:
14277
+ case 4:
14278
+ break;
14279
+ }
14125
14280
  if (message.dynamicWorkflow != null && message.hasOwnProperty("dynamicWorkflow")) {
14126
14281
  let error = $root.flyteidl.event.DynamicWorkflowNodeMetadata.verify(message.dynamicWorkflow);
14127
14282
  if (error)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyteorg/flyteidl",
3
- "version": "0.21.8",
3
+ "version": "0.21.12",
4
4
  "description": "Compiled protocol buffers and gRPC service clients/servers for Flyte IDLs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -841,11 +841,11 @@ Encapsulates the results of the Execution
841
841
  :header: "Field", "Type", "Label", "Description"
842
842
  :widths: auto
843
843
 
844
- "outputs", ":ref:`ref_flyteidl.admin.LiteralMapBlob`", "", "Output URI in the case of a successful execution."
844
+ "outputs", ":ref:`ref_flyteidl.admin.LiteralMapBlob`", "", "**Deprecated.** Output URI in the case of a successful execution. DEPRECATED. Use GetExecutionData to fetch output data instead."
845
845
  "error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information in the case of a failed execution."
846
846
  "abort_cause", ":ref:`ref_string`", "", "**Deprecated.** In the case of a user-specified abort, this will pass along the user-supplied cause."
847
847
  "abort_metadata", ":ref:`ref_flyteidl.admin.AbortMetadata`", "", "In the case of a user-specified abort, this will pass along the user and their supplied cause."
848
- "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this execution."
848
+ "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this execution. DEPRECATED. Use GetExecutionData to fetch output data instead."
849
849
  "computed_inputs", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Inputs computed and passed for execution. computed_inputs depends on inputs in ExecutionSpec, fixed and default inputs in launch plan"
850
850
  "phase", ":ref:`ref_flyteidl.core.WorkflowExecution.Phase`", "", "Most recent recorded phase for the execution."
851
851
  "started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Reported time at which the execution began running."
@@ -1979,9 +1979,9 @@ Container for node execution details and results.
1979
1979
  :header: "Field", "Type", "Label", "Description"
1980
1980
  :widths: auto
1981
1981
 
1982
- "output_uri", ":ref:`ref_string`", "", "Links to a remotely stored, serialized core.LiteralMap of node execution outputs."
1982
+ "output_uri", ":ref:`ref_string`", "", "**Deprecated.** Links to a remotely stored, serialized core.LiteralMap of node execution outputs. DEPRECATED. Use GetNodeExecutionData to fetch output data instead."
1983
1983
  "error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information for the Node"
1984
- "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this node execution."
1984
+ "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this node execution. DEPRECATED. Use GetNodeExecutionData to fetch output data instead."
1985
1985
  "phase", ":ref:`ref_flyteidl.core.NodeExecution.Phase`", "", "The last recorded phase for this node execution."
1986
1986
  "started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Time at which the node execution began running."
1987
1987
  "duration", ":ref:`ref_google.protobuf.Duration`", "", "The amount of time the node execution spent running."
@@ -2903,9 +2903,9 @@ Container for task execution details and results.
2903
2903
  :header: "Field", "Type", "Label", "Description"
2904
2904
  :widths: auto
2905
2905
 
2906
- "output_uri", ":ref:`ref_string`", "", "Path to remote data store where output blob is stored if the execution succeeded (and produced outputs)."
2906
+ "output_uri", ":ref:`ref_string`", "", "**Deprecated.** Path to remote data store where output blob is stored if the execution succeeded (and produced outputs). DEPRECATED. Use GetTaskExecutionData to fetch output data instead."
2907
2907
  "error", ":ref:`ref_flyteidl.core.ExecutionError`", "", "Error information for the task execution. Populated if the execution failed."
2908
- "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "Raw output data produced by this task execution."
2908
+ "output_data", ":ref:`ref_flyteidl.core.LiteralMap`", "", "**Deprecated.** Raw output data produced by this task execution. DEPRECATED. Use GetTaskExecutionData to fetch output data instead."
2909
2909
  "phase", ":ref:`ref_flyteidl.core.TaskExecution.Phase`", "", "The last recorded phase for this task execution."
2910
2910
  "logs", ":ref:`ref_flyteidl.core.TaskLog`", "repeated", "Detailed log information output by the task execution."
2911
2911
  "started_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Time at which the task execution began running."
@@ -57,6 +57,20 @@ Catalog artifact information with specific metadata
57
57
 
58
58
 
59
59
 
60
+
61
+
62
+ .. _ref_flyteidl.core.CatalogReservation:
63
+
64
+ CatalogReservation
65
+ ------------------------------------------------------------------
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
60
74
 
61
75
 
62
76
 
@@ -79,6 +93,25 @@ Indicates the status of CatalogCaching. The reason why this is not embedded in T
79
93
  "CACHE_LOOKUP_FAILURE", "4", "Used to indicate that cache lookup failed because of an error"
80
94
  "CACHE_PUT_FAILURE", "5", "Used to indicate that cache lookup failed because of an error"
81
95
 
96
+
97
+
98
+ .. _ref_flyteidl.core.CatalogReservation.Status:
99
+
100
+ CatalogReservation.Status
101
+ ------------------------------------------------------------------
102
+
103
+ Indicates the status of a catalog reservation operation.
104
+
105
+ .. csv-table:: Enum CatalogReservation.Status values
106
+ :header: "Name", "Number", "Description"
107
+ :widths: auto
108
+
109
+ "RESERVATION_DISABLED", "0", "Used to indicate that reservations are disabled"
110
+ "RESERVATION_ACQUIRED", "1", "Used to indicate that a reservation was successfully acquired or extended"
111
+ "RESERVATION_EXISTS", "2", "Used to indicate that an active reservation currently exists"
112
+ "RESERVATION_RELEASED", "3", "Used to indicate that the reservation has been successfully released"
113
+ "RESERVATION_FAILURE", "4", "Used to indicate that a reservation operation resulted in failure"
114
+
82
115
 
83
116
 
84
117
 
@@ -1732,6 +1765,7 @@ Container
1732
1765
  "config", ":ref:`ref_flyteidl.core.KeyValuePair`", "repeated", "**Deprecated.** Allows extra configs to be available for the container. TODO: elaborate on how configs will become available. Deprecated, please use TaskTemplate.config instead."
1733
1766
  "ports", ":ref:`ref_flyteidl.core.ContainerPort`", "repeated", "Ports to open in the container. This feature is not supported by all execution engines. (e.g. supported on K8s but not supported on AWS Batch) Only K8s"
1734
1767
  "data_config", ":ref:`ref_flyteidl.core.DataLoadingConfig`", "", "BETA: Optional configuration for DataLoading. If not specified, then default values are used. This makes it possible to to run a completely portable container, that uses inputs and outputs only from the local file-system and without having any reference to flyteidl. This is supported only on K8s at the moment. If data loading is enabled, then data will be mounted in accompanying directories specified in the DataLoadingConfig. If the directories are not specified, inputs will be mounted onto and outputs will be uploaded from a pre-determined file-system path. Refer to the documentation to understand the default paths. Only K8s"
1768
+ "architecture", ":ref:`ref_flyteidl.core.Container.Architecture`", "", ""
1735
1769
 
1736
1770
 
1737
1771
 
@@ -2007,6 +2041,7 @@ Task Metadata
2007
2041
  "discovery_version", ":ref:`ref_string`", "", "Indicates a logical version to apply to this task for the purpose of discovery."
2008
2042
  "deprecated_error_message", ":ref:`ref_string`", "", "If set, this indicates that this task is deprecated. This will enable owners of tasks to notify consumers of the ending of support for a given task."
2009
2043
  "interruptible", ":ref:`ref_bool`", "", ""
2044
+ "cache_serializable", ":ref:`ref_bool`", "", "Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work"
2010
2045
 
2011
2046
 
2012
2047
 
@@ -2070,6 +2105,25 @@ TaskTemplate.ConfigEntry
2070
2105
 
2071
2106
 
2072
2107
 
2108
+ .. _ref_flyteidl.core.Container.Architecture:
2109
+
2110
+ Container.Architecture
2111
+ ------------------------------------------------------------------
2112
+
2113
+ Architecture-type the container image supports.
2114
+
2115
+ .. csv-table:: Enum Container.Architecture values
2116
+ :header: "Name", "Number", "Description"
2117
+ :widths: auto
2118
+
2119
+ "UNKNOWN", "0", ""
2120
+ "AMD64", "1", ""
2121
+ "ARM64", "2", ""
2122
+ "ARM_V6", "3", ""
2123
+ "ARM_V7", "4", ""
2124
+
2125
+
2126
+
2073
2127
  .. _ref_flyteidl.core.DataLoadingConfig.LiteralMapFormat:
2074
2128
 
2075
2129
  DataLoadingConfig.LiteralMapFormat
@@ -3101,8 +3155,8 @@ Value
3101
3155
 
3102
3156
  `Value` represents a dynamically typed value which can be either
3103
3157
  null, a number, a string, a boolean, a recursive struct value, or a
3104
- list of values. A producer of value is expected to set one of that
3105
- variants, absence of any variant indicates an error.
3158
+ list of values. A producer of value is expected to set one of these
3159
+ variants. Absence of any variant indicates an error.
3106
3160
 
3107
3161
  The JSON representation for `Value` is JSON value.
3108
3162
 
@@ -261,43 +261,6 @@ Dataset properties we can filter by
261
261
 
262
262
 
263
263
 
264
- .. _ref_datacatalog.ExtendReservationRequest:
265
-
266
- ExtendReservationRequest
267
- ------------------------------------------------------------------
268
-
269
- Request to extend reservation
270
-
271
-
272
-
273
- .. csv-table:: ExtendReservationRequest type fields
274
- :header: "Field", "Type", "Label", "Description"
275
- :widths: auto
276
-
277
- "dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
278
- "tag_name", ":ref:`ref_string`", "", ""
279
- "owner_id", ":ref:`ref_string`", "", ""
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
- .. _ref_datacatalog.ExtendReservationResponse:
288
-
289
- ExtendReservationResponse
290
- ------------------------------------------------------------------
291
-
292
- Response to extend reservation
293
-
294
-
295
-
296
-
297
-
298
-
299
-
300
-
301
264
  .. _ref_datacatalog.FilterExpression:
302
265
 
303
266
  FilterExpression
@@ -410,22 +373,22 @@ Dataset.
410
373
 
411
374
 
412
375
 
413
- .. _ref_datacatalog.GetOrReserveArtifactRequest:
376
+ .. _ref_datacatalog.GetOrExtendReservationRequest:
414
377
 
415
- GetOrReserveArtifactRequest
378
+ GetOrExtendReservationRequest
416
379
  ------------------------------------------------------------------
417
380
 
418
- Get the Artifact or try to reserve a spot if the Artifact does not exist.
381
+ Try to acquire or extend an artifact reservation. If an active reservation exists, retreive that instance.
419
382
 
420
383
 
421
384
 
422
- .. csv-table:: GetOrReserveArtifactRequest type fields
385
+ .. csv-table:: GetOrExtendReservationRequest type fields
423
386
  :header: "Field", "Type", "Label", "Description"
424
387
  :widths: auto
425
388
 
426
- "dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
427
- "tag_name", ":ref:`ref_string`", "", ""
389
+ "reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
428
390
  "owner_id", ":ref:`ref_string`", "", ""
391
+ "heartbeat_interval", ":ref:`ref_google.protobuf.Duration`", "", "Requested reservation extension heartbeat interval"
429
392
 
430
393
 
431
394
 
@@ -433,21 +396,20 @@ Get the Artifact or try to reserve a spot if the Artifact does not exist.
433
396
 
434
397
 
435
398
 
436
- .. _ref_datacatalog.GetOrReserveArtifactResponse:
399
+ .. _ref_datacatalog.GetOrExtendReservationResponse:
437
400
 
438
- GetOrReserveArtifactResponse
401
+ GetOrExtendReservationResponse
439
402
  ------------------------------------------------------------------
440
403
 
441
- Response to get artifact or reserve spot.
404
+ Response including either a newly minted reservation or the existing reservation
442
405
 
443
406
 
444
407
 
445
- .. csv-table:: GetOrReserveArtifactResponse type fields
408
+ .. csv-table:: GetOrExtendReservationResponse type fields
446
409
  :header: "Field", "Type", "Label", "Description"
447
410
  :widths: auto
448
411
 
449
- "artifact", ":ref:`ref_datacatalog.Artifact`", "", ""
450
- "reservation_status", ":ref:`ref_datacatalog.ReservationStatus`", "", ""
412
+ "reservation", ":ref:`ref_datacatalog.Reservation`", "", ""
451
413
 
452
414
 
453
415
 
@@ -689,8 +651,7 @@ Request to release reservation
689
651
  :header: "Field", "Type", "Label", "Description"
690
652
  :widths: auto
691
653
 
692
- "dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
693
- "tag_name", ":ref:`ref_string`", "", ""
654
+ "reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
694
655
  "owner_id", ":ref:`ref_string`", "", ""
695
656
 
696
657
 
@@ -713,22 +674,46 @@ Response to release reservation
713
674
 
714
675
 
715
676
 
716
- .. _ref_datacatalog.ReservationStatus:
677
+ .. _ref_datacatalog.Reservation:
717
678
 
718
- ReservationStatus
679
+ Reservation
719
680
  ------------------------------------------------------------------
720
681
 
721
- Whether we successfully reserve a spot.
682
+ A reservation including owner, heartbeat interval, expiration timestamp, and various metadata.
722
683
 
723
684
 
724
685
 
725
- .. csv-table:: ReservationStatus type fields
686
+ .. csv-table:: Reservation type fields
726
687
  :header: "Field", "Type", "Label", "Description"
727
688
  :widths: auto
728
689
 
729
- "state", ":ref:`ref_datacatalog.ReservationStatus.State`", "", ""
730
- "metadata", ":ref:`ref_datacatalog.Metadata`", "", ""
690
+ "reservation_id", ":ref:`ref_datacatalog.ReservationID`", "", ""
731
691
  "owner_id", ":ref:`ref_string`", "", ""
692
+ "heartbeat_interval", ":ref:`ref_google.protobuf.Duration`", "", "Recommended heartbeat interval to extend reservation"
693
+ "expires_at", ":ref:`ref_google.protobuf.Timestamp`", "", "Expiration timestamp of this reservation"
694
+ "metadata", ":ref:`ref_datacatalog.Metadata`", "", ""
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+ .. _ref_datacatalog.ReservationID:
703
+
704
+ ReservationID
705
+ ------------------------------------------------------------------
706
+
707
+ ReservationID message that is composed of several string fields.
708
+
709
+
710
+
711
+ .. csv-table:: ReservationID type fields
712
+ :header: "Field", "Type", "Label", "Description"
713
+ :widths: auto
714
+
715
+ "dataset_id", ":ref:`ref_datacatalog.DatasetID`", "", ""
716
+ "tag_name", ":ref:`ref_string`", "", ""
732
717
 
733
718
 
734
719
 
@@ -839,22 +824,6 @@ PaginationOptions.SortOrder
839
824
 
840
825
 
841
826
 
842
- .. _ref_datacatalog.ReservationStatus.State:
843
-
844
- ReservationStatus.State
845
- ------------------------------------------------------------------
846
-
847
-
848
-
849
- .. csv-table:: Enum ReservationStatus.State values
850
- :header: "Name", "Number", "Description"
851
- :widths: auto
852
-
853
- "ACQUIRED", "0", "Acquired the reservation successfully."
854
- "ALREADY_IN_PROGRESS", "1", "Indicates an existing active reservation exist for a different owner_id."
855
-
856
-
857
-
858
827
  .. _ref_datacatalog.SinglePropertyFilter.ComparisonOperator:
859
828
 
860
829
  SinglePropertyFilter.ComparisonOperator
@@ -894,8 +863,7 @@ Artifacts are associated with a Dataset, and can be tagged for retrieval.
894
863
  "AddTag", ":ref:`ref_datacatalog.AddTagRequest`", ":ref:`ref_datacatalog.AddTagResponse`", "Associate a tag with an artifact. Tags are unique within a Dataset."
895
864
  "ListArtifacts", ":ref:`ref_datacatalog.ListArtifactsRequest`", ":ref:`ref_datacatalog.ListArtifactsResponse`", "Return a paginated list of artifacts"
896
865
  "ListDatasets", ":ref:`ref_datacatalog.ListDatasetsRequest`", ":ref:`ref_datacatalog.ListDatasetsResponse`", "Return a paginated list of datasets"
897
- "GetOrReserveArtifact", ":ref:`ref_datacatalog.GetOrReserveArtifactRequest`", ":ref:`ref_datacatalog.GetOrReserveArtifactResponse`", "Get an artifact and the corresponding data. If the artifact does not exist, try to reserve a spot for populating the artifact. Once you preserve a spot, you should call ExtendReservation API periodically to extend the reservation. Otherwise, the reservation can expire and other tasks may take the spot. If the same owner_id calls this API for the same dataset and it has an active reservation and the artifacts have not been written yet by a different owner, the API will respond with an Acquired Reservation Status (providing idempotency). Note: We may have multiple concurrent tasks with the same signature and the same input that try to populate the same artifact at the same time. Thus with reservation, only one task can run at a time, until the reservation expires. Note: If task A does not extend the reservation in time and the reservation expires, another task B may take over the reservation, resulting in two tasks A and B running in parallel. So a third task C may get the Artifact from A or B, whichever writes last."
898
- "ExtendReservation", ":ref:`ref_datacatalog.ExtendReservationRequest`", ":ref:`ref_datacatalog.ExtendReservationResponse`", "Extend the reservation to keep it from expiring. If the reservation expires, other tasks can take over the reservation by calling GetOrReserveArtifact."
866
+ "GetOrExtendReservation", ":ref:`ref_datacatalog.GetOrExtendReservationRequest`", ":ref:`ref_datacatalog.GetOrExtendReservationResponse`", "Attempts to get or extend a reservation for the corresponding artifact. If one already exists (ie. another entity owns the reservation) then that reservation is retrieved. Once you acquire a reservation, you need to periodically extend the reservation with an identical call. If the reservation is not extended before the defined expiration, it may be acquired by another task. Note: We may have multiple concurrent tasks with the same signature and the same input that try to populate the same artifact at the same time. Thus with reservation, only one task can run at a time, until the reservation expires. Note: If task A does not extend the reservation in time and the reservation expires, another task B may take over the reservation, resulting in two tasks A and B running in parallel. So a third task C may get the Artifact from A or B, whichever writes last."
899
867
  "ReleaseReservation", ":ref:`ref_datacatalog.ReleaseReservationRequest`", ":ref:`ref_datacatalog.ReleaseReservationResponse`", "Release the reservation when the task holding the spot fails so that the other tasks can grab the spot."
900
868
  <!-- end services -->
901
869
 
@@ -236,6 +236,7 @@ TaskNodeMetadata
236
236
 
237
237
  "cache_status", ":ref:`ref_flyteidl.core.CatalogCacheStatus`", "", "Captures the status of caching for this execution."
238
238
  "catalog_key", ":ref:`ref_flyteidl.core.CatalogMetadata`", "", "This structure carries the catalog artifact information"
239
+ "reservation_status", ":ref:`ref_flyteidl.core.CatalogReservation.Status`", "", "Captures the status of cache reservations for this execution."
239
240
  "dynamic_workflow", ":ref:`ref_flyteidl.event.DynamicWorkflowNodeMetadata`", "", "In the case this task launched a dynamic workflow we capture its structure here."
240
241
 
241
242
 
@@ -126,7 +126,8 @@ message ExecutionClosure {
126
126
  // A pending (non-terminal) execution will not have any output result.
127
127
  oneof output_result {
128
128
  // Output URI in the case of a successful execution.
129
- LiteralMapBlob outputs = 1;
129
+ // DEPRECATED. Use GetExecutionData to fetch output data instead.
130
+ LiteralMapBlob outputs = 1 [deprecated = true];
130
131
 
131
132
  // Error information in the case of a failed execution.
132
133
  core.ExecutionError error = 2;
@@ -138,7 +139,8 @@ message ExecutionClosure {
138
139
  AbortMetadata abort_metadata = 12;
139
140
 
140
141
  // Raw output data produced by this execution.
141
- core.LiteralMap output_data = 13;
142
+ // DEPRECATED. Use GetExecutionData to fetch output data instead.
143
+ core.LiteralMap output_data = 13 [deprecated = true];
142
144
  }
143
145
 
144
146
  // Inputs computed and passed for execution.
@@ -127,13 +127,15 @@ message NodeExecutionClosure {
127
127
  // Only a node in a terminal state will have a non-empty output_result.
128
128
  oneof output_result {
129
129
  // Links to a remotely stored, serialized core.LiteralMap of node execution outputs.
130
- string output_uri = 1;
130
+ // DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
131
+ string output_uri = 1 [deprecated = true];
131
132
 
132
133
  // Error information for the Node
133
134
  core.ExecutionError error = 2;
134
135
 
135
136
  // Raw output data produced by this node execution.
136
- core.LiteralMap output_data = 10;
137
+ // DEPRECATED. Use GetNodeExecutionData to fetch output data instead.
138
+ core.LiteralMap output_data = 10 [deprecated = true];
137
139
  }
138
140
 
139
141
  // The last recorded phase for this node execution.
@@ -77,13 +77,15 @@ message TaskExecutionList {
77
77
  message TaskExecutionClosure {
78
78
  oneof output_result {
79
79
  // Path to remote data store where output blob is stored if the execution succeeded (and produced outputs).
80
- string output_uri = 1;
80
+ // DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
81
+ string output_uri = 1 [deprecated = true];
81
82
 
82
83
  // Error information for the task execution. Populated if the execution failed.
83
84
  core.ExecutionError error = 2;
84
85
 
85
86
  // Raw output data produced by this task execution.
86
- core.LiteralMap output_data = 12;
87
+ // DEPRECATED. Use GetTaskExecutionData to fetch output data instead.
88
+ core.LiteralMap output_data = 12 [deprecated = true];
87
89
  }
88
90
 
89
91
  // The last recorded phase for this task execution.
@@ -41,3 +41,19 @@ message CatalogMetadata {
41
41
  TaskExecutionIdentifier source_task_execution = 3;
42
42
  }
43
43
  };
44
+
45
+ message CatalogReservation {
46
+ // Indicates the status of a catalog reservation operation.
47
+ enum Status {
48
+ // Used to indicate that reservations are disabled
49
+ RESERVATION_DISABLED = 0;
50
+ // Used to indicate that a reservation was successfully acquired or extended
51
+ RESERVATION_ACQUIRED = 1;
52
+ // Used to indicate that an active reservation currently exists
53
+ RESERVATION_EXISTS = 2;
54
+ // Used to indicate that the reservation has been successfully released
55
+ RESERVATION_RELEASED = 3;
56
+ // Used to indicate that a reservation operation resulted in failure
57
+ RESERVATION_FAILURE = 4;
58
+ }
59
+ }
@@ -92,6 +92,9 @@ message TaskMetadata {
92
92
  oneof interruptible_value {
93
93
  bool interruptible = 8;
94
94
  };
95
+
96
+ // Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work
97
+ bool cache_serializable = 9;
95
98
  }
96
99
 
97
100
  // A Task structure that uniquely identifies a task in the system
@@ -3,6 +3,7 @@ syntax = "proto3";
3
3
  package datacatalog;
4
4
 
5
5
  import "flyteidl/core/literals.proto";
6
+ import "google/protobuf/duration.proto";
6
7
  import "google/protobuf/timestamp.proto";
7
8
 
8
9
  /*
@@ -34,25 +35,18 @@ service DataCatalog {
34
35
  // Return a paginated list of datasets
35
36
  rpc ListDatasets (ListDatasetsRequest) returns (ListDatasetsResponse);
36
37
 
37
- // Get an artifact and the corresponding data. If the artifact does not exist,
38
- // try to reserve a spot for populating the artifact.
39
- // Once you preserve a spot, you should call ExtendReservation API periodically
40
- // to extend the reservation. Otherwise, the reservation can expire and other
41
- // tasks may take the spot.
42
- // If the same owner_id calls this API for the same dataset and it has an active reservation and the artifacts have not been written yet by a different owner, the API will respond with an Acquired Reservation Status (providing idempotency).
43
- // Note: We may have multiple concurrent tasks with the same signature
44
- // and the same input that try to populate the same artifact at the same time.
45
- // Thus with reservation, only one task can run at a time, until the reservation
46
- // expires.
47
- // Note: If task A does not extend the reservation in time and the reservation
48
- // expires, another task B may take over the reservation, resulting in two tasks
49
- // A and B running in parallel. So a third task C may get the Artifact from A or B,
50
- // whichever writes last.
51
- rpc GetOrReserveArtifact (GetOrReserveArtifactRequest) returns (GetOrReserveArtifactResponse);
52
-
53
- // Extend the reservation to keep it from expiring. If the reservation expires,
54
- // other tasks can take over the reservation by calling GetOrReserveArtifact.
55
- rpc ExtendReservation (ExtendReservationRequest) returns (ExtendReservationResponse);
38
+ // Attempts to get or extend a reservation for the corresponding artifact. If one already exists
39
+ // (ie. another entity owns the reservation) then that reservation is retrieved.
40
+ // Once you acquire a reservation, you need to periodically extend the reservation with an
41
+ // identical call. If the reservation is not extended before the defined expiration, it may be
42
+ // acquired by another task.
43
+ // Note: We may have multiple concurrent tasks with the same signature and the same input that
44
+ // try to populate the same artifact at the same time. Thus with reservation, only one task can
45
+ // run at a time, until the reservation expires.
46
+ // Note: If task A does not extend the reservation in time and the reservation expires, another
47
+ // task B may take over the reservation, resulting in two tasks A and B running in parallel. So
48
+ // a third task C may get the Artifact from A or B, whichever writes last.
49
+ rpc GetOrExtendReservation (GetOrExtendReservationRequest) returns (GetOrExtendReservationResponse);
56
50
 
57
51
  // Release the reservation when the task holding the spot fails so that the other tasks
58
52
  // can grab the spot.
@@ -174,53 +168,39 @@ message ListDatasetsResponse {
174
168
  string next_token = 2;
175
169
  }
176
170
 
177
- // Get the Artifact or try to reserve a spot if the Artifact does not exist.
178
- message GetOrReserveArtifactRequest {
171
+ /*
172
+ * ReservationID message that is composed of several string fields.
173
+ */
174
+ message ReservationID {
179
175
  DatasetID dataset_id = 1;
180
176
  string tag_name = 2;
181
- string owner_id = 3;
182
177
  }
183
178
 
184
- // Whether we successfully reserve a spot.
185
- message ReservationStatus {
186
- enum State {
187
- // Acquired the reservation successfully.
188
- ACQUIRED = 0;
189
-
190
- // Indicates an existing active reservation exist for a different owner_id.
191
- ALREADY_IN_PROGRESS = 1;
192
- };
193
-
194
- State state = 1;
195
- Metadata metadata = 2;
196
- string owner_id = 3;
179
+ // Try to acquire or extend an artifact reservation. If an active reservation exists, retreive that instance.
180
+ message GetOrExtendReservationRequest {
181
+ ReservationID reservation_id = 1;
182
+ string owner_id = 2;
183
+ google.protobuf.Duration heartbeat_interval = 3; // Requested reservation extension heartbeat interval
197
184
  }
198
185
 
199
- // Response to get artifact or reserve spot.
200
- message GetOrReserveArtifactResponse {
201
- oneof value {
202
- Artifact artifact = 1;
203
- ReservationStatus reservation_status = 2;
204
- }
186
+ // A reservation including owner, heartbeat interval, expiration timestamp, and various metadata.
187
+ message Reservation {
188
+ ReservationID reservation_id = 1;
189
+ string owner_id = 2;
190
+ google.protobuf.Duration heartbeat_interval = 3; // Recommended heartbeat interval to extend reservation
191
+ google.protobuf.Timestamp expires_at = 4; // Expiration timestamp of this reservation
192
+ Metadata metadata = 6;
205
193
  }
206
194
 
207
- // Request to extend reservation
208
- message ExtendReservationRequest {
209
- DatasetID dataset_id = 1;
210
- string tag_name = 2;
211
- string owner_id = 3;
212
- }
213
-
214
- // Response to extend reservation
215
- message ExtendReservationResponse {
216
-
195
+ // Response including either a newly minted reservation or the existing reservation
196
+ message GetOrExtendReservationResponse {
197
+ Reservation reservation = 1;
217
198
  }
218
199
 
219
200
  // Request to release reservation
220
201
  message ReleaseReservationRequest {
221
- DatasetID dataset_id = 1;
222
- string tag_name = 2;
223
- string owner_id = 3;
202
+ ReservationID reservation_id = 1;
203
+ string owner_id = 2;
224
204
  }
225
205
 
226
206
  // Response to release reservation
@@ -99,6 +99,8 @@ message TaskNodeMetadata {
99
99
  core.CatalogCacheStatus cache_status = 1;
100
100
  // This structure carries the catalog artifact information
101
101
  core.CatalogMetadata catalog_key = 2;
102
+ // Captures the status of cache reservations for this execution.
103
+ core.CatalogReservation.Status reservation_status = 3;
102
104
 
103
105
  // In the case this task launched a dynamic workflow we capture its structure here.
104
106
  DynamicWorkflowNodeMetadata dynamic_workflow = 16;