@flyteorg/flyteidl 1.11.1-b1 → 1.12.1-rc0

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.
@@ -4536,6 +4536,9 @@ export namespace flyteidl {
4536
4536
  /** ArrayNode minSuccessRatio. */
4537
4537
  public minSuccessRatio: number;
4538
4538
 
4539
+ /** ArrayNode parallelismOption. */
4540
+ public parallelismOption?: "parallelism";
4541
+
4539
4542
  /** ArrayNode successCriteria. */
4540
4543
  public successCriteria?: ("minSuccesses"|"minSuccessRatio");
4541
4544
 
@@ -7572,6 +7575,143 @@ export namespace flyteidl {
7572
7575
  public static verify(message: { [k: string]: any }): (string|null);
7573
7576
  }
7574
7577
 
7578
+ /** Properties of an ExecutionEnvAssignment. */
7579
+ interface IExecutionEnvAssignment {
7580
+
7581
+ /** ExecutionEnvAssignment nodeIds */
7582
+ nodeIds?: (string[]|null);
7583
+
7584
+ /** ExecutionEnvAssignment taskType */
7585
+ taskType?: (string|null);
7586
+
7587
+ /** ExecutionEnvAssignment executionEnv */
7588
+ executionEnv?: (flyteidl.core.IExecutionEnv|null);
7589
+ }
7590
+
7591
+ /** Represents an ExecutionEnvAssignment. */
7592
+ class ExecutionEnvAssignment implements IExecutionEnvAssignment {
7593
+
7594
+ /**
7595
+ * Constructs a new ExecutionEnvAssignment.
7596
+ * @param [properties] Properties to set
7597
+ */
7598
+ constructor(properties?: flyteidl.core.IExecutionEnvAssignment);
7599
+
7600
+ /** ExecutionEnvAssignment nodeIds. */
7601
+ public nodeIds: string[];
7602
+
7603
+ /** ExecutionEnvAssignment taskType. */
7604
+ public taskType: string;
7605
+
7606
+ /** ExecutionEnvAssignment executionEnv. */
7607
+ public executionEnv?: (flyteidl.core.IExecutionEnv|null);
7608
+
7609
+ /**
7610
+ * Creates a new ExecutionEnvAssignment instance using the specified properties.
7611
+ * @param [properties] Properties to set
7612
+ * @returns ExecutionEnvAssignment instance
7613
+ */
7614
+ public static create(properties?: flyteidl.core.IExecutionEnvAssignment): flyteidl.core.ExecutionEnvAssignment;
7615
+
7616
+ /**
7617
+ * Encodes the specified ExecutionEnvAssignment message. Does not implicitly {@link flyteidl.core.ExecutionEnvAssignment.verify|verify} messages.
7618
+ * @param message ExecutionEnvAssignment message or plain object to encode
7619
+ * @param [writer] Writer to encode to
7620
+ * @returns Writer
7621
+ */
7622
+ public static encode(message: flyteidl.core.IExecutionEnvAssignment, writer?: $protobuf.Writer): $protobuf.Writer;
7623
+
7624
+ /**
7625
+ * Decodes an ExecutionEnvAssignment message from the specified reader or buffer.
7626
+ * @param reader Reader or buffer to decode from
7627
+ * @param [length] Message length if known beforehand
7628
+ * @returns ExecutionEnvAssignment
7629
+ * @throws {Error} If the payload is not a reader or valid buffer
7630
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
7631
+ */
7632
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.ExecutionEnvAssignment;
7633
+
7634
+ /**
7635
+ * Verifies an ExecutionEnvAssignment message.
7636
+ * @param message Plain object to verify
7637
+ * @returns `null` if valid, otherwise the reason why it is not
7638
+ */
7639
+ public static verify(message: { [k: string]: any }): (string|null);
7640
+ }
7641
+
7642
+ /** Properties of an ExecutionEnv. */
7643
+ interface IExecutionEnv {
7644
+
7645
+ /** ExecutionEnv id */
7646
+ id?: (string|null);
7647
+
7648
+ /** ExecutionEnv type */
7649
+ type?: (string|null);
7650
+
7651
+ /** ExecutionEnv extant */
7652
+ extant?: (google.protobuf.IStruct|null);
7653
+
7654
+ /** ExecutionEnv spec */
7655
+ spec?: (google.protobuf.IStruct|null);
7656
+ }
7657
+
7658
+ /** Represents an ExecutionEnv. */
7659
+ class ExecutionEnv implements IExecutionEnv {
7660
+
7661
+ /**
7662
+ * Constructs a new ExecutionEnv.
7663
+ * @param [properties] Properties to set
7664
+ */
7665
+ constructor(properties?: flyteidl.core.IExecutionEnv);
7666
+
7667
+ /** ExecutionEnv id. */
7668
+ public id: string;
7669
+
7670
+ /** ExecutionEnv type. */
7671
+ public type: string;
7672
+
7673
+ /** ExecutionEnv extant. */
7674
+ public extant?: (google.protobuf.IStruct|null);
7675
+
7676
+ /** ExecutionEnv spec. */
7677
+ public spec?: (google.protobuf.IStruct|null);
7678
+
7679
+ /** ExecutionEnv environment. */
7680
+ public environment?: ("extant"|"spec");
7681
+
7682
+ /**
7683
+ * Creates a new ExecutionEnv instance using the specified properties.
7684
+ * @param [properties] Properties to set
7685
+ * @returns ExecutionEnv instance
7686
+ */
7687
+ public static create(properties?: flyteidl.core.IExecutionEnv): flyteidl.core.ExecutionEnv;
7688
+
7689
+ /**
7690
+ * Encodes the specified ExecutionEnv message. Does not implicitly {@link flyteidl.core.ExecutionEnv.verify|verify} messages.
7691
+ * @param message ExecutionEnv message or plain object to encode
7692
+ * @param [writer] Writer to encode to
7693
+ * @returns Writer
7694
+ */
7695
+ public static encode(message: flyteidl.core.IExecutionEnv, writer?: $protobuf.Writer): $protobuf.Writer;
7696
+
7697
+ /**
7698
+ * Decodes an ExecutionEnv message from the specified reader or buffer.
7699
+ * @param reader Reader or buffer to decode from
7700
+ * @param [length] Message length if known beforehand
7701
+ * @returns ExecutionEnv
7702
+ * @throws {Error} If the payload is not a reader or valid buffer
7703
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
7704
+ */
7705
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.ExecutionEnv;
7706
+
7707
+ /**
7708
+ * Verifies an ExecutionEnv message.
7709
+ * @param message Plain object to verify
7710
+ * @returns `null` if valid, otherwise the reason why it is not
7711
+ */
7712
+ public static verify(message: { [k: string]: any }): (string|null);
7713
+ }
7714
+
7575
7715
  /** Properties of a Span. */
7576
7716
  interface ISpan {
7577
7717
 
@@ -9155,6 +9295,9 @@ export namespace flyteidl {
9155
9295
 
9156
9296
  /** TaskExecutionMetadata overrides */
9157
9297
  overrides?: (flyteidl.core.ITaskNodeOverrides|null);
9298
+
9299
+ /** TaskExecutionMetadata identity */
9300
+ identity?: (flyteidl.core.IIdentity|null);
9158
9301
  }
9159
9302
 
9160
9303
  /** Represents a TaskExecutionMetadata. */
@@ -9196,6 +9339,9 @@ export namespace flyteidl {
9196
9339
  /** TaskExecutionMetadata overrides. */
9197
9340
  public overrides?: (flyteidl.core.ITaskNodeOverrides|null);
9198
9341
 
9342
+ /** TaskExecutionMetadata identity. */
9343
+ public identity?: (flyteidl.core.IIdentity|null);
9344
+
9199
9345
  /**
9200
9346
  * Creates a new TaskExecutionMetadata instance using the specified properties.
9201
9347
  * @param [properties] Properties to set
@@ -13931,6 +14077,9 @@ export namespace flyteidl {
13931
14077
 
13932
14078
  /** ExecutionSpec executionClusterLabel */
13933
14079
  executionClusterLabel?: (flyteidl.admin.IExecutionClusterLabel|null);
14080
+
14081
+ /** ExecutionSpec executionEnvAssignments */
14082
+ executionEnvAssignments?: (flyteidl.core.IExecutionEnvAssignment[]|null);
13934
14083
  }
13935
14084
 
13936
14085
  /** Represents an ExecutionSpec. */
@@ -13996,6 +14145,9 @@ export namespace flyteidl {
13996
14145
  /** ExecutionSpec executionClusterLabel. */
13997
14146
  public executionClusterLabel?: (flyteidl.admin.IExecutionClusterLabel|null);
13998
14147
 
14148
+ /** ExecutionSpec executionEnvAssignments. */
14149
+ public executionEnvAssignments: flyteidl.core.IExecutionEnvAssignment[];
14150
+
13999
14151
  /** ExecutionSpec notificationOverrides. */
14000
14152
  public notificationOverrides?: ("notifications"|"disableAll");
14001
14153
 
@@ -14995,6 +15147,9 @@ export namespace flyteidl {
14995
15147
 
14996
15148
  /** WorkflowExecutionConfig envs */
14997
15149
  envs?: (flyteidl.admin.IEnvs|null);
15150
+
15151
+ /** WorkflowExecutionConfig executionEnvAssignments */
15152
+ executionEnvAssignments?: (flyteidl.core.IExecutionEnvAssignment[]|null);
14998
15153
  }
14999
15154
 
15000
15155
  /** Represents a WorkflowExecutionConfig. */
@@ -15030,6 +15185,9 @@ export namespace flyteidl {
15030
15185
  /** WorkflowExecutionConfig envs. */
15031
15186
  public envs?: (flyteidl.admin.IEnvs|null);
15032
15187
 
15188
+ /** WorkflowExecutionConfig executionEnvAssignments. */
15189
+ public executionEnvAssignments: flyteidl.core.IExecutionEnvAssignment[];
15190
+
15033
15191
  /**
15034
15192
  * Creates a new WorkflowExecutionConfig instance using the specified properties.
15035
15193
  * @param [properties] Properties to set
@@ -15692,6 +15850,9 @@ export namespace flyteidl {
15692
15850
 
15693
15851
  /** LaunchPlanSpec envs */
15694
15852
  envs?: (flyteidl.admin.IEnvs|null);
15853
+
15854
+ /** LaunchPlanSpec executionEnvAssignments */
15855
+ executionEnvAssignments?: (flyteidl.core.IExecutionEnvAssignment[]|null);
15695
15856
  }
15696
15857
 
15697
15858
  /** Represents a LaunchPlanSpec. */
@@ -15751,6 +15912,9 @@ export namespace flyteidl {
15751
15912
  /** LaunchPlanSpec envs. */
15752
15913
  public envs?: (flyteidl.admin.IEnvs|null);
15753
15914
 
15915
+ /** LaunchPlanSpec executionEnvAssignments. */
15916
+ public executionEnvAssignments: flyteidl.core.IExecutionEnvAssignment[];
15917
+
15754
15918
  /**
15755
15919
  * Creates a new LaunchPlanSpec instance using the specified properties.
15756
15920
  * @param [properties] Properties to set
@@ -10863,6 +10863,17 @@
10863
10863
  // OneOf field names bound to virtual getters and setters
10864
10864
  var $oneOfFields;
10865
10865
 
10866
+ /**
10867
+ * ArrayNode parallelismOption.
10868
+ * @member {"parallelism"|undefined} parallelismOption
10869
+ * @memberof flyteidl.core.ArrayNode
10870
+ * @instance
10871
+ */
10872
+ Object.defineProperty(ArrayNode.prototype, "parallelismOption", {
10873
+ get: $util.oneOfGetter($oneOfFields = ["parallelism"]),
10874
+ set: $util.oneOfSetter($oneOfFields)
10875
+ });
10876
+
10866
10877
  /**
10867
10878
  * ArrayNode successCriteria.
10868
10879
  * @member {"minSuccesses"|"minSuccessRatio"|undefined} successCriteria
@@ -10964,9 +10975,11 @@
10964
10975
  if (error)
10965
10976
  return "node." + error;
10966
10977
  }
10967
- if (message.parallelism != null && message.hasOwnProperty("parallelism"))
10978
+ if (message.parallelism != null && message.hasOwnProperty("parallelism")) {
10979
+ properties.parallelismOption = 1;
10968
10980
  if (!$util.isInteger(message.parallelism))
10969
10981
  return "parallelism: integer expected";
10982
+ }
10970
10983
  if (message.minSuccesses != null && message.hasOwnProperty("minSuccesses")) {
10971
10984
  properties.successCriteria = 1;
10972
10985
  if (!$util.isInteger(message.minSuccesses))
@@ -18303,6 +18316,348 @@
18303
18316
  return ErrorDocument;
18304
18317
  })();
18305
18318
 
18319
+ core.ExecutionEnvAssignment = (function() {
18320
+
18321
+ /**
18322
+ * Properties of an ExecutionEnvAssignment.
18323
+ * @memberof flyteidl.core
18324
+ * @interface IExecutionEnvAssignment
18325
+ * @property {Array.<string>|null} [nodeIds] ExecutionEnvAssignment nodeIds
18326
+ * @property {string|null} [taskType] ExecutionEnvAssignment taskType
18327
+ * @property {flyteidl.core.IExecutionEnv|null} [executionEnv] ExecutionEnvAssignment executionEnv
18328
+ */
18329
+
18330
+ /**
18331
+ * Constructs a new ExecutionEnvAssignment.
18332
+ * @memberof flyteidl.core
18333
+ * @classdesc Represents an ExecutionEnvAssignment.
18334
+ * @implements IExecutionEnvAssignment
18335
+ * @constructor
18336
+ * @param {flyteidl.core.IExecutionEnvAssignment=} [properties] Properties to set
18337
+ */
18338
+ function ExecutionEnvAssignment(properties) {
18339
+ this.nodeIds = [];
18340
+ if (properties)
18341
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
18342
+ if (properties[keys[i]] != null)
18343
+ this[keys[i]] = properties[keys[i]];
18344
+ }
18345
+
18346
+ /**
18347
+ * ExecutionEnvAssignment nodeIds.
18348
+ * @member {Array.<string>} nodeIds
18349
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18350
+ * @instance
18351
+ */
18352
+ ExecutionEnvAssignment.prototype.nodeIds = $util.emptyArray;
18353
+
18354
+ /**
18355
+ * ExecutionEnvAssignment taskType.
18356
+ * @member {string} taskType
18357
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18358
+ * @instance
18359
+ */
18360
+ ExecutionEnvAssignment.prototype.taskType = "";
18361
+
18362
+ /**
18363
+ * ExecutionEnvAssignment executionEnv.
18364
+ * @member {flyteidl.core.IExecutionEnv|null|undefined} executionEnv
18365
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18366
+ * @instance
18367
+ */
18368
+ ExecutionEnvAssignment.prototype.executionEnv = null;
18369
+
18370
+ /**
18371
+ * Creates a new ExecutionEnvAssignment instance using the specified properties.
18372
+ * @function create
18373
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18374
+ * @static
18375
+ * @param {flyteidl.core.IExecutionEnvAssignment=} [properties] Properties to set
18376
+ * @returns {flyteidl.core.ExecutionEnvAssignment} ExecutionEnvAssignment instance
18377
+ */
18378
+ ExecutionEnvAssignment.create = function create(properties) {
18379
+ return new ExecutionEnvAssignment(properties);
18380
+ };
18381
+
18382
+ /**
18383
+ * Encodes the specified ExecutionEnvAssignment message. Does not implicitly {@link flyteidl.core.ExecutionEnvAssignment.verify|verify} messages.
18384
+ * @function encode
18385
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18386
+ * @static
18387
+ * @param {flyteidl.core.IExecutionEnvAssignment} message ExecutionEnvAssignment message or plain object to encode
18388
+ * @param {$protobuf.Writer} [writer] Writer to encode to
18389
+ * @returns {$protobuf.Writer} Writer
18390
+ */
18391
+ ExecutionEnvAssignment.encode = function encode(message, writer) {
18392
+ if (!writer)
18393
+ writer = $Writer.create();
18394
+ if (message.nodeIds != null && message.nodeIds.length)
18395
+ for (var i = 0; i < message.nodeIds.length; ++i)
18396
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.nodeIds[i]);
18397
+ if (message.taskType != null && message.hasOwnProperty("taskType"))
18398
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.taskType);
18399
+ if (message.executionEnv != null && message.hasOwnProperty("executionEnv"))
18400
+ $root.flyteidl.core.ExecutionEnv.encode(message.executionEnv, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
18401
+ return writer;
18402
+ };
18403
+
18404
+ /**
18405
+ * Decodes an ExecutionEnvAssignment message from the specified reader or buffer.
18406
+ * @function decode
18407
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18408
+ * @static
18409
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
18410
+ * @param {number} [length] Message length if known beforehand
18411
+ * @returns {flyteidl.core.ExecutionEnvAssignment} ExecutionEnvAssignment
18412
+ * @throws {Error} If the payload is not a reader or valid buffer
18413
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
18414
+ */
18415
+ ExecutionEnvAssignment.decode = function decode(reader, length) {
18416
+ if (!(reader instanceof $Reader))
18417
+ reader = $Reader.create(reader);
18418
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.ExecutionEnvAssignment();
18419
+ while (reader.pos < end) {
18420
+ var tag = reader.uint32();
18421
+ switch (tag >>> 3) {
18422
+ case 1:
18423
+ if (!(message.nodeIds && message.nodeIds.length))
18424
+ message.nodeIds = [];
18425
+ message.nodeIds.push(reader.string());
18426
+ break;
18427
+ case 2:
18428
+ message.taskType = reader.string();
18429
+ break;
18430
+ case 3:
18431
+ message.executionEnv = $root.flyteidl.core.ExecutionEnv.decode(reader, reader.uint32());
18432
+ break;
18433
+ default:
18434
+ reader.skipType(tag & 7);
18435
+ break;
18436
+ }
18437
+ }
18438
+ return message;
18439
+ };
18440
+
18441
+ /**
18442
+ * Verifies an ExecutionEnvAssignment message.
18443
+ * @function verify
18444
+ * @memberof flyteidl.core.ExecutionEnvAssignment
18445
+ * @static
18446
+ * @param {Object.<string,*>} message Plain object to verify
18447
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
18448
+ */
18449
+ ExecutionEnvAssignment.verify = function verify(message) {
18450
+ if (typeof message !== "object" || message === null)
18451
+ return "object expected";
18452
+ if (message.nodeIds != null && message.hasOwnProperty("nodeIds")) {
18453
+ if (!Array.isArray(message.nodeIds))
18454
+ return "nodeIds: array expected";
18455
+ for (var i = 0; i < message.nodeIds.length; ++i)
18456
+ if (!$util.isString(message.nodeIds[i]))
18457
+ return "nodeIds: string[] expected";
18458
+ }
18459
+ if (message.taskType != null && message.hasOwnProperty("taskType"))
18460
+ if (!$util.isString(message.taskType))
18461
+ return "taskType: string expected";
18462
+ if (message.executionEnv != null && message.hasOwnProperty("executionEnv")) {
18463
+ var error = $root.flyteidl.core.ExecutionEnv.verify(message.executionEnv);
18464
+ if (error)
18465
+ return "executionEnv." + error;
18466
+ }
18467
+ return null;
18468
+ };
18469
+
18470
+ return ExecutionEnvAssignment;
18471
+ })();
18472
+
18473
+ core.ExecutionEnv = (function() {
18474
+
18475
+ /**
18476
+ * Properties of an ExecutionEnv.
18477
+ * @memberof flyteidl.core
18478
+ * @interface IExecutionEnv
18479
+ * @property {string|null} [id] ExecutionEnv id
18480
+ * @property {string|null} [type] ExecutionEnv type
18481
+ * @property {google.protobuf.IStruct|null} [extant] ExecutionEnv extant
18482
+ * @property {google.protobuf.IStruct|null} [spec] ExecutionEnv spec
18483
+ */
18484
+
18485
+ /**
18486
+ * Constructs a new ExecutionEnv.
18487
+ * @memberof flyteidl.core
18488
+ * @classdesc Represents an ExecutionEnv.
18489
+ * @implements IExecutionEnv
18490
+ * @constructor
18491
+ * @param {flyteidl.core.IExecutionEnv=} [properties] Properties to set
18492
+ */
18493
+ function ExecutionEnv(properties) {
18494
+ if (properties)
18495
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
18496
+ if (properties[keys[i]] != null)
18497
+ this[keys[i]] = properties[keys[i]];
18498
+ }
18499
+
18500
+ /**
18501
+ * ExecutionEnv id.
18502
+ * @member {string} id
18503
+ * @memberof flyteidl.core.ExecutionEnv
18504
+ * @instance
18505
+ */
18506
+ ExecutionEnv.prototype.id = "";
18507
+
18508
+ /**
18509
+ * ExecutionEnv type.
18510
+ * @member {string} type
18511
+ * @memberof flyteidl.core.ExecutionEnv
18512
+ * @instance
18513
+ */
18514
+ ExecutionEnv.prototype.type = "";
18515
+
18516
+ /**
18517
+ * ExecutionEnv extant.
18518
+ * @member {google.protobuf.IStruct|null|undefined} extant
18519
+ * @memberof flyteidl.core.ExecutionEnv
18520
+ * @instance
18521
+ */
18522
+ ExecutionEnv.prototype.extant = null;
18523
+
18524
+ /**
18525
+ * ExecutionEnv spec.
18526
+ * @member {google.protobuf.IStruct|null|undefined} spec
18527
+ * @memberof flyteidl.core.ExecutionEnv
18528
+ * @instance
18529
+ */
18530
+ ExecutionEnv.prototype.spec = null;
18531
+
18532
+ // OneOf field names bound to virtual getters and setters
18533
+ var $oneOfFields;
18534
+
18535
+ /**
18536
+ * ExecutionEnv environment.
18537
+ * @member {"extant"|"spec"|undefined} environment
18538
+ * @memberof flyteidl.core.ExecutionEnv
18539
+ * @instance
18540
+ */
18541
+ Object.defineProperty(ExecutionEnv.prototype, "environment", {
18542
+ get: $util.oneOfGetter($oneOfFields = ["extant", "spec"]),
18543
+ set: $util.oneOfSetter($oneOfFields)
18544
+ });
18545
+
18546
+ /**
18547
+ * Creates a new ExecutionEnv instance using the specified properties.
18548
+ * @function create
18549
+ * @memberof flyteidl.core.ExecutionEnv
18550
+ * @static
18551
+ * @param {flyteidl.core.IExecutionEnv=} [properties] Properties to set
18552
+ * @returns {flyteidl.core.ExecutionEnv} ExecutionEnv instance
18553
+ */
18554
+ ExecutionEnv.create = function create(properties) {
18555
+ return new ExecutionEnv(properties);
18556
+ };
18557
+
18558
+ /**
18559
+ * Encodes the specified ExecutionEnv message. Does not implicitly {@link flyteidl.core.ExecutionEnv.verify|verify} messages.
18560
+ * @function encode
18561
+ * @memberof flyteidl.core.ExecutionEnv
18562
+ * @static
18563
+ * @param {flyteidl.core.IExecutionEnv} message ExecutionEnv message or plain object to encode
18564
+ * @param {$protobuf.Writer} [writer] Writer to encode to
18565
+ * @returns {$protobuf.Writer} Writer
18566
+ */
18567
+ ExecutionEnv.encode = function encode(message, writer) {
18568
+ if (!writer)
18569
+ writer = $Writer.create();
18570
+ if (message.id != null && message.hasOwnProperty("id"))
18571
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.id);
18572
+ if (message.type != null && message.hasOwnProperty("type"))
18573
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.type);
18574
+ if (message.extant != null && message.hasOwnProperty("extant"))
18575
+ $root.google.protobuf.Struct.encode(message.extant, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
18576
+ if (message.spec != null && message.hasOwnProperty("spec"))
18577
+ $root.google.protobuf.Struct.encode(message.spec, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
18578
+ return writer;
18579
+ };
18580
+
18581
+ /**
18582
+ * Decodes an ExecutionEnv message from the specified reader or buffer.
18583
+ * @function decode
18584
+ * @memberof flyteidl.core.ExecutionEnv
18585
+ * @static
18586
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
18587
+ * @param {number} [length] Message length if known beforehand
18588
+ * @returns {flyteidl.core.ExecutionEnv} ExecutionEnv
18589
+ * @throws {Error} If the payload is not a reader or valid buffer
18590
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
18591
+ */
18592
+ ExecutionEnv.decode = function decode(reader, length) {
18593
+ if (!(reader instanceof $Reader))
18594
+ reader = $Reader.create(reader);
18595
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.ExecutionEnv();
18596
+ while (reader.pos < end) {
18597
+ var tag = reader.uint32();
18598
+ switch (tag >>> 3) {
18599
+ case 1:
18600
+ message.id = reader.string();
18601
+ break;
18602
+ case 2:
18603
+ message.type = reader.string();
18604
+ break;
18605
+ case 3:
18606
+ message.extant = $root.google.protobuf.Struct.decode(reader, reader.uint32());
18607
+ break;
18608
+ case 4:
18609
+ message.spec = $root.google.protobuf.Struct.decode(reader, reader.uint32());
18610
+ break;
18611
+ default:
18612
+ reader.skipType(tag & 7);
18613
+ break;
18614
+ }
18615
+ }
18616
+ return message;
18617
+ };
18618
+
18619
+ /**
18620
+ * Verifies an ExecutionEnv message.
18621
+ * @function verify
18622
+ * @memberof flyteidl.core.ExecutionEnv
18623
+ * @static
18624
+ * @param {Object.<string,*>} message Plain object to verify
18625
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
18626
+ */
18627
+ ExecutionEnv.verify = function verify(message) {
18628
+ if (typeof message !== "object" || message === null)
18629
+ return "object expected";
18630
+ var properties = {};
18631
+ if (message.id != null && message.hasOwnProperty("id"))
18632
+ if (!$util.isString(message.id))
18633
+ return "id: string expected";
18634
+ if (message.type != null && message.hasOwnProperty("type"))
18635
+ if (!$util.isString(message.type))
18636
+ return "type: string expected";
18637
+ if (message.extant != null && message.hasOwnProperty("extant")) {
18638
+ properties.environment = 1;
18639
+ {
18640
+ var error = $root.google.protobuf.Struct.verify(message.extant);
18641
+ if (error)
18642
+ return "extant." + error;
18643
+ }
18644
+ }
18645
+ if (message.spec != null && message.hasOwnProperty("spec")) {
18646
+ if (properties.environment === 1)
18647
+ return "environment: multiple values";
18648
+ properties.environment = 1;
18649
+ {
18650
+ var error = $root.google.protobuf.Struct.verify(message.spec);
18651
+ if (error)
18652
+ return "spec." + error;
18653
+ }
18654
+ }
18655
+ return null;
18656
+ };
18657
+
18658
+ return ExecutionEnv;
18659
+ })();
18660
+
18306
18661
  core.Span = (function() {
18307
18662
 
18308
18663
  /**
@@ -22387,6 +22742,7 @@
22387
22742
  * @property {boolean|null} [interruptible] TaskExecutionMetadata interruptible
22388
22743
  * @property {number|null} [interruptibleFailureThreshold] TaskExecutionMetadata interruptibleFailureThreshold
22389
22744
  * @property {flyteidl.core.ITaskNodeOverrides|null} [overrides] TaskExecutionMetadata overrides
22745
+ * @property {flyteidl.core.IIdentity|null} [identity] TaskExecutionMetadata identity
22390
22746
  */
22391
22747
 
22392
22748
  /**
@@ -22487,6 +22843,14 @@
22487
22843
  */
22488
22844
  TaskExecutionMetadata.prototype.overrides = null;
22489
22845
 
22846
+ /**
22847
+ * TaskExecutionMetadata identity.
22848
+ * @member {flyteidl.core.IIdentity|null|undefined} identity
22849
+ * @memberof flyteidl.admin.TaskExecutionMetadata
22850
+ * @instance
22851
+ */
22852
+ TaskExecutionMetadata.prototype.identity = null;
22853
+
22490
22854
  /**
22491
22855
  * Creates a new TaskExecutionMetadata instance using the specified properties.
22492
22856
  * @function create
@@ -22534,6 +22898,8 @@
22534
22898
  writer.uint32(/* id 9, wireType 0 =*/72).int32(message.interruptibleFailureThreshold);
22535
22899
  if (message.overrides != null && message.hasOwnProperty("overrides"))
22536
22900
  $root.flyteidl.core.TaskNodeOverrides.encode(message.overrides, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
22901
+ if (message.identity != null && message.hasOwnProperty("identity"))
22902
+ $root.flyteidl.core.Identity.encode(message.identity, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
22537
22903
  return writer;
22538
22904
  };
22539
22905
 
@@ -22600,6 +22966,9 @@
22600
22966
  case 10:
22601
22967
  message.overrides = $root.flyteidl.core.TaskNodeOverrides.decode(reader, reader.uint32());
22602
22968
  break;
22969
+ case 11:
22970
+ message.identity = $root.flyteidl.core.Identity.decode(reader, reader.uint32());
22971
+ break;
22603
22972
  default:
22604
22973
  reader.skipType(tag & 7);
22605
22974
  break;
@@ -22668,6 +23037,11 @@
22668
23037
  if (error)
22669
23038
  return "overrides." + error;
22670
23039
  }
23040
+ if (message.identity != null && message.hasOwnProperty("identity")) {
23041
+ var error = $root.flyteidl.core.Identity.verify(message.identity);
23042
+ if (error)
23043
+ return "identity." + error;
23044
+ }
22671
23045
  return null;
22672
23046
  };
22673
23047
 
@@ -33631,6 +34005,7 @@
33631
34005
  * @property {flyteidl.admin.IEnvs|null} [envs] ExecutionSpec envs
33632
34006
  * @property {Array.<string>|null} [tags] ExecutionSpec tags
33633
34007
  * @property {flyteidl.admin.IExecutionClusterLabel|null} [executionClusterLabel] ExecutionSpec executionClusterLabel
34008
+ * @property {Array.<flyteidl.core.IExecutionEnvAssignment>|null} [executionEnvAssignments] ExecutionSpec executionEnvAssignments
33634
34009
  */
33635
34010
 
33636
34011
  /**
@@ -33643,6 +34018,7 @@
33643
34018
  */
33644
34019
  function ExecutionSpec(properties) {
33645
34020
  this.tags = [];
34021
+ this.executionEnvAssignments = [];
33646
34022
  if (properties)
33647
34023
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
33648
34024
  if (properties[keys[i]] != null)
@@ -33793,6 +34169,14 @@
33793
34169
  */
33794
34170
  ExecutionSpec.prototype.executionClusterLabel = null;
33795
34171
 
34172
+ /**
34173
+ * ExecutionSpec executionEnvAssignments.
34174
+ * @member {Array.<flyteidl.core.IExecutionEnvAssignment>} executionEnvAssignments
34175
+ * @memberof flyteidl.admin.ExecutionSpec
34176
+ * @instance
34177
+ */
34178
+ ExecutionSpec.prototype.executionEnvAssignments = $util.emptyArray;
34179
+
33796
34180
  // OneOf field names bound to virtual getters and setters
33797
34181
  var $oneOfFields;
33798
34182
 
@@ -33868,6 +34252,9 @@
33868
34252
  writer.uint32(/* id 24, wireType 2 =*/194).string(message.tags[i]);
33869
34253
  if (message.executionClusterLabel != null && message.hasOwnProperty("executionClusterLabel"))
33870
34254
  $root.flyteidl.admin.ExecutionClusterLabel.encode(message.executionClusterLabel, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
34255
+ if (message.executionEnvAssignments != null && message.executionEnvAssignments.length)
34256
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i)
34257
+ $root.flyteidl.core.ExecutionEnvAssignment.encode(message.executionEnvAssignments[i], writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
33871
34258
  return writer;
33872
34259
  };
33873
34260
 
@@ -33945,6 +34332,11 @@
33945
34332
  case 25:
33946
34333
  message.executionClusterLabel = $root.flyteidl.admin.ExecutionClusterLabel.decode(reader, reader.uint32());
33947
34334
  break;
34335
+ case 26:
34336
+ if (!(message.executionEnvAssignments && message.executionEnvAssignments.length))
34337
+ message.executionEnvAssignments = [];
34338
+ message.executionEnvAssignments.push($root.flyteidl.core.ExecutionEnvAssignment.decode(reader, reader.uint32()));
34339
+ break;
33948
34340
  default:
33949
34341
  reader.skipType(tag & 7);
33950
34342
  break;
@@ -34058,6 +34450,15 @@
34058
34450
  if (error)
34059
34451
  return "executionClusterLabel." + error;
34060
34452
  }
34453
+ if (message.executionEnvAssignments != null && message.hasOwnProperty("executionEnvAssignments")) {
34454
+ if (!Array.isArray(message.executionEnvAssignments))
34455
+ return "executionEnvAssignments: array expected";
34456
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i) {
34457
+ var error = $root.flyteidl.core.ExecutionEnvAssignment.verify(message.executionEnvAssignments[i]);
34458
+ if (error)
34459
+ return "executionEnvAssignments." + error;
34460
+ }
34461
+ }
34061
34462
  return null;
