@crossplane-org/function-sdk-typescript 0.1.0
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/LICENSE +201 -0
- package/README.md +683 -0
- package/dist/example-function.d.ts +11 -0
- package/dist/example-function.d.ts.map +1 -0
- package/dist/example-function.js +93 -0
- package/dist/example-function.js.map +1 -0
- package/dist/function/function.d.ts +115 -0
- package/dist/function/function.d.ts.map +1 -0
- package/dist/function/function.js +111 -0
- package/dist/function/function.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +3 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +69 -0
- package/dist/main.js.map +1 -0
- package/dist/proto/google/protobuf/duration.d.ts +107 -0
- package/dist/proto/google/protobuf/duration.d.ts.map +1 -0
- package/dist/proto/google/protobuf/duration.js +90 -0
- package/dist/proto/google/protobuf/duration.js.map +1 -0
- package/dist/proto/google/protobuf/struct.d.ts +115 -0
- package/dist/proto/google/protobuf/struct.d.ts.map +1 -0
- package/dist/proto/google/protobuf/struct.js +452 -0
- package/dist/proto/google/protobuf/struct.js.map +1 -0
- package/dist/proto/run_function.d.ts +494 -0
- package/dist/proto/run_function.d.ts.map +1 -0
- package/dist/proto/run_function.js +2230 -0
- package/dist/proto/run_function.js.map +1 -0
- package/dist/request/request.d.ts +198 -0
- package/dist/request/request.d.ts.map +1 -0
- package/dist/request/request.js +219 -0
- package/dist/request/request.js.map +1 -0
- package/dist/resource/resource.d.ts +101 -0
- package/dist/resource/resource.d.ts.map +1 -0
- package/dist/resource/resource.js +98 -0
- package/dist/resource/resource.js.map +1 -0
- package/dist/response/response.d.ts +273 -0
- package/dist/response/response.d.ts.map +1 -0
- package/dist/response/response.js +339 -0
- package/dist/response/response.js.map +1 -0
- package/dist/runtime/runtime.d.ts +121 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +124 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +17 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run_function.js","sourceRoot":"","sources":["../../src/proto/run_function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request utilities for working with RunFunctionRequest
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions to extract data from RunFunctionRequest objects,
|
|
5
|
+
* including composite resources, composed resources, input configuration, context values,
|
|
6
|
+
* required resources, and credentials.
|
|
7
|
+
*/
|
|
8
|
+
import { Credentials, Resource, Resources, RunFunctionRequest } from "../proto/run_function.js";
|
|
9
|
+
/**
|
|
10
|
+
* Get the desired composite resource (XR) from the request.
|
|
11
|
+
*
|
|
12
|
+
* The desired composite resource represents the intended state of the composite resource
|
|
13
|
+
* as determined by the function pipeline up to this point.
|
|
14
|
+
*
|
|
15
|
+
* @param req - The RunFunctionRequest containing the desired state
|
|
16
|
+
* @returns The desired composite Resource, or undefined if not present
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const dxr = getDesiredCompositeResource(req);
|
|
21
|
+
* if (dxr?.resource) {
|
|
22
|
+
* console.log("Composite resource name:", dxr.resource.metadata.name);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function getDesiredCompositeResource(req: RunFunctionRequest): Resource | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Get the observed composite resource (XR) from the request.
|
|
29
|
+
*
|
|
30
|
+
* The observed composite resource represents the actual current state of the composite
|
|
31
|
+
* resource as observed in the cluster. This includes the resource's metadata, spec, and status.
|
|
32
|
+
*
|
|
33
|
+
* @param req - The RunFunctionRequest containing the observed state
|
|
34
|
+
* @returns The observed composite Resource, or undefined if not present
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const oxr = getObservedCompositeResource(req);
|
|
39
|
+
* if (oxr?.resource?.status) {
|
|
40
|
+
* console.log("Current status:", oxr.resource.status);
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function getObservedCompositeResource(req: RunFunctionRequest): Resource | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Get the desired composed resources from the request.
|
|
47
|
+
*
|
|
48
|
+
* Desired composed resources represent the intended state of resources that are part of
|
|
49
|
+
* this composition. These are the resources that the function pipeline wants to create
|
|
50
|
+
* or update. The map key is the resource name used to identify it in the pipeline.
|
|
51
|
+
*
|
|
52
|
+
* @param req - The RunFunctionRequest containing desired composed resources
|
|
53
|
+
* @returns A map of resource names to Resource objects, or empty object if none exist
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const dcds = getDesiredComposedResources(req);
|
|
58
|
+
* for (const [name, resource] of Object.entries(dcds)) {
|
|
59
|
+
* console.log(`Resource ${name}: ${resource.resource?.kind}`);
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function getDesiredComposedResources(req: RunFunctionRequest): {
|
|
64
|
+
[key: string]: Resource;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Get the observed composed resources from the request.
|
|
68
|
+
*
|
|
69
|
+
* Observed composed resources represent the actual current state of resources that are
|
|
70
|
+
* part of this composition. This includes their current status, connection details,
|
|
71
|
+
* and complete resource state as observed in the cluster.
|
|
72
|
+
*
|
|
73
|
+
* @param req - The RunFunctionRequest containing observed composed resources
|
|
74
|
+
* @returns A map of resource names to Resource objects with connection details, or empty object if none exist
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const observedComposed = getObservedComposedResources(req);
|
|
79
|
+
* for (const [name, resource] of Object.entries(observedComposed)) {
|
|
80
|
+
* if (resource.connectionDetails) {
|
|
81
|
+
* console.log(`Resource ${name} has connection details`);
|
|
82
|
+
* }
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function getObservedComposedResources(req: RunFunctionRequest): {
|
|
87
|
+
[key: string]: Resource;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Get the input configuration from the request.
|
|
91
|
+
*
|
|
92
|
+
* The input contains function-specific configuration specified in the Composition's
|
|
93
|
+
* function pipeline. This is the data from the 'input' block of the function's
|
|
94
|
+
* pipeline entry.
|
|
95
|
+
*
|
|
96
|
+
* @param req - The RunFunctionRequest containing input configuration
|
|
97
|
+
* @returns The input object, or undefined if not present
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const input = getInput(req);
|
|
102
|
+
* if (input) {
|
|
103
|
+
* const replicas = input.replicas || 3;
|
|
104
|
+
* console.log("Desired replicas:", replicas);
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare function getInput(req: RunFunctionRequest): {
|
|
109
|
+
[key: string]: any;
|
|
110
|
+
} | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* Get a value from the request context by key.
|
|
113
|
+
*
|
|
114
|
+
* Context is used to pass arbitrary data between functions in a pipeline.
|
|
115
|
+
* Functions can read context set by previous functions and set context for
|
|
116
|
+
* subsequent functions. Crossplane discards all context after the last function
|
|
117
|
+
* in the pipeline completes.
|
|
118
|
+
*
|
|
119
|
+
* @param req - The RunFunctionRequest containing context data
|
|
120
|
+
* @param key - The context key to retrieve
|
|
121
|
+
* @returns A tuple of [value, exists] where exists indicates if the key was found
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* const [dbEndpoint, exists] = getContextKey(req, "database-endpoint");
|
|
126
|
+
* if (exists) {
|
|
127
|
+
* console.log("Database endpoint:", dbEndpoint);
|
|
128
|
+
* } else {
|
|
129
|
+
* console.log("Database endpoint not set by previous function");
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export declare function getContextKey(req: RunFunctionRequest, key: string): [any, boolean];
|
|
134
|
+
/**
|
|
135
|
+
* Get required resources from the request.
|
|
136
|
+
*
|
|
137
|
+
* Required resources are resources that the function specified it needs in its
|
|
138
|
+
* requirements. These are populated by Crossplane based on the ResourceSelector
|
|
139
|
+
* specified in the function's requirements. The map key corresponds to the key
|
|
140
|
+
* in the RunFunctionResponse's requirements.resources field.
|
|
141
|
+
*
|
|
142
|
+
* @param req - The RunFunctionRequest containing required resources
|
|
143
|
+
* @returns A map of required resources by name, or empty object if none exist
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const required = getRequiredResources(req);
|
|
148
|
+
* const secrets = required["secrets"];
|
|
149
|
+
* if (secrets?.items) {
|
|
150
|
+
* console.log(`Found ${secrets.items.length} secrets`);
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
export declare function getRequiredResources(req: RunFunctionRequest): {
|
|
155
|
+
[key: string]: Resources;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Get extra resources from the request.
|
|
159
|
+
*
|
|
160
|
+
* @deprecated Use getRequiredResources instead. This field is deprecated in favor
|
|
161
|
+
* of requiredResources and will be removed in a future version.
|
|
162
|
+
*
|
|
163
|
+
* Extra resources are resources that the function specified it needs in its
|
|
164
|
+
* requirements using the deprecated extra_resources field.
|
|
165
|
+
*
|
|
166
|
+
* @param req - The RunFunctionRequest containing extra resources
|
|
167
|
+
* @returns A map of extra resources by name, or empty object if none exist
|
|
168
|
+
*/
|
|
169
|
+
export declare function getExtraResources(req: RunFunctionRequest): {
|
|
170
|
+
[key: string]: Resources;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Get credentials by name from the request.
|
|
174
|
+
*
|
|
175
|
+
* Credentials are provided by Crossplane and typically loaded from Secrets.
|
|
176
|
+
* Functions can use these credentials to authenticate with external systems.
|
|
177
|
+
* The credentials data is a map of keys to binary data (Buffer).
|
|
178
|
+
*
|
|
179
|
+
* @param req - The RunFunctionRequest containing credentials
|
|
180
|
+
* @param name - The credential name to retrieve
|
|
181
|
+
* @returns The Credentials object containing credential data
|
|
182
|
+
* @throws Error if the specified credentials are not found
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* try {
|
|
187
|
+
* const creds = getCredentials(req, "aws-credentials");
|
|
188
|
+
* const accessKey = creds.credentialData?.data["access-key"];
|
|
189
|
+
* if (accessKey) {
|
|
190
|
+
* console.log("Access key found");
|
|
191
|
+
* }
|
|
192
|
+
* } catch (error) {
|
|
193
|
+
* console.error("Credentials not found:", error.message);
|
|
194
|
+
* }
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export declare function getCredentials(req: RunFunctionRequest, name: string): Credentials;
|
|
198
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAEzF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAE1F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKhG;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAKjG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,CAEpF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAKlF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAE1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAEvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAMjF"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request utilities for working with RunFunctionRequest
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions to extract data from RunFunctionRequest objects,
|
|
5
|
+
* including composite resources, composed resources, input configuration, context values,
|
|
6
|
+
* required resources, and credentials.
|
|
7
|
+
*/
|
|
8
|
+
import { Credentials, Resource, Resources, RunFunctionRequest } from "../proto/run_function.js";
|
|
9
|
+
/**
|
|
10
|
+
* Get the desired composite resource (XR) from the request.
|
|
11
|
+
*
|
|
12
|
+
* The desired composite resource represents the intended state of the composite resource
|
|
13
|
+
* as determined by the function pipeline up to this point.
|
|
14
|
+
*
|
|
15
|
+
* @param req - The RunFunctionRequest containing the desired state
|
|
16
|
+
* @returns The desired composite Resource, or undefined if not present
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const dxr = getDesiredCompositeResource(req);
|
|
21
|
+
* if (dxr?.resource) {
|
|
22
|
+
* console.log("Composite resource name:", dxr.resource.metadata.name);
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function getDesiredCompositeResource(req) {
|
|
27
|
+
return req.desired?.composite;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the observed composite resource (XR) from the request.
|
|
31
|
+
*
|
|
32
|
+
* The observed composite resource represents the actual current state of the composite
|
|
33
|
+
* resource as observed in the cluster. This includes the resource's metadata, spec, and status.
|
|
34
|
+
*
|
|
35
|
+
* @param req - The RunFunctionRequest containing the observed state
|
|
36
|
+
* @returns The observed composite Resource, or undefined if not present
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* const oxr = getObservedCompositeResource(req);
|
|
41
|
+
* if (oxr?.resource?.status) {
|
|
42
|
+
* console.log("Current status:", oxr.resource.status);
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export function getObservedCompositeResource(req) {
|
|
47
|
+
return req.observed?.composite;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the desired composed resources from the request.
|
|
51
|
+
*
|
|
52
|
+
* Desired composed resources represent the intended state of resources that are part of
|
|
53
|
+
* this composition. These are the resources that the function pipeline wants to create
|
|
54
|
+
* or update. The map key is the resource name used to identify it in the pipeline.
|
|
55
|
+
*
|
|
56
|
+
* @param req - The RunFunctionRequest containing desired composed resources
|
|
57
|
+
* @returns A map of resource names to Resource objects, or empty object if none exist
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const dcds = getDesiredComposedResources(req);
|
|
62
|
+
* for (const [name, resource] of Object.entries(dcds)) {
|
|
63
|
+
* console.log(`Resource ${name}: ${resource.resource?.kind}`);
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export function getDesiredComposedResources(req) {
|
|
68
|
+
if (req.desired?.resources) {
|
|
69
|
+
return req.desired?.resources;
|
|
70
|
+
}
|
|
71
|
+
return {};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get the observed composed resources from the request.
|
|
75
|
+
*
|
|
76
|
+
* Observed composed resources represent the actual current state of resources that are
|
|
77
|
+
* part of this composition. This includes their current status, connection details,
|
|
78
|
+
* and complete resource state as observed in the cluster.
|
|
79
|
+
*
|
|
80
|
+
* @param req - The RunFunctionRequest containing observed composed resources
|
|
81
|
+
* @returns A map of resource names to Resource objects with connection details, or empty object if none exist
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const observedComposed = getObservedComposedResources(req);
|
|
86
|
+
* for (const [name, resource] of Object.entries(observedComposed)) {
|
|
87
|
+
* if (resource.connectionDetails) {
|
|
88
|
+
* console.log(`Resource ${name} has connection details`);
|
|
89
|
+
* }
|
|
90
|
+
* }
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
export function getObservedComposedResources(req) {
|
|
94
|
+
if (req.observed?.resources) {
|
|
95
|
+
return req.observed?.resources;
|
|
96
|
+
}
|
|
97
|
+
return {};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the input configuration from the request.
|
|
101
|
+
*
|
|
102
|
+
* The input contains function-specific configuration specified in the Composition's
|
|
103
|
+
* function pipeline. This is the data from the 'input' block of the function's
|
|
104
|
+
* pipeline entry.
|
|
105
|
+
*
|
|
106
|
+
* @param req - The RunFunctionRequest containing input configuration
|
|
107
|
+
* @returns The input object, or undefined if not present
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const input = getInput(req);
|
|
112
|
+
* if (input) {
|
|
113
|
+
* const replicas = input.replicas || 3;
|
|
114
|
+
* console.log("Desired replicas:", replicas);
|
|
115
|
+
* }
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export function getInput(req) {
|
|
119
|
+
return req.input;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get a value from the request context by key.
|
|
123
|
+
*
|
|
124
|
+
* Context is used to pass arbitrary data between functions in a pipeline.
|
|
125
|
+
* Functions can read context set by previous functions and set context for
|
|
126
|
+
* subsequent functions. Crossplane discards all context after the last function
|
|
127
|
+
* in the pipeline completes.
|
|
128
|
+
*
|
|
129
|
+
* @param req - The RunFunctionRequest containing context data
|
|
130
|
+
* @param key - The context key to retrieve
|
|
131
|
+
* @returns A tuple of [value, exists] where exists indicates if the key was found
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const [dbEndpoint, exists] = getContextKey(req, "database-endpoint");
|
|
136
|
+
* if (exists) {
|
|
137
|
+
* console.log("Database endpoint:", dbEndpoint);
|
|
138
|
+
* } else {
|
|
139
|
+
* console.log("Database endpoint not set by previous function");
|
|
140
|
+
* }
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
export function getContextKey(req, key) {
|
|
144
|
+
if (req.context && key in req.context) {
|
|
145
|
+
return [req.context[key], true];
|
|
146
|
+
}
|
|
147
|
+
return [undefined, false];
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get required resources from the request.
|
|
151
|
+
*
|
|
152
|
+
* Required resources are resources that the function specified it needs in its
|
|
153
|
+
* requirements. These are populated by Crossplane based on the ResourceSelector
|
|
154
|
+
* specified in the function's requirements. The map key corresponds to the key
|
|
155
|
+
* in the RunFunctionResponse's requirements.resources field.
|
|
156
|
+
*
|
|
157
|
+
* @param req - The RunFunctionRequest containing required resources
|
|
158
|
+
* @returns A map of required resources by name, or empty object if none exist
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* const required = getRequiredResources(req);
|
|
163
|
+
* const secrets = required["secrets"];
|
|
164
|
+
* if (secrets?.items) {
|
|
165
|
+
* console.log(`Found ${secrets.items.length} secrets`);
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export function getRequiredResources(req) {
|
|
170
|
+
return req.requiredResources || {};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get extra resources from the request.
|
|
174
|
+
*
|
|
175
|
+
* @deprecated Use getRequiredResources instead. This field is deprecated in favor
|
|
176
|
+
* of requiredResources and will be removed in a future version.
|
|
177
|
+
*
|
|
178
|
+
* Extra resources are resources that the function specified it needs in its
|
|
179
|
+
* requirements using the deprecated extra_resources field.
|
|
180
|
+
*
|
|
181
|
+
* @param req - The RunFunctionRequest containing extra resources
|
|
182
|
+
* @returns A map of extra resources by name, or empty object if none exist
|
|
183
|
+
*/
|
|
184
|
+
export function getExtraResources(req) {
|
|
185
|
+
return req.extraResources || {};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get credentials by name from the request.
|
|
189
|
+
*
|
|
190
|
+
* Credentials are provided by Crossplane and typically loaded from Secrets.
|
|
191
|
+
* Functions can use these credentials to authenticate with external systems.
|
|
192
|
+
* The credentials data is a map of keys to binary data (Buffer).
|
|
193
|
+
*
|
|
194
|
+
* @param req - The RunFunctionRequest containing credentials
|
|
195
|
+
* @param name - The credential name to retrieve
|
|
196
|
+
* @returns The Credentials object containing credential data
|
|
197
|
+
* @throws Error if the specified credentials are not found
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* try {
|
|
202
|
+
* const creds = getCredentials(req, "aws-credentials");
|
|
203
|
+
* const accessKey = creds.credentialData?.data["access-key"];
|
|
204
|
+
* if (accessKey) {
|
|
205
|
+
* console.log("Access key found");
|
|
206
|
+
* }
|
|
207
|
+
* } catch (error) {
|
|
208
|
+
* console.error("Credentials not found:", error.message);
|
|
209
|
+
* }
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
export function getCredentials(req, name) {
|
|
213
|
+
const creds = req.credentials?.[name];
|
|
214
|
+
if (!creds) {
|
|
215
|
+
throw new Error(`credentials "${name}" not found`);
|
|
216
|
+
}
|
|
217
|
+
return creds;
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request/request.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAuB;IAC/D,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAuB;IAChE,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAuB;IAC/D,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAuB;IAChE,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAuB;IAC5C,OAAO,GAAG,CAAC,KAAK,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuB,EAAE,GAAW;IAC9D,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAuB;IACxD,OAAO,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACrD,OAAO,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,GAAuB,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|