@flyteorg/flyteidl 1.2.0 → 1.2.2
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.
- package/gen/pb-js/flyteidl.d.ts +747 -1
- package/gen/pb-js/flyteidl.js +49786 -48119
- package/package.json +1 -1
- package/protos/docs/admin/admin.rst +163 -0
- package/protos/docs/core/core.rst +112 -0
- package/protos/docs/service/service.rst +42 -0
- package/protos/flyteidl/admin/signal.proto +86 -0
- package/protos/flyteidl/core/identifier.proto +9 -0
- package/protos/flyteidl/core/workflow.proto +42 -0
- package/protos/flyteidl/service/signal.proto +55 -0
package/package.json
CHANGED
|
@@ -3114,6 +3114,169 @@ Represents a frequency at which to run a schedule.
|
|
|
3114
3114
|
|
|
3115
3115
|
|
|
3116
3116
|
|
|
3117
|
+
.. _ref_flyteidl/admin/signal.proto:
|
|
3118
|
+
|
|
3119
|
+
flyteidl/admin/signal.proto
|
|
3120
|
+
==================================================================
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
|
|
3124
|
+
|
|
3125
|
+
|
|
3126
|
+
.. _ref_flyteidl.admin.Signal:
|
|
3127
|
+
|
|
3128
|
+
Signal
|
|
3129
|
+
------------------------------------------------------------------
|
|
3130
|
+
|
|
3131
|
+
Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte
|
|
3132
|
+
signal. Signals may exist either without a set value (representing a signal request) or with a
|
|
3133
|
+
populated value (indicating the signal has been given).
|
|
3134
|
+
|
|
3135
|
+
|
|
3136
|
+
|
|
3137
|
+
.. csv-table:: Signal type fields
|
|
3138
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3139
|
+
:widths: auto
|
|
3140
|
+
|
|
3141
|
+
"id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal."
|
|
3142
|
+
"type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal."
|
|
3143
|
+
"value", ":ref:`ref_flyteidl.core.Literal`", "", "The value of the signal. This is only available if the signal has been "set" and must match the defined the type."
|
|
3144
|
+
|
|
3145
|
+
|
|
3146
|
+
|
|
3147
|
+
|
|
3148
|
+
|
|
3149
|
+
|
|
3150
|
+
|
|
3151
|
+
.. _ref_flyteidl.admin.SignalGetOrCreateRequest:
|
|
3152
|
+
|
|
3153
|
+
SignalGetOrCreateRequest
|
|
3154
|
+
------------------------------------------------------------------
|
|
3155
|
+
|
|
3156
|
+
SignalGetOrCreateRequest represents a request structure to retrive or create a signal.
|
|
3157
|
+
See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
3158
|
+
|
|
3159
|
+
|
|
3160
|
+
|
|
3161
|
+
.. csv-table:: SignalGetOrCreateRequest type fields
|
|
3162
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3163
|
+
:widths: auto
|
|
3164
|
+
|
|
3165
|
+
"id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal."
|
|
3166
|
+
"type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal."
|
|
3167
|
+
|
|
3168
|
+
|
|
3169
|
+
|
|
3170
|
+
|
|
3171
|
+
|
|
3172
|
+
|
|
3173
|
+
|
|
3174
|
+
.. _ref_flyteidl.admin.SignalList:
|
|
3175
|
+
|
|
3176
|
+
SignalList
|
|
3177
|
+
------------------------------------------------------------------
|
|
3178
|
+
|
|
3179
|
+
SignalList represents collection of signals along with the token of the last result.
|
|
3180
|
+
See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
3181
|
+
|
|
3182
|
+
|
|
3183
|
+
|
|
3184
|
+
.. csv-table:: SignalList type fields
|
|
3185
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3186
|
+
:widths: auto
|
|
3187
|
+
|
|
3188
|
+
"signals", ":ref:`ref_flyteidl.admin.Signal`", "repeated", "A list of signals matching the input filters."
|
|
3189
|
+
"token", ":ref:`ref_string`", "", "In the case of multiple pages of results, the server-provided token can be used to fetch the next page in a query. If there are no more results, this value will be empty."
|
|
3190
|
+
|
|
3191
|
+
|
|
3192
|
+
|
|
3193
|
+
|
|
3194
|
+
|
|
3195
|
+
|
|
3196
|
+
|
|
3197
|
+
.. _ref_flyteidl.admin.SignalListRequest:
|
|
3198
|
+
|
|
3199
|
+
SignalListRequest
|
|
3200
|
+
------------------------------------------------------------------
|
|
3201
|
+
|
|
3202
|
+
SignalListRequest represents a request structure to retrieve a collection of signals.
|
|
3203
|
+
See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
3204
|
+
|
|
3205
|
+
|
|
3206
|
+
|
|
3207
|
+
.. csv-table:: SignalListRequest type fields
|
|
3208
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3209
|
+
:widths: auto
|
|
3210
|
+
|
|
3211
|
+
"workflow_execution_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", "Indicates the workflow execution to filter by. +required"
|
|
3212
|
+
"limit", ":ref:`ref_uint32`", "", "Indicates the number of resources to be returned. +required"
|
|
3213
|
+
"token", ":ref:`ref_string`", "", "In the case of multiple pages of results, the, server-provided token can be used to fetch the next page in a query. +optional"
|
|
3214
|
+
"filters", ":ref:`ref_string`", "", "Indicates a list of filters passed as string. +optional"
|
|
3215
|
+
"sort_by", ":ref:`ref_flyteidl.admin.Sort`", "", "Sort ordering. +optional"
|
|
3216
|
+
|
|
3217
|
+
|
|
3218
|
+
|
|
3219
|
+
|
|
3220
|
+
|
|
3221
|
+
|
|
3222
|
+
|
|
3223
|
+
.. _ref_flyteidl.admin.SignalSetRequest:
|
|
3224
|
+
|
|
3225
|
+
SignalSetRequest
|
|
3226
|
+
------------------------------------------------------------------
|
|
3227
|
+
|
|
3228
|
+
SignalSetRequest represents a request structure to set the value on a signal. Setting a signal
|
|
3229
|
+
effetively satisfies the signal condition within a Flyte workflow.
|
|
3230
|
+
See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
3231
|
+
|
|
3232
|
+
|
|
3233
|
+
|
|
3234
|
+
.. csv-table:: SignalSetRequest type fields
|
|
3235
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3236
|
+
:widths: auto
|
|
3237
|
+
|
|
3238
|
+
"id", ":ref:`ref_flyteidl.core.SignalIdentifier`", "", "A unique identifier for the requested signal."
|
|
3239
|
+
"value", ":ref:`ref_flyteidl.core.Literal`", "", "The value of this signal, must match the defining signal type."
|
|
3240
|
+
|
|
3241
|
+
|
|
3242
|
+
|
|
3243
|
+
|
|
3244
|
+
|
|
3245
|
+
|
|
3246
|
+
|
|
3247
|
+
.. _ref_flyteidl.admin.SignalSetResponse:
|
|
3248
|
+
|
|
3249
|
+
SignalSetResponse
|
|
3250
|
+
------------------------------------------------------------------
|
|
3251
|
+
|
|
3252
|
+
SignalSetResponse represents a response structure if signal setting succeeds.
|
|
3253
|
+
|
|
3254
|
+
Purposefully empty, may be populated in the future.
|
|
3255
|
+
|
|
3256
|
+
|
|
3257
|
+
|
|
3258
|
+
|
|
3259
|
+
|
|
3260
|
+
|
|
3261
|
+
|
|
3262
|
+
..
|
|
3263
|
+
end messages
|
|
3264
|
+
|
|
3265
|
+
|
|
3266
|
+
..
|
|
3267
|
+
end enums
|
|
3268
|
+
|
|
3269
|
+
|
|
3270
|
+
..
|
|
3271
|
+
end HasExtensions
|
|
3272
|
+
|
|
3273
|
+
|
|
3274
|
+
..
|
|
3275
|
+
end services
|
|
3276
|
+
|
|
3277
|
+
|
|
3278
|
+
|
|
3279
|
+
|
|
3117
3280
|
.. _ref_flyteidl/admin/task.proto:
|
|
3118
3281
|
|
|
3119
3282
|
flyteidl/admin/task.proto
|
|
@@ -947,6 +947,28 @@ Encapsulation of fields that identify a Flyte node execution entity.
|
|
|
947
947
|
|
|
948
948
|
|
|
949
949
|
|
|
950
|
+
.. _ref_flyteidl.core.SignalIdentifier:
|
|
951
|
+
|
|
952
|
+
SignalIdentifier
|
|
953
|
+
------------------------------------------------------------------
|
|
954
|
+
|
|
955
|
+
Encapsulation of fields the uniquely identify a signal.
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
.. csv-table:: SignalIdentifier type fields
|
|
960
|
+
:header: "Field", "Type", "Label", "Description"
|
|
961
|
+
:widths: auto
|
|
962
|
+
|
|
963
|
+
"signal_id", ":ref:`ref_string`", "", "Unique identifier for a signal."
|
|
964
|
+
"execution_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", "Identifies the Flyte workflow execution this signal belongs to."
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
|
|
950
972
|
.. _ref_flyteidl.core.TaskExecutionIdentifier:
|
|
951
973
|
|
|
952
974
|
TaskExecutionIdentifier
|
|
@@ -2824,6 +2846,28 @@ Links a variable to an alias.
|
|
|
2824
2846
|
|
|
2825
2847
|
|
|
2826
2848
|
|
|
2849
|
+
.. _ref_flyteidl.core.ApproveCondition:
|
|
2850
|
+
|
|
2851
|
+
ApproveCondition
|
|
2852
|
+
------------------------------------------------------------------
|
|
2853
|
+
|
|
2854
|
+
ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean
|
|
2855
|
+
signal with the provided signal_id.
|
|
2856
|
+
|
|
2857
|
+
|
|
2858
|
+
|
|
2859
|
+
.. csv-table:: ApproveCondition type fields
|
|
2860
|
+
:header: "Field", "Type", "Label", "Description"
|
|
2861
|
+
:widths: auto
|
|
2862
|
+
|
|
2863
|
+
"signal_id", ":ref:`ref_string`", "", "A unique identifier for the requested boolean signal."
|
|
2864
|
+
|
|
2865
|
+
|
|
2866
|
+
|
|
2867
|
+
|
|
2868
|
+
|
|
2869
|
+
|
|
2870
|
+
|
|
2827
2871
|
.. _ref_flyteidl.core.BranchNode:
|
|
2828
2872
|
|
|
2829
2873
|
BranchNode
|
|
@@ -2846,6 +2890,29 @@ runtime based on a series of conditions that get evaluated on various parameters
|
|
|
2846
2890
|
|
|
2847
2891
|
|
|
2848
2892
|
|
|
2893
|
+
.. _ref_flyteidl.core.GateNode:
|
|
2894
|
+
|
|
2895
|
+
GateNode
|
|
2896
|
+
------------------------------------------------------------------
|
|
2897
|
+
|
|
2898
|
+
GateNode refers to the condition that is required for the gate to successfully complete.
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
|
|
2902
|
+
.. csv-table:: GateNode type fields
|
|
2903
|
+
:header: "Field", "Type", "Label", "Description"
|
|
2904
|
+
:widths: auto
|
|
2905
|
+
|
|
2906
|
+
"approve", ":ref:`ref_flyteidl.core.ApproveCondition`", "", "ApproveCondition represents a dependency on an external approval provided by a boolean signal."
|
|
2907
|
+
"signal", ":ref:`ref_flyteidl.core.SignalCondition`", "", "SignalCondition represents a dependency on an signal."
|
|
2908
|
+
"sleep", ":ref:`ref_flyteidl.core.SleepCondition`", "", "SleepCondition represents a dependency on waiting for the specified duration."
|
|
2909
|
+
|
|
2910
|
+
|
|
2911
|
+
|
|
2912
|
+
|
|
2913
|
+
|
|
2914
|
+
|
|
2915
|
+
|
|
2849
2916
|
.. _ref_flyteidl.core.IfBlock:
|
|
2850
2917
|
|
|
2851
2918
|
IfBlock
|
|
@@ -2915,6 +2982,7 @@ node.
|
|
|
2915
2982
|
"task_node", ":ref:`ref_flyteidl.core.TaskNode`", "", "Information about the Task to execute in this node."
|
|
2916
2983
|
"workflow_node", ":ref:`ref_flyteidl.core.WorkflowNode`", "", "Information about the Workflow to execute in this mode."
|
|
2917
2984
|
"branch_node", ":ref:`ref_flyteidl.core.BranchNode`", "", "Information about the branch node to evaluate in this node."
|
|
2985
|
+
"gate_node", ":ref:`ref_flyteidl.core.GateNode`", "", "Information about the condition to evaluate in this node."
|
|
2918
2986
|
|
|
2919
2987
|
|
|
2920
2988
|
|
|
@@ -2946,6 +3014,50 @@ Defines extra information about the Node.
|
|
|
2946
3014
|
|
|
2947
3015
|
|
|
2948
3016
|
|
|
3017
|
+
.. _ref_flyteidl.core.SignalCondition:
|
|
3018
|
+
|
|
3019
|
+
SignalCondition
|
|
3020
|
+
------------------------------------------------------------------
|
|
3021
|
+
|
|
3022
|
+
SignalCondition represents a dependency on an signal.
|
|
3023
|
+
|
|
3024
|
+
|
|
3025
|
+
|
|
3026
|
+
.. csv-table:: SignalCondition type fields
|
|
3027
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3028
|
+
:widths: auto
|
|
3029
|
+
|
|
3030
|
+
"signal_id", ":ref:`ref_string`", "", "A unique identifier for the requested signal."
|
|
3031
|
+
"type", ":ref:`ref_flyteidl.core.LiteralType`", "", "A type denoting the required value type for this signal."
|
|
3032
|
+
"output_variable_name", ":ref:`ref_string`", "", "The variable name for the signal value in this nodes outputs."
|
|
3033
|
+
|
|
3034
|
+
|
|
3035
|
+
|
|
3036
|
+
|
|
3037
|
+
|
|
3038
|
+
|
|
3039
|
+
|
|
3040
|
+
.. _ref_flyteidl.core.SleepCondition:
|
|
3041
|
+
|
|
3042
|
+
SleepCondition
|
|
3043
|
+
------------------------------------------------------------------
|
|
3044
|
+
|
|
3045
|
+
SleepCondition represents a dependency on waiting for the specified duration.
|
|
3046
|
+
|
|
3047
|
+
|
|
3048
|
+
|
|
3049
|
+
.. csv-table:: SleepCondition type fields
|
|
3050
|
+
:header: "Field", "Type", "Label", "Description"
|
|
3051
|
+
:widths: auto
|
|
3052
|
+
|
|
3053
|
+
"duration", ":ref:`ref_google.protobuf.Duration`", "", "The overall duration for this sleep."
|
|
3054
|
+
|
|
3055
|
+
|
|
3056
|
+
|
|
3057
|
+
|
|
3058
|
+
|
|
3059
|
+
|
|
3060
|
+
|
|
2949
3061
|
.. _ref_flyteidl.core.TaskNode:
|
|
2950
3062
|
|
|
2951
3063
|
TaskNode
|
|
@@ -435,3 +435,45 @@ IdentityService defines an RPC Service that interacts with user/app identities.
|
|
|
435
435
|
end services
|
|
436
436
|
|
|
437
437
|
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
.. _ref_flyteidl/service/signal.proto:
|
|
441
|
+
|
|
442
|
+
flyteidl/service/signal.proto
|
|
443
|
+
==================================================================
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
..
|
|
449
|
+
end messages
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
..
|
|
453
|
+
end enums
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
..
|
|
457
|
+
end HasExtensions
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
.. _ref_flyteidl.service.SignalService:
|
|
462
|
+
|
|
463
|
+
SignalService
|
|
464
|
+
------------------------------------------------------------------
|
|
465
|
+
|
|
466
|
+
SignalService defines an RPC Service that may create, update, and retrieve signal(s).
|
|
467
|
+
|
|
468
|
+
.. csv-table:: SignalService service methods
|
|
469
|
+
:header: "Method Name", "Request Type", "Response Type", "Description"
|
|
470
|
+
:widths: auto
|
|
471
|
+
|
|
472
|
+
"GetOrCreateSignal", ":ref:`ref_flyteidl.admin.SignalGetOrCreateRequest`", ":ref:`ref_flyteidl.admin.Signal`", "Fetches or creates a :ref:`ref_flyteidl.admin.Signal`."
|
|
473
|
+
"ListSignals", ":ref:`ref_flyteidl.admin.SignalListRequest`", ":ref:`ref_flyteidl.admin.SignalList`", "Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions."
|
|
474
|
+
"SetSignal", ":ref:`ref_flyteidl.admin.SignalSetRequest`", ":ref:`ref_flyteidl.admin.SignalSetResponse`", "Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition"
|
|
475
|
+
|
|
476
|
+
..
|
|
477
|
+
end services
|
|
478
|
+
|
|
479
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package flyteidl.admin;
|
|
4
|
+
option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/admin";
|
|
5
|
+
|
|
6
|
+
import "flyteidl/admin/common.proto";
|
|
7
|
+
import "flyteidl/core/identifier.proto";
|
|
8
|
+
import "flyteidl/core/literals.proto";
|
|
9
|
+
import "flyteidl/core/types.proto";
|
|
10
|
+
|
|
11
|
+
// SignalGetOrCreateRequest represents a request structure to retrive or create a signal.
|
|
12
|
+
// See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
13
|
+
message SignalGetOrCreateRequest {
|
|
14
|
+
// A unique identifier for the requested signal.
|
|
15
|
+
core.SignalIdentifier id = 1;
|
|
16
|
+
|
|
17
|
+
// A type denoting the required value type for this signal.
|
|
18
|
+
core.LiteralType type = 2;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// SignalListRequest represents a request structure to retrieve a collection of signals.
|
|
22
|
+
// See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
23
|
+
message SignalListRequest {
|
|
24
|
+
// Indicates the workflow execution to filter by.
|
|
25
|
+
// +required
|
|
26
|
+
core.WorkflowExecutionIdentifier workflow_execution_id = 1;
|
|
27
|
+
|
|
28
|
+
// Indicates the number of resources to be returned.
|
|
29
|
+
// +required
|
|
30
|
+
uint32 limit = 2;
|
|
31
|
+
|
|
32
|
+
// In the case of multiple pages of results, the, server-provided token can be used to fetch the next page
|
|
33
|
+
// in a query.
|
|
34
|
+
// +optional
|
|
35
|
+
string token = 3;
|
|
36
|
+
|
|
37
|
+
// Indicates a list of filters passed as string.
|
|
38
|
+
// +optional
|
|
39
|
+
string filters = 4;
|
|
40
|
+
|
|
41
|
+
// Sort ordering.
|
|
42
|
+
// +optional
|
|
43
|
+
Sort sort_by = 5;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// SignalList represents collection of signals along with the token of the last result.
|
|
47
|
+
// See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
48
|
+
message SignalList {
|
|
49
|
+
// A list of signals matching the input filters.
|
|
50
|
+
repeated Signal signals = 1;
|
|
51
|
+
|
|
52
|
+
// In the case of multiple pages of results, the server-provided token can be used to fetch the next page
|
|
53
|
+
// in a query. If there are no more results, this value will be empty.
|
|
54
|
+
string token = 2;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// SignalSetRequest represents a request structure to set the value on a signal. Setting a signal
|
|
58
|
+
// effetively satisfies the signal condition within a Flyte workflow.
|
|
59
|
+
// See :ref:`ref_flyteidl.admin.Signal` for more details
|
|
60
|
+
message SignalSetRequest {
|
|
61
|
+
// A unique identifier for the requested signal.
|
|
62
|
+
core.SignalIdentifier id = 1;
|
|
63
|
+
|
|
64
|
+
// The value of this signal, must match the defining signal type.
|
|
65
|
+
core.Literal value = 2;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// SignalSetResponse represents a response structure if signal setting succeeds.
|
|
69
|
+
message SignalSetResponse {
|
|
70
|
+
// Purposefully empty, may be populated in the future.
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Signal encapsulates a unique identifier, associated metadata, and a value for a single Flyte
|
|
74
|
+
// signal. Signals may exist either without a set value (representing a signal request) or with a
|
|
75
|
+
// populated value (indicating the signal has been given).
|
|
76
|
+
message Signal {
|
|
77
|
+
// A unique identifier for the requested signal.
|
|
78
|
+
core.SignalIdentifier id = 1;
|
|
79
|
+
|
|
80
|
+
// A type denoting the required value type for this signal.
|
|
81
|
+
core.LiteralType type = 2;
|
|
82
|
+
|
|
83
|
+
// The value of the signal. This is only available if the signal has been "set" and must match
|
|
84
|
+
// the defined the type.
|
|
85
|
+
core.Literal value = 3;
|
|
86
|
+
}
|
|
@@ -63,3 +63,12 @@ message TaskExecutionIdentifier {
|
|
|
63
63
|
|
|
64
64
|
uint32 retry_attempt = 3;
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
// Encapsulation of fields the uniquely identify a signal.
|
|
68
|
+
message SignalIdentifier {
|
|
69
|
+
// Unique identifier for a signal.
|
|
70
|
+
string signal_id = 1;
|
|
71
|
+
|
|
72
|
+
// Identifies the Flyte workflow execution this signal belongs to.
|
|
73
|
+
WorkflowExecutionIdentifier execution_id = 2;
|
|
74
|
+
}
|
|
@@ -68,6 +68,45 @@ message WorkflowNode {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
// ApproveCondition represents a dependency on an external approval. During execution, this will manifest as a boolean
|
|
72
|
+
// signal with the provided signal_id.
|
|
73
|
+
message ApproveCondition {
|
|
74
|
+
// A unique identifier for the requested boolean signal.
|
|
75
|
+
string signal_id = 1;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// SignalCondition represents a dependency on an signal.
|
|
79
|
+
message SignalCondition {
|
|
80
|
+
// A unique identifier for the requested signal.
|
|
81
|
+
string signal_id = 1;
|
|
82
|
+
|
|
83
|
+
// A type denoting the required value type for this signal.
|
|
84
|
+
LiteralType type = 2;
|
|
85
|
+
|
|
86
|
+
// The variable name for the signal value in this nodes outputs.
|
|
87
|
+
string output_variable_name = 3;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// SleepCondition represents a dependency on waiting for the specified duration.
|
|
91
|
+
message SleepCondition {
|
|
92
|
+
// The overall duration for this sleep.
|
|
93
|
+
google.protobuf.Duration duration = 1;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// GateNode refers to the condition that is required for the gate to successfully complete.
|
|
97
|
+
message GateNode {
|
|
98
|
+
oneof condition {
|
|
99
|
+
// ApproveCondition represents a dependency on an external approval provided by a boolean signal.
|
|
100
|
+
ApproveCondition approve = 1;
|
|
101
|
+
|
|
102
|
+
// SignalCondition represents a dependency on an signal.
|
|
103
|
+
SignalCondition signal = 2;
|
|
104
|
+
|
|
105
|
+
// SleepCondition represents a dependency on waiting for the specified duration.
|
|
106
|
+
SleepCondition sleep = 3;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
71
110
|
// Defines extra information about the Node.
|
|
72
111
|
message NodeMetadata {
|
|
73
112
|
// A friendly name for the Node
|
|
@@ -129,6 +168,9 @@ message Node {
|
|
|
129
168
|
|
|
130
169
|
// Information about the branch node to evaluate in this node.
|
|
131
170
|
BranchNode branch_node = 8;
|
|
171
|
+
|
|
172
|
+
// Information about the condition to evaluate in this node.
|
|
173
|
+
GateNode gate_node = 9;
|
|
132
174
|
}
|
|
133
175
|
}
|
|
134
176
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package flyteidl.service;
|
|
3
|
+
|
|
4
|
+
option go_package = "github.com/flyteorg/flyteidl/gen/pb-go/flyteidl/service";
|
|
5
|
+
|
|
6
|
+
import "google/api/annotations.proto";
|
|
7
|
+
import "flyteidl/admin/signal.proto";
|
|
8
|
+
import "protoc-gen-swagger/options/annotations.proto";
|
|
9
|
+
|
|
10
|
+
// SignalService defines an RPC Service that may create, update, and retrieve signal(s).
|
|
11
|
+
service SignalService {
|
|
12
|
+
// Fetches or creates a :ref:`ref_flyteidl.admin.Signal`.
|
|
13
|
+
rpc GetOrCreateSignal (flyteidl.admin.SignalGetOrCreateRequest) returns (flyteidl.admin.Signal) {
|
|
14
|
+
// Purposefully left out an HTTP API for this RPC call. This is meant to idempotently retrieve
|
|
15
|
+
// a signal, meaning the first call will create the signal and all subsequent calls will
|
|
16
|
+
// fetch the existing signal. This is only useful during Flyte Workflow execution and therefore
|
|
17
|
+
// is not exposed to mitigate unintended behavior.
|
|
18
|
+
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
|
|
19
|
+
description: "Retrieve a signal, creating it if it does not exist."
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Fetch a list of :ref:`ref_flyteidl.admin.Signal` definitions.
|
|
24
|
+
rpc ListSignals (flyteidl.admin.SignalListRequest) returns (flyteidl.admin.SignalList) {
|
|
25
|
+
option (google.api.http) = {
|
|
26
|
+
get: "/api/v1/signals/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}"
|
|
27
|
+
};
|
|
28
|
+
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
|
|
29
|
+
description: "Fetch existing signal definitions matching the input signal id filters."
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Sets the value on a :ref:`ref_flyteidl.admin.Signal` definition
|
|
34
|
+
rpc SetSignal (flyteidl.admin.SignalSetRequest) returns (flyteidl.admin.SignalSetResponse) {
|
|
35
|
+
option (google.api.http) = {
|
|
36
|
+
post: "/api/v1/signals"
|
|
37
|
+
body: "*"
|
|
38
|
+
};
|
|
39
|
+
option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = {
|
|
40
|
+
description: "Set a signal value."
|
|
41
|
+
responses: {
|
|
42
|
+
key: "400"
|
|
43
|
+
value: {
|
|
44
|
+
description: "Returned for bad request that may have failed validation."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
responses: {
|
|
48
|
+
key: "409"
|
|
49
|
+
value: {
|
|
50
|
+
description: "Returned for a request that references an identical entity that has already been registered."
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|