34062
34463
  };
34063
34464
 
@@ -36190,6 +36591,7 @@
36190
36591
  * @property {google.protobuf.IBoolValue|null} [interruptible] WorkflowExecutionConfig interruptible
36191
36592
  * @property {boolean|null} [overwriteCache] WorkflowExecutionConfig overwriteCache
36192
36593
  * @property {flyteidl.admin.IEnvs|null} [envs] WorkflowExecutionConfig envs
36594
+ * @property {Array.<flyteidl.core.IExecutionEnvAssignment>|null} [executionEnvAssignments] WorkflowExecutionConfig executionEnvAssignments
36193
36595
  */
36194
36596
 
36195
36597
  /**
@@ -36201,6 +36603,7 @@
36201
36603
  * @param {flyteidl.admin.IWorkflowExecutionConfig=} [properties] Properties to set
36202
36604
  */
36203
36605
  function WorkflowExecutionConfig(properties) {
36606
+ this.executionEnvAssignments = [];
36204
36607
  if (properties)
36205
36608
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
36206
36609
  if (properties[keys[i]] != null)
@@ -36271,6 +36674,14 @@
36271
36674
  */
36272
36675
  WorkflowExecutionConfig.prototype.envs = null;
36273
36676
 
36677
+ /**
36678
+ * WorkflowExecutionConfig executionEnvAssignments.
36679
+ * @member {Array.<flyteidl.core.IExecutionEnvAssignment>} executionEnvAssignments
36680
+ * @memberof flyteidl.admin.WorkflowExecutionConfig
36681
+ * @instance
36682
+ */
36683
+ WorkflowExecutionConfig.prototype.executionEnvAssignments = $util.emptyArray;
36684
+
36274
36685
  /**
36275
36686
  * Creates a new WorkflowExecutionConfig instance using the specified properties.
36276
36687
  * @function create
@@ -36311,6 +36722,9 @@
36311
36722
  writer.uint32(/* id 7, wireType 0 =*/56).bool(message.overwriteCache);
