/
zz_integration_types.go
executable file
·435 lines (332 loc) · 25.2 KB
/
zz_integration_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
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// 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 IntegrationInitParameters struct {
// API identifier.
// +crossplane:generate:reference:type=API
APIID *string `json:"apiId,omitempty" tf:"api_id,omitempty"`
// Reference to a API to populate apiId.
// +kubebuilder:validation:Optional
APIIDRef *v1.Reference `json:"apiIdRef,omitempty" tf:"-"`
// Selector for a API to populate apiId.
// +kubebuilder:validation:Optional
APIIDSelector *v1.Selector `json:"apiIdSelector,omitempty" tf:"-"`
// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/apigatewayv2/v1beta1.VPCLink
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`
// Reference to a VPCLink in apigatewayv2 to populate connectionId.
// +kubebuilder:validation:Optional
ConnectionIDRef *v1.Reference `json:"connectionIdRef,omitempty" tf:"-"`
// Selector for a VPCLink in apigatewayv2 to populate connectionId.
// +kubebuilder:validation:Optional
ConnectionIDSelector *v1.Selector `json:"connectionIdSelector,omitempty" tf:"-"`
// Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ConnectionType *string `json:"connectionType,omitempty" tf:"connection_type,omitempty"`
// How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
ContentHandlingStrategy *string `json:"contentHandlingStrategy,omitempty" tf:"content_handling_strategy,omitempty"`
// Credentials required for the integration, if any.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
CredentialsArn *string `json:"credentialsArn,omitempty" tf:"credentials_arn,omitempty"`
// Reference to a Role in iam to populate credentialsArn.
// +kubebuilder:validation:Optional
CredentialsArnRef *v1.Reference `json:"credentialsArnRef,omitempty" tf:"-"`
// Selector for a Role in iam to populate credentialsArn.
// +kubebuilder:validation:Optional
CredentialsArnSelector *v1.Selector `json:"credentialsArnSelector,omitempty" tf:"-"`
// Description of the integration.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationMethod *string `json:"integrationMethod,omitempty" tf:"integration_method,omitempty"`
// AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationSubtype *string `json:"integrationSubtype,omitempty" tf:"integration_subtype,omitempty"`
// Integration type of an integration.
// Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
IntegrationType *string `json:"integrationType,omitempty" tf:"integration_type,omitempty"`
// URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY.
// For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/lambda/v1beta1.Function
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("invoke_arn",true)
IntegrationURI *string `json:"integrationUri,omitempty" tf:"integration_uri,omitempty"`
// Reference to a Function in lambda to populate integrationUri.
// +kubebuilder:validation:Optional
IntegrationURIRef *v1.Reference `json:"integrationUriRef,omitempty" tf:"-"`
// Selector for a Function in lambda to populate integrationUri.
// +kubebuilder:validation:Optional
IntegrationURISelector *v1.Selector `json:"integrationUriSelector,omitempty" tf:"-"`
// Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute.
// Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PassthroughBehavior *string `json:"passthroughBehavior,omitempty" tf:"passthrough_behavior,omitempty"`
// The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
PayloadFormatVersion *string `json:"payloadFormatVersion,omitempty" tf:"payload_format_version,omitempty"`
// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
// For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations.
// For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend.
// See the Amazon API Gateway Developer Guide for details.
// +mapType=granular
RequestParameters map[string]*string `json:"requestParameters,omitempty" tf:"request_parameters,omitempty"`
// Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
// +mapType=granular
RequestTemplates map[string]*string `json:"requestTemplates,omitempty" tf:"request_templates,omitempty"`
// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
ResponseParameters []ResponseParametersInitParameters `json:"responseParameters,omitempty" tf:"response_parameters,omitempty"`
// TLS configuration for a private integration. Supported only for HTTP APIs.
TLSConfig []TLSConfigInitParameters `json:"tlsConfig,omitempty" tf:"tls_config,omitempty"`
// The template selection expression for the integration.
TemplateSelectionExpression *string `json:"templateSelectionExpression,omitempty" tf:"template_selection_expression,omitempty"`
// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
TimeoutMilliseconds *float64 `json:"timeoutMilliseconds,omitempty" tf:"timeout_milliseconds,omitempty"`
}
type IntegrationObservation struct {
// API identifier.
APIID *string `json:"apiId,omitempty" tf:"api_id,omitempty"`
// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`
// Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
ConnectionType *string `json:"connectionType,omitempty" tf:"connection_type,omitempty"`
// How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
ContentHandlingStrategy *string `json:"contentHandlingStrategy,omitempty" tf:"content_handling_strategy,omitempty"`
// Credentials required for the integration, if any.
CredentialsArn *string `json:"credentialsArn,omitempty" tf:"credentials_arn,omitempty"`
// Description of the integration.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Integration identifier.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Integration's HTTP method. Must be specified if integration_type is not MOCK.
IntegrationMethod *string `json:"integrationMethod,omitempty" tf:"integration_method,omitempty"`
// The integration response selection expression for the integration.
IntegrationResponseSelectionExpression *string `json:"integrationResponseSelectionExpression,omitempty" tf:"integration_response_selection_expression,omitempty"`
// AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
IntegrationSubtype *string `json:"integrationSubtype,omitempty" tf:"integration_subtype,omitempty"`
// Integration type of an integration.
// Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
IntegrationType *string `json:"integrationType,omitempty" tf:"integration_type,omitempty"`
// URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY.
// For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
IntegrationURI *string `json:"integrationUri,omitempty" tf:"integration_uri,omitempty"`
// Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute.
// Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
PassthroughBehavior *string `json:"passthroughBehavior,omitempty" tf:"passthrough_behavior,omitempty"`
// The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
PayloadFormatVersion *string `json:"payloadFormatVersion,omitempty" tf:"payload_format_version,omitempty"`
// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
// For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations.
// For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend.
// See the Amazon API Gateway Developer Guide for details.
// +mapType=granular
RequestParameters map[string]*string `json:"requestParameters,omitempty" tf:"request_parameters,omitempty"`
// Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
// +mapType=granular
RequestTemplates map[string]*string `json:"requestTemplates,omitempty" tf:"request_templates,omitempty"`
// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
ResponseParameters []ResponseParametersObservation `json:"responseParameters,omitempty" tf:"response_parameters,omitempty"`
// TLS configuration for a private integration. Supported only for HTTP APIs.
TLSConfig []TLSConfigObservation `json:"tlsConfig,omitempty" tf:"tls_config,omitempty"`
// The template selection expression for the integration.
TemplateSelectionExpression *string `json:"templateSelectionExpression,omitempty" tf:"template_selection_expression,omitempty"`
// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
TimeoutMilliseconds *float64 `json:"timeoutMilliseconds,omitempty" tf:"timeout_milliseconds,omitempty"`
}
type IntegrationParameters struct {
// API identifier.
// +crossplane:generate:reference:type=API
// +kubebuilder:validation:Optional
APIID *string `json:"apiId,omitempty" tf:"api_id,omitempty"`
// Reference to a API to populate apiId.
// +kubebuilder:validation:Optional
APIIDRef *v1.Reference `json:"apiIdRef,omitempty" tf:"-"`
// Selector for a API to populate apiId.
// +kubebuilder:validation:Optional
APIIDSelector *v1.Selector `json:"apiIdSelector,omitempty" tf:"-"`
// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/apigatewayv2/v1beta1.VPCLink
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
ConnectionID *string `json:"connectionId,omitempty" tf:"connection_id,omitempty"`
// Reference to a VPCLink in apigatewayv2 to populate connectionId.
// +kubebuilder:validation:Optional
ConnectionIDRef *v1.Reference `json:"connectionIdRef,omitempty" tf:"-"`
// Selector for a VPCLink in apigatewayv2 to populate connectionId.
// +kubebuilder:validation:Optional
ConnectionIDSelector *v1.Selector `json:"connectionIdSelector,omitempty" tf:"-"`
// Type of the network connection to the integration endpoint. Valid values: INTERNET, VPC_LINK. Default is INTERNET.
// +kubebuilder:validation:Optional
ConnectionType *string `json:"connectionType,omitempty" tf:"connection_type,omitempty"`
// How to handle response payload content type conversions. Valid values: CONVERT_TO_BINARY, CONVERT_TO_TEXT. Supported only for WebSocket APIs.
// +kubebuilder:validation:Optional
ContentHandlingStrategy *string `json:"contentHandlingStrategy,omitempty" tf:"content_handling_strategy,omitempty"`
// Credentials required for the integration, if any.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
// +kubebuilder:validation:Optional
CredentialsArn *string `json:"credentialsArn,omitempty" tf:"credentials_arn,omitempty"`
// Reference to a Role in iam to populate credentialsArn.
// +kubebuilder:validation:Optional
CredentialsArnRef *v1.Reference `json:"credentialsArnRef,omitempty" tf:"-"`
// Selector for a Role in iam to populate credentialsArn.
// +kubebuilder:validation:Optional
CredentialsArnSelector *v1.Selector `json:"credentialsArnSelector,omitempty" tf:"-"`
// Description of the integration.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Integration's HTTP method. Must be specified if integration_type is not MOCK.
// +kubebuilder:validation:Optional
IntegrationMethod *string `json:"integrationMethod,omitempty" tf:"integration_method,omitempty"`
// AWS service action to invoke. Supported only for HTTP APIs when integration_type is AWS_PROXY. See the AWS service integration reference documentation for supported values. Must be between 1 and 128 characters in length.
// +kubebuilder:validation:Optional
IntegrationSubtype *string `json:"integrationSubtype,omitempty" tf:"integration_subtype,omitempty"`
// Integration type of an integration.
// Valid values: AWS (supported only for WebSocket APIs), AWS_PROXY, HTTP (supported only for WebSocket APIs), HTTP_PROXY, MOCK (supported only for WebSocket APIs). For an HTTP API private integration, use HTTP_PROXY.
// +kubebuilder:validation:Optional
IntegrationType *string `json:"integrationType,omitempty" tf:"integration_type,omitempty"`
// URI of the Lambda function for a Lambda proxy integration, when integration_type is AWS_PROXY.
// For an HTTP integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/lambda/v1beta1.Function
// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("invoke_arn",true)
// +kubebuilder:validation:Optional
IntegrationURI *string `json:"integrationUri,omitempty" tf:"integration_uri,omitempty"`
// Reference to a Function in lambda to populate integrationUri.
// +kubebuilder:validation:Optional
IntegrationURIRef *v1.Reference `json:"integrationUriRef,omitempty" tf:"-"`
// Selector for a Function in lambda to populate integrationUri.
// +kubebuilder:validation:Optional
IntegrationURISelector *v1.Selector `json:"integrationUriSelector,omitempty" tf:"-"`
// Pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the request_templates attribute.
// Valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER. Default is WHEN_NO_MATCH. Supported only for WebSocket APIs.
// +kubebuilder:validation:Optional
PassthroughBehavior *string `json:"passthroughBehavior,omitempty" tf:"passthrough_behavior,omitempty"`
// The format of the payload sent to an integration. Valid values: 1.0, 2.0. Default is 1.0.
// +kubebuilder:validation:Optional
PayloadFormatVersion *string `json:"payloadFormatVersion,omitempty" tf:"payload_format_version,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:"-"`
// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
// For HTTP APIs with a specified integration_subtype, a key-value map specifying parameters that are passed to AWS_PROXY integrations.
// For HTTP APIs without a specified integration_subtype, a key-value map specifying how to transform HTTP requests before sending them to the backend.
// See the Amazon API Gateway Developer Guide for details.
// +kubebuilder:validation:Optional
// +mapType=granular
RequestParameters map[string]*string `json:"requestParameters,omitempty" tf:"request_parameters,omitempty"`
// Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
// +kubebuilder:validation:Optional
// +mapType=granular
RequestTemplates map[string]*string `json:"requestTemplates,omitempty" tf:"request_templates,omitempty"`
// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
// +kubebuilder:validation:Optional
ResponseParameters []ResponseParametersParameters `json:"responseParameters,omitempty" tf:"response_parameters,omitempty"`
// TLS configuration for a private integration. Supported only for HTTP APIs.
// +kubebuilder:validation:Optional
TLSConfig []TLSConfigParameters `json:"tlsConfig,omitempty" tf:"tls_config,omitempty"`
// The template selection expression for the integration.
// +kubebuilder:validation:Optional
TemplateSelectionExpression *string `json:"templateSelectionExpression,omitempty" tf:"template_selection_expression,omitempty"`
// Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
// +kubebuilder:validation:Optional
TimeoutMilliseconds *float64 `json:"timeoutMilliseconds,omitempty" tf:"timeout_milliseconds,omitempty"`
}
type ResponseParametersInitParameters struct {
// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.
// See the Amazon API Gateway Developer Guide for details.
// +mapType=granular
Mappings map[string]*string `json:"mappings,omitempty" tf:"mappings,omitempty"`
// HTTP status code in the range 200-599.
StatusCode *string `json:"statusCode,omitempty" tf:"status_code,omitempty"`
}
type ResponseParametersObservation struct {
// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.
// See the Amazon API Gateway Developer Guide for details.
// +mapType=granular
Mappings map[string]*string `json:"mappings,omitempty" tf:"mappings,omitempty"`
// HTTP status code in the range 200-599.
StatusCode *string `json:"statusCode,omitempty" tf:"status_code,omitempty"`
}
type ResponseParametersParameters struct {
// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.
// See the Amazon API Gateway Developer Guide for details.
// +kubebuilder:validation:Optional
// +mapType=granular
Mappings map[string]*string `json:"mappings" tf:"mappings,omitempty"`
// HTTP status code in the range 200-599.
// +kubebuilder:validation:Optional
StatusCode *string `json:"statusCode" tf:"status_code,omitempty"`
}
type TLSConfigInitParameters struct {
// If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
ServerNameToVerify *string `json:"serverNameToVerify,omitempty" tf:"server_name_to_verify,omitempty"`
}
type TLSConfigObservation struct {
// If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
ServerNameToVerify *string `json:"serverNameToVerify,omitempty" tf:"server_name_to_verify,omitempty"`
}
type TLSConfigParameters struct {
// If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
// +kubebuilder:validation:Optional
ServerNameToVerify *string `json:"serverNameToVerify,omitempty" tf:"server_name_to_verify,omitempty"`
}
// IntegrationSpec defines the desired state of Integration
type IntegrationSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider IntegrationParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// 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 IntegrationInitParameters `json:"initProvider,omitempty"`
}
// IntegrationStatus defines the observed state of Integration.
type IntegrationStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider IntegrationObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// Integration is the Schema for the Integrations API. Manages an Amazon API Gateway Version 2 integration.
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,aws}
type Integration 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.integrationType) || (has(self.initProvider) && has(self.initProvider.integrationType))",message="spec.forProvider.integrationType is a required parameter"
Spec IntegrationSpec `json:"spec"`
Status IntegrationStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// IntegrationList contains a list of Integrations
type IntegrationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Integration `json:"items"`
}
// Repository type metadata.
var (
Integration_Kind = "Integration"
Integration_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Integration_Kind}.String()
Integration_KindAPIVersion = Integration_Kind + "." + CRDGroupVersion.String()
Integration_GroupVersionKind = CRDGroupVersion.WithKind(Integration_Kind)
)
func init() {
SchemeBuilder.Register(&Integration{}, &IntegrationList{})
}