@flyteorg/flyteidl 0.24.18 → 0.24.21

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.
@@ -0,0 +1,3656 @@
1
+ ######################
2
+ Protocol Documentation
3
+ ######################
4
+
5
+
6
+
7
+
8
+ .. _ref_flyteidl/core/catalog.proto:
9
+
10
+ flyteidl/core/catalog.proto
11
+ ==================================================================
12
+
13
+
14
+
15
+
16
+
17
+ .. _ref_flyteidl.core.CatalogArtifactTag:
18
+
19
+ CatalogArtifactTag
20
+ ------------------------------------------------------------------
21
+
22
+
23
+
24
+
25
+
26
+ .. csv-table:: CatalogArtifactTag type fields
27
+ :header: "Field", "Type", "Label", "Description"
28
+ :widths: auto
29
+
30
+ "artifact_id", ":ref:`ref_string`", "", "Artifact ID is generated name"
31
+ "name", ":ref:`ref_string`", "", "Flyte computes the tag automatically, as the hash of the values"
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+ .. _ref_flyteidl.core.CatalogMetadata:
40
+
41
+ CatalogMetadata
42
+ ------------------------------------------------------------------
43
+
44
+ Catalog artifact information with specific metadata
45
+
46
+
47
+
48
+ .. csv-table:: CatalogMetadata type fields
49
+ :header: "Field", "Type", "Label", "Description"
50
+ :widths: auto
51
+
52
+ "dataset_id", ":ref:`ref_flyteidl.core.Identifier`", "", "Dataset ID in the catalog"
53
+ "artifact_tag", ":ref:`ref_flyteidl.core.CatalogArtifactTag`", "", "Artifact tag in the catalog"
54
+ "source_task_execution", ":ref:`ref_flyteidl.core.TaskExecutionIdentifier`", "", "Today we only support TaskExecutionIdentifier as a source, as catalog caching only works for task executions"
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+ .. _ref_flyteidl.core.CatalogReservation:
63
+
64
+ CatalogReservation
65
+ ------------------------------------------------------------------
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ .. _ref_flyteidl.core.CatalogCacheStatus:
79
+
80
+ CatalogCacheStatus
81
+ ------------------------------------------------------------------
82
+
83
+ Indicates the status of CatalogCaching. The reason why this is not embedded in TaskNodeMetadata is, that we may use for other types of nodes as well in the future
84
+
85
+ .. csv-table:: Enum CatalogCacheStatus values
86
+ :header: "Name", "Number", "Description"
87
+ :widths: auto
88
+
89
+ "CACHE_DISABLED", "0", "Used to indicate that caching was disabled"
90
+ "CACHE_MISS", "1", "Used to indicate that the cache lookup resulted in no matches"
91
+ "CACHE_HIT", "2", "used to indicate that the associated artifact was a result of a previous execution"
92
+ "CACHE_POPULATED", "3", "used to indicate that the resultant artifact was added to the cache"
93
+ "CACHE_LOOKUP_FAILURE", "4", "Used to indicate that cache lookup failed because of an error"
94
+ "CACHE_PUT_FAILURE", "5", "Used to indicate that cache lookup failed because of an error"
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
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+ .. _ref_flyteidl/core/compiler.proto:
125
+
126
+ flyteidl/core/compiler.proto
127
+ ==================================================================
128
+
129
+
130
+
131
+
132
+
133
+ .. _ref_flyteidl.core.CompiledTask:
134
+
135
+ CompiledTask
136
+ ------------------------------------------------------------------
137
+
138
+ Output of the Compilation step. This object represent one Task. We store more metadata at this layer
139
+
140
+
141
+
142
+ .. csv-table:: CompiledTask type fields
143
+ :header: "Field", "Type", "Label", "Description"
144
+ :widths: auto
145
+
146
+ "template", ":ref:`ref_flyteidl.core.TaskTemplate`", "", "Completely contained TaskTemplate"
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ .. _ref_flyteidl.core.CompiledWorkflow:
155
+
156
+ CompiledWorkflow
157
+ ------------------------------------------------------------------
158
+
159
+ Output of the compilation Step. This object represents one workflow. We store more metadata at this layer
160
+
161
+
162
+
163
+ .. csv-table:: CompiledWorkflow type fields
164
+ :header: "Field", "Type", "Label", "Description"
165
+ :widths: auto
166
+
167
+ "template", ":ref:`ref_flyteidl.core.WorkflowTemplate`", "", "Completely contained Workflow Template"
168
+ "connections", ":ref:`ref_flyteidl.core.ConnectionSet`", "", "For internal use only! This field is used by the system and must not be filled in. Any values set will be ignored."
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+ .. _ref_flyteidl.core.CompiledWorkflowClosure:
177
+
178
+ CompiledWorkflowClosure
179
+ ------------------------------------------------------------------
180
+
181
+ A Compiled Workflow Closure contains all the information required to start a new execution, or to visualize a workflow
182
+ and its details. The CompiledWorkflowClosure should always contain a primary workflow, that is the main workflow that
183
+ will being the execution. All subworkflows are denormalized. WorkflowNodes refer to the workflow identifiers of
184
+ compiled subworkflows.
185
+
186
+
187
+
188
+ .. csv-table:: CompiledWorkflowClosure type fields
189
+ :header: "Field", "Type", "Label", "Description"
190
+ :widths: auto
191
+
192
+ "primary", ":ref:`ref_flyteidl.core.CompiledWorkflow`", "", "+required"
193
+ "sub_workflows", ":ref:`ref_flyteidl.core.CompiledWorkflow`", "repeated", "Guaranteed that there will only exist one and only one workflow with a given id, i.e., every sub workflow has a unique identifier. Also every enclosed subworkflow is used either by a primary workflow or by a subworkflow as an inlined workflow +optional"
194
+ "tasks", ":ref:`ref_flyteidl.core.CompiledTask`", "repeated", "Guaranteed that there will only exist one and only one task with a given id, i.e., every task has a unique id +required (at least 1)"
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ .. _ref_flyteidl.core.ConnectionSet:
203
+
204
+ ConnectionSet
205
+ ------------------------------------------------------------------
206
+
207
+ Adjacency list for the workflow. This is created as part of the compilation process. Every process after the compilation
208
+ step uses this created ConnectionSet
209
+
210
+
211
+
212
+ .. csv-table:: ConnectionSet type fields
213
+ :header: "Field", "Type", "Label", "Description"
214
+ :widths: auto
215
+
216
+ "downstream", ":ref:`ref_flyteidl.core.ConnectionSet.DownstreamEntry`", "repeated", "A list of all the node ids that are downstream from a given node id"
217
+ "upstream", ":ref:`ref_flyteidl.core.ConnectionSet.UpstreamEntry`", "repeated", "A list of all the node ids, that are upstream of this node id"
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ .. _ref_flyteidl.core.ConnectionSet.DownstreamEntry:
226
+
227
+ ConnectionSet.DownstreamEntry
228
+ ------------------------------------------------------------------
229
+
230
+
231
+
232
+
233
+
234
+ .. csv-table:: ConnectionSet.DownstreamEntry type fields
235
+ :header: "Field", "Type", "Label", "Description"
236
+ :widths: auto
237
+
238
+ "key", ":ref:`ref_string`", "", ""
239
+ "value", ":ref:`ref_flyteidl.core.ConnectionSet.IdList`", "", ""
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ .. _ref_flyteidl.core.ConnectionSet.IdList:
248
+
249
+ ConnectionSet.IdList
250
+ ------------------------------------------------------------------
251
+
252
+
253
+
254
+
255
+
256
+ .. csv-table:: ConnectionSet.IdList type fields
257
+ :header: "Field", "Type", "Label", "Description"
258
+ :widths: auto
259
+
260
+ "ids", ":ref:`ref_string`", "repeated", ""
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+ .. _ref_flyteidl.core.ConnectionSet.UpstreamEntry:
269
+
270
+ ConnectionSet.UpstreamEntry
271
+ ------------------------------------------------------------------
272
+
273
+
274
+
275
+
276
+
277
+ .. csv-table:: ConnectionSet.UpstreamEntry type fields
278
+ :header: "Field", "Type", "Label", "Description"
279
+ :widths: auto
280
+
281
+ "key", ":ref:`ref_string`", "", ""
282
+ "value", ":ref:`ref_flyteidl.core.ConnectionSet.IdList`", "", ""
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+ .. _ref_flyteidl/core/condition.proto:
300
+
301
+ flyteidl/core/condition.proto
302
+ ==================================================================
303
+
304
+
305
+
306
+
307
+
308
+ .. _ref_flyteidl.core.BooleanExpression:
309
+
310
+ BooleanExpression
311
+ ------------------------------------------------------------------
312
+
313
+ Defines a boolean expression tree. It can be a simple or a conjunction expression.
314
+ Multiple expressions can be combined using a conjunction or a disjunction to result in a final boolean result.
315
+
316
+
317
+
318
+ .. csv-table:: BooleanExpression type fields
319
+ :header: "Field", "Type", "Label", "Description"
320
+ :widths: auto
321
+
322
+ "conjunction", ":ref:`ref_flyteidl.core.ConjunctionExpression`", "", ""
323
+ "comparison", ":ref:`ref_flyteidl.core.ComparisonExpression`", "", ""
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+ .. _ref_flyteidl.core.ComparisonExpression:
332
+
333
+ ComparisonExpression
334
+ ------------------------------------------------------------------
335
+
336
+ Defines a 2-level tree where the root is a comparison operator and Operands are primitives or known variables.
337
+ Each expression results in a boolean result.
338
+
339
+
340
+
341
+ .. csv-table:: ComparisonExpression type fields
342
+ :header: "Field", "Type", "Label", "Description"
343
+ :widths: auto
344
+
345
+ "operator", ":ref:`ref_flyteidl.core.ComparisonExpression.Operator`", "", ""
346
+ "left_value", ":ref:`ref_flyteidl.core.Operand`", "", ""
347
+ "right_value", ":ref:`ref_flyteidl.core.Operand`", "", ""
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+ .. _ref_flyteidl.core.ConjunctionExpression:
356
+
357
+ ConjunctionExpression
358
+ ------------------------------------------------------------------
359
+
360
+ Defines a conjunction expression of two boolean expressions.
361
+
362
+
363
+
364
+ .. csv-table:: ConjunctionExpression type fields
365
+ :header: "Field", "Type", "Label", "Description"
366
+ :widths: auto
367
+
368
+ "operator", ":ref:`ref_flyteidl.core.ConjunctionExpression.LogicalOperator`", "", ""
369
+ "left_expression", ":ref:`ref_flyteidl.core.BooleanExpression`", "", ""
370
+ "right_expression", ":ref:`ref_flyteidl.core.BooleanExpression`", "", ""
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+ .. _ref_flyteidl.core.Operand:
379
+
380
+ Operand
381
+ ------------------------------------------------------------------
382
+
383
+ Defines an operand to a comparison expression.
384
+
385
+
386
+
387
+ .. csv-table:: Operand type fields
388
+ :header: "Field", "Type", "Label", "Description"
389
+ :widths: auto
390
+
391
+ "primitive", ":ref:`ref_flyteidl.core.Primitive`", "", "Can be a constant"
392
+ "var", ":ref:`ref_string`", "", "Or one of this node's input variables"
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+ .. _ref_flyteidl.core.ComparisonExpression.Operator:
403
+
404
+ ComparisonExpression.Operator
405
+ ------------------------------------------------------------------
406
+
407
+ Binary Operator for each expression
408
+
409
+ .. csv-table:: Enum ComparisonExpression.Operator values
410
+ :header: "Name", "Number", "Description"
411
+ :widths: auto
412
+
413
+ "EQ", "0", ""
414
+ "NEQ", "1", ""
415
+ "GT", "2", "Greater Than"
416
+ "GTE", "3", ""
417
+ "LT", "4", "Less Than"
418
+ "LTE", "5", ""
419
+
420
+
421
+
422
+ .. _ref_flyteidl.core.ConjunctionExpression.LogicalOperator:
423
+
424
+ ConjunctionExpression.LogicalOperator
425
+ ------------------------------------------------------------------
426
+
427
+ Nested conditions. They can be conjoined using AND / OR
428
+ Order of evaluation is not important as the operators are Commutative
429
+
430
+ .. csv-table:: Enum ConjunctionExpression.LogicalOperator values
431
+ :header: "Name", "Number", "Description"
432
+ :widths: auto
433
+
434
+ "AND", "0", "Conjunction"
435
+ "OR", "1", ""
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+ .. _ref_flyteidl/core/dynamic_job.proto:
447
+
448
+ flyteidl/core/dynamic_job.proto
449
+ ==================================================================
450
+
451
+
452
+
453
+
454
+
455
+ .. _ref_flyteidl.core.DynamicJobSpec:
456
+
457
+ DynamicJobSpec
458
+ ------------------------------------------------------------------
459
+
460
+ Describes a set of tasks to execute and how the final outputs are produced.
461
+
462
+
463
+
464
+ .. csv-table:: DynamicJobSpec type fields
465
+ :header: "Field", "Type", "Label", "Description"
466
+ :widths: auto
467
+
468
+ "nodes", ":ref:`ref_flyteidl.core.Node`", "repeated", "A collection of nodes to execute."
469
+ "min_successes", ":ref:`ref_int64`", "", "An absolute number of successful completions of nodes required to mark this job as succeeded. As soon as this criteria is met, the dynamic job will be marked as successful and outputs will be computed. If this number becomes impossible to reach (e.g. number of currently running tasks + number of already succeeded tasks < min_successes) the task will be aborted immediately and marked as failed. The default value of this field, if not specified, is the count of nodes repeated field."
470
+ "outputs", ":ref:`ref_flyteidl.core.Binding`", "repeated", "Describes how to bind the final output of the dynamic job from the outputs of executed nodes. The referenced ids in bindings should have the generated id for the subtask."
471
+ "tasks", ":ref:`ref_flyteidl.core.TaskTemplate`", "repeated", "[Optional] A complete list of task specs referenced in nodes."
472
+ "subworkflows", ":ref:`ref_flyteidl.core.WorkflowTemplate`", "repeated", "[Optional] A complete list of task specs referenced in nodes."
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+ .. _ref_flyteidl/core/errors.proto:
490
+
491
+ flyteidl/core/errors.proto
492
+ ==================================================================
493
+
494
+
495
+
496
+
497
+
498
+ .. _ref_flyteidl.core.ContainerError:
499
+
500
+ ContainerError
501
+ ------------------------------------------------------------------
502
+
503
+ Error message to propagate detailed errors from container executions to the execution
504
+ engine.
505
+
506
+
507
+
508
+ .. csv-table:: ContainerError type fields
509
+ :header: "Field", "Type", "Label", "Description"
510
+ :widths: auto
511
+
512
+ "code", ":ref:`ref_string`", "", "A simplified code for errors, so that we can provide a glossary of all possible errors."
513
+ "message", ":ref:`ref_string`", "", "A detailed error message."
514
+ "kind", ":ref:`ref_flyteidl.core.ContainerError.Kind`", "", "An abstract error kind for this error. Defaults to Non_Recoverable if not specified."
515
+ "origin", ":ref:`ref_flyteidl.core.ExecutionError.ErrorKind`", "", "Defines the origin of the error (system, user, unknown)."
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+ .. _ref_flyteidl.core.ErrorDocument:
524
+
525
+ ErrorDocument
526
+ ------------------------------------------------------------------
527
+
528
+ Defines the errors.pb file format the container can produce to communicate
529
+ failure reasons to the execution engine.
530
+
531
+
532
+
533
+ .. csv-table:: ErrorDocument type fields
534
+ :header: "Field", "Type", "Label", "Description"
535
+ :widths: auto
536
+
537
+ "error", ":ref:`ref_flyteidl.core.ContainerError`", "", "The error raised during execution."
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+ .. _ref_flyteidl.core.ContainerError.Kind:
548
+
549
+ ContainerError.Kind
550
+ ------------------------------------------------------------------
551
+
552
+ Defines a generic error type that dictates the behavior of the retry strategy.
553
+
554
+ .. csv-table:: Enum ContainerError.Kind values
555
+ :header: "Name", "Number", "Description"
556
+ :widths: auto
557
+
558
+ "NON_RECOVERABLE", "0", ""
559
+ "RECOVERABLE", "1", ""
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+ .. _ref_flyteidl/core/execution.proto:
571
+
572
+ flyteidl/core/execution.proto
573
+ ==================================================================
574
+
575
+
576
+
577
+
578
+
579
+ .. _ref_flyteidl.core.ExecutionError:
580
+
581
+ ExecutionError
582
+ ------------------------------------------------------------------
583
+
584
+ Represents the error message from the execution.
585
+
586
+
587
+
588
+ .. csv-table:: ExecutionError type fields
589
+ :header: "Field", "Type", "Label", "Description"
590
+ :widths: auto
591
+
592
+ "code", ":ref:`ref_string`", "", "Error code indicates a grouping of a type of error. More Info: <Link>"
593
+ "message", ":ref:`ref_string`", "", "Detailed description of the error - including stack trace."
594
+ "error_uri", ":ref:`ref_string`", "", "Full error contents accessible via a URI"
595
+ "kind", ":ref:`ref_flyteidl.core.ExecutionError.ErrorKind`", "", ""
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+ .. _ref_flyteidl.core.NodeExecution:
604
+
605
+ NodeExecution
606
+ ------------------------------------------------------------------
607
+
608
+ Indicates various phases of Node Execution
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+ .. _ref_flyteidl.core.QualityOfService:
618
+
619
+ QualityOfService
620
+ ------------------------------------------------------------------
621
+
622
+ Indicates the priority of an execution.
623
+
624
+
625
+
626
+ .. csv-table:: QualityOfService type fields
627
+ :header: "Field", "Type", "Label", "Description"
628
+ :widths: auto
629
+
630
+ "tier", ":ref:`ref_flyteidl.core.QualityOfService.Tier`", "", ""
631
+ "spec", ":ref:`ref_flyteidl.core.QualityOfServiceSpec`", "", ""
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+ .. _ref_flyteidl.core.QualityOfServiceSpec:
640
+
641
+ QualityOfServiceSpec
642
+ ------------------------------------------------------------------
643
+
644
+ Represents customized execution run-time attributes.
645
+
646
+
647
+
648
+ .. csv-table:: QualityOfServiceSpec type fields
649
+ :header: "Field", "Type", "Label", "Description"
650
+ :widths: auto
651
+
652
+ "queueing_budget", ":ref:`ref_google.protobuf.Duration`", "", "Indicates how much queueing delay an execution can tolerate."
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+ .. _ref_flyteidl.core.TaskExecution:
661
+
662
+ TaskExecution
663
+ ------------------------------------------------------------------
664
+
665
+ Phases that task plugins can go through. Not all phases may be applicable to a specific plugin task,
666
+ but this is the cumulative list that customers may want to know about for their task.
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+ .. _ref_flyteidl.core.TaskLog:
676
+
677
+ TaskLog
678
+ ------------------------------------------------------------------
679
+
680
+ Log information for the task that is specific to a log sink
681
+ When our log story is flushed out, we may have more metadata here like log link expiry
682
+
683
+
684
+
685
+ .. csv-table:: TaskLog type fields
686
+ :header: "Field", "Type", "Label", "Description"
687
+ :widths: auto
688
+
689
+ "uri", ":ref:`ref_string`", "", ""
690
+ "name", ":ref:`ref_string`", "", ""
691
+ "message_format", ":ref:`ref_flyteidl.core.TaskLog.MessageFormat`", "", ""
692
+ "ttl", ":ref:`ref_google.protobuf.Duration`", "", ""
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+ .. _ref_flyteidl.core.WorkflowExecution:
701
+
702
+ WorkflowExecution
703
+ ------------------------------------------------------------------
704
+
705
+ Indicates various phases of Workflow Execution
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+ .. _ref_flyteidl.core.ExecutionError.ErrorKind:
717
+
718
+ ExecutionError.ErrorKind
719
+ ------------------------------------------------------------------
720
+
721
+ Error type: System or User
722
+
723
+ .. csv-table:: Enum ExecutionError.ErrorKind values
724
+ :header: "Name", "Number", "Description"
725
+ :widths: auto
726
+
727
+ "UNKNOWN", "0", ""
728
+ "USER", "1", ""
729
+ "SYSTEM", "2", ""
730
+
731
+
732
+
733
+ .. _ref_flyteidl.core.NodeExecution.Phase:
734
+
735
+ NodeExecution.Phase
736
+ ------------------------------------------------------------------
737
+
738
+
739
+
740
+ .. csv-table:: Enum NodeExecution.Phase values
741
+ :header: "Name", "Number", "Description"
742
+ :widths: auto
743
+
744
+ "UNDEFINED", "0", ""
745
+ "QUEUED", "1", ""
746
+ "RUNNING", "2", ""
747
+ "SUCCEEDED", "3", ""
748
+ "FAILING", "4", ""
749
+ "FAILED", "5", ""
750
+ "ABORTED", "6", ""
751
+ "SKIPPED", "7", ""
752
+ "TIMED_OUT", "8", ""
753
+ "DYNAMIC_RUNNING", "9", ""
754
+ "RECOVERED", "10", ""
755
+
756
+
757
+
758
+ .. _ref_flyteidl.core.QualityOfService.Tier:
759
+
760
+ QualityOfService.Tier
761
+ ------------------------------------------------------------------
762
+
763
+
764
+
765
+ .. csv-table:: Enum QualityOfService.Tier values
766
+ :header: "Name", "Number", "Description"
767
+ :widths: auto
768
+
769
+ "UNDEFINED", "0", "Default: no quality of service specified."
770
+ "HIGH", "1", ""
771
+ "MEDIUM", "2", ""
772
+ "LOW", "3", ""
773
+
774
+
775
+
776
+ .. _ref_flyteidl.core.TaskExecution.Phase:
777
+
778
+ TaskExecution.Phase
779
+ ------------------------------------------------------------------
780
+
781
+
782
+
783
+ .. csv-table:: Enum TaskExecution.Phase values
784
+ :header: "Name", "Number", "Description"
785
+ :widths: auto
786
+
787
+ "UNDEFINED", "0", ""
788
+ "QUEUED", "1", ""
789
+ "RUNNING", "2", ""
790
+ "SUCCEEDED", "3", ""
791
+ "ABORTED", "4", ""
792
+ "FAILED", "5", ""
793
+ "INITIALIZING", "6", "To indicate cases where task is initializing, like: ErrImagePull, ContainerCreating, PodInitializing"
794
+ "WAITING_FOR_RESOURCES", "7", "To address cases, where underlying resource is not available: Backoff error, Resource quota exceeded"
795
+
796
+
797
+
798
+ .. _ref_flyteidl.core.TaskLog.MessageFormat:
799
+
800
+ TaskLog.MessageFormat
801
+ ------------------------------------------------------------------
802
+
803
+
804
+
805
+ .. csv-table:: Enum TaskLog.MessageFormat values
806
+ :header: "Name", "Number", "Description"
807
+ :widths: auto
808
+
809
+ "UNKNOWN", "0", ""
810
+ "CSV", "1", ""
811
+ "JSON", "2", ""
812
+
813
+
814
+
815
+ .. _ref_flyteidl.core.WorkflowExecution.Phase:
816
+
817
+ WorkflowExecution.Phase
818
+ ------------------------------------------------------------------
819
+
820
+
821
+
822
+ .. csv-table:: Enum WorkflowExecution.Phase values
823
+ :header: "Name", "Number", "Description"
824
+ :widths: auto
825
+
826
+ "UNDEFINED", "0", ""
827
+ "QUEUED", "1", ""
828
+ "RUNNING", "2", ""
829
+ "SUCCEEDING", "3", ""
830
+ "SUCCEEDED", "4", ""
831
+ "FAILING", "5", ""
832
+ "FAILED", "6", ""
833
+ "ABORTED", "7", ""
834
+ "TIMED_OUT", "8", ""
835
+ "ABORTING", "9", ""
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+ .. _ref_flyteidl/core/identifier.proto:
847
+
848
+ flyteidl/core/identifier.proto
849
+ ==================================================================
850
+
851
+
852
+
853
+
854
+
855
+ .. _ref_flyteidl.core.Identifier:
856
+
857
+ Identifier
858
+ ------------------------------------------------------------------
859
+
860
+ Encapsulation of fields that uniquely identifies a Flyte resource.
861
+
862
+
863
+
864
+ .. csv-table:: Identifier type fields
865
+ :header: "Field", "Type", "Label", "Description"
866
+ :widths: auto
867
+
868
+ "resource_type", ":ref:`ref_flyteidl.core.ResourceType`", "", "Identifies the specific type of resource that this identifier corresponds to."
869
+ "project", ":ref:`ref_string`", "", "Name of the project the resource belongs to."
870
+ "domain", ":ref:`ref_string`", "", "Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project."
871
+ "name", ":ref:`ref_string`", "", "User provided value for the resource."
872
+ "version", ":ref:`ref_string`", "", "Specific version of the resource."
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+ .. _ref_flyteidl.core.NodeExecutionIdentifier:
881
+
882
+ NodeExecutionIdentifier
883
+ ------------------------------------------------------------------
884
+
885
+ Encapsulation of fields that identify a Flyte node execution entity.
886
+
887
+
888
+
889
+ .. csv-table:: NodeExecutionIdentifier type fields
890
+ :header: "Field", "Type", "Label", "Description"
891
+ :widths: auto
892
+
893
+ "node_id", ":ref:`ref_string`", "", ""
894
+ "execution_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", ""
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+ .. _ref_flyteidl.core.TaskExecutionIdentifier:
903
+
904
+ TaskExecutionIdentifier
905
+ ------------------------------------------------------------------
906
+
907
+ Encapsulation of fields that identify a Flyte task execution entity.
908
+
909
+
910
+
911
+ .. csv-table:: TaskExecutionIdentifier type fields
912
+ :header: "Field", "Type", "Label", "Description"
913
+ :widths: auto
914
+
915
+ "task_id", ":ref:`ref_flyteidl.core.Identifier`", "", ""
916
+ "node_execution_id", ":ref:`ref_flyteidl.core.NodeExecutionIdentifier`", "", ""
917
+ "retry_attempt", ":ref:`ref_uint32`", "", ""
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+ .. _ref_flyteidl.core.WorkflowExecutionIdentifier:
926
+
927
+ WorkflowExecutionIdentifier
928
+ ------------------------------------------------------------------
929
+
930
+ Encapsulation of fields that uniquely identifies a Flyte workflow execution
931
+
932
+
933
+
934
+ .. csv-table:: WorkflowExecutionIdentifier type fields
935
+ :header: "Field", "Type", "Label", "Description"
936
+ :widths: auto
937
+
938
+ "project", ":ref:`ref_string`", "", "Name of the project the resource belongs to."
939
+ "domain", ":ref:`ref_string`", "", "Name of the domain the resource belongs to. A domain can be considered as a subset within a specific project."
940
+ "name", ":ref:`ref_string`", "", "User or system provided value for the resource."
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+ .. _ref_flyteidl.core.ResourceType:
951
+
952
+ ResourceType
953
+ ------------------------------------------------------------------
954
+
955
+ Indicates a resource type within Flyte.
956
+
957
+ .. csv-table:: Enum ResourceType values
958
+ :header: "Name", "Number", "Description"
959
+ :widths: auto
960
+
961
+ "UNSPECIFIED", "0", ""
962
+ "TASK", "1", ""
963
+ "WORKFLOW", "2", ""
964
+ "LAUNCH_PLAN", "3", ""
965
+ "DATASET", "4", "A dataset represents an entity modeled in Flyte DataCatalog. A Dataset is also a versioned entity and can be a compilation of multiple individual objects. Eventually all Catalog objects should be modeled similar to Flyte Objects. The Dataset entities makes it possible for the UI and CLI to act on the objects in a similar manner to other Flyte objects"
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+
975
+
976
+ .. _ref_flyteidl/core/interface.proto:
977
+
978
+ flyteidl/core/interface.proto
979
+ ==================================================================
980
+
981
+
982
+
983
+
984
+
985
+ .. _ref_flyteidl.core.Parameter:
986
+
987
+ Parameter
988
+ ------------------------------------------------------------------
989
+
990
+ A parameter is used as input to a launch plan and has
991
+ the special ability to have a default value or mark itself as required.
992
+
993
+
994
+
995
+ .. csv-table:: Parameter type fields
996
+ :header: "Field", "Type", "Label", "Description"
997
+ :widths: auto
998
+
999
+ "var", ":ref:`ref_flyteidl.core.Variable`", "", "+required Variable. Defines the type of the variable backing this parameter."
1000
+ "default", ":ref:`ref_flyteidl.core.Literal`", "", "Defines a default value that has to match the variable type defined."
1001
+ "required", ":ref:`ref_bool`", "", "+optional, is this value required to be filled."
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+ .. _ref_flyteidl.core.ParameterMap:
1010
+
1011
+ ParameterMap
1012
+ ------------------------------------------------------------------
1013
+
1014
+ A map of Parameters.
1015
+
1016
+
1017
+
1018
+ .. csv-table:: ParameterMap type fields
1019
+ :header: "Field", "Type", "Label", "Description"
1020
+ :widths: auto
1021
+
1022
+ "parameters", ":ref:`ref_flyteidl.core.ParameterMap.ParametersEntry`", "repeated", "Defines a map of parameter names to parameters."
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+ .. _ref_flyteidl.core.ParameterMap.ParametersEntry:
1031
+
1032
+ ParameterMap.ParametersEntry
1033
+ ------------------------------------------------------------------
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+ .. csv-table:: ParameterMap.ParametersEntry type fields
1040
+ :header: "Field", "Type", "Label", "Description"
1041
+ :widths: auto
1042
+
1043
+ "key", ":ref:`ref_string`", "", ""
1044
+ "value", ":ref:`ref_flyteidl.core.Parameter`", "", ""
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+ .. _ref_flyteidl.core.TypedInterface:
1053
+
1054
+ TypedInterface
1055
+ ------------------------------------------------------------------
1056
+
1057
+ Defines strongly typed inputs and outputs.
1058
+
1059
+
1060
+
1061
+ .. csv-table:: TypedInterface type fields
1062
+ :header: "Field", "Type", "Label", "Description"
1063
+ :widths: auto
1064
+
1065
+ "inputs", ":ref:`ref_flyteidl.core.VariableMap`", "", ""
1066
+ "outputs", ":ref:`ref_flyteidl.core.VariableMap`", "", ""
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+ .. _ref_flyteidl.core.Variable:
1075
+
1076
+ Variable
1077
+ ------------------------------------------------------------------
1078
+
1079
+ Defines a strongly typed variable.
1080
+
1081
+
1082
+
1083
+ .. csv-table:: Variable type fields
1084
+ :header: "Field", "Type", "Label", "Description"
1085
+ :widths: auto
1086
+
1087
+ "type", ":ref:`ref_flyteidl.core.LiteralType`", "", "Variable literal type."
1088
+ "description", ":ref:`ref_string`", "", "+optional string describing input variable"
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+ .. _ref_flyteidl.core.VariableMap:
1097
+
1098
+ VariableMap
1099
+ ------------------------------------------------------------------
1100
+
1101
+ A map of Variables
1102
+
1103
+
1104
+
1105
+ .. csv-table:: VariableMap type fields
1106
+ :header: "Field", "Type", "Label", "Description"
1107
+ :widths: auto
1108
+
1109
+ "variables", ":ref:`ref_flyteidl.core.VariableMap.VariablesEntry`", "repeated", "Defines a map of variable names to variables."
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+ .. _ref_flyteidl.core.VariableMap.VariablesEntry:
1118
+
1119
+ VariableMap.VariablesEntry
1120
+ ------------------------------------------------------------------
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+ .. csv-table:: VariableMap.VariablesEntry type fields
1127
+ :header: "Field", "Type", "Label", "Description"
1128
+ :widths: auto
1129
+
1130
+ "key", ":ref:`ref_string`", "", ""
1131
+ "value", ":ref:`ref_flyteidl.core.Variable`", "", ""
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+ .. _ref_flyteidl/core/literals.proto:
1149
+
1150
+ flyteidl/core/literals.proto
1151
+ ==================================================================
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+ .. _ref_flyteidl.core.Binary:
1158
+
1159
+ Binary
1160
+ ------------------------------------------------------------------
1161
+
1162
+ A simple byte array with a tag to help different parts of the system communicate about what is in the byte array.
1163
+ It's strongly advisable that consumers of this type define a unique tag and validate the tag before parsing the data.
1164
+
1165
+
1166
+
1167
+ .. csv-table:: Binary type fields
1168
+ :header: "Field", "Type", "Label", "Description"
1169
+ :widths: auto
1170
+
1171
+ "value", ":ref:`ref_bytes`", "", ""
1172
+ "tag", ":ref:`ref_string`", "", ""
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+ .. _ref_flyteidl.core.Binding:
1181
+
1182
+ Binding
1183
+ ------------------------------------------------------------------
1184
+
1185
+ An input/output binding of a variable to either static value or a node output.
1186
+
1187
+
1188
+
1189
+ .. csv-table:: Binding type fields
1190
+ :header: "Field", "Type", "Label", "Description"
1191
+ :widths: auto
1192
+
1193
+ "var", ":ref:`ref_string`", "", "Variable name must match an input/output variable of the node."
1194
+ "binding", ":ref:`ref_flyteidl.core.BindingData`", "", "Data to use to bind this variable."
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+ .. _ref_flyteidl.core.BindingData:
1203
+
1204
+ BindingData
1205
+ ------------------------------------------------------------------
1206
+
1207
+ Specifies either a simple value or a reference to another output.
1208
+
1209
+
1210
+
1211
+ .. csv-table:: BindingData type fields
1212
+ :header: "Field", "Type", "Label", "Description"
1213
+ :widths: auto
1214
+
1215
+ "scalar", ":ref:`ref_flyteidl.core.Scalar`", "", "A simple scalar value."
1216
+ "collection", ":ref:`ref_flyteidl.core.BindingDataCollection`", "", "A collection of binding data. This allows nesting of binding data to any number of levels."
1217
+ "promise", ":ref:`ref_flyteidl.core.OutputReference`", "", "References an output promised by another node."
1218
+ "map", ":ref:`ref_flyteidl.core.BindingDataMap`", "", "A map of bindings. The key is always a string."
1219
+ "union", ":ref:`ref_flyteidl.core.UnionInfo`", "", ""
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+ .. _ref_flyteidl.core.BindingDataCollection:
1228
+
1229
+ BindingDataCollection
1230
+ ------------------------------------------------------------------
1231
+
1232
+ A collection of BindingData items.
1233
+
1234
+
1235
+
1236
+ .. csv-table:: BindingDataCollection type fields
1237
+ :header: "Field", "Type", "Label", "Description"
1238
+ :widths: auto
1239
+
1240
+ "bindings", ":ref:`ref_flyteidl.core.BindingData`", "repeated", ""
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+ .. _ref_flyteidl.core.BindingDataMap:
1249
+
1250
+ BindingDataMap
1251
+ ------------------------------------------------------------------
1252
+
1253
+ A map of BindingData items.
1254
+
1255
+
1256
+
1257
+ .. csv-table:: BindingDataMap type fields
1258
+ :header: "Field", "Type", "Label", "Description"
1259
+ :widths: auto
1260
+
1261
+ "bindings", ":ref:`ref_flyteidl.core.BindingDataMap.BindingsEntry`", "repeated", ""
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+ .. _ref_flyteidl.core.BindingDataMap.BindingsEntry:
1270
+
1271
+ BindingDataMap.BindingsEntry
1272
+ ------------------------------------------------------------------
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+ .. csv-table:: BindingDataMap.BindingsEntry type fields
1279
+ :header: "Field", "Type", "Label", "Description"
1280
+ :widths: auto
1281
+
1282
+ "key", ":ref:`ref_string`", "", ""
1283
+ "value", ":ref:`ref_flyteidl.core.BindingData`", "", ""
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+ .. _ref_flyteidl.core.Blob:
1292
+
1293
+ Blob
1294
+ ------------------------------------------------------------------
1295
+
1296
+ Refers to an offloaded set of files. It encapsulates the type of the store and a unique uri for where the data is.
1297
+ There are no restrictions on how the uri is formatted since it will depend on how to interact with the store.
1298
+
1299
+
1300
+
1301
+ .. csv-table:: Blob type fields
1302
+ :header: "Field", "Type", "Label", "Description"
1303
+ :widths: auto
1304
+
1305
+ "metadata", ":ref:`ref_flyteidl.core.BlobMetadata`", "", ""
1306
+ "uri", ":ref:`ref_string`", "", ""
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+ .. _ref_flyteidl.core.BlobMetadata:
1315
+
1316
+ BlobMetadata
1317
+ ------------------------------------------------------------------
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+ .. csv-table:: BlobMetadata type fields
1324
+ :header: "Field", "Type", "Label", "Description"
1325
+ :widths: auto
1326
+
1327
+ "type", ":ref:`ref_flyteidl.core.BlobType`", "", ""
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+ .. _ref_flyteidl.core.KeyValuePair:
1336
+
1337
+ KeyValuePair
1338
+ ------------------------------------------------------------------
1339
+
1340
+ A generic key value pair.
1341
+
1342
+
1343
+
1344
+ .. csv-table:: KeyValuePair type fields
1345
+ :header: "Field", "Type", "Label", "Description"
1346
+ :widths: auto
1347
+
1348
+ "key", ":ref:`ref_string`", "", "required."
1349
+ "value", ":ref:`ref_string`", "", "+optional."
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+ .. _ref_flyteidl.core.Literal:
1358
+
1359
+ Literal
1360
+ ------------------------------------------------------------------
1361
+
1362
+ A simple value. This supports any level of nesting (e.g. array of array of array of Blobs) as well as simple primitives.
1363
+
1364
+
1365
+
1366
+ .. csv-table:: Literal type fields
1367
+ :header: "Field", "Type", "Label", "Description"
1368
+ :widths: auto
1369
+
1370
+ "scalar", ":ref:`ref_flyteidl.core.Scalar`", "", "A simple value."
1371
+ "collection", ":ref:`ref_flyteidl.core.LiteralCollection`", "", "A collection of literals to allow nesting."
1372
+ "map", ":ref:`ref_flyteidl.core.LiteralMap`", "", "A map of strings to literals."
1373
+ "hash", ":ref:`ref_string`", "", "A hash representing this literal. This is used for caching purposes. For more details refer to RFC 1893 (https://github.com/flyteorg/flyte/blob/master/rfc/system/1893-caching-of-offloaded-objects.md)"
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+ .. _ref_flyteidl.core.LiteralCollection:
1382
+
1383
+ LiteralCollection
1384
+ ------------------------------------------------------------------
1385
+
1386
+ A collection of literals. This is a workaround since oneofs in proto messages cannot contain a repeated field.
1387
+
1388
+
1389
+
1390
+ .. csv-table:: LiteralCollection type fields
1391
+ :header: "Field", "Type", "Label", "Description"
1392
+ :widths: auto
1393
+
1394
+ "literals", ":ref:`ref_flyteidl.core.Literal`", "repeated", ""
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+ .. _ref_flyteidl.core.LiteralMap:
1403
+
1404
+ LiteralMap
1405
+ ------------------------------------------------------------------
1406
+
1407
+ A map of literals. This is a workaround since oneofs in proto messages cannot contain a repeated field.
1408
+
1409
+
1410
+
1411
+ .. csv-table:: LiteralMap type fields
1412
+ :header: "Field", "Type", "Label", "Description"
1413
+ :widths: auto
1414
+
1415
+ "literals", ":ref:`ref_flyteidl.core.LiteralMap.LiteralsEntry`", "repeated", ""
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+ .. _ref_flyteidl.core.LiteralMap.LiteralsEntry:
1424
+
1425
+ LiteralMap.LiteralsEntry
1426
+ ------------------------------------------------------------------
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+ .. csv-table:: LiteralMap.LiteralsEntry type fields
1433
+ :header: "Field", "Type", "Label", "Description"
1434
+ :widths: auto
1435
+
1436
+ "key", ":ref:`ref_string`", "", ""
1437
+ "value", ":ref:`ref_flyteidl.core.Literal`", "", ""
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+ .. _ref_flyteidl.core.Primitive:
1446
+
1447
+ Primitive
1448
+ ------------------------------------------------------------------
1449
+
1450
+ Primitive Types
1451
+
1452
+
1453
+
1454
+ .. csv-table:: Primitive type fields
1455
+ :header: "Field", "Type", "Label", "Description"
1456
+ :widths: auto
1457
+
1458
+ "integer", ":ref:`ref_int64`", "", ""
1459
+ "float_value", ":ref:`ref_double`", "", ""
1460
+ "string_value", ":ref:`ref_string`", "", ""
1461
+ "boolean", ":ref:`ref_bool`", "", ""
1462
+ "datetime", ":ref:`ref_google.protobuf.Timestamp`", "", ""
1463
+ "duration", ":ref:`ref_google.protobuf.Duration`", "", ""
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+ .. _ref_flyteidl.core.RetryStrategy:
1472
+
1473
+ RetryStrategy
1474
+ ------------------------------------------------------------------
1475
+
1476
+ Retry strategy associated with an executable unit.
1477
+
1478
+
1479
+
1480
+ .. csv-table:: RetryStrategy type fields
1481
+ :header: "Field", "Type", "Label", "Description"
1482
+ :widths: auto
1483
+
1484
+ "retries", ":ref:`ref_uint32`", "", "Number of retries. Retries will be consumed when the job fails with a recoverable error. The number of retries must be less than or equals to 10."
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+ .. _ref_flyteidl.core.Scalar:
1493
+
1494
+ Scalar
1495
+ ------------------------------------------------------------------
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+ .. csv-table:: Scalar type fields
1502
+ :header: "Field", "Type", "Label", "Description"
1503
+ :widths: auto
1504
+
1505
+ "primitive", ":ref:`ref_flyteidl.core.Primitive`", "", ""
1506
+ "blob", ":ref:`ref_flyteidl.core.Blob`", "", ""
1507
+ "binary", ":ref:`ref_flyteidl.core.Binary`", "", ""
1508
+ "schema", ":ref:`ref_flyteidl.core.Schema`", "", ""
1509
+ "none_type", ":ref:`ref_flyteidl.core.Void`", "", ""
1510
+ "error", ":ref:`ref_flyteidl.core.Error`", "", ""
1511
+ "generic", ":ref:`ref_google.protobuf.Struct`", "", ""
1512
+ "structured_dataset", ":ref:`ref_flyteidl.core.StructuredDataset`", "", ""
1513
+ "union", ":ref:`ref_flyteidl.core.Union`", "", ""
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+ .. _ref_flyteidl.core.Schema:
1522
+
1523
+ Schema
1524
+ ------------------------------------------------------------------
1525
+
1526
+ A strongly typed schema that defines the interface of data retrieved from the underlying storage medium.
1527
+
1528
+
1529
+
1530
+ .. csv-table:: Schema type fields
1531
+ :header: "Field", "Type", "Label", "Description"
1532
+ :widths: auto
1533
+
1534
+ "uri", ":ref:`ref_string`", "", ""
1535
+ "type", ":ref:`ref_flyteidl.core.SchemaType`", "", ""
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+ .. _ref_flyteidl.core.StructuredDataset:
1544
+
1545
+ StructuredDataset
1546
+ ------------------------------------------------------------------
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+ .. csv-table:: StructuredDataset type fields
1553
+ :header: "Field", "Type", "Label", "Description"
1554
+ :widths: auto
1555
+
1556
+ "uri", ":ref:`ref_string`", "", "String location uniquely identifying where the data is. Should start with the storage location (e.g. s3://, gs://, bq://, etc.)"
1557
+ "metadata", ":ref:`ref_flyteidl.core.StructuredDatasetMetadata`", "", ""
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+ .. _ref_flyteidl.core.StructuredDatasetMetadata:
1566
+
1567
+ StructuredDatasetMetadata
1568
+ ------------------------------------------------------------------
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+ .. csv-table:: StructuredDatasetMetadata type fields
1575
+ :header: "Field", "Type", "Label", "Description"
1576
+ :widths: auto
1577
+
1578
+ "structured_dataset_type", ":ref:`ref_flyteidl.core.StructuredDatasetType`", "", "Bundle the type information along with the literal. This is here because StructuredDatasets can often be more defined at run time than at compile time. That is, at compile time you might only declare a task to return a pandas dataframe or a StructuredDataset, without any column information, but at run time, you might have that column information. flytekit python will copy this type information into the literal, from the type information, if not provided by the various plugins (encoders). Since this field is run time generated, it's not used for any type checking."
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+ .. _ref_flyteidl.core.Union:
1587
+
1588
+ Union
1589
+ ------------------------------------------------------------------
1590
+
1591
+ The runtime representation of a tagged union value. See `UnionType` for more details.
1592
+
1593
+
1594
+
1595
+ .. csv-table:: Union type fields
1596
+ :header: "Field", "Type", "Label", "Description"
1597
+ :widths: auto
1598
+
1599
+ "value", ":ref:`ref_flyteidl.core.Literal`", "", ""
1600
+ "type", ":ref:`ref_flyteidl.core.LiteralType`", "", ""
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+ .. _ref_flyteidl.core.UnionInfo:
1609
+
1610
+ UnionInfo
1611
+ ------------------------------------------------------------------
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+ .. csv-table:: UnionInfo type fields
1618
+ :header: "Field", "Type", "Label", "Description"
1619
+ :widths: auto
1620
+
1621
+ "targetType", ":ref:`ref_flyteidl.core.LiteralType`", "", ""
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+ .. _ref_flyteidl.core.Void:
1630
+
1631
+ Void
1632
+ ------------------------------------------------------------------
1633
+
1634
+ Used to denote a nil/null/None assignment to a scalar value. The underlying LiteralType for Void is intentionally
1635
+ undefined since it can be assigned to a scalar of any LiteralType.
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+ .. _ref_flyteidl/core/security.proto:
1654
+
1655
+ flyteidl/core/security.proto
1656
+ ==================================================================
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+ .. _ref_flyteidl.core.Identity:
1663
+
1664
+ Identity
1665
+ ------------------------------------------------------------------
1666
+
1667
+ Identity encapsulates the various security identities a task can run as. It's up to the underlying plugin to pick the
1668
+ right identity for the execution environment.
1669
+
1670
+
1671
+
1672
+ .. csv-table:: Identity type fields
1673
+ :header: "Field", "Type", "Label", "Description"
1674
+ :widths: auto
1675
+
1676
+ "iam_role", ":ref:`ref_string`", "", "iam_role references the fully qualified name of Identity & Access Management role to impersonate."
1677
+ "k8s_service_account", ":ref:`ref_string`", "", "k8s_service_account references a kubernetes service account to impersonate."
1678
+ "oauth2_client", ":ref:`ref_flyteidl.core.OAuth2Client`", "", "oauth2_client references an oauth2 client. Backend plugins can use this information to impersonate the client when making external calls."
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+ .. _ref_flyteidl.core.OAuth2Client:
1687
+
1688
+ OAuth2Client
1689
+ ------------------------------------------------------------------
1690
+
1691
+ OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task.
1692
+
1693
+
1694
+
1695
+ .. csv-table:: OAuth2Client type fields
1696
+ :header: "Field", "Type", "Label", "Description"
1697
+ :widths: auto
1698
+
1699
+ "client_id", ":ref:`ref_string`", "", "client_id is the public id for the client to use. The system will not perform any pre-auth validation that the secret requested matches the client_id indicated here. +required"
1700
+ "client_secret", ":ref:`ref_flyteidl.core.Secret`", "", "client_secret is a reference to the secret used to authenticate the OAuth2 client. +required"
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+ .. _ref_flyteidl.core.OAuth2TokenRequest:
1709
+
1710
+ OAuth2TokenRequest
1711
+ ------------------------------------------------------------------
1712
+
1713
+ OAuth2TokenRequest encapsulates information needed to request an OAuth2 token.
1714
+ FLYTE_TOKENS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if
1715
+ tokens are passed through environment variables.
1716
+ FLYTE_TOKENS_PATH_PREFIX will be passed to indicate the prefix of the path where secrets will be mounted if tokens
1717
+ are passed through file mounts.
1718
+
1719
+
1720
+
1721
+ .. csv-table:: OAuth2TokenRequest type fields
1722
+ :header: "Field", "Type", "Label", "Description"
1723
+ :widths: auto
1724
+
1725
+ "name", ":ref:`ref_string`", "", "name indicates a unique id for the token request within this task token requests. It'll be used as a suffix for environment variables and as a filename for mounting tokens as files. +required"
1726
+ "type", ":ref:`ref_flyteidl.core.OAuth2TokenRequest.Type`", "", "type indicates the type of the request to make. Defaults to CLIENT_CREDENTIALS. +required"
1727
+ "client", ":ref:`ref_flyteidl.core.OAuth2Client`", "", "client references the client_id/secret to use to request the OAuth2 token. +required"
1728
+ "idp_discovery_endpoint", ":ref:`ref_string`", "", "idp_discovery_endpoint references the discovery endpoint used to retrieve token endpoint and other related information. +optional"
1729
+ "token_endpoint", ":ref:`ref_string`", "", "token_endpoint references the token issuance endpoint. If idp_discovery_endpoint is not provided, this parameter is mandatory. +optional"
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+ .. _ref_flyteidl.core.Secret:
1738
+
1739
+ Secret
1740
+ ------------------------------------------------------------------
1741
+
1742
+ Secret encapsulates information about the secret a task needs to proceed. An environment variable
1743
+ FLYTE_SECRETS_ENV_PREFIX will be passed to indicate the prefix of the environment variables that will be present if
1744
+ secrets are passed through environment variables.
1745
+ FLYTE_SECRETS_DEFAULT_DIR will be passed to indicate the prefix of the path where secrets will be mounted if secrets
1746
+ are passed through file mounts.
1747
+
1748
+
1749
+
1750
+ .. csv-table:: Secret type fields
1751
+ :header: "Field", "Type", "Label", "Description"
1752
+ :widths: auto
1753
+
1754
+ "group", ":ref:`ref_string`", "", "The name of the secret group where to find the key referenced below. For K8s secrets, this should be the name of the v1/secret object. For Confidant, this should be the Credential name. For Vault, this should be the secret name. For AWS Secret Manager, this should be the name of the secret. +required"
1755
+ "group_version", ":ref:`ref_string`", "", "The group version to fetch. This is not supported in all secret management systems. It'll be ignored for the ones that do not support it. +optional"
1756
+ "key", ":ref:`ref_string`", "", "The name of the secret to mount. This has to match an existing secret in the system. It's up to the implementation of the secret management system to require case sensitivity. For K8s secrets, Confidant and Vault, this should match one of the keys inside the secret. For AWS Secret Manager, it's ignored. +optional"
1757
+ "mount_requirement", ":ref:`ref_flyteidl.core.Secret.MountType`", "", "mount_requirement is optional. Indicates where the secret has to be mounted. If provided, the execution will fail if the underlying key management system cannot satisfy that requirement. If not provided, the default location will depend on the key management system. +optional"
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+ .. _ref_flyteidl.core.SecurityContext:
1766
+
1767
+ SecurityContext
1768
+ ------------------------------------------------------------------
1769
+
1770
+ SecurityContext holds security attributes that apply to tasks.
1771
+
1772
+
1773
+
1774
+ .. csv-table:: SecurityContext type fields
1775
+ :header: "Field", "Type", "Label", "Description"
1776
+ :widths: auto
1777
+
1778
+ "run_as", ":ref:`ref_flyteidl.core.Identity`", "", "run_as encapsulates the identity a pod should run as. If the task fills in multiple fields here, it'll be up to the backend plugin to choose the appropriate identity for the execution engine the task will run on."
1779
+ "secrets", ":ref:`ref_flyteidl.core.Secret`", "repeated", "secrets indicate the list of secrets the task needs in order to proceed. Secrets will be mounted/passed to the pod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS Batch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access to the secret) and to pass it to the remote execution engine."
1780
+ "tokens", ":ref:`ref_flyteidl.core.OAuth2TokenRequest`", "repeated", "tokens indicate the list of token requests the task needs in order to proceed. Tokens will be mounted/passed to the pod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS Batch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access to the secret) and to pass it to the remote execution engine."
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+ .. _ref_flyteidl.core.OAuth2TokenRequest.Type:
1791
+
1792
+ OAuth2TokenRequest.Type
1793
+ ------------------------------------------------------------------
1794
+
1795
+ Type of the token requested.
1796
+
1797
+ .. csv-table:: Enum OAuth2TokenRequest.Type values
1798
+ :header: "Name", "Number", "Description"
1799
+ :widths: auto
1800
+
1801
+ "CLIENT_CREDENTIALS", "0", "CLIENT_CREDENTIALS indicates a 2-legged OAuth token requested using client credentials."
1802
+
1803
+
1804
+
1805
+ .. _ref_flyteidl.core.Secret.MountType:
1806
+
1807
+ Secret.MountType
1808
+ ------------------------------------------------------------------
1809
+
1810
+
1811
+
1812
+ .. csv-table:: Enum Secret.MountType values
1813
+ :header: "Name", "Number", "Description"
1814
+ :widths: auto
1815
+
1816
+ "ANY", "0", "Default case, indicates the client can tolerate either mounting options."
1817
+ "ENV_VAR", "1", "ENV_VAR indicates the secret needs to be mounted as an environment variable."
1818
+ "FILE", "2", "FILE indicates the secret needs to be mounted as a file."
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+ .. _ref_flyteidl/core/tasks.proto:
1830
+
1831
+ flyteidl/core/tasks.proto
1832
+ ==================================================================
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+ .. _ref_flyteidl.core.Container:
1839
+
1840
+ Container
1841
+ ------------------------------------------------------------------
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+ .. csv-table:: Container type fields
1848
+ :header: "Field", "Type", "Label", "Description"
1849
+ :widths: auto
1850
+
1851
+ "image", ":ref:`ref_string`", "", "Container image url. Eg: docker/redis:latest"
1852
+ "command", ":ref:`ref_string`", "repeated", "Command to be executed, if not provided, the default entrypoint in the container image will be used."
1853
+ "args", ":ref:`ref_string`", "repeated", "These will default to Flyte given paths. If provided, the system will not append known paths. If the task still needs flyte's inputs and outputs path, add $(FLYTE_INPUT_FILE), $(FLYTE_OUTPUT_FILE) wherever makes sense and the system will populate these before executing the container."
1854
+ "resources", ":ref:`ref_flyteidl.core.Resources`", "", "Container resources requirement as specified by the container engine."
1855
+ "env", ":ref:`ref_flyteidl.core.KeyValuePair`", "repeated", "Environment variables will be set as the container is starting up."
1856
+ "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."
1857
+ "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"
1858
+ "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"
1859
+ "architecture", ":ref:`ref_flyteidl.core.Container.Architecture`", "", ""
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+ .. _ref_flyteidl.core.ContainerPort:
1868
+
1869
+ ContainerPort
1870
+ ------------------------------------------------------------------
1871
+
1872
+ Defines port properties for a container.
1873
+
1874
+
1875
+
1876
+ .. csv-table:: ContainerPort type fields
1877
+ :header: "Field", "Type", "Label", "Description"
1878
+ :widths: auto
1879
+
1880
+ "container_port", ":ref:`ref_uint32`", "", "Number of port to expose on the pod's IP address. This must be a valid port number, 0 < x < 65536."
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+ .. _ref_flyteidl.core.DataLoadingConfig:
1889
+
1890
+ DataLoadingConfig
1891
+ ------------------------------------------------------------------
1892
+
1893
+ This configuration allows executing raw containers in Flyte using the Flyte CoPilot system.
1894
+ Flyte CoPilot, eliminates the needs of flytekit or sdk inside the container. Any inputs required by the users container are side-loaded in the input_path
1895
+ Any outputs generated by the user container - within output_path are automatically uploaded.
1896
+
1897
+
1898
+
1899
+ .. csv-table:: DataLoadingConfig type fields
1900
+ :header: "Field", "Type", "Label", "Description"
1901
+ :widths: auto
1902
+
1903
+ "enabled", ":ref:`ref_bool`", "", "Flag enables DataLoading Config. If this is not set, data loading will not be used!"
1904
+ "input_path", ":ref:`ref_string`", "", "File system path (start at root). This folder will contain all the inputs exploded to a separate file. Example, if the input interface needs (x: int, y: blob, z: multipart_blob) and the input path is "/var/flyte/inputs", then the file system will look like /var/flyte/inputs/inputs.<metadata format dependent -> .pb .json .yaml> -> Format as defined previously. The Blob and Multipart blob will reference local filesystem instead of remote locations /var/flyte/inputs/x -> X is a file that contains the value of x (integer) in string format /var/flyte/inputs/y -> Y is a file in Binary format /var/flyte/inputs/z/... -> Note Z itself is a directory More information about the protocol - refer to docs #TODO reference docs here"
1905
+ "output_path", ":ref:`ref_string`", "", "File system path (start at root). This folder should contain all the outputs for the task as individual files and/or an error text file"
1906
+ "format", ":ref:`ref_flyteidl.core.DataLoadingConfig.LiteralMapFormat`", "", "In the inputs folder, there will be an additional summary/metadata file that contains references to all files or inlined primitive values. This format decides the actual encoding for the data. Refer to the encoding to understand the specifics of the contents and the encoding"
1907
+ "io_strategy", ":ref:`ref_flyteidl.core.IOStrategy`", "", ""
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+ .. _ref_flyteidl.core.IOStrategy:
1916
+
1917
+ IOStrategy
1918
+ ------------------------------------------------------------------
1919
+
1920
+ Strategy to use when dealing with Blob, Schema, or multipart blob data (large datasets)
1921
+
1922
+
1923
+
1924
+ .. csv-table:: IOStrategy type fields
1925
+ :header: "Field", "Type", "Label", "Description"
1926
+ :widths: auto
1927
+
1928
+ "download_mode", ":ref:`ref_flyteidl.core.IOStrategy.DownloadMode`", "", "Mode to use to manage downloads"
1929
+ "upload_mode", ":ref:`ref_flyteidl.core.IOStrategy.UploadMode`", "", "Mode to use to manage uploads"
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+ .. _ref_flyteidl.core.K8sObjectMetadata:
1938
+
1939
+ K8sObjectMetadata
1940
+ ------------------------------------------------------------------
1941
+
1942
+ Metadata for building a kubernetes object when a task is executed.
1943
+
1944
+
1945
+
1946
+ .. csv-table:: K8sObjectMetadata type fields
1947
+ :header: "Field", "Type", "Label", "Description"
1948
+ :widths: auto
1949
+
1950
+ "labels", ":ref:`ref_flyteidl.core.K8sObjectMetadata.LabelsEntry`", "repeated", "Optional labels to add to the pod definition."
1951
+ "annotations", ":ref:`ref_flyteidl.core.K8sObjectMetadata.AnnotationsEntry`", "repeated", "Optional annotations to add to the pod definition."
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+ .. _ref_flyteidl.core.K8sObjectMetadata.AnnotationsEntry:
1960
+
1961
+ K8sObjectMetadata.AnnotationsEntry
1962
+ ------------------------------------------------------------------
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+ .. csv-table:: K8sObjectMetadata.AnnotationsEntry type fields
1969
+ :header: "Field", "Type", "Label", "Description"
1970
+ :widths: auto
1971
+
1972
+ "key", ":ref:`ref_string`", "", ""
1973
+ "value", ":ref:`ref_string`", "", ""
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+ .. _ref_flyteidl.core.K8sObjectMetadata.LabelsEntry:
1982
+
1983
+ K8sObjectMetadata.LabelsEntry
1984
+ ------------------------------------------------------------------
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+ .. csv-table:: K8sObjectMetadata.LabelsEntry type fields
1991
+ :header: "Field", "Type", "Label", "Description"
1992
+ :widths: auto
1993
+
1994
+ "key", ":ref:`ref_string`", "", ""
1995
+ "value", ":ref:`ref_string`", "", ""
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+ .. _ref_flyteidl.core.K8sPod:
2004
+
2005
+ K8sPod
2006
+ ------------------------------------------------------------------
2007
+
2008
+ Defines a pod spec and additional pod metadata that is created when a task is executed.
2009
+
2010
+
2011
+
2012
+ .. csv-table:: K8sPod type fields
2013
+ :header: "Field", "Type", "Label", "Description"
2014
+ :widths: auto
2015
+
2016
+ "metadata", ":ref:`ref_flyteidl.core.K8sObjectMetadata`", "", "Contains additional metadata for building a kubernetes pod."
2017
+ "pod_spec", ":ref:`ref_google.protobuf.Struct`", "", "Defines the primary pod spec created when a task is executed. This should be a JSON-marshalled pod spec, which can be defined in - go, using: https://github.com/kubernetes/api/blob/release-1.21/core/v1/types.go#L2936 - python: using https://github.com/kubernetes-client/python/blob/release-19.0/kubernetes/client/models/v1_pod_spec.py"
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+
2025
+ .. _ref_flyteidl.core.Resources:
2026
+
2027
+ Resources
2028
+ ------------------------------------------------------------------
2029
+
2030
+ A customizable interface to convey resources requested for a container. This can be interpreted differently for different
2031
+ container engines.
2032
+
2033
+
2034
+
2035
+ .. csv-table:: Resources type fields
2036
+ :header: "Field", "Type", "Label", "Description"
2037
+ :widths: auto
2038
+
2039
+ "requests", ":ref:`ref_flyteidl.core.Resources.ResourceEntry`", "repeated", "The desired set of resources requested. ResourceNames must be unique within the list."
2040
+ "limits", ":ref:`ref_flyteidl.core.Resources.ResourceEntry`", "repeated", "Defines a set of bounds (e.g. min/max) within which the task can reliably run. ResourceNames must be unique within the list."
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+ .. _ref_flyteidl.core.Resources.ResourceEntry:
2049
+
2050
+ Resources.ResourceEntry
2051
+ ------------------------------------------------------------------
2052
+
2053
+ Encapsulates a resource name and value.
2054
+
2055
+
2056
+
2057
+ .. csv-table:: Resources.ResourceEntry type fields
2058
+ :header: "Field", "Type", "Label", "Description"
2059
+ :widths: auto
2060
+
2061
+ "name", ":ref:`ref_flyteidl.core.Resources.ResourceName`", "", "Resource name."
2062
+ "value", ":ref:`ref_string`", "", "Value must be a valid k8s quantity. See https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go#L30-L80"
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+ .. _ref_flyteidl.core.RuntimeMetadata:
2071
+
2072
+ RuntimeMetadata
2073
+ ------------------------------------------------------------------
2074
+
2075
+ Runtime information. This is loosely defined to allow for extensibility.
2076
+
2077
+
2078
+
2079
+ .. csv-table:: RuntimeMetadata type fields
2080
+ :header: "Field", "Type", "Label", "Description"
2081
+ :widths: auto
2082
+
2083
+ "type", ":ref:`ref_flyteidl.core.RuntimeMetadata.RuntimeType`", "", "Type of runtime."
2084
+ "version", ":ref:`ref_string`", "", "Version of the runtime. All versions should be backward compatible. However, certain cases call for version checks to ensure tighter validation or setting expectations."
2085
+ "flavor", ":ref:`ref_string`", "", "+optional It can be used to provide extra information about the runtime (e.g. python, golang... etc.)."
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+ .. _ref_flyteidl.core.Sql:
2094
+
2095
+ Sql
2096
+ ------------------------------------------------------------------
2097
+
2098
+ Sql represents a generic sql workload with a statement and dialect.
2099
+
2100
+
2101
+
2102
+ .. csv-table:: Sql type fields
2103
+ :header: "Field", "Type", "Label", "Description"
2104
+ :widths: auto
2105
+
2106
+ "statement", ":ref:`ref_string`", "", "The actual query to run, the query can have templated parameters. We use Flyte's Golang templating format for Query templating. Refer to the templating documentation. https://docs.flyte.org/projects/cookbook/en/latest/auto/integrations/external_services/hive/hive.html#sphx-glr-auto-integrations-external-services-hive-hive-py For example, insert overwrite directory '{{ .rawOutputDataPrefix }}' stored as parquet select * from my_table where ds = '{{ .Inputs.ds }}'"
2107
+ "dialect", ":ref:`ref_flyteidl.core.Sql.Dialect`", "", ""
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+ .. _ref_flyteidl.core.TaskMetadata:
2116
+
2117
+ TaskMetadata
2118
+ ------------------------------------------------------------------
2119
+
2120
+ Task Metadata
2121
+
2122
+
2123
+
2124
+ .. csv-table:: TaskMetadata type fields
2125
+ :header: "Field", "Type", "Label", "Description"
2126
+ :widths: auto
2127
+
2128
+ "discoverable", ":ref:`ref_bool`", "", "Indicates whether the system should attempt to lookup this task's output to avoid duplication of work."
2129
+ "runtime", ":ref:`ref_flyteidl.core.RuntimeMetadata`", "", "Runtime information about the task."
2130
+ "timeout", ":ref:`ref_google.protobuf.Duration`", "", "The overall timeout of a task including user-triggered retries."
2131
+ "retries", ":ref:`ref_flyteidl.core.RetryStrategy`", "", "Number of retries per task."
2132
+ "discovery_version", ":ref:`ref_string`", "", "Indicates a logical version to apply to this task for the purpose of discovery."
2133
+ "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."
2134
+ "interruptible", ":ref:`ref_bool`", "", ""
2135
+ "cache_serializable", ":ref:`ref_bool`", "", "Indicates whether the system should attempt to execute discoverable instances in serial to avoid duplicate work"
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+ .. _ref_flyteidl.core.TaskTemplate:
2144
+
2145
+ TaskTemplate
2146
+ ------------------------------------------------------------------
2147
+
2148
+ A Task structure that uniquely identifies a task in the system
2149
+ Tasks are registered as a first step in the system.
2150
+
2151
+
2152
+
2153
+ .. csv-table:: TaskTemplate type fields
2154
+ :header: "Field", "Type", "Label", "Description"
2155
+ :widths: auto
2156
+
2157
+ "id", ":ref:`ref_flyteidl.core.Identifier`", "", "Auto generated taskId by the system. Task Id uniquely identifies this task globally."
2158
+ "type", ":ref:`ref_string`", "", "A predefined yet extensible Task type identifier. This can be used to customize any of the components. If no extensions are provided in the system, Flyte will resolve the this task to its TaskCategory and default the implementation registered for the TaskCategory."
2159
+ "metadata", ":ref:`ref_flyteidl.core.TaskMetadata`", "", "Extra metadata about the task."
2160
+ "interface", ":ref:`ref_flyteidl.core.TypedInterface`", "", "A strongly typed interface for the task. This enables others to use this task within a workflow and guarantees compile-time validation of the workflow to avoid costly runtime failures."
2161
+ "custom", ":ref:`ref_google.protobuf.Struct`", "", "Custom data about the task. This is extensible to allow various plugins in the system."
2162
+ "container", ":ref:`ref_flyteidl.core.Container`", "", ""
2163
+ "k8s_pod", ":ref:`ref_flyteidl.core.K8sPod`", "", ""
2164
+ "sql", ":ref:`ref_flyteidl.core.Sql`", "", ""
2165
+ "task_type_version", ":ref:`ref_int32`", "", "This can be used to customize task handling at execution time for the same task type."
2166
+ "security_context", ":ref:`ref_flyteidl.core.SecurityContext`", "", "security_context encapsulates security attributes requested to run this task."
2167
+ "config", ":ref:`ref_flyteidl.core.TaskTemplate.ConfigEntry`", "repeated", "Metadata about the custom defined for this task. This is extensible to allow various plugins in the system to use as required. reserve the field numbers 1 through 15 for very frequently occurring message elements"
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+ .. _ref_flyteidl.core.TaskTemplate.ConfigEntry:
2176
+
2177
+ TaskTemplate.ConfigEntry
2178
+ ------------------------------------------------------------------
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+ .. csv-table:: TaskTemplate.ConfigEntry type fields
2185
+ :header: "Field", "Type", "Label", "Description"
2186
+ :widths: auto
2187
+
2188
+ "key", ":ref:`ref_string`", "", ""
2189
+ "value", ":ref:`ref_string`", "", ""
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+ .. _ref_flyteidl.core.Container.Architecture:
2200
+
2201
+ Container.Architecture
2202
+ ------------------------------------------------------------------
2203
+
2204
+ Architecture-type the container image supports.
2205
+
2206
+ .. csv-table:: Enum Container.Architecture values
2207
+ :header: "Name", "Number", "Description"
2208
+ :widths: auto
2209
+
2210
+ "UNKNOWN", "0", ""
2211
+ "AMD64", "1", ""
2212
+ "ARM64", "2", ""
2213
+ "ARM_V6", "3", ""
2214
+ "ARM_V7", "4", ""
2215
+
2216
+
2217
+
2218
+ .. _ref_flyteidl.core.DataLoadingConfig.LiteralMapFormat:
2219
+
2220
+ DataLoadingConfig.LiteralMapFormat
2221
+ ------------------------------------------------------------------
2222
+
2223
+ LiteralMapFormat decides the encoding format in which the input metadata should be made available to the containers.
2224
+ If the user has access to the protocol buffer definitions, it is recommended to use the PROTO format.
2225
+ JSON and YAML do not need any protobuf definitions to read it
2226
+ All remote references in core.LiteralMap are replaced with local filesystem references (the data is downloaded to local filesystem)
2227
+
2228
+ .. csv-table:: Enum DataLoadingConfig.LiteralMapFormat values
2229
+ :header: "Name", "Number", "Description"
2230
+ :widths: auto
2231
+
2232
+ "JSON", "0", "JSON / YAML for the metadata (which contains inlined primitive values). The representation is inline with the standard json specification as specified - https://www.json.org/json-en.html"
2233
+ "YAML", "1", ""
2234
+ "PROTO", "2", "Proto is a serialized binary of `core.LiteralMap` defined in flyteidl/core"
2235
+
2236
+
2237
+
2238
+ .. _ref_flyteidl.core.IOStrategy.DownloadMode:
2239
+
2240
+ IOStrategy.DownloadMode
2241
+ ------------------------------------------------------------------
2242
+
2243
+ Mode to use for downloading
2244
+
2245
+ .. csv-table:: Enum IOStrategy.DownloadMode values
2246
+ :header: "Name", "Number", "Description"
2247
+ :widths: auto
2248
+
2249
+ "DOWNLOAD_EAGER", "0", "All data will be downloaded before the main container is executed"
2250
+ "DOWNLOAD_STREAM", "1", "Data will be downloaded as a stream and an End-Of-Stream marker will be written to indicate all data has been downloaded. Refer to protocol for details"
2251
+ "DO_NOT_DOWNLOAD", "2", "Large objects (offloaded) will not be downloaded"
2252
+
2253
+
2254
+
2255
+ .. _ref_flyteidl.core.IOStrategy.UploadMode:
2256
+
2257
+ IOStrategy.UploadMode
2258
+ ------------------------------------------------------------------
2259
+
2260
+ Mode to use for uploading
2261
+
2262
+ .. csv-table:: Enum IOStrategy.UploadMode values
2263
+ :header: "Name", "Number", "Description"
2264
+ :widths: auto
2265
+
2266
+ "UPLOAD_ON_EXIT", "0", "All data will be uploaded after the main container exits"
2267
+ "UPLOAD_EAGER", "1", "Data will be uploaded as it appears. Refer to protocol specification for details"
2268
+ "DO_NOT_UPLOAD", "2", "Data will not be uploaded, only references will be written"
2269
+
2270
+
2271
+
2272
+ .. _ref_flyteidl.core.Resources.ResourceName:
2273
+
2274
+ Resources.ResourceName
2275
+ ------------------------------------------------------------------
2276
+
2277
+ Known resource names.
2278
+
2279
+ .. csv-table:: Enum Resources.ResourceName values
2280
+ :header: "Name", "Number", "Description"
2281
+ :widths: auto
2282
+
2283
+ "UNKNOWN", "0", ""
2284
+ "CPU", "1", ""
2285
+ "GPU", "2", ""
2286
+ "MEMORY", "3", ""
2287
+ "STORAGE", "4", ""
2288
+ "EPHEMERAL_STORAGE", "5", "For Kubernetes-based deployments, pods use ephemeral local storage for scratch space, caching, and for logs."
2289
+
2290
+
2291
+
2292
+ .. _ref_flyteidl.core.RuntimeMetadata.RuntimeType:
2293
+
2294
+ RuntimeMetadata.RuntimeType
2295
+ ------------------------------------------------------------------
2296
+
2297
+
2298
+
2299
+ .. csv-table:: Enum RuntimeMetadata.RuntimeType values
2300
+ :header: "Name", "Number", "Description"
2301
+ :widths: auto
2302
+
2303
+ "OTHER", "0", ""
2304
+ "FLYTE_SDK", "1", ""
2305
+
2306
+
2307
+
2308
+ .. _ref_flyteidl.core.Sql.Dialect:
2309
+
2310
+ Sql.Dialect
2311
+ ------------------------------------------------------------------
2312
+
2313
+ The dialect of the SQL statement. This is used to validate and parse SQL statements at compilation time to avoid
2314
+ expensive runtime operations. If set to an unsupported dialect, no validation will be done on the statement.
2315
+ We support the following dialect: ansi, hive.
2316
+
2317
+ .. csv-table:: Enum Sql.Dialect values
2318
+ :header: "Name", "Number", "Description"
2319
+ :widths: auto
2320
+
2321
+ "UNDEFINED", "0", ""
2322
+ "ANSI", "1", ""
2323
+ "HIVE", "2", ""
2324
+ "OTHER", "3", ""
2325
+
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+
2333
+
2334
+
2335
+ .. _ref_flyteidl/core/types.proto:
2336
+
2337
+ flyteidl/core/types.proto
2338
+ ==================================================================
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+ .. _ref_flyteidl.core.BlobType:
2345
+
2346
+ BlobType
2347
+ ------------------------------------------------------------------
2348
+
2349
+ Defines type behavior for blob objects
2350
+
2351
+
2352
+
2353
+ .. csv-table:: BlobType type fields
2354
+ :header: "Field", "Type", "Label", "Description"
2355
+ :widths: auto
2356
+
2357
+ "format", ":ref:`ref_string`", "", "Format can be a free form string understood by SDK/UI etc like csv, parquet etc"
2358
+ "dimensionality", ":ref:`ref_flyteidl.core.BlobType.BlobDimensionality`", "", ""
2359
+
2360
+
2361
+
2362
+
2363
+
2364
+
2365
+
2366
+ .. _ref_flyteidl.core.EnumType:
2367
+
2368
+ EnumType
2369
+ ------------------------------------------------------------------
2370
+
2371
+ Enables declaring enum types, with predefined string values
2372
+ For len(values) > 0, the first value in the ordered list is regarded as the default value. If you wish
2373
+ To provide no defaults, make the first value as undefined.
2374
+
2375
+
2376
+
2377
+ .. csv-table:: EnumType type fields
2378
+ :header: "Field", "Type", "Label", "Description"
2379
+ :widths: auto
2380
+
2381
+ "values", ":ref:`ref_string`", "repeated", "Predefined set of enum values."
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+ .. _ref_flyteidl.core.Error:
2390
+
2391
+ Error
2392
+ ------------------------------------------------------------------
2393
+
2394
+ Represents an error thrown from a node.
2395
+
2396
+
2397
+
2398
+ .. csv-table:: Error type fields
2399
+ :header: "Field", "Type", "Label", "Description"
2400
+ :widths: auto
2401
+
2402
+ "failed_node_id", ":ref:`ref_string`", "", "The node id that threw the error."
2403
+ "message", ":ref:`ref_string`", "", "Error message thrown."
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+
2411
+ .. _ref_flyteidl.core.LiteralType:
2412
+
2413
+ LiteralType
2414
+ ------------------------------------------------------------------
2415
+
2416
+ Defines a strong type to allow type checking between interfaces.
2417
+
2418
+
2419
+
2420
+ .. csv-table:: LiteralType type fields
2421
+ :header: "Field", "Type", "Label", "Description"
2422
+ :widths: auto
2423
+
2424
+ "simple", ":ref:`ref_flyteidl.core.SimpleType`", "", "A simple type that can be compared one-to-one with another."
2425
+ "schema", ":ref:`ref_flyteidl.core.SchemaType`", "", "A complex type that requires matching of inner fields."
2426
+ "collection_type", ":ref:`ref_flyteidl.core.LiteralType`", "", "Defines the type of the value of a collection. Only homogeneous collections are allowed."
2427
+ "map_value_type", ":ref:`ref_flyteidl.core.LiteralType`", "", "Defines the type of the value of a map type. The type of the key is always a string."
2428
+ "blob", ":ref:`ref_flyteidl.core.BlobType`", "", "A blob might have specialized implementation details depending on associated metadata."
2429
+ "enum_type", ":ref:`ref_flyteidl.core.EnumType`", "", "Defines an enum with pre-defined string values."
2430
+ "structured_dataset_type", ":ref:`ref_flyteidl.core.StructuredDatasetType`", "", "Generalized schema support"
2431
+ "union_type", ":ref:`ref_flyteidl.core.UnionType`", "", "Defines an union type with pre-defined LiteralTypes."
2432
+ "metadata", ":ref:`ref_google.protobuf.Struct`", "", "This field contains type metadata that is descriptive of the type, but is NOT considered in type-checking. This might be used by consumers to identify special behavior or display extended information for the type."
2433
+ "annotation", ":ref:`ref_flyteidl.core.TypeAnnotation`", "", "This field contains arbitrary data that might have special semantic meaning for the client but does not effect internal flyte behavior."
2434
+ "structure", ":ref:`ref_flyteidl.core.TypeStructure`", "", "Hints to improve type matching."
2435
+
2436
+
2437
+
2438
+
2439
+
2440
+
2441
+
2442
+ .. _ref_flyteidl.core.OutputReference:
2443
+
2444
+ OutputReference
2445
+ ------------------------------------------------------------------
2446
+
2447
+ A reference to an output produced by a node. The type can be retrieved -and validated- from
2448
+ the underlying interface of the node.
2449
+
2450
+
2451
+
2452
+ .. csv-table:: OutputReference type fields
2453
+ :header: "Field", "Type", "Label", "Description"
2454
+ :widths: auto
2455
+
2456
+ "node_id", ":ref:`ref_string`", "", "Node id must exist at the graph layer."
2457
+ "var", ":ref:`ref_string`", "", "Variable name must refer to an output variable for the node."
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+ .. _ref_flyteidl.core.SchemaType:
2466
+
2467
+ SchemaType
2468
+ ------------------------------------------------------------------
2469
+
2470
+ Defines schema columns and types to strongly type-validate schemas interoperability.
2471
+
2472
+
2473
+
2474
+ .. csv-table:: SchemaType type fields
2475
+ :header: "Field", "Type", "Label", "Description"
2476
+ :widths: auto
2477
+
2478
+ "columns", ":ref:`ref_flyteidl.core.SchemaType.SchemaColumn`", "repeated", "A list of ordered columns this schema comprises of."
2479
+
2480
+
2481
+
2482
+
2483
+
2484
+
2485
+
2486
+ .. _ref_flyteidl.core.SchemaType.SchemaColumn:
2487
+
2488
+ SchemaType.SchemaColumn
2489
+ ------------------------------------------------------------------
2490
+
2491
+
2492
+
2493
+
2494
+
2495
+ .. csv-table:: SchemaType.SchemaColumn type fields
2496
+ :header: "Field", "Type", "Label", "Description"
2497
+ :widths: auto
2498
+
2499
+ "name", ":ref:`ref_string`", "", "A unique name -within the schema type- for the column"
2500
+ "type", ":ref:`ref_flyteidl.core.SchemaType.SchemaColumn.SchemaColumnType`", "", "The column type. This allows a limited set of types currently."
2501
+
2502
+
2503
+
2504
+
2505
+
2506
+
2507
+
2508
+ .. _ref_flyteidl.core.StructuredDatasetType:
2509
+
2510
+ StructuredDatasetType
2511
+ ------------------------------------------------------------------
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+ .. csv-table:: StructuredDatasetType type fields
2518
+ :header: "Field", "Type", "Label", "Description"
2519
+ :widths: auto
2520
+
2521
+ "columns", ":ref:`ref_flyteidl.core.StructuredDatasetType.DatasetColumn`", "repeated", "A list of ordered columns this schema comprises of."
2522
+ "format", ":ref:`ref_string`", "", "This is the storage format, the format of the bits at rest parquet, feather, csv, etc. For two types to be compatible, the format will need to be an exact match."
2523
+ "external_schema_type", ":ref:`ref_string`", "", "This is a string representing the type that the bytes in external_schema_bytes are formatted in. This is an optional field that will not be used for type checking."
2524
+ "external_schema_bytes", ":ref:`ref_bytes`", "", "The serialized bytes of a third-party schema library like Arrow. This is an optional field that will not be used for type checking."
2525
+
2526
+
2527
+
2528
+
2529
+
2530
+
2531
+
2532
+ .. _ref_flyteidl.core.StructuredDatasetType.DatasetColumn:
2533
+
2534
+ StructuredDatasetType.DatasetColumn
2535
+ ------------------------------------------------------------------
2536
+
2537
+
2538
+
2539
+
2540
+
2541
+ .. csv-table:: StructuredDatasetType.DatasetColumn type fields
2542
+ :header: "Field", "Type", "Label", "Description"
2543
+ :widths: auto
2544
+
2545
+ "name", ":ref:`ref_string`", "", "A unique name within the schema type for the column."
2546
+ "literal_type", ":ref:`ref_flyteidl.core.LiteralType`", "", "The column type."
2547
+
2548
+
2549
+
2550
+
2551
+
2552
+
2553
+
2554
+ .. _ref_flyteidl.core.TypeAnnotation:
2555
+
2556
+ TypeAnnotation
2557
+ ------------------------------------------------------------------
2558
+
2559
+ TypeAnnotation encapsulates registration time information about a type. This can be used for various control-plane operations. TypeAnnotation will not be available at runtime when a task runs.
2560
+
2561
+
2562
+
2563
+ .. csv-table:: TypeAnnotation type fields
2564
+ :header: "Field", "Type", "Label", "Description"
2565
+ :widths: auto
2566
+
2567
+ "annotations", ":ref:`ref_google.protobuf.Struct`", "", "A arbitrary JSON payload to describe a type."
2568
+
2569
+
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+ .. _ref_flyteidl.core.TypeStructure:
2576
+
2577
+ TypeStructure
2578
+ ------------------------------------------------------------------
2579
+
2580
+ Hints to improve type matching
2581
+ e.g. allows distinguishing output from custom type transformers
2582
+ even if the underlying IDL serialization matches.
2583
+
2584
+
2585
+
2586
+ .. csv-table:: TypeStructure type fields
2587
+ :header: "Field", "Type", "Label", "Description"
2588
+ :widths: auto
2589
+
2590
+ "tag", ":ref:`ref_string`", "", "Must exactly match for types to be castable"
2591
+
2592
+
2593
+
2594
+
2595
+
2596
+
2597
+
2598
+ .. _ref_flyteidl.core.UnionType:
2599
+
2600
+ UnionType
2601
+ ------------------------------------------------------------------
2602
+
2603
+ Defines a tagged union type, also known as a variant (and formally as the sum type).
2604
+
2605
+ A sum type S is defined by a sequence of types (A, B, C, ...), each tagged by a string tag
2606
+ A value of type S is constructed from a value of any of the variant types. The specific choice of type is recorded by
2607
+ storing the varaint's tag with the literal value and can be examined in runtime.
2608
+
2609
+ Type S is typically written as
2610
+ S := Apple A | Banana B | Cantaloupe C | ...
2611
+
2612
+ Notably, a nullable (optional) type is a sum type between some type X and the singleton type representing a null-value:
2613
+ Optional X := X | Null
2614
+
2615
+ See also: https://en.wikipedia.org/wiki/Tagged_union
2616
+
2617
+
2618
+
2619
+ .. csv-table:: UnionType type fields
2620
+ :header: "Field", "Type", "Label", "Description"
2621
+ :widths: auto
2622
+
2623
+ "variants", ":ref:`ref_flyteidl.core.LiteralType`", "repeated", "Predefined set of variants in union."
2624
+
2625
+
2626
+
2627
+
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+ .. _ref_flyteidl.core.BlobType.BlobDimensionality:
2634
+
2635
+ BlobType.BlobDimensionality
2636
+ ------------------------------------------------------------------
2637
+
2638
+
2639
+
2640
+ .. csv-table:: Enum BlobType.BlobDimensionality values
2641
+ :header: "Name", "Number", "Description"
2642
+ :widths: auto
2643
+
2644
+ "SINGLE", "0", ""
2645
+ "MULTIPART", "1", ""
2646
+
2647
+
2648
+
2649
+ .. _ref_flyteidl.core.SchemaType.SchemaColumn.SchemaColumnType:
2650
+
2651
+ SchemaType.SchemaColumn.SchemaColumnType
2652
+ ------------------------------------------------------------------
2653
+
2654
+
2655
+
2656
+ .. csv-table:: Enum SchemaType.SchemaColumn.SchemaColumnType values
2657
+ :header: "Name", "Number", "Description"
2658
+ :widths: auto
2659
+
2660
+ "INTEGER", "0", ""
2661
+ "FLOAT", "1", ""
2662
+ "STRING", "2", ""
2663
+ "BOOLEAN", "3", ""
2664
+ "DATETIME", "4", ""
2665
+ "DURATION", "5", ""
2666
+
2667
+
2668
+
2669
+ .. _ref_flyteidl.core.SimpleType:
2670
+
2671
+ SimpleType
2672
+ ------------------------------------------------------------------
2673
+
2674
+ Define a set of simple types.
2675
+
2676
+ .. csv-table:: Enum SimpleType values
2677
+ :header: "Name", "Number", "Description"
2678
+ :widths: auto
2679
+
2680
+ "NONE", "0", ""
2681
+ "INTEGER", "1", ""
2682
+ "FLOAT", "2", ""
2683
+ "STRING", "3", ""
2684
+ "BOOLEAN", "4", ""
2685
+ "DATETIME", "5", ""
2686
+ "DURATION", "6", ""
2687
+ "BINARY", "7", ""
2688
+ "ERROR", "8", ""
2689
+ "STRUCT", "9", ""
2690
+
2691
+
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+
2698
+
2699
+
2700
+ .. _ref_flyteidl/core/workflow.proto:
2701
+
2702
+ flyteidl/core/workflow.proto
2703
+ ==================================================================
2704
+
2705
+
2706
+
2707
+
2708
+
2709
+ .. _ref_flyteidl.core.Alias:
2710
+
2711
+ Alias
2712
+ ------------------------------------------------------------------
2713
+
2714
+ Links a variable to an alias.
2715
+
2716
+
2717
+
2718
+ .. csv-table:: Alias type fields
2719
+ :header: "Field", "Type", "Label", "Description"
2720
+ :widths: auto
2721
+
2722
+ "var", ":ref:`ref_string`", "", "Must match one of the output variable names on a node."
2723
+ "alias", ":ref:`ref_string`", "", "A workflow-level unique alias that downstream nodes can refer to in their input."
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+ .. _ref_flyteidl.core.BranchNode:
2732
+
2733
+ BranchNode
2734
+ ------------------------------------------------------------------
2735
+
2736
+ BranchNode is a special node that alter the flow of the workflow graph. It allows the control flow to branch at
2737
+ runtime based on a series of conditions that get evaluated on various parameters (e.g. inputs, primitives).
2738
+
2739
+
2740
+
2741
+ .. csv-table:: BranchNode type fields
2742
+ :header: "Field", "Type", "Label", "Description"
2743
+ :widths: auto
2744
+
2745
+ "if_else", ":ref:`ref_flyteidl.core.IfElseBlock`", "", "+required"
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+
2753
+ .. _ref_flyteidl.core.IfBlock:
2754
+
2755
+ IfBlock
2756
+ ------------------------------------------------------------------
2757
+
2758
+ Defines a condition and the execution unit that should be executed if the condition is satisfied.
2759
+
2760
+
2761
+
2762
+ .. csv-table:: IfBlock type fields
2763
+ :header: "Field", "Type", "Label", "Description"
2764
+ :widths: auto
2765
+
2766
+ "condition", ":ref:`ref_flyteidl.core.BooleanExpression`", "", ""
2767
+ "then_node", ":ref:`ref_flyteidl.core.Node`", "", ""
2768
+
2769
+
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+ .. _ref_flyteidl.core.IfElseBlock:
2776
+
2777
+ IfElseBlock
2778
+ ------------------------------------------------------------------
2779
+
2780
+ Defines a series of if/else blocks. The first branch whose condition evaluates to true is the one to execute.
2781
+ If no conditions were satisfied, the else_node or the error will execute.
2782
+
2783
+
2784
+
2785
+ .. csv-table:: IfElseBlock type fields
2786
+ :header: "Field", "Type", "Label", "Description"
2787
+ :widths: auto
2788
+
2789
+ "case", ":ref:`ref_flyteidl.core.IfBlock`", "", "+required. First condition to evaluate."
2790
+ "other", ":ref:`ref_flyteidl.core.IfBlock`", "repeated", "+optional. Additional branches to evaluate."
2791
+ "else_node", ":ref:`ref_flyteidl.core.Node`", "", "The node to execute in case none of the branches were taken."
2792
+ "error", ":ref:`ref_flyteidl.core.Error`", "", "An error to throw in case none of the branches were taken."
2793
+
2794
+
2795
+
2796
+
2797
+
2798
+
2799
+
2800
+ .. _ref_flyteidl.core.Node:
2801
+
2802
+ Node
2803
+ ------------------------------------------------------------------
2804
+
2805
+ A Workflow graph Node. One unit of execution in the graph. Each node can be linked to a Task, a Workflow or a branch
2806
+ node.
2807
+
2808
+
2809
+
2810
+ .. csv-table:: Node type fields
2811
+ :header: "Field", "Type", "Label", "Description"
2812
+ :widths: auto
2813
+
2814
+ "id", ":ref:`ref_string`", "", "A workflow-level unique identifier that identifies this node in the workflow. "inputs" and "outputs" are reserved node ids that cannot be used by other nodes."
2815
+ "metadata", ":ref:`ref_flyteidl.core.NodeMetadata`", "", "Extra metadata about the node."
2816
+ "inputs", ":ref:`ref_flyteidl.core.Binding`", "repeated", "Specifies how to bind the underlying interface's inputs. All required inputs specified in the underlying interface must be fulfilled."
2817
+ "upstream_node_ids", ":ref:`ref_string`", "repeated", "+optional Specifies execution dependency for this node ensuring it will only get scheduled to run after all its upstream nodes have completed. This node will have an implicit dependency on any node that appears in inputs field."
2818
+ "output_aliases", ":ref:`ref_flyteidl.core.Alias`", "repeated", "+optional. A node can define aliases for a subset of its outputs. This is particularly useful if different nodes need to conform to the same interface (e.g. all branches in a branch node). Downstream nodes must refer to this nodes outputs using the alias if one's specified."
2819
+ "task_node", ":ref:`ref_flyteidl.core.TaskNode`", "", "Information about the Task to execute in this node."
2820
+ "workflow_node", ":ref:`ref_flyteidl.core.WorkflowNode`", "", "Information about the Workflow to execute in this mode."
2821
+ "branch_node", ":ref:`ref_flyteidl.core.BranchNode`", "", "Information about the branch node to evaluate in this node."
2822
+
2823
+
2824
+
2825
+
2826
+
2827
+
2828
+
2829
+ .. _ref_flyteidl.core.NodeMetadata:
2830
+
2831
+ NodeMetadata
2832
+ ------------------------------------------------------------------
2833
+
2834
+ Defines extra information about the Node.
2835
+
2836
+
2837
+
2838
+ .. csv-table:: NodeMetadata type fields
2839
+ :header: "Field", "Type", "Label", "Description"
2840
+ :widths: auto
2841
+
2842
+ "name", ":ref:`ref_string`", "", "A friendly name for the Node"
2843
+ "timeout", ":ref:`ref_google.protobuf.Duration`", "", "The overall timeout of a task."
2844
+ "retries", ":ref:`ref_flyteidl.core.RetryStrategy`", "", "Number of retries per task."
2845
+ "interruptible", ":ref:`ref_bool`", "", ""
2846
+
2847
+
2848
+
2849
+
2850
+
2851
+
2852
+
2853
+ .. _ref_flyteidl.core.TaskNode:
2854
+
2855
+ TaskNode
2856
+ ------------------------------------------------------------------
2857
+
2858
+ Refers to the task that the Node is to execute.
2859
+
2860
+
2861
+
2862
+ .. csv-table:: TaskNode type fields
2863
+ :header: "Field", "Type", "Label", "Description"
2864
+ :widths: auto
2865
+
2866
+ "reference_id", ":ref:`ref_flyteidl.core.Identifier`", "", "A globally unique identifier for the task."
2867
+ "overrides", ":ref:`ref_flyteidl.core.TaskNodeOverrides`", "", "Optional overrides applied at task execution time."
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+
2875
+ .. _ref_flyteidl.core.TaskNodeOverrides:
2876
+
2877
+ TaskNodeOverrides
2878
+ ------------------------------------------------------------------
2879
+
2880
+ Optional task node overrides that will be applied at task execution time.
2881
+
2882
+
2883
+
2884
+ .. csv-table:: TaskNodeOverrides type fields
2885
+ :header: "Field", "Type", "Label", "Description"
2886
+ :widths: auto
2887
+
2888
+ "resources", ":ref:`ref_flyteidl.core.Resources`", "", "A customizable interface to convey resources requested for a task container."
2889
+
2890
+
2891
+
2892
+
2893
+
2894
+
2895
+
2896
+ .. _ref_flyteidl.core.WorkflowMetadata:
2897
+
2898
+ WorkflowMetadata
2899
+ ------------------------------------------------------------------
2900
+
2901
+ This is workflow layer metadata. These settings are only applicable to the workflow as a whole, and do not
2902
+ percolate down to child entities (like tasks) launched by the workflow.
2903
+
2904
+
2905
+
2906
+ .. csv-table:: WorkflowMetadata type fields
2907
+ :header: "Field", "Type", "Label", "Description"
2908
+ :widths: auto
2909
+
2910
+ "quality_of_service", ":ref:`ref_flyteidl.core.QualityOfService`", "", "Indicates the runtime priority of workflow executions."
2911
+ "on_failure", ":ref:`ref_flyteidl.core.WorkflowMetadata.OnFailurePolicy`", "", "Defines how the system should behave when a failure is detected in the workflow execution."
2912
+
2913
+
2914
+
2915
+
2916
+
2917
+
2918
+
2919
+ .. _ref_flyteidl.core.WorkflowMetadataDefaults:
2920
+
2921
+ WorkflowMetadataDefaults
2922
+ ------------------------------------------------------------------
2923
+
2924
+ The difference between these settings and the WorkflowMetadata ones is that these are meant to be passed down to
2925
+ a workflow's underlying entities (like tasks). For instance, 'interruptible' has no meaning at the workflow layer, it
2926
+ is only relevant when a task executes. The settings here are the defaults that are passed to all nodes
2927
+ unless explicitly overridden at the node layer.
2928
+ If you are adding a setting that applies to both the Workflow itself, and everything underneath it, it should be
2929
+ added to both this object and the WorkflowMetadata object above.
2930
+
2931
+
2932
+
2933
+ .. csv-table:: WorkflowMetadataDefaults type fields
2934
+ :header: "Field", "Type", "Label", "Description"
2935
+ :widths: auto
2936
+
2937
+ "interruptible", ":ref:`ref_bool`", "", "Whether child nodes of the workflow are interruptible."
2938
+
2939
+
2940
+
2941
+
2942
+
2943
+
2944
+
2945
+ .. _ref_flyteidl.core.WorkflowNode:
2946
+
2947
+ WorkflowNode
2948
+ ------------------------------------------------------------------
2949
+
2950
+ Refers to a the workflow the node is to execute.
2951
+
2952
+
2953
+
2954
+ .. csv-table:: WorkflowNode type fields
2955
+ :header: "Field", "Type", "Label", "Description"
2956
+ :widths: auto
2957
+
2958
+ "launchplan_ref", ":ref:`ref_flyteidl.core.Identifier`", "", "A globally unique identifier for the launch plan."
2959
+ "sub_workflow_ref", ":ref:`ref_flyteidl.core.Identifier`", "", "Reference to a subworkflow, that should be defined with the compiler context"
2960
+
2961
+
2962
+
2963
+
2964
+
2965
+
2966
+
2967
+ .. _ref_flyteidl.core.WorkflowTemplate:
2968
+
2969
+ WorkflowTemplate
2970
+ ------------------------------------------------------------------
2971
+
2972
+ Flyte Workflow Structure that encapsulates task, branch and subworkflow nodes to form a statically analyzable,
2973
+ directed acyclic graph.
2974
+
2975
+
2976
+
2977
+ .. csv-table:: WorkflowTemplate type fields
2978
+ :header: "Field", "Type", "Label", "Description"
2979
+ :widths: auto
2980
+
2981
+ "id", ":ref:`ref_flyteidl.core.Identifier`", "", "A globally unique identifier for the workflow."
2982
+ "metadata", ":ref:`ref_flyteidl.core.WorkflowMetadata`", "", "Extra metadata about the workflow."
2983
+ "interface", ":ref:`ref_flyteidl.core.TypedInterface`", "", "Defines a strongly typed interface for the Workflow. This can include some optional parameters."
2984
+ "nodes", ":ref:`ref_flyteidl.core.Node`", "repeated", "A list of nodes. In addition, "globals" is a special reserved node id that can be used to consume workflow inputs."
2985
+ "outputs", ":ref:`ref_flyteidl.core.Binding`", "repeated", "A list of output bindings that specify how to construct workflow outputs. Bindings can pull node outputs or specify literals. All workflow outputs specified in the interface field must be bound in order for the workflow to be validated. A workflow has an implicit dependency on all of its nodes to execute successfully in order to bind final outputs. Most of these outputs will be Binding's with a BindingData of type OutputReference. That is, your workflow can just have an output of some constant (`Output(5)`), but usually, the workflow will be pulling outputs from the output of a task."
2986
+ "failure_node", ":ref:`ref_flyteidl.core.Node`", "", "+optional A catch-all node. This node is executed whenever the execution engine determines the workflow has failed. The interface of this node must match the Workflow interface with an additional input named "error" of type pb.lyft.flyte.core.Error."
2987
+ "metadata_defaults", ":ref:`ref_flyteidl.core.WorkflowMetadataDefaults`", "", "workflow defaults"
2988
+
2989
+
2990
+
2991
+
2992
+
2993
+
2994
+
2995
+
2996
+
2997
+ .. _ref_flyteidl.core.WorkflowMetadata.OnFailurePolicy:
2998
+
2999
+ WorkflowMetadata.OnFailurePolicy
3000
+ ------------------------------------------------------------------
3001
+
3002
+ Failure Handling Strategy
3003
+
3004
+ .. csv-table:: Enum WorkflowMetadata.OnFailurePolicy values
3005
+ :header: "Name", "Number", "Description"
3006
+ :widths: auto
3007
+
3008
+ "FAIL_IMMEDIATELY", "0", "FAIL_IMMEDIATELY instructs the system to fail as soon as a node fails in the workflow. It'll automatically abort all currently running nodes and clean up resources before finally marking the workflow executions as failed."
3009
+ "FAIL_AFTER_EXECUTABLE_NODES_COMPLETE", "1", "FAIL_AFTER_EXECUTABLE_NODES_COMPLETE instructs the system to make as much progress as it can. The system will not alter the dependencies of the execution graph so any node that depend on the failed node will not be run. Other nodes that will be executed to completion before cleaning up resources and marking the workflow execution as failed."
3010
+
3011
+
3012
+
3013
+
3014
+
3015
+
3016
+
3017
+
3018
+
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
+ .. _ref_google/protobuf/timestamp.proto:
3061
+
3062
+ google/protobuf/timestamp.proto
3063
+ ==================================================================
3064
+
3065
+
3066
+
3067
+
3068
+
3069
+ .. _ref_google.protobuf.Timestamp:
3070
+
3071
+ Timestamp
3072
+ ------------------------------------------------------------------
3073
+
3074
+ A Timestamp represents a point in time independent of any time zone or local
3075
+ calendar, encoded as a count of seconds and fractions of seconds at
3076
+ nanosecond resolution. The count is relative to an epoch at UTC midnight on
3077
+ January 1, 1970, in the proleptic Gregorian calendar which extends the
3078
+ Gregorian calendar backwards to year one.
3079
+
3080
+ All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
3081
+ second table is needed for interpretation, using a [24-hour linear
3082
+ smear](https://developers.google.com/time/smear).
3083
+
3084
+ The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
3085
+ restricting to that range, we ensure that we can convert to and from [RFC
3086
+ 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
3087
+
3088
+ # Examples
3089
+
3090
+ Example 1: Compute Timestamp from POSIX `time()`.
3091
+
3092
+ Timestamp timestamp;
3093
+ timestamp.set_seconds(time(NULL));
3094
+ timestamp.set_nanos(0);
3095
+
3096
+ Example 2: Compute Timestamp from POSIX `gettimeofday()`.
3097
+
3098
+ struct timeval tv;
3099
+ gettimeofday(&tv, NULL);
3100
+
3101
+ Timestamp timestamp;
3102
+ timestamp.set_seconds(tv.tv_sec);
3103
+ timestamp.set_nanos(tv.tv_usec * 1000);
3104
+
3105
+ Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
3106
+
3107
+ FILETIME ft;
3108
+ GetSystemTimeAsFileTime(&ft);
3109
+ UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
3110
+
3111
+ // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
3112
+ // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
3113
+ Timestamp timestamp;
3114
+ timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
3115
+ timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
3116
+
3117
+ Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
3118
+
3119
+ long millis = System.currentTimeMillis();
3120
+
3121
+ Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
3122
+ .setNanos((int) ((millis % 1000) * 1000000)).build();
3123
+
3124
+
3125
+ Example 5: Compute Timestamp from Java `Instant.now()`.
3126
+
3127
+ Instant now = Instant.now();
3128
+
3129
+ Timestamp timestamp =
3130
+ Timestamp.newBuilder().setSeconds(now.getEpochSecond())
3131
+ .setNanos(now.getNano()).build();
3132
+
3133
+
3134
+ Example 6: Compute Timestamp from current time in Python.
3135
+
3136
+ timestamp = Timestamp()
3137
+ timestamp.GetCurrentTime()
3138
+
3139
+ # JSON Mapping
3140
+
3141
+ In JSON format, the Timestamp type is encoded as a string in the
3142
+ [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
3143
+ format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
3144
+ where {year} is always expressed using four digits while {month}, {day},
3145
+ {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
3146
+ seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
3147
+ are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
3148
+ is required. A proto3 JSON serializer should always use UTC (as indicated by
3149
+ "Z") when printing the Timestamp type and a proto3 JSON parser should be
3150
+ able to accept both UTC and other timezones (as indicated by an offset).
3151
+
3152
+ For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
3153
+ 01:30 UTC on January 15, 2017.
3154
+
3155
+ In JavaScript, one can convert a Date object to this format using the
3156
+ standard
3157
+ [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
3158
+ method. In Python, a standard `datetime.datetime` object can be converted
3159
+ to this format using
3160
+ [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
3161
+ the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
3162
+ the Joda Time's [`ISODateTimeFormat.dateTime()`](
3163
+ http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
3164
+ ) to obtain a formatter capable of generating timestamps in this format.
3165
+
3166
+
3167
+
3168
+ .. csv-table:: Timestamp type fields
3169
+ :header: "Field", "Type", "Label", "Description"
3170
+ :widths: auto
3171
+
3172
+ "seconds", ":ref:`ref_int64`", "", "Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive."
3173
+ "nanos", ":ref:`ref_int32`", "", "Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive."
3174
+
3175
+
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+
3184
+
3185
+
3186
+
3187
+
3188
+
3189
+
3190
+ .. _ref_google/protobuf/duration.proto:
3191
+
3192
+ google/protobuf/duration.proto
3193
+ ==================================================================
3194
+
3195
+
3196
+
3197
+
3198
+
3199
+ .. _ref_google.protobuf.Duration:
3200
+
3201
+ Duration
3202
+ ------------------------------------------------------------------
3203
+
3204
+ A Duration represents a signed, fixed-length span of time represented
3205
+ as a count of seconds and fractions of seconds at nanosecond
3206
+ resolution. It is independent of any calendar and concepts like "day"
3207
+ or "month". It is related to Timestamp in that the difference between
3208
+ two Timestamp values is a Duration and it can be added or subtracted
3209
+ from a Timestamp. Range is approximately +-10,000 years.
3210
+
3211
+ # Examples
3212
+
3213
+ Example 1: Compute Duration from two Timestamps in pseudo code.
3214
+
3215
+ Timestamp start = ...;
3216
+ Timestamp end = ...;
3217
+ Duration duration = ...;
3218
+
3219
+ duration.seconds = end.seconds - start.seconds;
3220
+ duration.nanos = end.nanos - start.nanos;
3221
+
3222
+ if (duration.seconds < 0 && duration.nanos > 0) {
3223
+ duration.seconds += 1;
3224
+ duration.nanos -= 1000000000;
3225
+ } else if (duration.seconds > 0 && duration.nanos < 0) {
3226
+ duration.seconds -= 1;
3227
+ duration.nanos += 1000000000;
3228
+ }
3229
+
3230
+ Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
3231
+
3232
+ Timestamp start = ...;
3233
+ Duration duration = ...;
3234
+ Timestamp end = ...;
3235
+
3236
+ end.seconds = start.seconds + duration.seconds;
3237
+ end.nanos = start.nanos + duration.nanos;
3238
+
3239
+ if (end.nanos < 0) {
3240
+ end.seconds -= 1;
3241
+ end.nanos += 1000000000;
3242
+ } else if (end.nanos >= 1000000000) {
3243
+ end.seconds += 1;
3244
+ end.nanos -= 1000000000;
3245
+ }
3246
+
3247
+ Example 3: Compute Duration from datetime.timedelta in Python.
3248
+
3249
+ td = datetime.timedelta(days=3, minutes=10)
3250
+ duration = Duration()
3251
+ duration.FromTimedelta(td)
3252
+
3253
+ # JSON Mapping
3254
+
3255
+ In JSON format, the Duration type is encoded as a string rather than an
3256
+ object, where the string ends in the suffix "s" (indicating seconds) and
3257
+ is preceded by the number of seconds, with nanoseconds expressed as
3258
+ fractional seconds. For example, 3 seconds with 0 nanoseconds should be
3259
+ encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
3260
+ be expressed in JSON format as "3.000000001s", and 3 seconds and 1
3261
+ microsecond should be expressed in JSON format as "3.000001s".
3262
+
3263
+
3264
+
3265
+ .. csv-table:: Duration type fields
3266
+ :header: "Field", "Type", "Label", "Description"
3267
+ :widths: auto
3268
+
3269
+ "seconds", ":ref:`ref_int64`", "", "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years"
3270
+ "nanos", ":ref:`ref_int32`", "", "Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive."
3271
+
3272
+
3273
+
3274
+
3275
+
3276
+
3277
+
3278
+
3279
+
3280
+
3281
+
3282
+
3283
+
3284
+
3285
+
3286
+
3287
+ .. _ref_google/protobuf/struct.proto:
3288
+
3289
+ google/protobuf/struct.proto
3290
+ ==================================================================
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+ .. _ref_google.protobuf.ListValue:
3297
+
3298
+ ListValue
3299
+ ------------------------------------------------------------------
3300
+
3301
+ `ListValue` is a wrapper around a repeated field of values.
3302
+
3303
+ The JSON representation for `ListValue` is JSON array.
3304
+
3305
+
3306
+
3307
+ .. csv-table:: ListValue type fields
3308
+ :header: "Field", "Type", "Label", "Description"
3309
+ :widths: auto
3310
+
3311
+ "values", ":ref:`ref_google.protobuf.Value`", "repeated", "Repeated field of dynamically typed values."
3312
+
3313
+
3314
+
3315
+
3316
+
3317
+
3318
+
3319
+ .. _ref_google.protobuf.Struct:
3320
+
3321
+ Struct
3322
+ ------------------------------------------------------------------
3323
+
3324
+ `Struct` represents a structured data value, consisting of fields
3325
+ which map to dynamically typed values. In some languages, `Struct`
3326
+ might be supported by a native representation. For example, in
3327
+ scripting languages like JS a struct is represented as an
3328
+ object. The details of that representation are described together
3329
+ with the proto support for the language.
3330
+
3331
+ The JSON representation for `Struct` is JSON object.
3332
+
3333
+
3334
+
3335
+ .. csv-table:: Struct type fields
3336
+ :header: "Field", "Type", "Label", "Description"
3337
+ :widths: auto
3338
+
3339
+ "fields", ":ref:`ref_google.protobuf.Struct.FieldsEntry`", "repeated", "Unordered map of dynamically typed values."
3340
+
3341
+
3342
+
3343
+
3344
+
3345
+
3346
+
3347
+ .. _ref_google.protobuf.Struct.FieldsEntry:
3348
+
3349
+ Struct.FieldsEntry
3350
+ ------------------------------------------------------------------
3351
+
3352
+
3353
+
3354
+
3355
+
3356
+ .. csv-table:: Struct.FieldsEntry type fields
3357
+ :header: "Field", "Type", "Label", "Description"
3358
+ :widths: auto
3359
+
3360
+ "key", ":ref:`ref_string`", "", ""
3361
+ "value", ":ref:`ref_google.protobuf.Value`", "", ""
3362
+
3363
+
3364
+
3365
+
3366
+
3367
+
3368
+
3369
+ .. _ref_google.protobuf.Value:
3370
+
3371
+ Value
3372
+ ------------------------------------------------------------------
3373
+
3374
+ `Value` represents a dynamically typed value which can be either
3375
+ null, a number, a string, a boolean, a recursive struct value, or a
3376
+ list of values. A producer of value is expected to set one of these
3377
+ variants. Absence of any variant indicates an error.
3378
+
3379
+ The JSON representation for `Value` is JSON value.
3380
+
3381
+
3382
+
3383
+ .. csv-table:: Value type fields
3384
+ :header: "Field", "Type", "Label", "Description"
3385
+ :widths: auto
3386
+
3387
+ "null_value", ":ref:`ref_google.protobuf.NullValue`", "", "Represents a null value."
3388
+ "number_value", ":ref:`ref_double`", "", "Represents a double value."
3389
+ "string_value", ":ref:`ref_string`", "", "Represents a string value."
3390
+ "bool_value", ":ref:`ref_bool`", "", "Represents a boolean value."
3391
+ "struct_value", ":ref:`ref_google.protobuf.Struct`", "", "Represents a structured value."
3392
+ "list_value", ":ref:`ref_google.protobuf.ListValue`", "", "Represents a repeated `Value`."
3393
+
3394
+
3395
+
3396
+
3397
+
3398
+
3399
+
3400
+
3401
+
3402
+ .. _ref_google.protobuf.NullValue:
3403
+
3404
+ NullValue
3405
+ ------------------------------------------------------------------
3406
+
3407
+ `NullValue` is a singleton enumeration to represent the null value for the
3408
+ `Value` type union.
3409
+
3410
+ The JSON representation for `NullValue` is JSON `null`.
3411
+
3412
+ .. csv-table:: Enum NullValue values
3413
+ :header: "Name", "Number", "Description"
3414
+ :widths: auto
3415
+
3416
+ "NULL_VALUE", "0", "Null value."
3417
+
3418
+
3419
+
3420
+
3421
+
3422
+
3423
+
3424
+
3425
+
3426
+ .. _ref_scala_types:
3427
+
3428
+ Scalar Value Types
3429
+ ==================
3430
+
3431
+
3432
+
3433
+ .. _ref_double:
3434
+
3435
+ double
3436
+ -----------------------------
3437
+
3438
+
3439
+
3440
+ .. csv-table:: double language representation
3441
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3442
+ :widths: auto
3443
+
3444
+ "double", "double", "double", "float", "float64", "double", "float", "Float"
3445
+
3446
+
3447
+
3448
+ .. _ref_float:
3449
+
3450
+ float
3451
+ -----------------------------
3452
+
3453
+
3454
+
3455
+ .. csv-table:: float language representation
3456
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3457
+ :widths: auto
3458
+
3459
+ "float", "float", "float", "float", "float32", "float", "float", "Float"
3460
+
3461
+
3462
+
3463
+ .. _ref_int32:
3464
+
3465
+ int32
3466
+ -----------------------------
3467
+
3468
+ Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.
3469
+
3470
+ .. csv-table:: int32 language representation
3471
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3472
+ :widths: auto
3473
+
3474
+ "int32", "int32", "int", "int", "int32", "int", "integer", "Bignum or Fixnum (as required)"
3475
+
3476
+
3477
+
3478
+ .. _ref_int64:
3479
+
3480
+ int64
3481
+ -----------------------------
3482
+
3483
+ Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.
3484
+
3485
+ .. csv-table:: int64 language representation
3486
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3487
+ :widths: auto
3488
+
3489
+ "int64", "int64", "long", "int/long", "int64", "long", "integer/string", "Bignum"
3490
+
3491
+
3492
+
3493
+ .. _ref_uint32:
3494
+
3495
+ uint32
3496
+ -----------------------------
3497
+
3498
+ Uses variable-length encoding.
3499
+
3500
+ .. csv-table:: uint32 language representation
3501
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3502
+ :widths: auto
3503
+
3504
+ "uint32", "uint32", "int", "int/long", "uint32", "uint", "integer", "Bignum or Fixnum (as required)"
3505
+
3506
+
3507
+
3508
+ .. _ref_uint64:
3509
+
3510
+ uint64
3511
+ -----------------------------
3512
+
3513
+ Uses variable-length encoding.
3514
+
3515
+ .. csv-table:: uint64 language representation
3516
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3517
+ :widths: auto
3518
+
3519
+ "uint64", "uint64", "long", "int/long", "uint64", "ulong", "integer/string", "Bignum or Fixnum (as required)"
3520
+
3521
+
3522
+
3523
+ .. _ref_sint32:
3524
+
3525
+ sint32
3526
+ -----------------------------
3527
+
3528
+ Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.
3529
+
3530
+ .. csv-table:: sint32 language representation
3531
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3532
+ :widths: auto
3533
+
3534
+ "sint32", "int32", "int", "int", "int32", "int", "integer", "Bignum or Fixnum (as required)"
3535
+
3536
+
3537
+
3538
+ .. _ref_sint64:
3539
+
3540
+ sint64
3541
+ -----------------------------
3542
+
3543
+ Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.
3544
+
3545
+ .. csv-table:: sint64 language representation
3546
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3547
+ :widths: auto
3548
+
3549
+ "sint64", "int64", "long", "int/long", "int64", "long", "integer/string", "Bignum"
3550
+
3551
+
3552
+
3553
+ .. _ref_fixed32:
3554
+
3555
+ fixed32
3556
+ -----------------------------
3557
+
3558
+ Always four bytes. More efficient than uint32 if values are often greater than 2^28.
3559
+
3560
+ .. csv-table:: fixed32 language representation
3561
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3562
+ :widths: auto
3563
+
3564
+ "fixed32", "uint32", "int", "int", "uint32", "uint", "integer", "Bignum or Fixnum (as required)"
3565
+
3566
+
3567
+
3568
+ .. _ref_fixed64:
3569
+
3570
+ fixed64
3571
+ -----------------------------
3572
+
3573
+ Always eight bytes. More efficient than uint64 if values are often greater than 2^56.
3574
+
3575
+ .. csv-table:: fixed64 language representation
3576
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3577
+ :widths: auto
3578
+
3579
+ "fixed64", "uint64", "long", "int/long", "uint64", "ulong", "integer/string", "Bignum"
3580
+
3581
+
3582
+
3583
+ .. _ref_sfixed32:
3584
+
3585
+ sfixed32
3586
+ -----------------------------
3587
+
3588
+ Always four bytes.
3589
+
3590
+ .. csv-table:: sfixed32 language representation
3591
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3592
+ :widths: auto
3593
+
3594
+ "sfixed32", "int32", "int", "int", "int32", "int", "integer", "Bignum or Fixnum (as required)"
3595
+
3596
+
3597
+
3598
+ .. _ref_sfixed64:
3599
+
3600
+ sfixed64
3601
+ -----------------------------
3602
+
3603
+ Always eight bytes.
3604
+
3605
+ .. csv-table:: sfixed64 language representation
3606
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3607
+ :widths: auto
3608
+
3609
+ "sfixed64", "int64", "long", "int/long", "int64", "long", "integer/string", "Bignum"
3610
+
3611
+
3612
+
3613
+ .. _ref_bool:
3614
+
3615
+ bool
3616
+ -----------------------------
3617
+
3618
+
3619
+
3620
+ .. csv-table:: bool language representation
3621
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3622
+ :widths: auto
3623
+
3624
+ "bool", "bool", "boolean", "boolean", "bool", "bool", "boolean", "TrueClass/FalseClass"
3625
+
3626
+
3627
+
3628
+ .. _ref_string:
3629
+
3630
+ string
3631
+ -----------------------------
3632
+
3633
+ A string must always contain UTF-8 encoded or 7-bit ASCII text.
3634
+
3635
+ .. csv-table:: string language representation
3636
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3637
+ :widths: auto
3638
+
3639
+ "string", "string", "String", "str/unicode", "string", "string", "string", "String (UTF-8)"
3640
+
3641
+
3642
+
3643
+ .. _ref_bytes:
3644
+
3645
+ bytes
3646
+ -----------------------------
3647
+
3648
+ May contain any arbitrary sequence of bytes.
3649
+
3650
+ .. csv-table:: bytes language representation
3651
+ :header: ".proto Type", "C++", "Java", "Python", "Go", "C#", "PHP", "Ruby"
3652
+ :widths: auto
3653
+
3654
+ "bytes", "string", "ByteString", "str", "[]byte", "ByteString", "string", "String (ASCII-8BIT)"
3655
+
3656
+