36312
36723
  if (message.envs != null && message.hasOwnProperty("envs"))
36313
36724
  $root.flyteidl.admin.Envs.encode(message.envs, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
36725
+ if (message.executionEnvAssignments != null && message.executionEnvAssignments.length)
36726
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i)
36727
+ $root.flyteidl.core.ExecutionEnvAssignment.encode(message.executionEnvAssignments[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
36314
36728
  return writer;
36315
36729
  };
36316
36730
 
@@ -36356,6 +36770,11 @@
36356
36770
  case 8:
36357
36771
  message.envs = $root.flyteidl.admin.Envs.decode(reader, reader.uint32());
36358
36772
  break;
36773
+ case 9:
36774
+ if (!(message.executionEnvAssignments && message.executionEnvAssignments.length))
36775
+ message.executionEnvAssignments = [];
36776
+ message.executionEnvAssignments.push($root.flyteidl.core.ExecutionEnvAssignment.decode(reader, reader.uint32()));
36777
+ break;
36359
36778
  default:
36360
36779
  reader.skipType(tag & 7);
36361
36780
  break;
@@ -36411,6 +36830,15 @@
36411
36830
  if (error)
36412
36831
  return "envs." + error;
36413
36832
  }
36833
+ if (message.executionEnvAssignments != null && message.hasOwnProperty("executionEnvAssignments")) {
36834
+ if (!Array.isArray(message.executionEnvAssignments))
36835
+ return "executionEnvAssignments: array expected";
36836
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i) {
36837
+ var error = $root.flyteidl.core.ExecutionEnvAssignment.verify(message.executionEnvAssignments[i]);
36838
+ if (error)
36839
+ return "executionEnvAssignments." + error;
36840
+ }
36841
+ }
36414
36842
  return null;
