crossplane-function-sdk-python 0.7.0__tar.gz → 0.9.0__tar.gz
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.
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/.github/workflows/ci.yml +1 -1
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/.gitignore +3 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/PKG-INFO +3 -3
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/__version__.py +1 -1
- crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1/run_function.proto +370 -0
- crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1/run_function_pb2.py +115 -0
- {crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1beta1 → crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1}/run_function_pb2.pyi +34 -11
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/proto/v1/run_function_pb2_grpc.py +5 -5
- crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1beta1/run_function.proto +372 -0
- crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1beta1/run_function_pb2.py +115 -0
- {crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1 → crossplane_function_sdk_python-0.9.0/crossplane/function/proto/v1beta1}/run_function_pb2.pyi +34 -11
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/proto/v1beta1/run_function_pb2_grpc.py +5 -5
- crossplane_function_sdk_python-0.9.0/crossplane/function/request.py +118 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/resource.py +0 -21
- crossplane_function_sdk_python-0.9.0/crossplane/function/response.py +151 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/pyproject.toml +6 -6
- crossplane_function_sdk_python-0.9.0/tests/test_request.py +269 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/test_resource.py +0 -43
- crossplane_function_sdk_python-0.9.0/tests/test_response.py +220 -0
- crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1/run_function.proto +0 -326
- crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1/run_function_pb2.py +0 -103
- crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1beta1/run_function.proto +0 -328
- crossplane_function_sdk_python-0.7.0/crossplane/function/proto/v1beta1/run_function_pb2.py +0 -103
- crossplane_function_sdk_python-0.7.0/crossplane/function/response.py +0 -79
- crossplane_function_sdk_python-0.7.0/tests/test_response.py +0 -75
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/CODEOWNERS +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/LICENSE +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/OWNERS.md +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/README.md +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/logging.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/py.typed +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/crossplane/function/runtime.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/renovate.json +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/test_runtime.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/testdata/models/io/k8s/apimachinery/pkg/apis/__init__.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/testdata/models/io/k8s/apimachinery/pkg/apis/meta/__init__.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/testdata/models/io/k8s/apimachinery/pkg/apis/meta/v1.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/testdata/models/io/upbound/aws/s3/__init__.py +0 -0
- {crossplane_function_sdk_python-0.7.0 → crossplane_function_sdk_python-0.9.0}/tests/testdata/models/io/upbound/aws/s3/v1beta2.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crossplane-function-sdk-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: The Python SDK for Crossplane composition functions
|
|
5
5
|
Project-URL: Documentation, https://github.com/crossplane/function-sdk-python#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/crossplane/function-sdk-python/issues
|
|
@@ -14,8 +14,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
14
14
|
Classifier: Typing :: Typed
|
|
15
15
|
Requires-Python: >=3.11
|
|
16
16
|
Requires-Dist: grpcio-reflection==1.*
|
|
17
|
-
Requires-Dist: grpcio==1.
|
|
18
|
-
Requires-Dist: protobuf==
|
|
17
|
+
Requires-Dist: grpcio==1.74.0
|
|
18
|
+
Requires-Dist: protobuf==6.31.1
|
|
19
19
|
Requires-Dist: pydantic==2.*
|
|
20
20
|
Requires-Dist: structlog==25.*
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2022 The Crossplane Authors.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
syntax = "proto3";
|
|
18
|
+
|
|
19
|
+
// This package defines the RPC for both composition and operation functions.
|
|
20
|
+
// Only composition functions are part of the 'apiextensions' API group. In
|
|
21
|
+
// retrospect this package should've been crossplane.proto.fn.v1, but it's too
|
|
22
|
+
// late to change it now.
|
|
23
|
+
|
|
24
|
+
//buf:lint:ignore PACKAGE_DIRECTORY_MATCH
|
|
25
|
+
package apiextensions.fn.proto.v1;
|
|
26
|
+
|
|
27
|
+
import "google/protobuf/duration.proto";
|
|
28
|
+
import "google/protobuf/struct.proto";
|
|
29
|
+
|
|
30
|
+
option go_package = "github.com/crossplane/crossplane/v2/proto/fn/v1";
|
|
31
|
+
|
|
32
|
+
// A FunctionRunnerService is a function.
|
|
33
|
+
service FunctionRunnerService {
|
|
34
|
+
// RunFunction runs the function.
|
|
35
|
+
rpc RunFunction(RunFunctionRequest) returns (RunFunctionResponse) {}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// A RunFunctionRequest requests that the function be run.
|
|
39
|
+
message RunFunctionRequest {
|
|
40
|
+
// Metadata pertaining to this request.
|
|
41
|
+
RequestMeta meta = 1;
|
|
42
|
+
|
|
43
|
+
// The observed state prior to invocation of a function pipeline. State passed
|
|
44
|
+
// to each function is fresh as of the time the pipeline was invoked, not as
|
|
45
|
+
// of the time each function was invoked.
|
|
46
|
+
State observed = 2;
|
|
47
|
+
|
|
48
|
+
// Desired state according to a function pipeline. The state passed to a
|
|
49
|
+
// particular function may have been accumulated by previous functions in the
|
|
50
|
+
// pipeline.
|
|
51
|
+
//
|
|
52
|
+
// Note that the desired state must be a partial object with only the fields
|
|
53
|
+
// that this function (and its predecessors in the pipeline) wants to have set
|
|
54
|
+
// in the object. Copying a non-partial observed state to desired is most
|
|
55
|
+
// likely not what you want to do. Leaving out fields that had been returned
|
|
56
|
+
// as desired before will result in them being deleted from the objects in the
|
|
57
|
+
// cluster.
|
|
58
|
+
State desired = 3;
|
|
59
|
+
|
|
60
|
+
// Optional input specific to this function invocation. A JSON representation
|
|
61
|
+
// of the 'input' block of the relevant entry in a function pipeline.
|
|
62
|
+
optional google.protobuf.Struct input = 4;
|
|
63
|
+
|
|
64
|
+
// Optional context. Crossplane may pass arbitrary contextual information to a
|
|
65
|
+
// function. A function may also return context in its RunFunctionResponse,
|
|
66
|
+
// and that context will be passed to subsequent functions. Crossplane
|
|
67
|
+
// discards all context returned by the last function in the pipeline.
|
|
68
|
+
optional google.protobuf.Struct context = 5;
|
|
69
|
+
|
|
70
|
+
// Optional resources that the function specified in its requirements. Note
|
|
71
|
+
// that resources is a map to Resources, plural. The map key corresponds to
|
|
72
|
+
// the key in a RunFunctionResponse's requirements.extra_resources field. If a
|
|
73
|
+
// function requested extra resources that did not exist, Crossplane sets
|
|
74
|
+
// the map key to an empty Resources message to indicate that it attempted to
|
|
75
|
+
// satisfy the request. This field is only populated when the function uses
|
|
76
|
+
// extra_resources in its requirements.
|
|
77
|
+
//
|
|
78
|
+
// Deprecated: Use required_resources instead.
|
|
79
|
+
map<string, Resources> extra_resources = 6 [deprecated = true];
|
|
80
|
+
|
|
81
|
+
// Optional credentials that this function may use to communicate with an
|
|
82
|
+
// external system.
|
|
83
|
+
map<string, Credentials> credentials = 7;
|
|
84
|
+
|
|
85
|
+
// Optional resources that the function specified in its requirements. Note
|
|
86
|
+
// that resources is a map to Resources, plural. The map key corresponds to
|
|
87
|
+
// the key in a RunFunctionResponse's requirements.resources field. If a
|
|
88
|
+
// function requested required resources that did not exist, Crossplane sets
|
|
89
|
+
// the map key to an empty Resources message to indicate that it attempted to
|
|
90
|
+
// satisfy the request. This field is only populated when the function uses
|
|
91
|
+
// resources in its requirements.
|
|
92
|
+
map<string, Resources> required_resources = 8;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Credentials that a function may use to communicate with an external system.
|
|
96
|
+
message Credentials {
|
|
97
|
+
// Source of the credentials.
|
|
98
|
+
oneof source {
|
|
99
|
+
// Credential data loaded by Crossplane, for example from a Secret.
|
|
100
|
+
CredentialData credential_data = 1;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// CredentialData loaded by Crossplane, for example from a Secret.
|
|
105
|
+
message CredentialData {
|
|
106
|
+
map<string, bytes> data = 1;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Resources represents the state of several Crossplane resources.
|
|
110
|
+
message Resources {
|
|
111
|
+
repeated Resource items = 1;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// A RunFunctionResponse contains the result of a function run.
|
|
115
|
+
message RunFunctionResponse {
|
|
116
|
+
// Metadata pertaining to this response.
|
|
117
|
+
ResponseMeta meta = 1;
|
|
118
|
+
|
|
119
|
+
// Desired state according to a function pipeline. functions may add desired
|
|
120
|
+
// state, and may mutate or delete any part of the desired state they are
|
|
121
|
+
// concerned with. A function must pass through any part of the desired state
|
|
122
|
+
// that it is not concerned with.
|
|
123
|
+
//
|
|
124
|
+
// Note that the desired state must be a partial object with only the fields
|
|
125
|
+
// that this function (and its predecessors in the pipeline) wants to have set
|
|
126
|
+
// in the object. Copying a non-partial observed state to desired is most
|
|
127
|
+
// likely not what you want to do. Leaving out fields that had been returned
|
|
128
|
+
// as desired before will result in them being deleted from the objects in the
|
|
129
|
+
// cluster.
|
|
130
|
+
State desired = 2;
|
|
131
|
+
|
|
132
|
+
// Results of the function run. Results are used for observability purposes.
|
|
133
|
+
repeated Result results = 3;
|
|
134
|
+
|
|
135
|
+
// Optional context to be passed to the next function in the pipeline as part
|
|
136
|
+
// of the RunFunctionRequest. Dropped on the last function in the pipeline.
|
|
137
|
+
optional google.protobuf.Struct context = 4;
|
|
138
|
+
|
|
139
|
+
// Requirements that must be satisfied for this function to run successfully.
|
|
140
|
+
Requirements requirements = 5;
|
|
141
|
+
|
|
142
|
+
// Status conditions to be applied to the XR. Conditions may also optionally
|
|
143
|
+
// be applied to the XR's associated claim.
|
|
144
|
+
//
|
|
145
|
+
// Conditions are only used for composition. They're ignored by Operations.
|
|
146
|
+
repeated Condition conditions = 6;
|
|
147
|
+
|
|
148
|
+
// Optional output specific to this function invocation.
|
|
149
|
+
//
|
|
150
|
+
// Only Operations use function output. XRs will discard any function output.
|
|
151
|
+
optional google.protobuf.Struct output = 7;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// RequestMeta contains metadata pertaining to a RunFunctionRequest.
|
|
155
|
+
message RequestMeta {
|
|
156
|
+
// An opaque string identifying a request. Requests with identical tags will
|
|
157
|
+
// be otherwise identical.
|
|
158
|
+
string tag = 1;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Requirements that must be satisfied for a function to run successfully.
|
|
162
|
+
message Requirements {
|
|
163
|
+
// Resources that this function requires. The map key uniquely identifies the
|
|
164
|
+
// group of resources.
|
|
165
|
+
//
|
|
166
|
+
// Deprecated: Use resources instead.
|
|
167
|
+
map<string, ResourceSelector> extra_resources = 1 [deprecated = true];
|
|
168
|
+
|
|
169
|
+
// Resources that this function requires. The map key uniquely identifies the
|
|
170
|
+
// group of resources.
|
|
171
|
+
map<string, ResourceSelector> resources = 2;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// ResourceSelector selects a group of resources, either by name or by label.
|
|
175
|
+
message ResourceSelector {
|
|
176
|
+
// API version of resources to select.
|
|
177
|
+
string api_version = 1;
|
|
178
|
+
|
|
179
|
+
// Kind of resources to select.
|
|
180
|
+
string kind = 2;
|
|
181
|
+
|
|
182
|
+
// Resources to match.
|
|
183
|
+
oneof match {
|
|
184
|
+
// Match the resource with this name.
|
|
185
|
+
string match_name = 3;
|
|
186
|
+
|
|
187
|
+
// Match all resources with these labels.
|
|
188
|
+
MatchLabels match_labels = 4;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Match resources in this namespace. Omit namespace to match cluster scoped
|
|
192
|
+
// resources, or to match namespaced resources by labels across all
|
|
193
|
+
// namespaces.
|
|
194
|
+
optional string namespace = 5;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// MatchLabels defines a set of labels to match resources against.
|
|
198
|
+
message MatchLabels {
|
|
199
|
+
map<string, string> labels = 1;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// ResponseMeta contains metadata pertaining to a RunFunctionResponse.
|
|
203
|
+
message ResponseMeta {
|
|
204
|
+
// An opaque string identifying the content of the request. Must match the
|
|
205
|
+
// meta.tag of the corresponding RunFunctionRequest.
|
|
206
|
+
string tag = 1;
|
|
207
|
+
|
|
208
|
+
// Time-to-live of this response. Crossplane will call the function again when
|
|
209
|
+
// the TTL expires. Crossplane may cache the response to avoid calling the
|
|
210
|
+
// function again until the TTL expires.
|
|
211
|
+
optional google.protobuf.Duration ttl = 2;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// State of the XR (XR) and any resources.
|
|
215
|
+
message State {
|
|
216
|
+
// The state of the XR (XR).
|
|
217
|
+
Resource composite = 1;
|
|
218
|
+
|
|
219
|
+
// The state of any other resources. In composition functions these are the
|
|
220
|
+
// composed resources. In operation functions they're arbitrary resources that
|
|
221
|
+
// the operation wants to create or update.
|
|
222
|
+
map<string, Resource> resources = 2;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// A Resource represents the state of a Kubernetes resource.
|
|
226
|
+
message Resource {
|
|
227
|
+
// The JSON representation of the resource.
|
|
228
|
+
//
|
|
229
|
+
// * Crossplane will set this field in a RunFunctionRequest to the entire
|
|
230
|
+
// observed state of a resource - including its metadata, spec, and status.
|
|
231
|
+
//
|
|
232
|
+
// * A function should set this field in a RunFunctionRequest to communicate
|
|
233
|
+
// the desired state of the resource.
|
|
234
|
+
//
|
|
235
|
+
// * A function may only specify the desired status of a XR - not its metadata
|
|
236
|
+
// or spec. A function should not return desired metadata or spec for a XR.
|
|
237
|
+
// This will be ignored.
|
|
238
|
+
//
|
|
239
|
+
// * A function may not specify the desired status of any other resource -
|
|
240
|
+
// e.g. composed resources. It may only specify their metadata and spec.
|
|
241
|
+
// Status will be ignored.
|
|
242
|
+
google.protobuf.Struct resource = 1;
|
|
243
|
+
|
|
244
|
+
// The resource's connection details.
|
|
245
|
+
//
|
|
246
|
+
// * Crossplane will set this field in a RunFunctionRequest to communicate the
|
|
247
|
+
// the observed connection details of a composite or composed resource.
|
|
248
|
+
//
|
|
249
|
+
// * A function should set this field in a RunFunctionResponse to indicate the
|
|
250
|
+
// desired connection details of the XR.
|
|
251
|
+
//
|
|
252
|
+
// * A function should not set this field in a RunFunctionResponse to indicate
|
|
253
|
+
// the desired connection details of a composed resource. This will be
|
|
254
|
+
// ignored.
|
|
255
|
+
//
|
|
256
|
+
// Connection details are only used for composition. They're ignored by
|
|
257
|
+
// Operations.
|
|
258
|
+
map<string, bytes> connection_details = 2;
|
|
259
|
+
|
|
260
|
+
// Ready indicates whether the resource should be considered ready.
|
|
261
|
+
//
|
|
262
|
+
// * Crossplane will never set this field in a RunFunctionRequest.
|
|
263
|
+
//
|
|
264
|
+
// * A function should set this field to READY_TRUE in a RunFunctionResponse
|
|
265
|
+
// to indicate that a desired resource is ready.
|
|
266
|
+
//
|
|
267
|
+
// * A function should set this field to READY_TRUE in a RunFunctionResponse
|
|
268
|
+
// to indicate that a desired XR is ready. This overwrites the standard
|
|
269
|
+
// readiness detection that determines the ready state of the composite by the
|
|
270
|
+
// ready state of the the composed resources.
|
|
271
|
+
//
|
|
272
|
+
// Ready is only used for composition. It's ignored by Operations.
|
|
273
|
+
Ready ready = 3;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
// Ready indicates whether a resource should be considered ready.
|
|
277
|
+
enum Ready {
|
|
278
|
+
READY_UNSPECIFIED = 0;
|
|
279
|
+
|
|
280
|
+
// True means the resource has been observed to be ready.
|
|
281
|
+
READY_TRUE = 1;
|
|
282
|
+
|
|
283
|
+
// False means the resource has not been observed to be ready.
|
|
284
|
+
READY_FALSE = 2;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// A Result of running a function.
|
|
288
|
+
message Result {
|
|
289
|
+
// Severity of this result.
|
|
290
|
+
Severity severity = 1;
|
|
291
|
+
|
|
292
|
+
// Human-readable details about the result.
|
|
293
|
+
string message = 2;
|
|
294
|
+
|
|
295
|
+
// Optional PascalCase, machine-readable reason for this result. If omitted,
|
|
296
|
+
// the value will be ComposeResources.
|
|
297
|
+
optional string reason = 3;
|
|
298
|
+
|
|
299
|
+
// The resources this result targets.
|
|
300
|
+
optional Target target = 4;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Severity of function results.
|
|
304
|
+
enum Severity {
|
|
305
|
+
SEVERITY_UNSPECIFIED = 0;
|
|
306
|
+
|
|
307
|
+
// Fatal results are fatal; subsequent functions may run, but the function
|
|
308
|
+
// pipeline run will be considered a failure and the first fatal result will
|
|
309
|
+
// be returned as an error.
|
|
310
|
+
SEVERITY_FATAL = 1;
|
|
311
|
+
|
|
312
|
+
// Warning results are non-fatal; the entire pipeline will run to completion
|
|
313
|
+
// but warning events and debug logs associated with the XR or Operation will
|
|
314
|
+
// be emitted.
|
|
315
|
+
SEVERITY_WARNING = 2;
|
|
316
|
+
|
|
317
|
+
// Normal results are emitted as normal events and debug logs associated with
|
|
318
|
+
// the XR or operation.
|
|
319
|
+
SEVERITY_NORMAL = 3;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// Target of function results and conditions.
|
|
323
|
+
enum Target {
|
|
324
|
+
// If the target is unspecified, the result targets the XR.
|
|
325
|
+
TARGET_UNSPECIFIED = 0;
|
|
326
|
+
|
|
327
|
+
// Target the XR. Results that target the XR should include detailed, advanced
|
|
328
|
+
// information.
|
|
329
|
+
TARGET_COMPOSITE = 1;
|
|
330
|
+
|
|
331
|
+
// Target the XR and the claim. Results that target the XR and the claim
|
|
332
|
+
// should include only end-user friendly information.
|
|
333
|
+
TARGET_COMPOSITE_AND_CLAIM = 2;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// Status condition to be applied to the XR. Condition may also optionally be
|
|
337
|
+
// applied to the XR's associated claim. For detailed information on proper
|
|
338
|
+
// usage of status conditions, please see
|
|
339
|
+
// https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties.
|
|
340
|
+
message Condition {
|
|
341
|
+
// Type of condition in PascalCase.
|
|
342
|
+
string type = 1;
|
|
343
|
+
|
|
344
|
+
// Status of the condition.
|
|
345
|
+
Status status = 2;
|
|
346
|
+
|
|
347
|
+
// Reason contains a programmatic identifier indicating the reason for the
|
|
348
|
+
// condition's last transition. Producers of specific condition types may
|
|
349
|
+
// define expected values and meanings for this field, and whether the values
|
|
350
|
+
// are considered a guaranteed API. The value should be a PascalCase string.
|
|
351
|
+
// This field may not be empty.
|
|
352
|
+
string reason = 3;
|
|
353
|
+
|
|
354
|
+
// Message is a human readable message indicating details about the
|
|
355
|
+
// transition. This may be an empty string.
|
|
356
|
+
optional string message = 4;
|
|
357
|
+
|
|
358
|
+
// The resources this condition targets.
|
|
359
|
+
optional Target target = 5;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
enum Status {
|
|
363
|
+
STATUS_CONDITION_UNSPECIFIED = 0;
|
|
364
|
+
|
|
365
|
+
STATUS_CONDITION_UNKNOWN = 1;
|
|
366
|
+
|
|
367
|
+
STATUS_CONDITION_TRUE = 2;
|
|
368
|
+
|
|
369
|
+
STATUS_CONDITION_FALSE = 3;
|
|
370
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: crossplane/function/proto/v1/run_function.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.0
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
0,
|
|
17
|
+
'',
|
|
18
|
+
'crossplane/function/proto/v1/run_function.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
|
|
26
|
+
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/crossplane/function/proto/v1/run_function.proto\x12\x19\x61piextensions.fn.proto.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd3\x06\n\x12RunFunctionRequest\x12\x34\n\x04meta\x18\x01 \x01(\x0b\x32&.apiextensions.fn.proto.v1.RequestMeta\x12\x32\n\x08observed\x18\x02 \x01(\x0b\x32 .apiextensions.fn.proto.v1.State\x12\x31\n\x07\x64\x65sired\x18\x03 \x01(\x0b\x32 .apiextensions.fn.proto.v1.State\x12+\n\x05input\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12^\n\x0f\x65xtra_resources\x18\x06 \x03(\x0b\x32\x41.apiextensions.fn.proto.v1.RunFunctionRequest.ExtraResourcesEntryB\x02\x18\x01\x12S\n\x0b\x63redentials\x18\x07 \x03(\x0b\x32>.apiextensions.fn.proto.v1.RunFunctionRequest.CredentialsEntry\x12`\n\x12required_resources\x18\x08 \x03(\x0b\x32\x44.apiextensions.fn.proto.v1.RunFunctionRequest.RequiredResourcesEntry\x1a[\n\x13\x45xtraResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.apiextensions.fn.proto.v1.Resources:\x02\x38\x01\x1aZ\n\x10\x43redentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.apiextensions.fn.proto.v1.Credentials:\x02\x38\x01\x1a^\n\x16RequiredResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.apiextensions.fn.proto.v1.Resources:\x02\x38\x01\x42\x08\n\x06_inputB\n\n\x08_context\"]\n\x0b\x43redentials\x12\x44\n\x0f\x63redential_data\x18\x01 \x01(\x0b\x32).apiextensions.fn.proto.v1.CredentialDataH\x00\x42\x08\n\x06source\"\x80\x01\n\x0e\x43redentialData\x12\x41\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32\x33.apiextensions.fn.proto.v1.CredentialData.DataEntry\x1a+\n\tDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"?\n\tResources\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.apiextensions.fn.proto.v1.Resource\"\xa0\x03\n\x13RunFunctionResponse\x12\x35\n\x04meta\x18\x01 \x01(\x0b\x32\'.apiextensions.fn.proto.v1.ResponseMeta\x12\x31\n\x07\x64\x65sired\x18\x02 \x01(\x0b\x32 .apiextensions.fn.proto.v1.State\x12\x32\n\x07results\x18\x03 \x03(\x0b\x32!.apiextensions.fn.proto.v1.Result\x12-\n\x07\x63ontext\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12=\n\x0crequirements\x18\x05 \x01(\x0b\x32\'.apiextensions.fn.proto.v1.Requirements\x12\x38\n\nconditions\x18\x06 \x03(\x0b\x32$.apiextensions.fn.proto.v1.Condition\x12,\n\x06output\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\n\n\x08_contextB\t\n\x07_output\"\x1a\n\x0bRequestMeta\x12\x0b\n\x03tag\x18\x01 \x01(\t\"\xf6\x02\n\x0cRequirements\x12X\n\x0f\x65xtra_resources\x18\x01 \x03(\x0b\x32;.apiextensions.fn.proto.v1.Requirements.ExtraResourcesEntryB\x02\x18\x01\x12I\n\tresources\x18\x02 \x03(\x0b\x32\x36.apiextensions.fn.proto.v1.Requirements.ResourcesEntry\x1a\x62\n\x13\x45xtraResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.apiextensions.fn.proto.v1.ResourceSelector:\x02\x38\x01\x1a]\n\x0eResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12:\n\x05value\x18\x02 \x01(\x0b\x32+.apiextensions.fn.proto.v1.ResourceSelector:\x02\x38\x01\"\xba\x01\n\x10ResourceSelector\x12\x13\n\x0b\x61pi_version\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x14\n\nmatch_name\x18\x03 \x01(\tH\x00\x12>\n\x0cmatch_labels\x18\x04 \x01(\x0b\x32&.apiextensions.fn.proto.v1.MatchLabelsH\x00\x12\x16\n\tnamespace\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05matchB\x0c\n\n_namespace\"\x80\x01\n\x0bMatchLabels\x12\x42\n\x06labels\x18\x01 \x03(\x0b\x32\x32.apiextensions.fn.proto.v1.MatchLabels.LabelsEntry\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"P\n\x0cResponseMeta\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12+\n\x03ttl\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x42\x06\n\x04_ttl\"\xda\x01\n\x05State\x12\x36\n\tcomposite\x18\x01 \x01(\x0b\x32#.apiextensions.fn.proto.v1.Resource\x12\x42\n\tresources\x18\x02 \x03(\x0b\x32/.apiextensions.fn.proto.v1.State.ResourcesEntry\x1aU\n\x0eResourcesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.apiextensions.fn.proto.v1.Resource:\x02\x38\x01\"\xf8\x01\n\x08Resource\x12)\n\x08resource\x18\x01 \x01(\x0b\x32\x17.google.protobuf.Struct\x12V\n\x12\x63onnection_details\x18\x02 \x03(\x0b\x32:.apiextensions.fn.proto.v1.Resource.ConnectionDetailsEntry\x12/\n\x05ready\x18\x03 \x01(\x0e\x32 .apiextensions.fn.proto.v1.Ready\x1a\x38\n\x16\x43onnectionDetailsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\xb3\x01\n\x06Result\x12\x35\n\x08severity\x18\x01 \x01(\x0e\x32#.apiextensions.fn.proto.v1.Severity\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x13\n\x06reason\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x36\n\x06target\x18\x04 \x01(\x0e\x32!.apiextensions.fn.proto.v1.TargetH\x01\x88\x01\x01\x42\t\n\x07_reasonB\t\n\x07_target\"\xc1\x01\n\tCondition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x31\n\x06status\x18\x02 \x01(\x0e\x32!.apiextensions.fn.proto.v1.Status\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x14\n\x07message\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x36\n\x06target\x18\x05 \x01(\x0e\x32!.apiextensions.fn.proto.v1.TargetH\x01\x88\x01\x01\x42\n\n\x08_messageB\t\n\x07_target*?\n\x05Ready\x12\x15\n\x11READY_UNSPECIFIED\x10\x00\x12\x0e\n\nREADY_TRUE\x10\x01\x12\x0f\n\x0bREADY_FALSE\x10\x02*c\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x12\n\x0eSEVERITY_FATAL\x10\x01\x12\x14\n\x10SEVERITY_WARNING\x10\x02\x12\x13\n\x0fSEVERITY_NORMAL\x10\x03*V\n\x06Target\x12\x16\n\x12TARGET_UNSPECIFIED\x10\x00\x12\x14\n\x10TARGET_COMPOSITE\x10\x01\x12\x1e\n\x1aTARGET_COMPOSITE_AND_CLAIM\x10\x02*\x7f\n\x06Status\x12 \n\x1cSTATUS_CONDITION_UNSPECIFIED\x10\x00\x12\x1c\n\x18STATUS_CONDITION_UNKNOWN\x10\x01\x12\x19\n\x15STATUS_CONDITION_TRUE\x10\x02\x12\x1a\n\x16STATUS_CONDITION_FALSE\x10\x03\x32\x87\x01\n\x15\x46unctionRunnerService\x12n\n\x0bRunFunction\x12-.apiextensions.fn.proto.v1.RunFunctionRequest\x1a..apiextensions.fn.proto.v1.RunFunctionResponse\"\x00\x42\x31Z/github.com/crossplane/crossplane/v2/proto/fn/v1b\x06proto3')
|
|
30
|
+
|
|
31
|
+
_globals = globals()
|
|
32
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
33
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'crossplane.function.proto.v1.run_function_pb2', _globals)
|
|
34
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
35
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
36
|
+
_globals['DESCRIPTOR']._serialized_options = b'Z/github.com/crossplane/crossplane/v2/proto/fn/v1'
|
|
37
|
+
_globals['_RUNFUNCTIONREQUEST_EXTRARESOURCESENTRY']._loaded_options = None
|
|
38
|
+
_globals['_RUNFUNCTIONREQUEST_EXTRARESOURCESENTRY']._serialized_options = b'8\001'
|
|
39
|
+
_globals['_RUNFUNCTIONREQUEST_CREDENTIALSENTRY']._loaded_options = None
|
|
40
|
+
_globals['_RUNFUNCTIONREQUEST_CREDENTIALSENTRY']._serialized_options = b'8\001'
|
|
41
|
+
_globals['_RUNFUNCTIONREQUEST_REQUIREDRESOURCESENTRY']._loaded_options = None
|
|
42
|
+
_globals['_RUNFUNCTIONREQUEST_REQUIREDRESOURCESENTRY']._serialized_options = b'8\001'
|
|
43
|
+
_globals['_RUNFUNCTIONREQUEST'].fields_by_name['extra_resources']._loaded_options = None
|
|
44
|
+
_globals['_RUNFUNCTIONREQUEST'].fields_by_name['extra_resources']._serialized_options = b'\030\001'
|
|
45
|
+
_globals['_CREDENTIALDATA_DATAENTRY']._loaded_options = None
|
|
46
|
+
_globals['_CREDENTIALDATA_DATAENTRY']._serialized_options = b'8\001'
|
|
47
|
+
_globals['_REQUIREMENTS_EXTRARESOURCESENTRY']._loaded_options = None
|
|
48
|
+
_globals['_REQUIREMENTS_EXTRARESOURCESENTRY']._serialized_options = b'8\001'
|
|
49
|
+
_globals['_REQUIREMENTS_RESOURCESENTRY']._loaded_options = None
|
|
50
|
+
_globals['_REQUIREMENTS_RESOURCESENTRY']._serialized_options = b'8\001'
|
|
51
|
+
_globals['_REQUIREMENTS'].fields_by_name['extra_resources']._loaded_options = None
|
|
52
|
+
_globals['_REQUIREMENTS'].fields_by_name['extra_resources']._serialized_options = b'\030\001'
|
|
53
|
+
_globals['_MATCHLABELS_LABELSENTRY']._loaded_options = None
|
|
54
|
+
_globals['_MATCHLABELS_LABELSENTRY']._serialized_options = b'8\001'
|
|
55
|
+
_globals['_STATE_RESOURCESENTRY']._loaded_options = None
|
|
56
|
+
_globals['_STATE_RESOURCESENTRY']._serialized_options = b'8\001'
|
|
57
|
+
_globals['_RESOURCE_CONNECTIONDETAILSENTRY']._loaded_options = None
|
|
58
|
+
_globals['_RESOURCE_CONNECTIONDETAILSENTRY']._serialized_options = b'8\001'
|
|
59
|
+
_globals['_READY']._serialized_start=3361
|
|
60
|
+
_globals['_READY']._serialized_end=3424
|
|
61
|
+
_globals['_SEVERITY']._serialized_start=3426
|
|
62
|
+
_globals['_SEVERITY']._serialized_end=3525
|
|
63
|
+
_globals['_TARGET']._serialized_start=3527
|
|
64
|
+
_globals['_TARGET']._serialized_end=3613
|
|
65
|
+
_globals['_STATUS']._serialized_start=3615
|
|
66
|
+
_globals['_STATUS']._serialized_end=3742
|
|
67
|
+
_globals['_RUNFUNCTIONREQUEST']._serialized_start=141
|
|
68
|
+
_globals['_RUNFUNCTIONREQUEST']._serialized_end=992
|
|
69
|
+
_globals['_RUNFUNCTIONREQUEST_EXTRARESOURCESENTRY']._serialized_start=691
|
|
70
|
+
_globals['_RUNFUNCTIONREQUEST_EXTRARESOURCESENTRY']._serialized_end=782
|
|
71
|
+
_globals['_RUNFUNCTIONREQUEST_CREDENTIALSENTRY']._serialized_start=784
|
|
72
|
+
_globals['_RUNFUNCTIONREQUEST_CREDENTIALSENTRY']._serialized_end=874
|
|
73
|
+
_globals['_RUNFUNCTIONREQUEST_REQUIREDRESOURCESENTRY']._serialized_start=876
|
|
74
|
+
_globals['_RUNFUNCTIONREQUEST_REQUIREDRESOURCESENTRY']._serialized_end=970
|
|
75
|
+
_globals['_CREDENTIALS']._serialized_start=994
|
|
76
|
+
_globals['_CREDENTIALS']._serialized_end=1087
|
|
77
|
+
_globals['_CREDENTIALDATA']._serialized_start=1090
|
|
78
|
+
_globals['_CREDENTIALDATA']._serialized_end=1218
|
|
79
|
+
_globals['_CREDENTIALDATA_DATAENTRY']._serialized_start=1175
|
|
80
|
+
_globals['_CREDENTIALDATA_DATAENTRY']._serialized_end=1218
|
|
81
|
+
_globals['_RESOURCES']._serialized_start=1220
|
|
82
|
+
_globals['_RESOURCES']._serialized_end=1283
|
|
83
|
+
_globals['_RUNFUNCTIONRESPONSE']._serialized_start=1286
|
|
84
|
+
_globals['_RUNFUNCTIONRESPONSE']._serialized_end=1702
|
|
85
|
+
_globals['_REQUESTMETA']._serialized_start=1704
|
|
86
|
+
_globals['_REQUESTMETA']._serialized_end=1730
|
|
87
|
+
_globals['_REQUIREMENTS']._serialized_start=1733
|
|
88
|
+
_globals['_REQUIREMENTS']._serialized_end=2107
|
|
89
|
+
_globals['_REQUIREMENTS_EXTRARESOURCESENTRY']._serialized_start=1914
|
|
90
|
+
_globals['_REQUIREMENTS_EXTRARESOURCESENTRY']._serialized_end=2012
|
|
91
|
+
_globals['_REQUIREMENTS_RESOURCESENTRY']._serialized_start=2014
|
|
92
|
+
_globals['_REQUIREMENTS_RESOURCESENTRY']._serialized_end=2107
|
|
93
|
+
_globals['_RESOURCESELECTOR']._serialized_start=2110
|
|
94
|
+
_globals['_RESOURCESELECTOR']._serialized_end=2296
|
|
95
|
+
_globals['_MATCHLABELS']._serialized_start=2299
|
|
96
|
+
_globals['_MATCHLABELS']._serialized_end=2427
|
|
97
|
+
_globals['_MATCHLABELS_LABELSENTRY']._serialized_start=2382
|
|
98
|
+
_globals['_MATCHLABELS_LABELSENTRY']._serialized_end=2427
|
|
99
|
+
_globals['_RESPONSEMETA']._serialized_start=2429
|
|
100
|
+
_globals['_RESPONSEMETA']._serialized_end=2509
|
|
101
|
+
_globals['_STATE']._serialized_start=2512
|
|
102
|
+
_globals['_STATE']._serialized_end=2730
|
|
103
|
+
_globals['_STATE_RESOURCESENTRY']._serialized_start=2645
|
|
104
|
+
_globals['_STATE_RESOURCESENTRY']._serialized_end=2730
|
|
105
|
+
_globals['_RESOURCE']._serialized_start=2733
|
|
106
|
+
_globals['_RESOURCE']._serialized_end=2981
|
|
107
|
+
_globals['_RESOURCE_CONNECTIONDETAILSENTRY']._serialized_start=2925
|
|
108
|
+
_globals['_RESOURCE_CONNECTIONDETAILSENTRY']._serialized_end=2981
|
|
109
|
+
_globals['_RESULT']._serialized_start=2984
|
|
110
|
+
_globals['_RESULT']._serialized_end=3163
|
|
111
|
+
_globals['_CONDITION']._serialized_start=3166
|
|
112
|
+
_globals['_CONDITION']._serialized_end=3359
|
|
113
|
+
_globals['_FUNCTIONRUNNERSERVICE']._serialized_start=3745
|
|
114
|
+
_globals['_FUNCTIONRUNNERSERVICE']._serialized_end=3880
|
|
115
|
+
# @@protoc_insertion_point(module_scope)
|