-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_function_types.go
executable file
·309 lines (228 loc) · 14.5 KB
/
zz_function_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type FunctionInitParameters struct {
// The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.
Code *string `json:"code,omitempty" tf:"code,omitempty"`
// Function description.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Version of the request mapping template. Currently the supported value is 2018-05-29. Does not apply when specifying code.
FunctionVersion *string `json:"functionVersion,omitempty" tf:"function_version,omitempty"`
// Maximum batching size for a resolver. Valid values are between 0 and 2000.
MaxBatchSize *int64 `json:"maxBatchSize,omitempty" tf:"max_batch_size,omitempty"`
// Function name. The function name does not have to be unique.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.
RequestMappingTemplate *string `json:"requestMappingTemplate,omitempty" tf:"request_mapping_template,omitempty"`
// Function response mapping template.
ResponseMappingTemplate *string `json:"responseMappingTemplate,omitempty" tf:"response_mapping_template,omitempty"`
// Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. See Runtime.
Runtime []RuntimeInitParameters `json:"runtime,omitempty" tf:"runtime,omitempty"`
// Describes a Sync configuration for a resolver. See Sync Config.
SyncConfig []SyncConfigInitParameters `json:"syncConfig,omitempty" tf:"sync_config,omitempty"`
}
type FunctionObservation struct {
// ID of the associated AppSync API.
APIID *string `json:"apiId,omitempty" tf:"api_id,omitempty"`
// ARN of the Function object.
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.
Code *string `json:"code,omitempty" tf:"code,omitempty"`
// Function data source name.
DataSource *string `json:"dataSource,omitempty" tf:"data_source,omitempty"`
// Function description.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Unique ID representing the Function object.
FunctionID *string `json:"functionId,omitempty" tf:"function_id,omitempty"`
// Version of the request mapping template. Currently the supported value is 2018-05-29. Does not apply when specifying code.
FunctionVersion *string `json:"functionVersion,omitempty" tf:"function_version,omitempty"`
// API Function ID (Formatted as ApiId-FunctionId)
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Maximum batching size for a resolver. Valid values are between 0 and 2000.
MaxBatchSize *int64 `json:"maxBatchSize,omitempty" tf:"max_batch_size,omitempty"`
// Function name. The function name does not have to be unique.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.
RequestMappingTemplate *string `json:"requestMappingTemplate,omitempty" tf:"request_mapping_template,omitempty"`
// Function response mapping template.
ResponseMappingTemplate *string `json:"responseMappingTemplate,omitempty" tf:"response_mapping_template,omitempty"`
// Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. See Runtime.
Runtime []RuntimeObservation `json:"runtime,omitempty" tf:"runtime,omitempty"`
// Describes a Sync configuration for a resolver. See Sync Config.
SyncConfig []SyncConfigObservation `json:"syncConfig,omitempty" tf:"sync_config,omitempty"`
}
type FunctionParameters struct {
// ID of the associated AppSync API.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appsync/v1beta1.GraphQLAPI
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
APIID *string `json:"apiId,omitempty" tf:"api_id,omitempty"`
// Reference to a GraphQLAPI in appsync to populate apiId.
// +kubebuilder:validation:Optional
APIIDRef *v1.Reference `json:"apiIdRef,omitempty" tf:"-"`
// Selector for a GraphQLAPI in appsync to populate apiId.
// +kubebuilder:validation:Optional
APIIDSelector *v1.Selector `json:"apiIdSelector,omitempty" tf:"-"`
// The function code that contains the request and response functions. When code is used, the runtime is required. The runtime value must be APPSYNC_JS.
// +kubebuilder:validation:Optional
Code *string `json:"code,omitempty" tf:"code,omitempty"`
// Function data source name.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appsync/v1beta1.Datasource
// +kubebuilder:validation:Optional
DataSource *string `json:"dataSource,omitempty" tf:"data_source,omitempty"`
// Reference to a Datasource in appsync to populate dataSource.
// +kubebuilder:validation:Optional
DataSourceRef *v1.Reference `json:"dataSourceRef,omitempty" tf:"-"`
// Selector for a Datasource in appsync to populate dataSource.
// +kubebuilder:validation:Optional
DataSourceSelector *v1.Selector `json:"dataSourceSelector,omitempty" tf:"-"`
// Function description.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Version of the request mapping template. Currently the supported value is 2018-05-29. Does not apply when specifying code.
// +kubebuilder:validation:Optional
FunctionVersion *string `json:"functionVersion,omitempty" tf:"function_version,omitempty"`
// Maximum batching size for a resolver. Valid values are between 0 and 2000.
// +kubebuilder:validation:Optional
MaxBatchSize *int64 `json:"maxBatchSize,omitempty" tf:"max_batch_size,omitempty"`
// Function name. The function name does not have to be unique.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Region is the region you'd like your resource to be created in.
// +upjet:crd:field:TFTag=-
// +kubebuilder:validation:Required
Region *string `json:"region" tf:"-"`
// Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.
// +kubebuilder:validation:Optional
RequestMappingTemplate *string `json:"requestMappingTemplate,omitempty" tf:"request_mapping_template,omitempty"`
// Function response mapping template.
// +kubebuilder:validation:Optional
ResponseMappingTemplate *string `json:"responseMappingTemplate,omitempty" tf:"response_mapping_template,omitempty"`
// Describes a runtime used by an AWS AppSync pipeline resolver or AWS AppSync function. Specifies the name and version of the runtime to use. Note that if a runtime is specified, code must also be specified. See Runtime.
// +kubebuilder:validation:Optional
Runtime []RuntimeParameters `json:"runtime,omitempty" tf:"runtime,omitempty"`
// Describes a Sync configuration for a resolver. See Sync Config.
// +kubebuilder:validation:Optional
SyncConfig []SyncConfigParameters `json:"syncConfig,omitempty" tf:"sync_config,omitempty"`
}
type LambdaConflictHandlerConfigInitParameters struct {
// ARN for the Lambda function to use as the Conflict Handler.
LambdaConflictHandlerArn *string `json:"lambdaConflictHandlerArn,omitempty" tf:"lambda_conflict_handler_arn,omitempty"`
}
type LambdaConflictHandlerConfigObservation struct {
// ARN for the Lambda function to use as the Conflict Handler.
LambdaConflictHandlerArn *string `json:"lambdaConflictHandlerArn,omitempty" tf:"lambda_conflict_handler_arn,omitempty"`
}
type LambdaConflictHandlerConfigParameters struct {
// ARN for the Lambda function to use as the Conflict Handler.
// +kubebuilder:validation:Optional
LambdaConflictHandlerArn *string `json:"lambdaConflictHandlerArn,omitempty" tf:"lambda_conflict_handler_arn,omitempty"`
}
type RuntimeInitParameters struct {
// Function name. The function name does not have to be unique.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The version of the runtime to use. Currently, the only allowed version is 1.0.0.
RuntimeVersion *string `json:"runtimeVersion,omitempty" tf:"runtime_version,omitempty"`
}
type RuntimeObservation struct {
// Function name. The function name does not have to be unique.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The version of the runtime to use. Currently, the only allowed version is 1.0.0.
RuntimeVersion *string `json:"runtimeVersion,omitempty" tf:"runtime_version,omitempty"`
}
type RuntimeParameters struct {
// Function name. The function name does not have to be unique.
// +kubebuilder:validation:Optional
Name *string `json:"name" tf:"name,omitempty"`
// The version of the runtime to use. Currently, the only allowed version is 1.0.0.
// +kubebuilder:validation:Optional
RuntimeVersion *string `json:"runtimeVersion" tf:"runtime_version,omitempty"`
}
type SyncConfigInitParameters struct {
// Conflict Detection strategy to use. Valid values are NONE and VERSION.
ConflictDetection *string `json:"conflictDetection,omitempty" tf:"conflict_detection,omitempty"`
// Conflict Resolution strategy to perform in the event of a conflict. Valid values are NONE, OPTIMISTIC_CONCURRENCY, AUTOMERGE, and LAMBDA.
ConflictHandler *string `json:"conflictHandler,omitempty" tf:"conflict_handler,omitempty"`
// Lambda Conflict Handler Config when configuring LAMBDA as the Conflict Handler. See Lambda Conflict Handler Config.
LambdaConflictHandlerConfig []LambdaConflictHandlerConfigInitParameters `json:"lambdaConflictHandlerConfig,omitempty" tf:"lambda_conflict_handler_config,omitempty"`
}
type SyncConfigObservation struct {
// Conflict Detection strategy to use. Valid values are NONE and VERSION.
ConflictDetection *string `json:"conflictDetection,omitempty" tf:"conflict_detection,omitempty"`
// Conflict Resolution strategy to perform in the event of a conflict. Valid values are NONE, OPTIMISTIC_CONCURRENCY, AUTOMERGE, and LAMBDA.
ConflictHandler *string `json:"conflictHandler,omitempty" tf:"conflict_handler,omitempty"`
// Lambda Conflict Handler Config when configuring LAMBDA as the Conflict Handler. See Lambda Conflict Handler Config.
LambdaConflictHandlerConfig []LambdaConflictHandlerConfigObservation `json:"lambdaConflictHandlerConfig,omitempty" tf:"lambda_conflict_handler_config,omitempty"`
}
type SyncConfigParameters struct {
// Conflict Detection strategy to use. Valid values are NONE and VERSION.
// +kubebuilder:validation:Optional
ConflictDetection *string `json:"conflictDetection,omitempty" tf:"conflict_detection,omitempty"`
// Conflict Resolution strategy to perform in the event of a conflict. Valid values are NONE, OPTIMISTIC_CONCURRENCY, AUTOMERGE, and LAMBDA.
// +kubebuilder:validation:Optional
ConflictHandler *string `json:"conflictHandler,omitempty" tf:"conflict_handler,omitempty"`
// Lambda Conflict Handler Config when configuring LAMBDA as the Conflict Handler. See Lambda Conflict Handler Config.
// +kubebuilder:validation:Optional
LambdaConflictHandlerConfig []LambdaConflictHandlerConfigParameters `json:"lambdaConflictHandlerConfig,omitempty" tf:"lambda_conflict_handler_config,omitempty"`
}
// FunctionSpec defines the desired state of Function
type FunctionSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider FunctionParameters `json:"forProvider"`
// THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored
// unless the relevant Crossplane feature flag is enabled, and may be
// changed or removed without notice.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider FunctionInitParameters `json:"initProvider,omitempty"`
}
// FunctionStatus defines the observed state of Function.
type FunctionStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider FunctionObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Function is the Schema for the Functions API. Provides an AppSync Function.
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}
type Function struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
Spec FunctionSpec `json:"spec"`
Status FunctionStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// FunctionList contains a list of Functions
type FunctionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Function `json:"items"`
}
// Repository type metadata.
var (
Function_Kind = "Function"
Function_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Function_Kind}.String()
Function_KindAPIVersion = Function_Kind + "." + CRDGroupVersion.String()
Function_GroupVersionKind = CRDGroupVersion.WithKind(Function_Kind)
)
func init() {
SchemeBuilder.Register(&Function{}, &FunctionList{})
}