36415
36843
  };
36416
36844
 
@@ -37844,6 +38272,7 @@
37844
38272
  * @property {google.protobuf.IBoolValue|null} [interruptible] LaunchPlanSpec interruptible
37845
38273
  * @property {boolean|null} [overwriteCache] LaunchPlanSpec overwriteCache
37846
38274
  * @property {flyteidl.admin.IEnvs|null} [envs] LaunchPlanSpec envs
38275
+ * @property {Array.<flyteidl.core.IExecutionEnvAssignment>|null} [executionEnvAssignments] LaunchPlanSpec executionEnvAssignments
37847
38276
  */
37848
38277
 
37849
38278
  /**
@@ -37855,6 +38284,7 @@
37855
38284
  * @param {flyteidl.admin.ILaunchPlanSpec=} [properties] Properties to set
37856
38285
  */
37857
38286
  function LaunchPlanSpec(properties) {
38287
+ this.executionEnvAssignments = [];
37858
38288
  if (properties)
37859
38289
  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
37860
38290
  if (properties[keys[i]] != null)
@@ -37989,6 +38419,14 @@
37989
38419
  */
37990
38420
  LaunchPlanSpec.prototype.envs = null;
37991
38421
 
38422
+ /**
38423
+ * LaunchPlanSpec executionEnvAssignments.
38424
+ * @member {Array.<flyteidl.core.IExecutionEnvAssignment>} executionEnvAssignments
38425
+ * @memberof flyteidl.admin.LaunchPlanSpec
38426
+ * @instance
38427
+ */
38428
+ LaunchPlanSpec.prototype.executionEnvAssignments = $util.emptyArray;
38429
+
37992
38430
  /**
37993
38431
  * Creates a new LaunchPlanSpec instance using the specified properties.
37994
38432
  * @function create
@@ -38045,6 +38483,9 @@
38045
38483
  writer.uint32(/* id 20, wireType 0 =*/160).bool(message.overwriteCache);
