@flyteorg/flyteidl 0.24.9 → 0.24.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -17
- package/gen/pb-js/flyteidl.d.ts +8 -8
- package/gen/pb-js/flyteidl.js +16 -16
- package/package.json +1 -1
- package/protos/docs/admin/index.rst +2 -3
- package/protos/docs/core/index.rst +3 -3
- package/protos/docs/datacatalog/index.rst +5 -5
- package/protos/docs/event/index.rst +3 -4
- package/protos/docs/plugins/plugins.rst +549 -0
- package/protos/docs/service/service.rst +353 -0
- package/protos/flyteidl/service/dataproxy.proto +3 -3
package/README.md
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Flyteidl
|
|
2
|
+
|
|
3
|
+
This is one of the core repositories of Flyte. It contains the Specification of the Flyte Language using protobuf messages, the Backend API specification in gRPC, and Swagger REST. The repo contains the generated clients and protocol message structures in multiple languages. Along with the generated code, the repository also contains the Golang clients for Flyte's backend APIs (the services grouped under FlyteAdmin).
|
|
2
4
|
|
|
3
|
-
This is one of the core repositories of Flyte and contains the Specification of the Flyte Lanugage using protobuf messages, the Backend API specification in gRPC and Swagger REST. The repo contains generated clients and protocol message structures in multiple languages. Along-with the generated code, the repository also contains the Golang clients for Flyte's backend API's (the services grouped under Flyteadmin).
|
|
4
5
|
|
|
5
6
|
[](https://slack.flyte.org)
|
|
6
7
|
|
|
7
8
|
* [flyte.org](https://flyte.org)
|
|
8
9
|
* [Flyte Docs](http://docs.flyte.org)
|
|
9
|
-
* [
|
|
10
|
+
* [Flyteidl API reference documentation](https://docs.flyte.org/projects/flyteidl/en/stable/index.html)
|
|
10
11
|
|
|
11
|
-
## Contributing to
|
|
12
|
+
## Contributing to Flyteidl
|
|
12
13
|
|
|
13
|
-
## Tooling for
|
|
14
|
+
## Tooling for Flyteidl
|
|
14
15
|
|
|
15
|
-
1. Run ``make download_tooling`` to install generator dependencies
|
|
16
|
+
1. Run ``make download_tooling`` to install generator dependencies.
|
|
16
17
|
|
|
17
18
|
```bash
|
|
18
19
|
make download_tooling
|
|
19
20
|
```
|
|
20
21
|
|
|
21
|
-
2.
|
|
22
|
-
3.
|
|
22
|
+
2. Ensure Docker is installed locally.
|
|
23
|
+
3. Run ``make generate`` to generate all the code, mock client, and docs for FlyteAdmin Service.
|
|
23
24
|
|
|
24
25
|
```bash
|
|
25
26
|
make generate
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
4. To add new dependencies for documentation generation, modify ``doc-requirements.in`` and
|
|
29
|
+
4. To add new dependencies for documentation generation, modify ``doc-requirements.in`` and run
|
|
29
30
|
|
|
30
31
|
```bash
|
|
31
32
|
make doc-requirements.txt
|
|
@@ -33,8 +34,8 @@ This is one of the core repositories of Flyte and contains the Specification of
|
|
|
33
34
|
|
|
34
35
|
## Docs structure
|
|
35
36
|
|
|
36
|
-
The index.rst files for protos are
|
|
37
|
-
All the proto definitions are within protos/flyteidl and
|
|
37
|
+
The index.rst files for protos are arranged in parallel under the ``docs`` folder.
|
|
38
|
+
All the proto definitions are within ``protos/flyteidl`` and their corresponding docs are in ``protos/docs``.
|
|
38
39
|
|
|
39
40
|
```
|
|
40
41
|
docs
|
|
@@ -58,13 +59,13 @@ docs
|
|
|
58
59
|
│ └── service.rst
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
Each module in protos has
|
|
62
|
-
|
|
62
|
+
Each module in protos has a module in docs with the same name.
|
|
63
|
+
For example: ``protos/flyteidl/core`` has a module ``protos/docs/core`` under the ``docs`` folder which has the corresponding index and documentation files.
|
|
63
64
|
|
|
64
65
|
|
|
65
|
-
##
|
|
66
|
+
## Generating Documentation
|
|
66
67
|
|
|
67
|
-
* If
|
|
68
|
+
* If a new module is to be introduced, follow the structure for core files in `generate_protos.sh` file which helps generate the core documentation from its proto files.
|
|
68
69
|
```
|
|
69
70
|
core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
|
|
70
71
|
# Remove any currently generated file
|
|
@@ -72,7 +73,7 @@ eg : protos/flyteidl/core has same named doc structure placing it index and othe
|
|
|
72
73
|
protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
|
|
73
74
|
```
|
|
74
75
|
|
|
75
|
-
* ``make generate``
|
|
76
|
+
* ``make generate`` generates the modified rst files.
|
|
76
77
|
|
|
77
|
-
* ``make html``
|
|
78
|
+
* ``make html`` generates the Sphinx documentation from the docs folder that uses the modified rst files.
|
|
78
79
|
|
package/gen/pb-js/flyteidl.d.ts
CHANGED
|
@@ -17092,11 +17092,11 @@ export namespace flyteidl {
|
|
|
17092
17092
|
public static verify(message: { [k: string]: any }): (string|null);
|
|
17093
17093
|
}
|
|
17094
17094
|
|
|
17095
|
-
/** Represents a
|
|
17096
|
-
class
|
|
17095
|
+
/** Represents a DataProxyService */
|
|
17096
|
+
class DataProxyService extends $protobuf.rpc.Service {
|
|
17097
17097
|
|
|
17098
17098
|
/**
|
|
17099
|
-
* Constructs a new
|
|
17099
|
+
* Constructs a new DataProxyService service.
|
|
17100
17100
|
* @param rpcImpl RPC implementation
|
|
17101
17101
|
* @param [requestDelimited=false] Whether requests are length-delimited
|
|
17102
17102
|
* @param [responseDelimited=false] Whether responses are length-delimited
|
|
@@ -17104,20 +17104,20 @@ export namespace flyteidl {
|
|
|
17104
17104
|
constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
|
|
17105
17105
|
|
|
17106
17106
|
/**
|
|
17107
|
-
* Creates new
|
|
17107
|
+
* Creates new DataProxyService service using the specified rpc implementation.
|
|
17108
17108
|
* @param rpcImpl RPC implementation
|
|
17109
17109
|
* @param [requestDelimited=false] Whether requests are length-delimited
|
|
17110
17110
|
* @param [responseDelimited=false] Whether responses are length-delimited
|
|
17111
17111
|
* @returns RPC service. Useful where requests and/or responses are streamed.
|
|
17112
17112
|
*/
|
|
17113
|
-
public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean):
|
|
17113
|
+
public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DataProxyService;
|
|
17114
17114
|
|
|
17115
17115
|
/**
|
|
17116
17116
|
* Calls CreateUploadLocation.
|
|
17117
17117
|
* @param request CreateUploadLocationRequest message or plain object
|
|
17118
17118
|
* @param callback Node-style callback called with the error, if any, and CreateUploadLocationResponse
|
|
17119
17119
|
*/
|
|
17120
|
-
public createUploadLocation(request: flyteidl.service.ICreateUploadLocationRequest, callback: flyteidl.service.
|
|
17120
|
+
public createUploadLocation(request: flyteidl.service.ICreateUploadLocationRequest, callback: flyteidl.service.DataProxyService.CreateUploadLocationCallback): void;
|
|
17121
17121
|
|
|
17122
17122
|
/**
|
|
17123
17123
|
* Calls CreateUploadLocation.
|
|
@@ -17127,10 +17127,10 @@ export namespace flyteidl {
|
|
|
17127
17127
|
public createUploadLocation(request: flyteidl.service.ICreateUploadLocationRequest): Promise<flyteidl.service.CreateUploadLocationResponse>;
|
|
17128
17128
|
}
|
|
17129
17129
|
|
|
17130
|
-
namespace
|
|
17130
|
+
namespace DataProxyService {
|
|
17131
17131
|
|
|
17132
17132
|
/**
|
|
17133
|
-
* Callback as used by {@link flyteidl.service.
|
|
17133
|
+
* Callback as used by {@link flyteidl.service.DataProxyService#createUploadLocation}.
|
|
17134
17134
|
* @param error Error, if any
|
|
17135
17135
|
* @param [response] CreateUploadLocationResponse
|
|
17136
17136
|
*/
|
package/gen/pb-js/flyteidl.js
CHANGED
|
@@ -39820,41 +39820,41 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
39820
39820
|
return CreateUploadLocationRequest;
|
|
39821
39821
|
})();
|
|
39822
39822
|
|
|
39823
|
-
service.
|
|
39823
|
+
service.DataProxyService = (function() {
|
|
39824
39824
|
|
|
39825
39825
|
/**
|
|
39826
|
-
* Constructs a new
|
|
39826
|
+
* Constructs a new DataProxyService service.
|
|
39827
39827
|
* @memberof flyteidl.service
|
|
39828
|
-
* @classdesc Represents a
|
|
39828
|
+
* @classdesc Represents a DataProxyService
|
|
39829
39829
|
* @extends $protobuf.rpc.Service
|
|
39830
39830
|
* @constructor
|
|
39831
39831
|
* @param {$protobuf.RPCImpl} rpcImpl RPC implementation
|
|
39832
39832
|
* @param {boolean} [requestDelimited=false] Whether requests are length-delimited
|
|
39833
39833
|
* @param {boolean} [responseDelimited=false] Whether responses are length-delimited
|
|
39834
39834
|
*/
|
|
39835
|
-
function
|
|
39835
|
+
function DataProxyService(rpcImpl, requestDelimited, responseDelimited) {
|
|
39836
39836
|
$protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
|
|
39837
39837
|
}
|
|
39838
39838
|
|
|
39839
|
-
(
|
|
39839
|
+
(DataProxyService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DataProxyService;
|
|
39840
39840
|
|
|
39841
39841
|
/**
|
|
39842
|
-
* Creates new
|
|
39842
|
+
* Creates new DataProxyService service using the specified rpc implementation.
|
|
39843
39843
|
* @function create
|
|
39844
|
-
* @memberof flyteidl.service.
|
|
39844
|
+
* @memberof flyteidl.service.DataProxyService
|
|
39845
39845
|
* @static
|
|
39846
39846
|
* @param {$protobuf.RPCImpl} rpcImpl RPC implementation
|
|
39847
39847
|
* @param {boolean} [requestDelimited=false] Whether requests are length-delimited
|
|
39848
39848
|
* @param {boolean} [responseDelimited=false] Whether responses are length-delimited
|
|
39849
|
-
* @returns {
|
|
39849
|
+
* @returns {DataProxyService} RPC service. Useful where requests and/or responses are streamed.
|
|
39850
39850
|
*/
|
|
39851
|
-
|
|
39851
|
+
DataProxyService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
|
|
39852
39852
|
return new this(rpcImpl, requestDelimited, responseDelimited);
|
|
39853
39853
|
};
|
|
39854
39854
|
|
|
39855
39855
|
/**
|
|
39856
|
-
* Callback as used by {@link flyteidl.service.
|
|
39857
|
-
* @memberof flyteidl.service.
|
|
39856
|
+
* Callback as used by {@link flyteidl.service.DataProxyService#createUploadLocation}.
|
|
39857
|
+
* @memberof flyteidl.service.DataProxyService
|
|
39858
39858
|
* @typedef CreateUploadLocationCallback
|
|
39859
39859
|
* @type {function}
|
|
39860
39860
|
* @param {Error|null} error Error, if any
|
|
@@ -39864,28 +39864,28 @@ export const flyteidl = $root.flyteidl = (() => {
|
|
|
39864
39864
|
/**
|
|
39865
39865
|
* Calls CreateUploadLocation.
|
|
39866
39866
|
* @function createUploadLocation
|
|
39867
|
-
* @memberof flyteidl.service.
|
|
39867
|
+
* @memberof flyteidl.service.DataProxyService
|
|
39868
39868
|
* @instance
|
|
39869
39869
|
* @param {flyteidl.service.ICreateUploadLocationRequest} request CreateUploadLocationRequest message or plain object
|
|
39870
|
-
* @param {flyteidl.service.
|
|
39870
|
+
* @param {flyteidl.service.DataProxyService.CreateUploadLocationCallback} callback Node-style callback called with the error, if any, and CreateUploadLocationResponse
|
|
39871
39871
|
* @returns {undefined}
|
|
39872
39872
|
* @variation 1
|
|
39873
39873
|
*/
|
|
39874
|
-
Object.defineProperty(
|
|
39874
|
+
Object.defineProperty(DataProxyService.prototype.createUploadLocation = function createUploadLocation(request, callback) {
|
|
39875
39875
|
return this.rpcCall(createUploadLocation, $root.flyteidl.service.CreateUploadLocationRequest, $root.flyteidl.service.CreateUploadLocationResponse, request, callback);
|
|
39876
39876
|
}, "name", { value: "CreateUploadLocation" });
|
|
39877
39877
|
|
|
39878
39878
|
/**
|
|
39879
39879
|
* Calls CreateUploadLocation.
|
|
39880
39880
|
* @function createUploadLocation
|
|
39881
|
-
* @memberof flyteidl.service.
|
|
39881
|
+
* @memberof flyteidl.service.DataProxyService
|
|
39882
39882
|
* @instance
|
|
39883
39883
|
* @param {flyteidl.service.ICreateUploadLocationRequest} request CreateUploadLocationRequest message or plain object
|
|
39884
39884
|
* @returns {Promise<flyteidl.service.CreateUploadLocationResponse>} Promise
|
|
39885
39885
|
* @variation 2
|
|
39886
39886
|
*/
|
|
39887
39887
|
|
|
39888
|
-
return
|
|
39888
|
+
return DataProxyService;
|
|
39889
39889
|
})();
|
|
39890
39890
|
|
|
39891
39891
|
service.UserInfoRequest = (function() {
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
Flyte Admin Service entities
|
|
2
2
|
============================
|
|
3
3
|
|
|
4
|
-
These are the control plane entities that can be used to
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
These are the control plane entities that can be used to communicate with the
|
|
5
|
+
FlyteAdmin service over gRPC or REST. The endpoint specification is defined in the
|
|
7
6
|
`Admin raw protos <https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/admin>`__
|
|
8
7
|
|
|
9
8
|
.. toctree::
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Core Flyte language specification
|
|
2
2
|
=================================
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
structures like
|
|
6
|
-
of the various entities in Flyte
|
|
4
|
+
Protocol buffers provide details about core data
|
|
5
|
+
structures like :ref:`workflows <divedeep-workflows>`, :ref:`tasks <divedeep-tasks>`, :ref:`nodes <divedeep-nodes>`, and Literals. They are the specifications
|
|
6
|
+
of the various entities in Flyte and the type system.
|
|
7
7
|
|
|
8
8
|
`Core raw protos <https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/core>`__
|
|
9
9
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Flyte Data Catalog Service
|
|
2
|
-
|
|
2
|
+
============================
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
to catalog artifacts generated by task executions.
|
|
7
|
-
data and tagged by the user so
|
|
4
|
+
Protos provides the interface definition for the Data Catalog Service. Data Catalog is a service to
|
|
5
|
+
index parameterized, strongly-typed data artifacts across revisions. It is used in the Flyte ecosystem
|
|
6
|
+
to catalog artifacts generated by the task executions. The output generated by a task can be stored as artifact
|
|
7
|
+
data and tagged by the user so as to be retrieved later by that tag.
|
|
8
8
|
|
|
9
9
|
`Datacatalog raw proto <https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/datacatalog/datacatalog.proto>`__
|
|
10
10
|
|
|
@@ -9,14 +9,13 @@ External Eventing system.
|
|
|
9
9
|
Flyte Internal Eventing
|
|
10
10
|
========================
|
|
11
11
|
|
|
12
|
-
This is the interface used by the dataplane (execution engine) to communicate
|
|
13
|
-
workflow and task progress back to the **control plane** admin service.
|
|
12
|
+
This is the interface used by the dataplane (execution engine) to communicate with the control plane admin service about the workflow and task progress.
|
|
14
13
|
|
|
15
14
|
Flyte External Eventing - Event Egress
|
|
16
15
|
=======================================
|
|
17
16
|
|
|
18
|
-
This refers to the interface for all the event messages
|
|
19
|
-
**control plane** and
|
|
17
|
+
This refers to the interface for all the event messages leaving the Flyte
|
|
18
|
+
**control plane** and reaching on the configured pubsub channel.
|
|
20
19
|
|
|
21
20
|
`Event raw proto <https://github.com/flyteorg/flyteidl/blob/master/protos/flyteidl/event/event.proto>`__
|
|
22
21
|
|
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
######################
|
|
2
|
+
Protocol Documentation
|
|
3
|
+
######################
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
.. _ref_flyteidl/plugins/array_job.proto:
|
|
9
|
+
|
|
10
|
+
flyteidl/plugins/array_job.proto
|
|
11
|
+
==================================================================
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
.. _ref_flyteidl.plugins.ArrayJob:
|
|
18
|
+
|
|
19
|
+
ArrayJob
|
|
20
|
+
------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
Describes a job that can process independent pieces of data concurrently. Multiple copies of the runnable component
|
|
23
|
+
will be executed concurrently.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
.. csv-table:: ArrayJob type fields
|
|
28
|
+
:header: "Field", "Type", "Label", "Description"
|
|
29
|
+
:widths: auto
|
|
30
|
+
|
|
31
|
+
"parallelism", ":ref:`ref_int64`", "", "Defines the minimum number of instances to bring up concurrently at any given point. Note that this is an optimistic restriction and that, due to network partitioning or other failures, the actual number of currently running instances might be more. This has to be a positive number if assigned. Default value is size."
|
|
32
|
+
"size", ":ref:`ref_int64`", "", "Defines the number of instances to launch at most. This number should match the size of the input if the job requires processing of all input data. This has to be a positive number. In the case this is not defined, the back-end will determine the size at run-time by reading the inputs."
|
|
33
|
+
"min_successes", ":ref:`ref_int64`", "", "An absolute number of the minimum number of successful completions of subtasks. As soon as this criteria is met, the array job will be marked as successful and outputs will be computed. This has to be a non-negative number if assigned. Default value is size (if specified)."
|
|
34
|
+
"min_success_ratio", ":ref:`ref_float`", "", "If the array job size is not known beforehand, the min_success_ratio can instead be used to determine when an array job can be marked successful."
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<!-- end messages -->
|
|
41
|
+
|
|
42
|
+
<!-- end enums -->
|
|
43
|
+
|
|
44
|
+
<!-- end HasExtensions -->
|
|
45
|
+
|
|
46
|
+
<!-- end services -->
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
.. _ref_flyteidl/plugins/mpi.proto:
|
|
52
|
+
|
|
53
|
+
flyteidl/plugins/mpi.proto
|
|
54
|
+
==================================================================
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
.. _ref_flyteidl.plugins.DistributedMPITrainingTask:
|
|
61
|
+
|
|
62
|
+
DistributedMPITrainingTask
|
|
63
|
+
------------------------------------------------------------------
|
|
64
|
+
|
|
65
|
+
MPI operator proposal https://github.com/kubeflow/community/blob/master/proposals/mpi-operator-proposal.md
|
|
66
|
+
Custom proto for plugin that enables distributed training using https://github.com/kubeflow/mpi-operator
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
.. csv-table:: DistributedMPITrainingTask type fields
|
|
71
|
+
:header: "Field", "Type", "Label", "Description"
|
|
72
|
+
:widths: auto
|
|
73
|
+
|
|
74
|
+
"num_workers", ":ref:`ref_int32`", "", "number of worker spawned in the cluster for this job"
|
|
75
|
+
"num_launcher_replicas", ":ref:`ref_int32`", "", "number of launcher replicas spawned in the cluster for this job The launcher pod invokes mpirun and communicates with worker pods through MPI."
|
|
76
|
+
"slots", ":ref:`ref_int32`", "", "number of slots per worker used in hostfile. The available slots (GPUs) in each pod."
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
<!-- end messages -->
|
|
83
|
+
|
|
84
|
+
<!-- end enums -->
|
|
85
|
+
|
|
86
|
+
<!-- end HasExtensions -->
|
|
87
|
+
|
|
88
|
+
<!-- end services -->
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
.. _ref_flyteidl/plugins/presto.proto:
|
|
94
|
+
|
|
95
|
+
flyteidl/plugins/presto.proto
|
|
96
|
+
==================================================================
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
.. _ref_flyteidl.plugins.PrestoQuery:
|
|
103
|
+
|
|
104
|
+
PrestoQuery
|
|
105
|
+
------------------------------------------------------------------
|
|
106
|
+
|
|
107
|
+
This message works with the 'presto' task type in the SDK and is the object that will be in the 'custom' field
|
|
108
|
+
of a Presto task's TaskTemplate
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
.. csv-table:: PrestoQuery type fields
|
|
113
|
+
:header: "Field", "Type", "Label", "Description"
|
|
114
|
+
:widths: auto
|
|
115
|
+
|
|
116
|
+
"routing_group", ":ref:`ref_string`", "", ""
|
|
117
|
+
"catalog", ":ref:`ref_string`", "", ""
|
|
118
|
+
"schema", ":ref:`ref_string`", "", ""
|
|
119
|
+
"statement", ":ref:`ref_string`", "", ""
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
<!-- end messages -->
|
|
126
|
+
|
|
127
|
+
<!-- end enums -->
|
|
128
|
+
|
|
129
|
+
<!-- end HasExtensions -->
|
|
130
|
+
|
|
131
|
+
<!-- end services -->
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
.. _ref_flyteidl/plugins/pytorch.proto:
|
|
137
|
+
|
|
138
|
+
flyteidl/plugins/pytorch.proto
|
|
139
|
+
==================================================================
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
.. _ref_flyteidl.plugins.DistributedPyTorchTrainingTask:
|
|
146
|
+
|
|
147
|
+
DistributedPyTorchTrainingTask
|
|
148
|
+
------------------------------------------------------------------
|
|
149
|
+
|
|
150
|
+
Custom proto for plugin that enables distributed training using https://github.com/kubeflow/pytorch-operator
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
.. csv-table:: DistributedPyTorchTrainingTask type fields
|
|
155
|
+
:header: "Field", "Type", "Label", "Description"
|
|
156
|
+
:widths: auto
|
|
157
|
+
|
|
158
|
+
"workers", ":ref:`ref_int32`", "", "number of worker replicas spawned in the cluster for this job"
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
<!-- end messages -->
|
|
165
|
+
|
|
166
|
+
<!-- end enums -->
|
|
167
|
+
|
|
168
|
+
<!-- end HasExtensions -->
|
|
169
|
+
|
|
170
|
+
<!-- end services -->
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
.. _ref_flyteidl/plugins/qubole.proto:
|
|
176
|
+
|
|
177
|
+
flyteidl/plugins/qubole.proto
|
|
178
|
+
==================================================================
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
.. _ref_flyteidl.plugins.HiveQuery:
|
|
185
|
+
|
|
186
|
+
HiveQuery
|
|
187
|
+
------------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
Defines a query to execute on a hive cluster.
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
.. csv-table:: HiveQuery type fields
|
|
194
|
+
:header: "Field", "Type", "Label", "Description"
|
|
195
|
+
:widths: auto
|
|
196
|
+
|
|
197
|
+
"query", ":ref:`ref_string`", "", ""
|
|
198
|
+
"timeout_sec", ":ref:`ref_uint32`", "", ""
|
|
199
|
+
"retryCount", ":ref:`ref_uint32`", "", ""
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
.. _ref_flyteidl.plugins.HiveQueryCollection:
|
|
208
|
+
|
|
209
|
+
HiveQueryCollection
|
|
210
|
+
------------------------------------------------------------------
|
|
211
|
+
|
|
212
|
+
Defines a collection of hive queries.
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
.. csv-table:: HiveQueryCollection type fields
|
|
217
|
+
:header: "Field", "Type", "Label", "Description"
|
|
218
|
+
:widths: auto
|
|
219
|
+
|
|
220
|
+
"queries", ":ref:`ref_flyteidl.plugins.HiveQuery`", "repeated", ""
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
.. _ref_flyteidl.plugins.QuboleHiveJob:
|
|
229
|
+
|
|
230
|
+
QuboleHiveJob
|
|
231
|
+
------------------------------------------------------------------
|
|
232
|
+
|
|
233
|
+
This message works with the 'hive' task type in the SDK and is the object that will be in the 'custom' field
|
|
234
|
+
of a hive task's TaskTemplate
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
.. csv-table:: QuboleHiveJob type fields
|
|
239
|
+
:header: "Field", "Type", "Label", "Description"
|
|
240
|
+
:widths: auto
|
|
241
|
+
|
|
242
|
+
"cluster_label", ":ref:`ref_string`", "", ""
|
|
243
|
+
"query_collection", ":ref:`ref_flyteidl.plugins.HiveQueryCollection`", "", "**Deprecated.** "
|
|
244
|
+
"tags", ":ref:`ref_string`", "repeated", ""
|
|
245
|
+
"query", ":ref:`ref_flyteidl.plugins.HiveQuery`", "", ""
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
<!-- end messages -->
|
|
252
|
+
|
|
253
|
+
<!-- end enums -->
|
|
254
|
+
|
|
255
|
+
<!-- end HasExtensions -->
|
|
256
|
+
|
|
257
|
+
<!-- end services -->
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
.. _ref_flyteidl/plugins/sidecar.proto:
|
|
263
|
+
|
|
264
|
+
flyteidl/plugins/sidecar.proto
|
|
265
|
+
==================================================================
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
.. _ref_flyteidl.plugins.SidecarJob:
|
|
272
|
+
|
|
273
|
+
SidecarJob
|
|
274
|
+
------------------------------------------------------------------
|
|
275
|
+
|
|
276
|
+
A sidecar job brings up the desired pod_spec.
|
|
277
|
+
The plugin executor is responsible for keeping the pod alive until the primary container terminates
|
|
278
|
+
or the task itself times out.
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
.. csv-table:: SidecarJob type fields
|
|
283
|
+
:header: "Field", "Type", "Label", "Description"
|
|
284
|
+
:widths: auto
|
|
285
|
+
|
|
286
|
+
"pod_spec", ":ref:`ref_k8s.io.api.core.v1.PodSpec`", "", ""
|
|
287
|
+
"primary_container_name", ":ref:`ref_string`", "", ""
|
|
288
|
+
"annotations", ":ref:`ref_flyteidl.plugins.SidecarJob.AnnotationsEntry`", "repeated", "Pod annotations"
|
|
289
|
+
"labels", ":ref:`ref_flyteidl.plugins.SidecarJob.LabelsEntry`", "repeated", "Pod labels"
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
.. _ref_flyteidl.plugins.SidecarJob.AnnotationsEntry:
|
|
298
|
+
|
|
299
|
+
SidecarJob.AnnotationsEntry
|
|
300
|
+
------------------------------------------------------------------
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
.. csv-table:: SidecarJob.AnnotationsEntry type fields
|
|
307
|
+
:header: "Field", "Type", "Label", "Description"
|
|
308
|
+
:widths: auto
|
|
309
|
+
|
|
310
|
+
"key", ":ref:`ref_string`", "", ""
|
|
311
|
+
"value", ":ref:`ref_string`", "", ""
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
.. _ref_flyteidl.plugins.SidecarJob.LabelsEntry:
|
|
320
|
+
|
|
321
|
+
SidecarJob.LabelsEntry
|
|
322
|
+
------------------------------------------------------------------
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
.. csv-table:: SidecarJob.LabelsEntry type fields
|
|
329
|
+
:header: "Field", "Type", "Label", "Description"
|
|
330
|
+
:widths: auto
|
|
331
|
+
|
|
332
|
+
"key", ":ref:`ref_string`", "", ""
|
|
333
|
+
"value", ":ref:`ref_string`", "", ""
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
<!-- end messages -->
|
|
340
|
+
|
|
341
|
+
<!-- end enums -->
|
|
342
|
+
|
|
343
|
+
<!-- end HasExtensions -->
|
|
344
|
+
|
|
345
|
+
<!-- end services -->
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
.. _ref_flyteidl/plugins/spark.proto:
|
|
351
|
+
|
|
352
|
+
flyteidl/plugins/spark.proto
|
|
353
|
+
==================================================================
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
.. _ref_flyteidl.plugins.SparkApplication:
|
|
360
|
+
|
|
361
|
+
SparkApplication
|
|
362
|
+
------------------------------------------------------------------
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
.. _ref_flyteidl.plugins.SparkJob:
|
|
374
|
+
|
|
375
|
+
SparkJob
|
|
376
|
+
------------------------------------------------------------------
|
|
377
|
+
|
|
378
|
+
Custom Proto for Spark Plugin.
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
.. csv-table:: SparkJob type fields
|
|
383
|
+
:header: "Field", "Type", "Label", "Description"
|
|
384
|
+
:widths: auto
|
|
385
|
+
|
|
386
|
+
"applicationType", ":ref:`ref_flyteidl.plugins.SparkApplication.Type`", "", ""
|
|
387
|
+
"mainApplicationFile", ":ref:`ref_string`", "", ""
|
|
388
|
+
"mainClass", ":ref:`ref_string`", "", ""
|
|
389
|
+
"sparkConf", ":ref:`ref_flyteidl.plugins.SparkJob.SparkConfEntry`", "repeated", ""
|
|
390
|
+
"hadoopConf", ":ref:`ref_flyteidl.plugins.SparkJob.HadoopConfEntry`", "repeated", ""
|
|
391
|
+
"executorPath", ":ref:`ref_string`", "", "Executor path for Python jobs."
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
.. _ref_flyteidl.plugins.SparkJob.HadoopConfEntry:
|
|
400
|
+
|
|
401
|
+
SparkJob.HadoopConfEntry
|
|
402
|
+
------------------------------------------------------------------
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
.. csv-table:: SparkJob.HadoopConfEntry type fields
|
|
409
|
+
:header: "Field", "Type", "Label", "Description"
|
|
410
|
+
:widths: auto
|
|
411
|
+
|
|
412
|
+
"key", ":ref:`ref_string`", "", ""
|
|
413
|
+
"value", ":ref:`ref_string`", "", ""
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
.. _ref_flyteidl.plugins.SparkJob.SparkConfEntry:
|
|
422
|
+
|
|
423
|
+
SparkJob.SparkConfEntry
|
|
424
|
+
------------------------------------------------------------------
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
.. csv-table:: SparkJob.SparkConfEntry type fields
|
|
431
|
+
:header: "Field", "Type", "Label", "Description"
|
|
432
|
+
:widths: auto
|
|
433
|
+
|
|
434
|
+
"key", ":ref:`ref_string`", "", ""
|
|
435
|
+
"value", ":ref:`ref_string`", "", ""
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
<!-- end messages -->
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
.. _ref_flyteidl.plugins.SparkApplication.Type:
|
|
446
|
+
|
|
447
|
+
SparkApplication.Type
|
|
448
|
+
------------------------------------------------------------------
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
.. csv-table:: Enum SparkApplication.Type values
|
|
453
|
+
:header: "Name", "Number", "Description"
|
|
454
|
+
:widths: auto
|
|
455
|
+
|
|
456
|
+
"PYTHON", "0", ""
|
|
457
|
+
"JAVA", "1", ""
|
|
458
|
+
"SCALA", "2", ""
|
|
459
|
+
"R", "3", ""
|
|
460
|
+
|
|
461
|
+
<!-- end enums -->
|
|
462
|
+
|
|
463
|
+
<!-- end HasExtensions -->
|
|
464
|
+
|
|
465
|
+
<!-- end services -->
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
.. _ref_flyteidl/plugins/tensorflow.proto:
|
|
471
|
+
|
|
472
|
+
flyteidl/plugins/tensorflow.proto
|
|
473
|
+
==================================================================
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
.. _ref_flyteidl.plugins.DistributedTensorflowTrainingTask:
|
|
480
|
+
|
|
481
|
+
DistributedTensorflowTrainingTask
|
|
482
|
+
------------------------------------------------------------------
|
|
483
|
+
|
|
484
|
+
Custom proto for plugin that enables distributed training using https://github.com/kubeflow/tf-operator
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
.. csv-table:: DistributedTensorflowTrainingTask type fields
|
|
489
|
+
:header: "Field", "Type", "Label", "Description"
|
|
490
|
+
:widths: auto
|
|
491
|
+
|
|
492
|
+
"workers", ":ref:`ref_int32`", "", "number of worker, ps, chief replicas spawned in the cluster for this job"
|
|
493
|
+
"ps_replicas", ":ref:`ref_int32`", "", "PS -> Parameter server"
|
|
494
|
+
"chief_replicas", ":ref:`ref_int32`", "", ""
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
<!-- end messages -->
|
|
501
|
+
|
|
502
|
+
<!-- end enums -->
|
|
503
|
+
|
|
504
|
+
<!-- end HasExtensions -->
|
|
505
|
+
|
|
506
|
+
<!-- end services -->
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
.. _ref_flyteidl/plugins/waitable.proto:
|
|
512
|
+
|
|
513
|
+
flyteidl/plugins/waitable.proto
|
|
514
|
+
==================================================================
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
.. _ref_flyteidl.plugins.Waitable:
|
|
521
|
+
|
|
522
|
+
Waitable
|
|
523
|
+
------------------------------------------------------------------
|
|
524
|
+
|
|
525
|
+
Represents an Execution that was launched and could be waited on.
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
.. csv-table:: Waitable type fields
|
|
530
|
+
:header: "Field", "Type", "Label", "Description"
|
|
531
|
+
:widths: auto
|
|
532
|
+
|
|
533
|
+
"wf_exec_id", ":ref:`ref_flyteidl.core.WorkflowExecutionIdentifier`", "", ""
|
|
534
|
+
"phase", ":ref:`ref_flyteidl.core.WorkflowExecution.Phase`", "", ""
|
|
535
|
+
"workflow_id", ":ref:`ref_string`", "", ""
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
<!-- end messages -->
|
|
542
|
+
|
|
543
|
+
<!-- end enums -->
|
|
544
|
+
|
|
545
|
+
<!-- end HasExtensions -->
|
|
546
|
+
|
|
547
|
+
<!-- end services -->
|
|
548
|
+
|
|
549
|
+
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
######################
|
|
2
|
+
Protocol Documentation
|
|
3
|
+
######################
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
.. _ref_flyteidl/service/admin.proto:
|
|
9
|
+
|
|
10
|
+
flyteidl/service/admin.proto
|
|
11
|
+
==================================================================
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
<!-- end messages -->
|
|
16
|
+
|
|
17
|
+
<!-- end enums -->
|
|
18
|
+
|
|
19
|
+
<!-- end HasExtensions -->
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
.. _ref_flyteidl.service.AdminService:
|
|
24
|
+
|
|
25
|
+
AdminService
|
|
26
|
+
------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
The following defines an RPC service that is also served over HTTP via grpc-gateway.
|
|
29
|
+
Standard response codes for both are defined here: https://github.com/grpc-ecosystem/grpc-gateway/blob/master/runtime/errors.go
|
|
30
|
+
|
|
31
|
+
.. csv-table:: AdminService service methods
|
|
32
|
+
:header: "Method Name", "Request Type", "Response Type", "Description"
|
|
33
|
+
:widths: auto
|
|
34
|
+
|
|
35
|
+
"CreateTask", ":ref:`ref_flyteidl.admin.TaskCreateRequest`", ":ref:`ref_flyteidl.admin.TaskCreateResponse`", "Create and upload a :ref:`ref_flyteidl.admin.Task` definition"
|
|
36
|
+
"GetTask", ":ref:`ref_flyteidl.admin.ObjectGetRequest`", ":ref:`ref_flyteidl.admin.Task`", "Fetch a :ref:`ref_flyteidl.admin.Task` definition."
|
|
37
|
+
"ListTaskIds", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierListRequest`", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierList`", "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of task objects."
|
|
38
|
+
"ListTasks", ":ref:`ref_flyteidl.admin.ResourceListRequest`", ":ref:`ref_flyteidl.admin.TaskList`", "Fetch a list of :ref:`ref_flyteidl.admin.Task` definitions."
|
|
39
|
+
"CreateWorkflow", ":ref:`ref_flyteidl.admin.WorkflowCreateRequest`", ":ref:`ref_flyteidl.admin.WorkflowCreateResponse`", "Create and upload a :ref:`ref_flyteidl.admin.Workflow` definition"
|
|
40
|
+
"GetWorkflow", ":ref:`ref_flyteidl.admin.ObjectGetRequest`", ":ref:`ref_flyteidl.admin.Workflow`", "Fetch a :ref:`ref_flyteidl.admin.Workflow` definition."
|
|
41
|
+
"ListWorkflowIds", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierListRequest`", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierList`", "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of workflow objects."
|
|
42
|
+
"ListWorkflows", ":ref:`ref_flyteidl.admin.ResourceListRequest`", ":ref:`ref_flyteidl.admin.WorkflowList`", "Fetch a list of :ref:`ref_flyteidl.admin.Workflow` definitions."
|
|
43
|
+
"CreateLaunchPlan", ":ref:`ref_flyteidl.admin.LaunchPlanCreateRequest`", ":ref:`ref_flyteidl.admin.LaunchPlanCreateResponse`", "Create and upload a :ref:`ref_flyteidl.admin.LaunchPlan` definition"
|
|
44
|
+
"GetLaunchPlan", ":ref:`ref_flyteidl.admin.ObjectGetRequest`", ":ref:`ref_flyteidl.admin.LaunchPlan`", "Fetch a :ref:`ref_flyteidl.admin.LaunchPlan` definition."
|
|
45
|
+
"GetActiveLaunchPlan", ":ref:`ref_flyteidl.admin.ActiveLaunchPlanRequest`", ":ref:`ref_flyteidl.admin.LaunchPlan`", "Fetch the active version of a :ref:`ref_flyteidl.admin.LaunchPlan`."
|
|
46
|
+
"ListActiveLaunchPlans", ":ref:`ref_flyteidl.admin.ActiveLaunchPlanListRequest`", ":ref:`ref_flyteidl.admin.LaunchPlanList`", "List active versions of :ref:`ref_flyteidl.admin.LaunchPlan`."
|
|
47
|
+
"ListLaunchPlanIds", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierListRequest`", ":ref:`ref_flyteidl.admin.NamedEntityIdentifierList`", "Fetch a list of :ref:`ref_flyteidl.admin.NamedEntityIdentifier` of launch plan objects."
|
|
48
|
+
"ListLaunchPlans", ":ref:`ref_flyteidl.admin.ResourceListRequest`", ":ref:`ref_flyteidl.admin.LaunchPlanList`", "Fetch a list of :ref:`ref_flyteidl.admin.LaunchPlan` definitions."
|
|
49
|
+
"UpdateLaunchPlan", ":ref:`ref_flyteidl.admin.LaunchPlanUpdateRequest`", ":ref:`ref_flyteidl.admin.LaunchPlanUpdateResponse`", "Updates the status of a registered :ref:`ref_flyteidl.admin.LaunchPlan`."
|
|
50
|
+
"CreateExecution", ":ref:`ref_flyteidl.admin.ExecutionCreateRequest`", ":ref:`ref_flyteidl.admin.ExecutionCreateResponse`", "Triggers the creation of a :ref:`ref_flyteidl.admin.Execution`"
|
|
51
|
+
"RelaunchExecution", ":ref:`ref_flyteidl.admin.ExecutionRelaunchRequest`", ":ref:`ref_flyteidl.admin.ExecutionCreateResponse`", "Triggers the creation of an identical :ref:`ref_flyteidl.admin.Execution`"
|
|
52
|
+
"RecoverExecution", ":ref:`ref_flyteidl.admin.ExecutionRecoverRequest`", ":ref:`ref_flyteidl.admin.ExecutionCreateResponse`", "Recreates a previously-run workflow execution that will only start executing from the last known failure point. In Recover mode, users cannot change any input parameters or update the version of the execution. This is extremely useful to recover from system errors and byzantine faults like - Loss of K8s cluster, bugs in platform or instability, machine failures, downstream system failures (downstream services), or simply to recover executions that failed because of retry exhaustion and should complete if tried again. See :ref:`ref_flyteidl.admin.ExecutionRecoverRequest` for more details."
|
|
53
|
+
"GetExecution", ":ref:`ref_flyteidl.admin.WorkflowExecutionGetRequest`", ":ref:`ref_flyteidl.admin.Execution`", "Fetches a :ref:`ref_flyteidl.admin.Execution`."
|
|
54
|
+
"UpdateExecution", ":ref:`ref_flyteidl.admin.ExecutionUpdateRequest`", ":ref:`ref_flyteidl.admin.ExecutionUpdateResponse`", "Update execution belonging to project domain :ref:`ref_flyteidl.admin.Execution`."
|
|
55
|
+
"GetExecutionData", ":ref:`ref_flyteidl.admin.WorkflowExecutionGetDataRequest`", ":ref:`ref_flyteidl.admin.WorkflowExecutionGetDataResponse`", "Fetches input and output data for a :ref:`ref_flyteidl.admin.Execution`."
|
|
56
|
+
"ListExecutions", ":ref:`ref_flyteidl.admin.ResourceListRequest`", ":ref:`ref_flyteidl.admin.ExecutionList`", "Fetch a list of :ref:`ref_flyteidl.admin.Execution`."
|
|
57
|
+
"TerminateExecution", ":ref:`ref_flyteidl.admin.ExecutionTerminateRequest`", ":ref:`ref_flyteidl.admin.ExecutionTerminateResponse`", "Terminates an in-progress :ref:`ref_flyteidl.admin.Execution`."
|
|
58
|
+
"GetNodeExecution", ":ref:`ref_flyteidl.admin.NodeExecutionGetRequest`", ":ref:`ref_flyteidl.admin.NodeExecution`", "Fetches a :ref:`ref_flyteidl.admin.NodeExecution`."
|
|
59
|
+
"ListNodeExecutions", ":ref:`ref_flyteidl.admin.NodeExecutionListRequest`", ":ref:`ref_flyteidl.admin.NodeExecutionList`", "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution`."
|
|
60
|
+
"ListNodeExecutionsForTask", ":ref:`ref_flyteidl.admin.NodeExecutionForTaskListRequest`", ":ref:`ref_flyteidl.admin.NodeExecutionList`", "Fetch a list of :ref:`ref_flyteidl.admin.NodeExecution` launched by the reference :ref:`ref_flyteidl.admin.TaskExecution`."
|
|
61
|
+
"GetNodeExecutionData", ":ref:`ref_flyteidl.admin.NodeExecutionGetDataRequest`", ":ref:`ref_flyteidl.admin.NodeExecutionGetDataResponse`", "Fetches input and output data for a :ref:`ref_flyteidl.admin.NodeExecution`."
|
|
62
|
+
"RegisterProject", ":ref:`ref_flyteidl.admin.ProjectRegisterRequest`", ":ref:`ref_flyteidl.admin.ProjectRegisterResponse`", "Registers a :ref:`ref_flyteidl.admin.Project` with the Flyte deployment."
|
|
63
|
+
"UpdateProject", ":ref:`ref_flyteidl.admin.Project`", ":ref:`ref_flyteidl.admin.ProjectUpdateResponse`", "Updates an existing :ref:`ref_flyteidl.admin.Project` flyteidl.admin.Project should be passed but the domains property should be empty; it will be ignored in the handler as domains cannot be updated via this API."
|
|
64
|
+
"ListProjects", ":ref:`ref_flyteidl.admin.ProjectListRequest`", ":ref:`ref_flyteidl.admin.Projects`", "Fetches a list of :ref:`ref_flyteidl.admin.Project`"
|
|
65
|
+
"CreateWorkflowEvent", ":ref:`ref_flyteidl.admin.WorkflowExecutionEventRequest`", ":ref:`ref_flyteidl.admin.WorkflowExecutionEventResponse`", "Indicates a :ref:`ref_flyteidl.event.WorkflowExecutionEvent` has occurred."
|
|
66
|
+
"CreateNodeEvent", ":ref:`ref_flyteidl.admin.NodeExecutionEventRequest`", ":ref:`ref_flyteidl.admin.NodeExecutionEventResponse`", "Indicates a :ref:`ref_flyteidl.event.NodeExecutionEvent` has occurred."
|
|
67
|
+
"CreateTaskEvent", ":ref:`ref_flyteidl.admin.TaskExecutionEventRequest`", ":ref:`ref_flyteidl.admin.TaskExecutionEventResponse`", "Indicates a :ref:`ref_flyteidl.event.TaskExecutionEvent` has occurred."
|
|
68
|
+
"GetTaskExecution", ":ref:`ref_flyteidl.admin.TaskExecutionGetRequest`", ":ref:`ref_flyteidl.admin.TaskExecution`", "Fetches a :ref:`ref_flyteidl.admin.TaskExecution`."
|
|
69
|
+
"ListTaskExecutions", ":ref:`ref_flyteidl.admin.TaskExecutionListRequest`", ":ref:`ref_flyteidl.admin.TaskExecutionList`", "Fetches a list of :ref:`ref_flyteidl.admin.TaskExecution`."
|
|
70
|
+
"GetTaskExecutionData", ":ref:`ref_flyteidl.admin.TaskExecutionGetDataRequest`", ":ref:`ref_flyteidl.admin.TaskExecutionGetDataResponse`", "Fetches input and output data for a :ref:`ref_flyteidl.admin.TaskExecution`."
|
|
71
|
+
"UpdateProjectDomainAttributes", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesUpdateRequest`", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesUpdateResponse`", "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain."
|
|
72
|
+
"GetProjectDomainAttributes", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesGetRequest`", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesGetResponse`", "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain."
|
|
73
|
+
"DeleteProjectDomainAttributes", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesDeleteRequest`", ":ref:`ref_flyteidl.admin.ProjectDomainAttributesDeleteResponse`", "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project and domain."
|
|
74
|
+
"UpdateWorkflowAttributes", ":ref:`ref_flyteidl.admin.WorkflowAttributesUpdateRequest`", ":ref:`ref_flyteidl.admin.WorkflowAttributesUpdateResponse`", "Creates or updates custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow."
|
|
75
|
+
"GetWorkflowAttributes", ":ref:`ref_flyteidl.admin.WorkflowAttributesGetRequest`", ":ref:`ref_flyteidl.admin.WorkflowAttributesGetResponse`", "Fetches custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow."
|
|
76
|
+
"DeleteWorkflowAttributes", ":ref:`ref_flyteidl.admin.WorkflowAttributesDeleteRequest`", ":ref:`ref_flyteidl.admin.WorkflowAttributesDeleteResponse`", "Deletes custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a project, domain and workflow."
|
|
77
|
+
"ListMatchableAttributes", ":ref:`ref_flyteidl.admin.ListMatchableAttributesRequest`", ":ref:`ref_flyteidl.admin.ListMatchableAttributesResponse`", "Lists custom :ref:`ref_flyteidl.admin.MatchableAttributesConfiguration` for a specific resource type."
|
|
78
|
+
"ListNamedEntities", ":ref:`ref_flyteidl.admin.NamedEntityListRequest`", ":ref:`ref_flyteidl.admin.NamedEntityList`", "Returns a list of :ref:`ref_flyteidl.admin.NamedEntity` objects."
|
|
79
|
+
"GetNamedEntity", ":ref:`ref_flyteidl.admin.NamedEntityGetRequest`", ":ref:`ref_flyteidl.admin.NamedEntity`", "Returns a :ref:`ref_flyteidl.admin.NamedEntity` object."
|
|
80
|
+
"UpdateNamedEntity", ":ref:`ref_flyteidl.admin.NamedEntityUpdateRequest`", ":ref:`ref_flyteidl.admin.NamedEntityUpdateResponse`", "Updates a :ref:`ref_flyteidl.admin.NamedEntity` object."
|
|
81
|
+
"GetVersion", ":ref:`ref_flyteidl.admin.GetVersionRequest`", ":ref:`ref_flyteidl.admin.GetVersionResponse`", ""
|
|
82
|
+
<!-- end services -->
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
.. _ref_flyteidl/service/auth.proto:
|
|
88
|
+
|
|
89
|
+
flyteidl/service/auth.proto
|
|
90
|
+
==================================================================
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
.. _ref_flyteidl.service.OAuth2MetadataRequest:
|
|
97
|
+
|
|
98
|
+
OAuth2MetadataRequest
|
|
99
|
+
------------------------------------------------------------------
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
.. _ref_flyteidl.service.OAuth2MetadataResponse:
|
|
111
|
+
|
|
112
|
+
OAuth2MetadataResponse
|
|
113
|
+
------------------------------------------------------------------
|
|
114
|
+
|
|
115
|
+
OAuth2MetadataResponse defines an RFC-Compliant response for /.well-known/oauth-authorization-server metadata
|
|
116
|
+
as defined in https://tools.ietf.org/html/rfc8414
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
.. csv-table:: OAuth2MetadataResponse type fields
|
|
121
|
+
:header: "Field", "Type", "Label", "Description"
|
|
122
|
+
:widths: auto
|
|
123
|
+
|
|
124
|
+
"issuer", ":ref:`ref_string`", "", "Defines the issuer string in all JWT tokens this server issues. The issuer can be admin itself or an external issuer."
|
|
125
|
+
"authorization_endpoint", ":ref:`ref_string`", "", "URL of the authorization server's authorization endpoint [RFC6749]. This is REQUIRED unless no grant types are supported that use the authorization endpoint."
|
|
126
|
+
"token_endpoint", ":ref:`ref_string`", "", "URL of the authorization server's token endpoint [RFC6749]."
|
|
127
|
+
"response_types_supported", ":ref:`ref_string`", "repeated", "Array containing a list of the OAuth 2.0 response_type values that this authorization server supports."
|
|
128
|
+
"scopes_supported", ":ref:`ref_string`", "repeated", "JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this authorization server supports."
|
|
129
|
+
"token_endpoint_auth_methods_supported", ":ref:`ref_string`", "repeated", "JSON array containing a list of client authentication methods supported by this token endpoint."
|
|
130
|
+
"jwks_uri", ":ref:`ref_string`", "", "URL of the authorization server's JWK Set [JWK] document. The referenced document contains the signing key(s) the client uses to validate signatures from the authorization server."
|
|
131
|
+
"code_challenge_methods_supported", ":ref:`ref_string`", "repeated", "JSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server."
|
|
132
|
+
"grant_types_supported", ":ref:`ref_string`", "repeated", "JSON array containing a list of the OAuth 2.0 grant type values that this authorization server supports."
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
.. _ref_flyteidl.service.PublicClientAuthConfigRequest:
|
|
141
|
+
|
|
142
|
+
PublicClientAuthConfigRequest
|
|
143
|
+
------------------------------------------------------------------
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
.. _ref_flyteidl.service.PublicClientAuthConfigResponse:
|
|
155
|
+
|
|
156
|
+
PublicClientAuthConfigResponse
|
|
157
|
+
------------------------------------------------------------------
|
|
158
|
+
|
|
159
|
+
FlyteClientResponse encapsulates public information that flyte clients (CLIs... etc.) can use to authenticate users.
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
.. csv-table:: PublicClientAuthConfigResponse type fields
|
|
164
|
+
:header: "Field", "Type", "Label", "Description"
|
|
165
|
+
:widths: auto
|
|
166
|
+
|
|
167
|
+
"client_id", ":ref:`ref_string`", "", "client_id to use when initiating OAuth2 authorization requests."
|
|
168
|
+
"redirect_uri", ":ref:`ref_string`", "", "redirect uri to use when initiating OAuth2 authorization requests."
|
|
169
|
+
"scopes", ":ref:`ref_string`", "repeated", "scopes to request when initiating OAuth2 authorization requests."
|
|
170
|
+
"authorization_metadata_key", ":ref:`ref_string`", "", "Authorization Header to use when passing Access Tokens to the server. If not provided, the client should use the default http `Authorization` header."
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
<!-- end messages -->
|
|
177
|
+
|
|
178
|
+
<!-- end enums -->
|
|
179
|
+
|
|
180
|
+
<!-- end HasExtensions -->
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
.. _ref_flyteidl.service.AuthMetadataService:
|
|
185
|
+
|
|
186
|
+
AuthMetadataService
|
|
187
|
+
------------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
The following defines an RPC service that is also served over HTTP via grpc-gateway.
|
|
190
|
+
Standard response codes for both are defined here: https://github.com/grpc-ecosystem/grpc-gateway/blob/master/runtime/errors.go
|
|
191
|
+
RPCs defined in this service must be anonymously accessible.
|
|
192
|
+
|
|
193
|
+
.. csv-table:: AuthMetadataService service methods
|
|
194
|
+
:header: "Method Name", "Request Type", "Response Type", "Description"
|
|
195
|
+
:widths: auto
|
|
196
|
+
|
|
197
|
+
"GetOAuth2Metadata", ":ref:`ref_flyteidl.service.OAuth2MetadataRequest`", ":ref:`ref_flyteidl.service.OAuth2MetadataResponse`", "Anonymously accessible. Retrieves local or external oauth authorization server metadata."
|
|
198
|
+
"GetPublicClientConfig", ":ref:`ref_flyteidl.service.PublicClientAuthConfigRequest`", ":ref:`ref_flyteidl.service.PublicClientAuthConfigResponse`", "Anonymously accessible. Retrieves the client information clients should use when initiating OAuth2 authorization requests."
|
|
199
|
+
<!-- end services -->
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
.. _ref_flyteidl/service/dataproxy.proto:
|
|
205
|
+
|
|
206
|
+
flyteidl/service/dataproxy.proto
|
|
207
|
+
==================================================================
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
.. _ref_flyteidl.service.CreateUploadLocationRequest:
|
|
214
|
+
|
|
215
|
+
CreateUploadLocationRequest
|
|
216
|
+
------------------------------------------------------------------
|
|
217
|
+
|
|
218
|
+
CreateUploadLocationRequest specified request for the CreateUploadLocation API.
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
.. csv-table:: CreateUploadLocationRequest type fields
|
|
223
|
+
:header: "Field", "Type", "Label", "Description"
|
|
224
|
+
:widths: auto
|
|
225
|
+
|
|
226
|
+
"project", ":ref:`ref_string`", "", "Project to create the upload location for +required"
|
|
227
|
+
"domain", ":ref:`ref_string`", "", "Domain to create the upload location for. +required"
|
|
228
|
+
"suffix", ":ref:`ref_string`", "", "Suffix specifies a desired suffix for the generated location. E.g. `/file.py` or `pre/fix/file.zip`. +optional. By default, the service will generate a random file name."
|
|
229
|
+
"expires_in", ":ref:`ref_google.protobuf.Duration`", "", "ExpiresIn defines a requested expiration duration for the generated url. The request will be rejected if this exceeds the platform allowed max. +optional. The default value comes from a global config."
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
.. _ref_flyteidl.service.CreateUploadLocationResponse:
|
|
238
|
+
|
|
239
|
+
CreateUploadLocationResponse
|
|
240
|
+
------------------------------------------------------------------
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
.. csv-table:: CreateUploadLocationResponse type fields
|
|
247
|
+
:header: "Field", "Type", "Label", "Description"
|
|
248
|
+
:widths: auto
|
|
249
|
+
|
|
250
|
+
"signed_url", ":ref:`ref_string`", "", "SignedUrl specifies the url to use to upload content to (e.g. https://my-bucket.s3.amazonaws.com/randomstring/suffix.tar?X-...)"
|
|
251
|
+
"native_url", ":ref:`ref_string`", "", "NativeUrl specifies the url in the format of the configured storage provider (e.g. s3://my-bucket/randomstring/suffix.tar)"
|
|
252
|
+
"expires_at", ":ref:`ref_google.protobuf.Timestamp`", "", "ExpiresAt defines when will the signed URL expires."
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
<!-- end messages -->
|
|
259
|
+
|
|
260
|
+
<!-- end enums -->
|
|
261
|
+
|
|
262
|
+
<!-- end HasExtensions -->
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
.. _ref_flyteidl.service.DataProxyService:
|
|
267
|
+
|
|
268
|
+
DataProxyService
|
|
269
|
+
------------------------------------------------------------------
|
|
270
|
+
|
|
271
|
+
DataProxyService defines an RPC Service that allows access to user-data in a controlled manner.
|
|
272
|
+
|
|
273
|
+
.. csv-table:: DataProxyService service methods
|
|
274
|
+
:header: "Method Name", "Request Type", "Response Type", "Description"
|
|
275
|
+
:widths: auto
|
|
276
|
+
|
|
277
|
+
"CreateUploadLocation", ":ref:`ref_flyteidl.service.CreateUploadLocationRequest`", ":ref:`ref_flyteidl.service.CreateUploadLocationResponse`", "CreateUploadLocation creates a signed url to upload artifacts to for a given project/domain."
|
|
278
|
+
<!-- end services -->
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
.. _ref_flyteidl/service/identity.proto:
|
|
284
|
+
|
|
285
|
+
flyteidl/service/identity.proto
|
|
286
|
+
==================================================================
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
.. _ref_flyteidl.service.UserInfoRequest:
|
|
293
|
+
|
|
294
|
+
UserInfoRequest
|
|
295
|
+
------------------------------------------------------------------
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
.. _ref_flyteidl.service.UserInfoResponse:
|
|
307
|
+
|
|
308
|
+
UserInfoResponse
|
|
309
|
+
------------------------------------------------------------------
|
|
310
|
+
|
|
311
|
+
See the OpenID Connect spec at https://openid.net/specs/openid-connect-core-1_0.html#UserInfoResponse for more information.
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
.. csv-table:: UserInfoResponse type fields
|
|
316
|
+
:header: "Field", "Type", "Label", "Description"
|
|
317
|
+
:widths: auto
|
|
318
|
+
|
|
319
|
+
"subject", ":ref:`ref_string`", "", "Locally unique and never reassigned identifier within the Issuer for the End-User, which is intended to be consumed by the Client."
|
|
320
|
+
"name", ":ref:`ref_string`", "", "Full name"
|
|
321
|
+
"preferred_username", ":ref:`ref_string`", "", "Shorthand name by which the End-User wishes to be referred to"
|
|
322
|
+
"given_name", ":ref:`ref_string`", "", "Given name(s) or first name(s)"
|
|
323
|
+
"family_name", ":ref:`ref_string`", "", "Surname(s) or last name(s)"
|
|
324
|
+
"email", ":ref:`ref_string`", "", "Preferred e-mail address"
|
|
325
|
+
"picture", ":ref:`ref_string`", "", "Profile picture URL"
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
<!-- end messages -->
|
|
332
|
+
|
|
333
|
+
<!-- end enums -->
|
|
334
|
+
|
|
335
|
+
<!-- end HasExtensions -->
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
.. _ref_flyteidl.service.IdentityService:
|
|
340
|
+
|
|
341
|
+
IdentityService
|
|
342
|
+
------------------------------------------------------------------
|
|
343
|
+
|
|
344
|
+
IdentityService defines an RPC Service that interacts with user/app identities.
|
|
345
|
+
|
|
346
|
+
.. csv-table:: IdentityService service methods
|
|
347
|
+
:header: "Method Name", "Request Type", "Response Type", "Description"
|
|
348
|
+
:widths: auto
|
|
349
|
+
|
|
350
|
+
"UserInfo", ":ref:`ref_flyteidl.service.UserInfoRequest`", ":ref:`ref_flyteidl.service.UserInfoResponse`", "Retrieves user information about the currently logged in user."
|
|
351
|
+
<!-- end services -->
|
|
352
|
+
|
|
353
|
+
|
|
@@ -39,9 +39,9 @@ message CreateUploadLocationRequest {
|
|
|
39
39
|
google.protobuf.Duration expires_in = 4;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
//
|
|
43
|
-
service
|
|
44
|
-
//
|
|
42
|
+
// DataProxyService defines an RPC Service that allows access to user-data in a controlled manner.
|
|
43
|
+
service DataProxyService {
|
|
44
|
+
// CreateUploadLocation creates a signed url to upload artifacts to for a given project/domain.
|
|
45
45
|
rpc CreateUploadLocation (CreateUploadLocationRequest) returns (CreateUploadLocationResponse) {
|
|
46
46
|
option (google.api.http) = {
|
|
47
47
|
post: "/api/v1/dataproxy/artifact_urn"
|