38046
38484
  if (message.envs != null && message.hasOwnProperty("envs"))
38047
38485
  $root.flyteidl.admin.Envs.encode(message.envs, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
38486
+ if (message.executionEnvAssignments != null && message.executionEnvAssignments.length)
38487
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i)
38488
+ $root.flyteidl.core.ExecutionEnvAssignment.encode(message.executionEnvAssignments[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
38048
38489
  return writer;
38049
38490
  };
38050
38491
 
@@ -38114,6 +38555,11 @@
38114
38555
  case 21:
38115
38556
  message.envs = $root.flyteidl.admin.Envs.decode(reader, reader.uint32());
38116
38557
  break;
38558
+ case 22:
38559
+ if (!(message.executionEnvAssignments && message.executionEnvAssignments.length))
38560
+ message.executionEnvAssignments = [];
38561
+ message.executionEnvAssignments.push($root.flyteidl.core.ExecutionEnvAssignment.decode(reader, reader.uint32()));
38562
+ break;
38117
38563
  default:
38118
38564
  reader.skipType(tag & 7);
38119
38565
  break;
@@ -38207,6 +38653,15 @@
38207
38653
  if (error)
38208
38654
  return "envs." + error;
38209
38655
  }
38656
+ if (message.executionEnvAssignments != null && message.hasOwnProperty("executionEnvAssignments")) {
38657
+ if (!Array.isArray(message.executionEnvAssignments))
38658
+ return "executionEnvAssignments: array expected";
38659
+ for (var i = 0; i < message.executionEnvAssignments.length; ++i) {
38660
+ var error = $root.flyteidl.core.ExecutionEnvAssignment.verify(message.executionEnvAssignments[i]);
38661
+ if (error)
38662
+ return "executionEnvAssignments." + error;
38663
+ }
38664
+ }
38210
38665
  return null;
38211
38666
  };
38212
38667
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyteorg/flyteidl",
3
- "version": "1.11.1-b1",
3
+ "version": "1.12.1-rc0",
4
4
  "description": "Compiled protocol buffers and gRPC service clients/servers for Flyte IDLs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,6 +9,7 @@ import "flyteidl/core/workflow.proto";
9
9
  import "flyteidl/core/identifier.proto";
10
10
  import "flyteidl/core/execution.proto";
11
11
  import "flyteidl/core/metrics.proto";
12
+ import "flyteidl/core/security.proto";
12
13
  import "google/protobuf/duration.proto";
13
14
  import "google/protobuf/timestamp.proto";
14
15
  import "google/protobuf/struct.proto";
@@ -26,6 +27,7 @@ enum State {
26
27
  // Represents a subset of runtime task execution metadata that are relevant to external plugins.
27
28
  message TaskExecutionMetadata {
28
29
  // ID of the task execution
30
+
29
31
  core.TaskExecutionIdentifier task_execution_id = 1;
30
32
  // k8s namespace where the task is executed in
31
33
  string namespace = 2;
@@ -50,6 +52,8 @@ message TaskExecutionMetadata {
50
52
  // Overrides for specific properties of the task node.
51
53
  // These overrides can be used to customize the behavior of the task node.
52
54
  core.TaskNodeOverrides overrides = 10;
55
+ // Identity of user running this task execution
56
+ core.Identity identity = 11;
53
57
  }
54
58
 
55
59
  // Represents a request structure to create task.
@@ -7,6 +7,7 @@ import "flyteidl/admin/cluster_assignment.proto";
7
7
  import "flyteidl/admin/common.proto";
8
8
  import "flyteidl/core/literals.proto";
9
9
  import "flyteidl/core/execution.proto";
10
+ import "flyteidl/core/execution_envs.proto";
10
11
  import "flyteidl/core/artifact_id.proto";
11
12
  import "flyteidl/core/identifier.proto";
12
13
  import "flyteidl/core/metrics.proto";
@@ -334,6 +335,9 @@ message ExecutionSpec {
334
335
 
335
336
  // Execution cluster label to be set for the execution.
336
337
  ExecutionClusterLabel execution_cluster_label = 25;
338
+
339
+ // Execution environment assignments to be set for the execution.
340
+ repeated core.ExecutionEnvAssignment execution_env_assignments = 26;
337
341
  }
338
342
 
339
343
  // Request to terminate an in-progress execution. This action is irreversible.
@@ -4,6 +4,7 @@ package flyteidl.admin;
4
4
  option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin";
5
5
 
6
6
  import "flyteidl/core/execution.proto";
7
+ import "flyteidl/core/execution_envs.proto";
7
8
  import "flyteidl/core/literals.proto";
8
9
  import "flyteidl/core/identifier.proto";
9
10
  import "flyteidl/core/interface.proto";
@@ -135,6 +136,9 @@ message LaunchPlanSpec {
135
136
 
136
137
  // Environment variables to be set for the execution.
137
138
  Envs envs = 21;
139
+
140
+ // Execution environment assignments to be set for the execution.
141
+ repeated core.ExecutionEnvAssignment execution_env_assignments = 22;
138
142
  }
139
143
 
140
144
  // Values computed by the flyte platform after launch plan registration.
@@ -6,6 +6,7 @@ option go_package = "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin
6
6
  import "flyteidl/admin/common.proto";
7
7
  import "flyteidl/admin/cluster_assignment.proto";
8
8
  import "flyteidl/core/execution.proto";
9
+ import "flyteidl/core/execution_envs.proto";
9
10
  import "flyteidl/core/security.proto";
10
11
  import "google/protobuf/wrappers.proto";
11
12
 
@@ -131,6 +132,9 @@ message WorkflowExecutionConfig {
131
132
 
132
133
  // Environment variables to be set for the execution.
133
134
  Envs envs = 8;
135
+
136
+ // Execution environment assignments to be set for the execution.
137
+ repeated core.ExecutionEnvAssignment execution_env_assignments = 9;
134
138
  }
135
139
 
136
140
  // Generic container for encapsulating all types of the above attributes messages.
@@ -0,0 +1,39 @@
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
+ // ExecutionEnvAssignment is a message that is used to assign an execution environment to a set of
10
+ // nodes.
11
+ message ExecutionEnvAssignment {
12
+ // node_ids is a list of node ids that are being assigned the execution environment.
13
+ repeated string node_ids = 1;
14
+
15
+ // task_type is the type of task that is being assigned. This is used to override which Flyte
16
+ // plugin will be used during execution.
17
+ string task_type = 2;
18
+
19
+ // execution_env is the environment that is being assigned to the nodes.
20
+ ExecutionEnv execution_env = 3;
21
+ }
22
+
23
+ // ExecutionEnv is a message that is used to specify the execution environment.
24
+ message ExecutionEnv {
25
+ // id is a unique identifier for the execution environment.
26
+ string id = 1;
27
+
28
+ // type is the type of the execution environment.
29
+ string type = 2;
30
+
31
+ // environment is a oneof field that can be used to specify the environment in different ways.
32
+ oneof environment {
33
+ // extant is a reference to an existing environment.
34
+ google.protobuf.Struct extant = 3;
35
+
36
+ // spec is a specification of the environment.
37
+ google.protobuf.Struct spec = 4;
38
+ }
39
+ }
@@ -13,6 +13,7 @@ import "flyteidl/core/tasks.proto";
13
13
  import "flyteidl/core/types.proto";
14
14
  import "flyteidl/core/security.proto";
15
15
  import "google/protobuf/duration.proto";
16
+ import "google/protobuf/wrappers.proto";
16
17
 
17
18
  // Defines a condition and the execution unit that should be executed if the condition is satisfied.
18
19
  message IfBlock {
@@ -114,11 +115,13 @@ message ArrayNode {
114
115
  // node is the sub-node that will be executed for each element in the array.
115
116
  Node node = 1;
116
117
 
117
- // parallelism defines the minimum number of instances to bring up concurrently at any given
118
- // point. Note that this is an optimistic restriction and that, due to network partitioning or
119
- // other failures, the actual number of currently running instances might be more. This has to
120
- // be a positive number if assigned. Default value is size.
121
- uint32 parallelism = 2;
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
+ }
122
125
 
123
126
  oneof success_criteria {
124
127
  // min_successes is an absolute number of the minimum number of successful completions of