diff --git a/Makefile b/Makefile index 158630c094..5897f6d95e 100644 --- a/Makefile +++ b/Makefile @@ -324,4 +324,7 @@ kustomize-crds: output.init $(KUSTOMIZE) $(YQ) XDG_CONFIG_HOME=$(PWD)/package $(KUSTOMIZE) build --enable-alpha-plugins $(OUTPUT_DIR)/package/kustomize -o $(OUTPUT_DIR)/package/crds.yaml || $(FAIL) @$(OK) Kustomizing CRDs. +checkout-to-old-api: + CHECKOUT_RELEASE_VERSION=$(CHECKOUT_RELEASE_VERSION) hack/check-duplicate.sh + .PHONY: kustomize-crds diff --git a/apis/accessanalyzer/v1beta1/zz_analyzer_types.go b/apis/accessanalyzer/v1beta1/zz_analyzer_types.go index fce6a8f40f..4701e524ec 100755 --- a/apis/accessanalyzer/v1beta1/zz_analyzer_types.go +++ b/apis/accessanalyzer/v1beta1/zz_analyzer_types.go @@ -89,6 +89,7 @@ type AnalyzerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Analyzer is the Schema for the Analyzers API. Manages an Access Analyzer Analyzer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/accessanalyzer/v1beta1/zz_archiverule_types.go b/apis/accessanalyzer/v1beta1/zz_archiverule_types.go index f3c758375e..53dfd3c5a6 100755 --- a/apis/accessanalyzer/v1beta1/zz_archiverule_types.go +++ b/apis/accessanalyzer/v1beta1/zz_archiverule_types.go @@ -135,6 +135,7 @@ type ArchiveRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ArchiveRule is the Schema for the ArchiveRules API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/account/v1beta1/zz_alternatecontact_types.go b/apis/account/v1beta1/zz_alternatecontact_types.go index 085e0c7bce..04e8dc8b95 100755 --- a/apis/account/v1beta1/zz_alternatecontact_types.go +++ b/apis/account/v1beta1/zz_alternatecontact_types.go @@ -115,6 +115,7 @@ type AlternateContactStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AlternateContact is the Schema for the AlternateContacts API. Manages the specified alternate contact attached to an AWS Account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acm/v1beta1/zz_certificate_types.go b/apis/acm/v1beta1/zz_certificate_types.go index 6df7fe4c43..3f777dceb3 100755 --- a/apis/acm/v1beta1/zz_certificate_types.go +++ b/apis/acm/v1beta1/zz_certificate_types.go @@ -313,6 +313,7 @@ type CertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. Requests and manages a certificate from Amazon Certificate Manager (ACM). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acm/v1beta1/zz_certificatevalidation_types.go b/apis/acm/v1beta1/zz_certificatevalidation_types.go index 597a6c2151..eecc16dad2 100755 --- a/apis/acm/v1beta1/zz_certificatevalidation_types.go +++ b/apis/acm/v1beta1/zz_certificatevalidation_types.go @@ -100,6 +100,7 @@ type CertificateValidationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CertificateValidation is the Schema for the CertificateValidations API. Waits for and checks successful validation of an ACM certificate. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acmpca/v1beta1/zz_certificate_types.go b/apis/acmpca/v1beta1/zz_certificate_types.go index 46f095046c..651449a222 100755 --- a/apis/acmpca/v1beta1/zz_certificate_types.go +++ b/apis/acmpca/v1beta1/zz_certificate_types.go @@ -171,6 +171,7 @@ type CertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. Provides a resource to issue a certificate using AWS Certificate Manager Private Certificate Authority (ACM PCA) // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acmpca/v1beta1/zz_certificateauthority_types.go b/apis/acmpca/v1beta1/zz_certificateauthority_types.go index abbcae44b5..cd9d7e5992 100755 --- a/apis/acmpca/v1beta1/zz_certificateauthority_types.go +++ b/apis/acmpca/v1beta1/zz_certificateauthority_types.go @@ -465,6 +465,7 @@ type CertificateAuthorityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CertificateAuthority is the Schema for the CertificateAuthoritys API. Provides a resource to manage AWS Certificate Manager Private Certificate Authorities // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acmpca/v1beta1/zz_certificateauthoritycertificate_types.go b/apis/acmpca/v1beta1/zz_certificateauthoritycertificate_types.go index 454913a314..5a87fc8773 100755 --- a/apis/acmpca/v1beta1/zz_certificateauthoritycertificate_types.go +++ b/apis/acmpca/v1beta1/zz_certificateauthoritycertificate_types.go @@ -94,6 +94,7 @@ type CertificateAuthorityCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CertificateAuthorityCertificate is the Schema for the CertificateAuthorityCertificates API. Associates a certificate with an AWS Certificate Manager Private Certificate Authority // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acmpca/v1beta1/zz_permission_types.go b/apis/acmpca/v1beta1/zz_permission_types.go index 5bdd9c481e..15c05c3bf1 100755 --- a/apis/acmpca/v1beta1/zz_permission_types.go +++ b/apis/acmpca/v1beta1/zz_permission_types.go @@ -124,6 +124,7 @@ type PermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Permission is the Schema for the Permissions API. Provides a resource to manage an AWS Certificate Manager Private Certificate Authorities Permission // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/acmpca/v1beta1/zz_policy_types.go b/apis/acmpca/v1beta1/zz_policy_types.go index b9d373d402..44c1e0b1d3 100755 --- a/apis/acmpca/v1beta1/zz_policy_types.go +++ b/apis/acmpca/v1beta1/zz_policy_types.go @@ -97,6 +97,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Attaches a resource based policy to an AWS Certificate Manager Private Certificate Authority (ACM PCA) // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amp/v1beta1/zz_alertmanagerdefinition_types.go b/apis/amp/v1beta1/zz_alertmanagerdefinition_types.go index cb60f82d58..325ac9ab58 100755 --- a/apis/amp/v1beta1/zz_alertmanagerdefinition_types.go +++ b/apis/amp/v1beta1/zz_alertmanagerdefinition_types.go @@ -98,6 +98,7 @@ type AlertManagerDefinitionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AlertManagerDefinition is the Schema for the AlertManagerDefinitions API. Manages an Amazon Managed Service for Prometheus (AMP) Alert Manager Definition // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amp/v1beta1/zz_rulegroupnamespace_types.go b/apis/amp/v1beta1/zz_rulegroupnamespace_types.go index 5484092414..5cc6705f06 100755 --- a/apis/amp/v1beta1/zz_rulegroupnamespace_types.go +++ b/apis/amp/v1beta1/zz_rulegroupnamespace_types.go @@ -85,6 +85,7 @@ type RuleGroupNamespaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RuleGroupNamespace is the Schema for the RuleGroupNamespaces API. Manages an Amazon Managed Service for Prometheus (AMP) Rule Group Namespace // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amp/v1beta1/zz_workspace_types.go b/apis/amp/v1beta1/zz_workspace_types.go index 0c93be6044..bfd30837af 100755 --- a/apis/amp/v1beta1/zz_workspace_types.go +++ b/apis/amp/v1beta1/zz_workspace_types.go @@ -121,6 +121,7 @@ type WorkspaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workspace is the Schema for the Workspaces API. Manages an Amazon Managed Service for Prometheus (AMP) Workspace // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amplify/v1beta1/zz_app_types.go b/apis/amplify/v1beta1/zz_app_types.go index 08608cc7fd..7ea3a8dd62 100755 --- a/apis/amplify/v1beta1/zz_app_types.go +++ b/apis/amplify/v1beta1/zz_app_types.go @@ -449,6 +449,7 @@ type AppStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // App is the Schema for the Apps API. Provides an Amplify App resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amplify/v1beta1/zz_backendenvironment_types.go b/apis/amplify/v1beta1/zz_backendenvironment_types.go index c543d741f2..26a89ac0d9 100755 --- a/apis/amplify/v1beta1/zz_backendenvironment_types.go +++ b/apis/amplify/v1beta1/zz_backendenvironment_types.go @@ -99,6 +99,7 @@ type BackendEnvironmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BackendEnvironment is the Schema for the BackendEnvironments API. Provides an Amplify Backend Environment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amplify/v1beta1/zz_branch_types.go b/apis/amplify/v1beta1/zz_branch_types.go index d657c57aa0..2f47b4eff4 100755 --- a/apis/amplify/v1beta1/zz_branch_types.go +++ b/apis/amplify/v1beta1/zz_branch_types.go @@ -244,6 +244,7 @@ type BranchStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Branch is the Schema for the Branchs API. Provides an Amplify Branch resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/amplify/v1beta1/zz_webhook_types.go b/apis/amplify/v1beta1/zz_webhook_types.go index 9f49d995ee..ee52e04b67 100755 --- a/apis/amplify/v1beta1/zz_webhook_types.go +++ b/apis/amplify/v1beta1/zz_webhook_types.go @@ -132,6 +132,7 @@ type WebhookStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Webhook is the Schema for the Webhooks API. Provides an Amplify Webhook resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_account_types.go b/apis/apigateway/v1beta1/zz_account_types.go index e29575dd26..ebfe46b5a8 100755 --- a/apis/apigateway/v1beta1/zz_account_types.go +++ b/apis/apigateway/v1beta1/zz_account_types.go @@ -113,6 +113,7 @@ type AccountStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Account is the Schema for the Accounts API. Provides a settings of an API Gateway Account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_apikey_types.go b/apis/apigateway/v1beta1/zz_apikey_types.go index d59875b8fc..bcd3ec614a 100755 --- a/apis/apigateway/v1beta1/zz_apikey_types.go +++ b/apis/apigateway/v1beta1/zz_apikey_types.go @@ -129,6 +129,7 @@ type APIKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // APIKey is the Schema for the APIKeys API. Provides an API Gateway API Key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_authorizer_types.go b/apis/apigateway/v1beta1/zz_authorizer_types.go index f58c9576b1..ed717df530 100755 --- a/apis/apigateway/v1beta1/zz_authorizer_types.go +++ b/apis/apigateway/v1beta1/zz_authorizer_types.go @@ -218,6 +218,7 @@ type AuthorizerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Authorizer is the Schema for the Authorizers API. Provides an API Gateway Authorizer. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_basepathmapping_types.go b/apis/apigateway/v1beta1/zz_basepathmapping_types.go index 172ddb59e2..10cf7e0c61 100755 --- a/apis/apigateway/v1beta1/zz_basepathmapping_types.go +++ b/apis/apigateway/v1beta1/zz_basepathmapping_types.go @@ -158,6 +158,7 @@ type BasePathMappingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BasePathMapping is the Schema for the BasePathMappings API. Connects a custom domain with a deployed API // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_clientcertificate_types.go b/apis/apigateway/v1beta1/zz_clientcertificate_types.go index a12fefb342..0d93954c37 100755 --- a/apis/apigateway/v1beta1/zz_clientcertificate_types.go +++ b/apis/apigateway/v1beta1/zz_clientcertificate_types.go @@ -98,6 +98,7 @@ type ClientCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClientCertificate is the Schema for the ClientCertificates API. Provides an API Gateway Client Certificate. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_deployment_types.go b/apis/apigateway/v1beta1/zz_deployment_types.go index d45db79fdc..a02c94801f 100755 --- a/apis/apigateway/v1beta1/zz_deployment_types.go +++ b/apis/apigateway/v1beta1/zz_deployment_types.go @@ -157,6 +157,7 @@ type DeploymentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Deployment is the Schema for the Deployments API. Manages an API Gateway REST Deployment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_documentationpart_types.go b/apis/apigateway/v1beta1/zz_documentationpart_types.go index 2c504c7e78..386fe79854 100755 --- a/apis/apigateway/v1beta1/zz_documentationpart_types.go +++ b/apis/apigateway/v1beta1/zz_documentationpart_types.go @@ -168,6 +168,7 @@ type DocumentationPartStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DocumentationPart is the Schema for the DocumentationParts API. Provides a settings of an API Gateway Documentation Part. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_documentationversion_types.go b/apis/apigateway/v1beta1/zz_documentationversion_types.go index bfad3acd84..e8c2023482 100755 --- a/apis/apigateway/v1beta1/zz_documentationversion_types.go +++ b/apis/apigateway/v1beta1/zz_documentationversion_types.go @@ -108,6 +108,7 @@ type DocumentationVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DocumentationVersion is the Schema for the DocumentationVersions API. Provides a resource to manage an API Gateway Documentation Version. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_domainname_types.go b/apis/apigateway/v1beta1/zz_domainname_types.go index 3287b20c26..1524853269 100755 --- a/apis/apigateway/v1beta1/zz_domainname_types.go +++ b/apis/apigateway/v1beta1/zz_domainname_types.go @@ -296,6 +296,7 @@ type DomainNameStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainName is the Schema for the DomainNames API. Registers a custom domain name for use with AWS API Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_gatewayresponse_types.go b/apis/apigateway/v1beta1/zz_gatewayresponse_types.go index 7947290238..4e33b2aadf 100755 --- a/apis/apigateway/v1beta1/zz_gatewayresponse_types.go +++ b/apis/apigateway/v1beta1/zz_gatewayresponse_types.go @@ -133,6 +133,7 @@ type GatewayResponseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GatewayResponse is the Schema for the GatewayResponses API. Provides an API Gateway Gateway Response for a REST API Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_integration_types.go b/apis/apigateway/v1beta1/zz_integration_types.go index b266448a1a..c14f3dd130 100755 --- a/apis/apigateway/v1beta1/zz_integration_types.go +++ b/apis/apigateway/v1beta1/zz_integration_types.go @@ -380,6 +380,7 @@ type IntegrationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Integration is the Schema for the Integrations API. Provides an HTTP Method Integration for an API Gateway Integration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_integrationresponse_types.go b/apis/apigateway/v1beta1/zz_integrationresponse_types.go index a5f8d2cec8..9e2048d5c0 100755 --- a/apis/apigateway/v1beta1/zz_integrationresponse_types.go +++ b/apis/apigateway/v1beta1/zz_integrationresponse_types.go @@ -224,6 +224,7 @@ type IntegrationResponseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IntegrationResponse is the Schema for the IntegrationResponses API. Provides an HTTP Method Integration Response for an API Gateway Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_method_types.go b/apis/apigateway/v1beta1/zz_method_types.go index ac39da767c..fb3c208aaf 100755 --- a/apis/apigateway/v1beta1/zz_method_types.go +++ b/apis/apigateway/v1beta1/zz_method_types.go @@ -246,6 +246,7 @@ type MethodStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Method is the Schema for the Methods API. Provides a HTTP Method for an API Gateway Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_methodresponse_types.go b/apis/apigateway/v1beta1/zz_methodresponse_types.go index 087ed235de..b04c5da48f 100755 --- a/apis/apigateway/v1beta1/zz_methodresponse_types.go +++ b/apis/apigateway/v1beta1/zz_methodresponse_types.go @@ -190,6 +190,7 @@ type MethodResponseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MethodResponse is the Schema for the MethodResponses API. Provides an HTTP Method Response for an API Gateway Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_methodsettings_types.go b/apis/apigateway/v1beta1/zz_methodsettings_types.go index 5c8d69c1d0..38e3353eaf 100755 --- a/apis/apigateway/v1beta1/zz_methodsettings_types.go +++ b/apis/apigateway/v1beta1/zz_methodsettings_types.go @@ -246,6 +246,7 @@ type MethodSettingsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MethodSettings is the Schema for the MethodSettingss API. Manages API Gateway Stage Method Settings // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_model_types.go b/apis/apigateway/v1beta1/zz_model_types.go index 865a1739db..a8430efb21 100755 --- a/apis/apigateway/v1beta1/zz_model_types.go +++ b/apis/apigateway/v1beta1/zz_model_types.go @@ -129,6 +129,7 @@ type ModelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Model is the Schema for the Models API. Provides a Model for a REST API Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_requestvalidator_types.go b/apis/apigateway/v1beta1/zz_requestvalidator_types.go index f926fa07de..f012d606d0 100755 --- a/apis/apigateway/v1beta1/zz_requestvalidator_types.go +++ b/apis/apigateway/v1beta1/zz_requestvalidator_types.go @@ -119,6 +119,7 @@ type RequestValidatorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RequestValidator is the Schema for the RequestValidators API. Manages an API Gateway Request Validator. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_resource_types.go b/apis/apigateway/v1beta1/zz_resource_types.go index e5f787d7fc..74fb873081 100755 --- a/apis/apigateway/v1beta1/zz_resource_types.go +++ b/apis/apigateway/v1beta1/zz_resource_types.go @@ -132,6 +132,7 @@ type ResourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Resource is the Schema for the Resources API. Provides an API Gateway Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_restapi_types.go b/apis/apigateway/v1beta1/zz_restapi_types.go index 245ca2020f..6e6fef543b 100755 --- a/apis/apigateway/v1beta1/zz_restapi_types.go +++ b/apis/apigateway/v1beta1/zz_restapi_types.go @@ -238,6 +238,7 @@ type RestAPIStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RestAPI is the Schema for the RestAPIs API. Manages an API Gateway REST API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_restapipolicy_types.go b/apis/apigateway/v1beta1/zz_restapipolicy_types.go index 5cd8fe63c5..a3111a99b5 100755 --- a/apis/apigateway/v1beta1/zz_restapipolicy_types.go +++ b/apis/apigateway/v1beta1/zz_restapipolicy_types.go @@ -99,6 +99,7 @@ type RestAPIPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RestAPIPolicy is the Schema for the RestAPIPolicys API. Provides an API Gateway REST API Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_stage_types.go b/apis/apigateway/v1beta1/zz_stage_types.go index 71572c92d1..f282a22068 100755 --- a/apis/apigateway/v1beta1/zz_stage_types.go +++ b/apis/apigateway/v1beta1/zz_stage_types.go @@ -328,6 +328,7 @@ type StageStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stage is the Schema for the Stages API. Manages an API Gateway Stage. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_usageplan_types.go b/apis/apigateway/v1beta1/zz_usageplan_types.go index 4784983b43..34e2997477 100755 --- a/apis/apigateway/v1beta1/zz_usageplan_types.go +++ b/apis/apigateway/v1beta1/zz_usageplan_types.go @@ -325,6 +325,7 @@ type UsagePlanStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UsagePlan is the Schema for the UsagePlans API. Provides an API Gateway Usage Plan. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_usageplankey_types.go b/apis/apigateway/v1beta1/zz_usageplankey_types.go index a65e22283b..92fa331c37 100755 --- a/apis/apigateway/v1beta1/zz_usageplankey_types.go +++ b/apis/apigateway/v1beta1/zz_usageplankey_types.go @@ -135,6 +135,7 @@ type UsagePlanKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UsagePlanKey is the Schema for the UsagePlanKeys API. Provides an API Gateway Usage Plan Key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigateway/v1beta1/zz_vpclink_types.go b/apis/apigateway/v1beta1/zz_vpclink_types.go index df66d21bf3..b979641f4f 100755 --- a/apis/apigateway/v1beta1/zz_vpclink_types.go +++ b/apis/apigateway/v1beta1/zz_vpclink_types.go @@ -131,6 +131,7 @@ type VPCLinkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCLink is the Schema for the VPCLinks API. Provides an API Gateway VPC Link. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_api_types.go b/apis/apigatewayv2/v1beta1/zz_api_types.go index cbd3eb98e5..2b67309393 100755 --- a/apis/apigatewayv2/v1beta1/zz_api_types.go +++ b/apis/apigatewayv2/v1beta1/zz_api_types.go @@ -319,6 +319,7 @@ type APIStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // API is the Schema for the APIs API. Manages an Amazon API Gateway Version 2 API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_apimapping_types.go b/apis/apigatewayv2/v1beta1/zz_apimapping_types.go index ad0c462781..954e372792 100755 --- a/apis/apigatewayv2/v1beta1/zz_apimapping_types.go +++ b/apis/apigatewayv2/v1beta1/zz_apimapping_types.go @@ -155,6 +155,7 @@ type APIMappingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // APIMapping is the Schema for the APIMappings API. Manages an Amazon API Gateway Version 2 API mapping. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_authorizer_types.go b/apis/apigatewayv2/v1beta1/zz_authorizer_types.go index 11384ed31d..9e51a67063 100755 --- a/apis/apigatewayv2/v1beta1/zz_authorizer_types.go +++ b/apis/apigatewayv2/v1beta1/zz_authorizer_types.go @@ -268,6 +268,7 @@ type AuthorizerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Authorizer is the Schema for the Authorizers API. Manages an Amazon API Gateway Version 2 authorizer. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_deployment_types.go b/apis/apigatewayv2/v1beta1/zz_deployment_types.go index e1dde70f72..5a3b07a64e 100755 --- a/apis/apigatewayv2/v1beta1/zz_deployment_types.go +++ b/apis/apigatewayv2/v1beta1/zz_deployment_types.go @@ -100,6 +100,7 @@ type DeploymentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Deployment is the Schema for the Deployments API. Manages an Amazon API Gateway Version 2 deployment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_domainname_types.go b/apis/apigatewayv2/v1beta1/zz_domainname_types.go index 76a2783f9c..9163a8a584 100755 --- a/apis/apigatewayv2/v1beta1/zz_domainname_types.go +++ b/apis/apigatewayv2/v1beta1/zz_domainname_types.go @@ -206,6 +206,7 @@ type DomainNameStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainName is the Schema for the DomainNames API. Manages an Amazon API Gateway Version 2 domain name. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_integration_types.go b/apis/apigatewayv2/v1beta1/zz_integration_types.go index 29315b6242..e3fe907656 100755 --- a/apis/apigatewayv2/v1beta1/zz_integration_types.go +++ b/apis/apigatewayv2/v1beta1/zz_integration_types.go @@ -401,6 +401,7 @@ type IntegrationStatus struct { // +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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_integrationresponse_types.go b/apis/apigatewayv2/v1beta1/zz_integrationresponse_types.go index 2c1b9b4a6b..01ce32fa74 100755 --- a/apis/apigatewayv2/v1beta1/zz_integrationresponse_types.go +++ b/apis/apigatewayv2/v1beta1/zz_integrationresponse_types.go @@ -158,6 +158,7 @@ type IntegrationResponseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IntegrationResponse is the Schema for the IntegrationResponses API. Manages an Amazon API Gateway Version 2 integration response. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_model_types.go b/apis/apigatewayv2/v1beta1/zz_model_types.go index a374a9d8e8..53cfaa83ef 100755 --- a/apis/apigatewayv2/v1beta1/zz_model_types.go +++ b/apis/apigatewayv2/v1beta1/zz_model_types.go @@ -127,6 +127,7 @@ type ModelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Model is the Schema for the Models API. Manages an Amazon API Gateway Version 2 model. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_route_types.go b/apis/apigatewayv2/v1beta1/zz_route_types.go index db4bdc7faf..5b4d92f2f1 100755 --- a/apis/apigatewayv2/v1beta1/zz_route_types.go +++ b/apis/apigatewayv2/v1beta1/zz_route_types.go @@ -279,6 +279,7 @@ type RouteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Route is the Schema for the Routes API. Manages an Amazon API Gateway Version 2 route. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_routeresponse_types.go b/apis/apigatewayv2/v1beta1/zz_routeresponse_types.go index 1fb51f39f9..c8e0085d6f 100755 --- a/apis/apigatewayv2/v1beta1/zz_routeresponse_types.go +++ b/apis/apigatewayv2/v1beta1/zz_routeresponse_types.go @@ -148,6 +148,7 @@ type RouteResponseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RouteResponse is the Schema for the RouteResponses API. Manages an Amazon API Gateway Version 2 route response. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_stage_types.go b/apis/apigatewayv2/v1beta1/zz_stage_types.go index 971dab9a80..963e7fbffd 100755 --- a/apis/apigatewayv2/v1beta1/zz_stage_types.go +++ b/apis/apigatewayv2/v1beta1/zz_stage_types.go @@ -392,6 +392,7 @@ type StageStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stage is the Schema for the Stages API. Manages an Amazon API Gateway Version 2 stage. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apigatewayv2/v1beta1/zz_vpclink_types.go b/apis/apigatewayv2/v1beta1/zz_vpclink_types.go index 60a1e67f50..1f4a3f5307 100755 --- a/apis/apigatewayv2/v1beta1/zz_vpclink_types.go +++ b/apis/apigatewayv2/v1beta1/zz_vpclink_types.go @@ -159,6 +159,7 @@ type VPCLinkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCLink is the Schema for the VPCLinks API. Manages an Amazon API Gateway Version 2 VPC Link. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appautoscaling/v1beta1/zz_policy_types.go b/apis/appautoscaling/v1beta1/zz_policy_types.go index cd20e48604..1e6a2d38f1 100755 --- a/apis/appautoscaling/v1beta1/zz_policy_types.go +++ b/apis/appautoscaling/v1beta1/zz_policy_types.go @@ -606,6 +606,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides an Application AutoScaling Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appautoscaling/v1beta1/zz_scheduledaction_types.go b/apis/appautoscaling/v1beta1/zz_scheduledaction_types.go index 8adbef85db..f1409511a8 100755 --- a/apis/appautoscaling/v1beta1/zz_scheduledaction_types.go +++ b/apis/appautoscaling/v1beta1/zz_scheduledaction_types.go @@ -240,6 +240,7 @@ type ScheduledActionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ScheduledAction is the Schema for the ScheduledActions API. Provides an Application AutoScaling ScheduledAction resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appautoscaling/v1beta1/zz_target_types.go b/apis/appautoscaling/v1beta1/zz_target_types.go index 3310ffa2e0..9a789a6860 100755 --- a/apis/appautoscaling/v1beta1/zz_target_types.go +++ b/apis/appautoscaling/v1beta1/zz_target_types.go @@ -158,6 +158,7 @@ type TargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Target is the Schema for the Targets API. Provides an Application AutoScaling ScalableTarget resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_application_types.go b/apis/appconfig/v1beta1/zz_application_types.go index a940435166..7626425d45 100755 --- a/apis/appconfig/v1beta1/zz_application_types.go +++ b/apis/appconfig/v1beta1/zz_application_types.go @@ -99,6 +99,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Provides an AppConfig Application resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_configurationprofile_types.go b/apis/appconfig/v1beta1/zz_configurationprofile_types.go index 4bae92b9f2..49210348a2 100755 --- a/apis/appconfig/v1beta1/zz_configurationprofile_types.go +++ b/apis/appconfig/v1beta1/zz_configurationprofile_types.go @@ -225,6 +225,7 @@ type ConfigurationProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationProfile is the Schema for the ConfigurationProfiles API. Provides an AppConfig Configuration Profile resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_deployment_types.go b/apis/appconfig/v1beta1/zz_deployment_types.go index e6887e2f7d..b70ccd0c9c 100755 --- a/apis/appconfig/v1beta1/zz_deployment_types.go +++ b/apis/appconfig/v1beta1/zz_deployment_types.go @@ -278,6 +278,7 @@ type DeploymentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Deployment is the Schema for the Deployments API. Provides an AppConfig Deployment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_deploymentstrategy_types.go b/apis/appconfig/v1beta1/zz_deploymentstrategy_types.go index bcf1a0ea28..4653b3c82c 100755 --- a/apis/appconfig/v1beta1/zz_deploymentstrategy_types.go +++ b/apis/appconfig/v1beta1/zz_deploymentstrategy_types.go @@ -149,6 +149,7 @@ type DeploymentStrategyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeploymentStrategy is the Schema for the DeploymentStrategys API. Provides an AppConfig Deployment Strategy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_environment_types.go b/apis/appconfig/v1beta1/zz_environment_types.go index 32f627c052..b84b016fdd 100755 --- a/apis/appconfig/v1beta1/zz_environment_types.go +++ b/apis/appconfig/v1beta1/zz_environment_types.go @@ -215,6 +215,7 @@ type EnvironmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Environment is the Schema for the Environments API. Provides an AppConfig Environment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_extension_types.go b/apis/appconfig/v1beta1/zz_extension_types.go index 129318b596..ba781020f4 100755 --- a/apis/appconfig/v1beta1/zz_extension_types.go +++ b/apis/appconfig/v1beta1/zz_extension_types.go @@ -278,6 +278,7 @@ type ExtensionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Extension is the Schema for the Extensions API. Provides an AppConfig Extension resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_extensionassociation_types.go b/apis/appconfig/v1beta1/zz_extensionassociation_types.go index 5a2725413d..f4f012f4cc 100755 --- a/apis/appconfig/v1beta1/zz_extensionassociation_types.go +++ b/apis/appconfig/v1beta1/zz_extensionassociation_types.go @@ -138,6 +138,7 @@ type ExtensionAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ExtensionAssociation is the Schema for the ExtensionAssociations API. Associates an AppConfig Extension with a Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appconfig/v1beta1/zz_hostedconfigurationversion_types.go b/apis/appconfig/v1beta1/zz_hostedconfigurationversion_types.go index 67a20be1b5..abe0b32771 100755 --- a/apis/appconfig/v1beta1/zz_hostedconfigurationversion_types.go +++ b/apis/appconfig/v1beta1/zz_hostedconfigurationversion_types.go @@ -149,6 +149,7 @@ type HostedConfigurationVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedConfigurationVersion is the Schema for the HostedConfigurationVersions API. Provides an AppConfig Hosted Configuration Version resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appflow/v1beta1/zz_flow_types.go b/apis/appflow/v1beta1/zz_flow_types.go index c2f8b675ed..f66c457fef 100755 --- a/apis/appflow/v1beta1/zz_flow_types.go +++ b/apis/appflow/v1beta1/zz_flow_types.go @@ -2463,6 +2463,7 @@ type FlowStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Flow is the Schema for the Flows API. Provides an AppFlow Flow resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appintegrations/v1beta1/zz_eventintegration_types.go b/apis/appintegrations/v1beta1/zz_eventintegration_types.go index 8a233ab2a6..5b254d7ae1 100755 --- a/apis/appintegrations/v1beta1/zz_eventintegration_types.go +++ b/apis/appintegrations/v1beta1/zz_eventintegration_types.go @@ -128,6 +128,7 @@ type EventIntegrationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventIntegration is the Schema for the EventIntegrations API. Provides details about a specific Amazon AppIntegrations Event Integration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/applicationinsights/v1beta1/zz_application_types.go b/apis/applicationinsights/v1beta1/zz_application_types.go index ec25e22d5c..c9729e677a 100755 --- a/apis/applicationinsights/v1beta1/zz_application_types.go +++ b/apis/applicationinsights/v1beta1/zz_application_types.go @@ -139,6 +139,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Provides a CloudWatch Application Insights Application resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_gatewayroute_types.go b/apis/appmesh/v1beta1/zz_gatewayroute_types.go index cea1f7756c..ef5cb03cee 100755 --- a/apis/appmesh/v1beta1/zz_gatewayroute_types.go +++ b/apis/appmesh/v1beta1/zz_gatewayroute_types.go @@ -1380,6 +1380,7 @@ type GatewayRouteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GatewayRoute is the Schema for the GatewayRoutes API. Provides an AWS App Mesh gateway route resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_mesh_types.go b/apis/appmesh/v1beta1/zz_mesh_types.go index 6772ca3ccb..102ef407d7 100755 --- a/apis/appmesh/v1beta1/zz_mesh_types.go +++ b/apis/appmesh/v1beta1/zz_mesh_types.go @@ -142,6 +142,7 @@ type MeshStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Mesh is the Schema for the Meshs API. Provides an AWS App Mesh service mesh resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_route_types.go b/apis/appmesh/v1beta1/zz_route_types.go index 48fe1b0822..0283c1b181 100755 --- a/apis/appmesh/v1beta1/zz_route_types.go +++ b/apis/appmesh/v1beta1/zz_route_types.go @@ -2067,6 +2067,7 @@ type RouteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Route is the Schema for the Routes API. Provides an AWS App Mesh route resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_virtualgateway_types.go b/apis/appmesh/v1beta1/zz_virtualgateway_types.go index aedf424578..a40abe0af3 100755 --- a/apis/appmesh/v1beta1/zz_virtualgateway_types.go +++ b/apis/appmesh/v1beta1/zz_virtualgateway_types.go @@ -1193,6 +1193,7 @@ type VirtualGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VirtualGateway is the Schema for the VirtualGateways API. Provides an AWS App Mesh virtual gateway resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_virtualnode_types.go b/apis/appmesh/v1beta1/zz_virtualnode_types.go index 1392d5103a..986a7a9b6e 100755 --- a/apis/appmesh/v1beta1/zz_virtualnode_types.go +++ b/apis/appmesh/v1beta1/zz_virtualnode_types.go @@ -2228,6 +2228,7 @@ type VirtualNodeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VirtualNode is the Schema for the VirtualNodes API. Provides an AWS App Mesh virtual node resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_virtualrouter_types.go b/apis/appmesh/v1beta1/zz_virtualrouter_types.go index 20d8f6f5bc..96fa96ef1b 100755 --- a/apis/appmesh/v1beta1/zz_virtualrouter_types.go +++ b/apis/appmesh/v1beta1/zz_virtualrouter_types.go @@ -215,6 +215,7 @@ type VirtualRouterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VirtualRouter is the Schema for the VirtualRouters API. Provides an AWS App Mesh virtual router resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appmesh/v1beta1/zz_virtualservice_types.go b/apis/appmesh/v1beta1/zz_virtualservice_types.go index 613d4f40d0..25d4e0d559 100755 --- a/apis/appmesh/v1beta1/zz_virtualservice_types.go +++ b/apis/appmesh/v1beta1/zz_virtualservice_types.go @@ -274,6 +274,7 @@ type VirtualServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VirtualService is the Schema for the VirtualServices API. Provides an AWS App Mesh virtual service resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apprunner/v1beta1/zz_autoscalingconfigurationversion_types.go b/apis/apprunner/v1beta1/zz_autoscalingconfigurationversion_types.go index 6b2774eb8d..799995435d 100755 --- a/apis/apprunner/v1beta1/zz_autoscalingconfigurationversion_types.go +++ b/apis/apprunner/v1beta1/zz_autoscalingconfigurationversion_types.go @@ -131,6 +131,7 @@ type AutoScalingConfigurationVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AutoScalingConfigurationVersion is the Schema for the AutoScalingConfigurationVersions API. Manages an App Runner AutoScaling Configuration Version. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apprunner/v1beta1/zz_connection_types.go b/apis/apprunner/v1beta1/zz_connection_types.go index 1984bb476f..cd9392c2ca 100755 --- a/apis/apprunner/v1beta1/zz_connection_types.go +++ b/apis/apprunner/v1beta1/zz_connection_types.go @@ -91,6 +91,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Manages an App Runner Connection. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apprunner/v1beta1/zz_observabilityconfiguration_types.go b/apis/apprunner/v1beta1/zz_observabilityconfiguration_types.go index c06df5e195..0b77799d20 100755 --- a/apis/apprunner/v1beta1/zz_observabilityconfiguration_types.go +++ b/apis/apprunner/v1beta1/zz_observabilityconfiguration_types.go @@ -126,6 +126,7 @@ type ObservabilityConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ObservabilityConfiguration is the Schema for the ObservabilityConfigurations API. Manages an App Runner Observability Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apprunner/v1beta1/zz_service_types.go b/apis/apprunner/v1beta1/zz_service_types.go index c9b6d62f30..b6a3d9b023 100755 --- a/apis/apprunner/v1beta1/zz_service_types.go +++ b/apis/apprunner/v1beta1/zz_service_types.go @@ -827,6 +827,7 @@ type ServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Service is the Schema for the Services API. Manages an App Runner Service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/apprunner/v1beta1/zz_vpcconnector_types.go b/apis/apprunner/v1beta1/zz_vpcconnector_types.go index 2395d529a2..b9ef37a49a 100755 --- a/apis/apprunner/v1beta1/zz_vpcconnector_types.go +++ b/apis/apprunner/v1beta1/zz_vpcconnector_types.go @@ -164,6 +164,7 @@ type VPCConnectorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCConnector is the Schema for the VPCConnectors API. Manages an App Runner VPC Connector. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_directoryconfig_types.go b/apis/appstream/v1beta1/zz_directoryconfig_types.go index 582c5df693..1fe0ab2c23 100755 --- a/apis/appstream/v1beta1/zz_directoryconfig_types.go +++ b/apis/appstream/v1beta1/zz_directoryconfig_types.go @@ -118,6 +118,7 @@ type DirectoryConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DirectoryConfig is the Schema for the DirectoryConfigs API. Provides an AppStream Directory Config // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_fleet_types.go b/apis/appstream/v1beta1/zz_fleet_types.go index a1ab87da95..1b56924dea 100755 --- a/apis/appstream/v1beta1/zz_fleet_types.go +++ b/apis/appstream/v1beta1/zz_fleet_types.go @@ -372,6 +372,7 @@ type FleetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Fleet is the Schema for the Fleets API. Provides an AppStream fleet // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_fleetstackassociation_types.go b/apis/appstream/v1beta1/zz_fleetstackassociation_types.go index 0f1fb448f4..fbe781f460 100755 --- a/apis/appstream/v1beta1/zz_fleetstackassociation_types.go +++ b/apis/appstream/v1beta1/zz_fleetstackassociation_types.go @@ -93,6 +93,7 @@ type FleetStackAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FleetStackAssociation is the Schema for the FleetStackAssociations API. Manages an AppStream Fleet Stack association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_imagebuilder_types.go b/apis/appstream/v1beta1/zz_imagebuilder_types.go index ec852de864..eebd7e66d3 100755 --- a/apis/appstream/v1beta1/zz_imagebuilder_types.go +++ b/apis/appstream/v1beta1/zz_imagebuilder_types.go @@ -323,6 +323,7 @@ type ImageBuilderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ImageBuilder is the Schema for the ImageBuilders API. Provides an AppStream image builder // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_stack_types.go b/apis/appstream/v1beta1/zz_stack_types.go index 203a416afb..1114db2b0e 100755 --- a/apis/appstream/v1beta1/zz_stack_types.go +++ b/apis/appstream/v1beta1/zz_stack_types.go @@ -375,6 +375,7 @@ type StackStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stack is the Schema for the Stacks API. Provides an AppStream stack // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_user_types.go b/apis/appstream/v1beta1/zz_user_types.go index 3b5330ded7..1b38767839 100755 --- a/apis/appstream/v1beta1/zz_user_types.go +++ b/apis/appstream/v1beta1/zz_user_types.go @@ -112,6 +112,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides an AppStream user // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appstream/v1beta1/zz_userstackassociation_types.go b/apis/appstream/v1beta1/zz_userstackassociation_types.go index a129382906..b25e9c6e21 100755 --- a/apis/appstream/v1beta1/zz_userstackassociation_types.go +++ b/apis/appstream/v1beta1/zz_userstackassociation_types.go @@ -119,6 +119,7 @@ type UserStackAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserStackAssociation is the Schema for the UserStackAssociations API. Manages an AppStream User Stack association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_apicache_types.go b/apis/appsync/v1beta1/zz_apicache_types.go index ced1e70037..ee4047d241 100755 --- a/apis/appsync/v1beta1/zz_apicache_types.go +++ b/apis/appsync/v1beta1/zz_apicache_types.go @@ -139,6 +139,7 @@ type APICacheStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // APICache is the Schema for the APICaches API. Provides an AppSync API Cache. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_apikey_types.go b/apis/appsync/v1beta1/zz_apikey_types.go index 66c945faa4..0b02ede2a4 100755 --- a/apis/appsync/v1beta1/zz_apikey_types.go +++ b/apis/appsync/v1beta1/zz_apikey_types.go @@ -96,6 +96,7 @@ type APIKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // APIKey is the Schema for the APIKeys API. Provides an AppSync API Key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_datasource_types.go b/apis/appsync/v1beta1/zz_datasource_types.go index 37b5c48957..7e837bd251 100755 --- a/apis/appsync/v1beta1/zz_datasource_types.go +++ b/apis/appsync/v1beta1/zz_datasource_types.go @@ -574,6 +574,7 @@ type DatasourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Datasource is the Schema for the Datasources API. Provides an AppSync Data Source. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_function_types.go b/apis/appsync/v1beta1/zz_function_types.go index 91d8c8c778..296a66cd51 100755 --- a/apis/appsync/v1beta1/zz_function_types.go +++ b/apis/appsync/v1beta1/zz_function_types.go @@ -300,6 +300,7 @@ type FunctionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Function is the Schema for the Functions API. Provides an AppSync Function. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_graphqlapi_types.go b/apis/appsync/v1beta1/zz_graphqlapi_types.go index 2c46fd427b..1585b5270c 100755 --- a/apis/appsync/v1beta1/zz_graphqlapi_types.go +++ b/apis/appsync/v1beta1/zz_graphqlapi_types.go @@ -575,6 +575,7 @@ type GraphQLAPIStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GraphQLAPI is the Schema for the GraphQLAPIs API. Provides an AppSync GraphQL API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/appsync/v1beta1/zz_resolver_types.go b/apis/appsync/v1beta1/zz_resolver_types.go index 7acf4c3a14..95d31c87da 100755 --- a/apis/appsync/v1beta1/zz_resolver_types.go +++ b/apis/appsync/v1beta1/zz_resolver_types.go @@ -348,6 +348,7 @@ type ResolverStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Resolver is the Schema for the Resolvers API. Provides an AppSync Resolver. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/athena/v1beta1/zz_database_types.go b/apis/athena/v1beta1/zz_database_types.go index d93aff77aa..f853746b93 100755 --- a/apis/athena/v1beta1/zz_database_types.go +++ b/apis/athena/v1beta1/zz_database_types.go @@ -200,6 +200,7 @@ type DatabaseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Database is the Schema for the Databases API. Provides an Athena database. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/athena/v1beta1/zz_datacatalog_types.go b/apis/athena/v1beta1/zz_datacatalog_types.go index fb19e34676..9dd7dec068 100755 --- a/apis/athena/v1beta1/zz_datacatalog_types.go +++ b/apis/athena/v1beta1/zz_datacatalog_types.go @@ -112,6 +112,7 @@ type DataCatalogStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataCatalog is the Schema for the DataCatalogs API. Provides an Athena data catalog. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/athena/v1beta1/zz_namedquery_types.go b/apis/athena/v1beta1/zz_namedquery_types.go index 347b4aef32..6db8787f28 100755 --- a/apis/athena/v1beta1/zz_namedquery_types.go +++ b/apis/athena/v1beta1/zz_namedquery_types.go @@ -147,6 +147,7 @@ type NamedQueryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NamedQuery is the Schema for the NamedQuerys API. Provides an Athena Named Query resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/athena/v1beta1/zz_workgroup_types.go b/apis/athena/v1beta1/zz_workgroup_types.go index 9230cdbf55..d382622185 100755 --- a/apis/athena/v1beta1/zz_workgroup_types.go +++ b/apis/athena/v1beta1/zz_workgroup_types.go @@ -337,6 +337,7 @@ type WorkgroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workgroup is the Schema for the Workgroups API. Manages an Athena Workgroup. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_attachment_types.go b/apis/autoscaling/v1beta1/zz_attachment_types.go index 4523b73504..fe10189def 100755 --- a/apis/autoscaling/v1beta1/zz_attachment_types.go +++ b/apis/autoscaling/v1beta1/zz_attachment_types.go @@ -19,6 +19,19 @@ import ( type AttachmentInitParameters struct { + // ARN of an ALB Target Group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elbv2/v1beta1.LBTargetGroup + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + ALBTargetGroupArn *string `json:"albTargetGroupArn,omitempty" tf:"alb_target_group_arn,omitempty"` + + // Reference to a LBTargetGroup in elbv2 to populate albTargetGroupArn. + // +kubebuilder:validation:Optional + ALBTargetGroupArnRef *v1.Reference `json:"albTargetGroupArnRef,omitempty" tf:"-"` + + // Selector for a LBTargetGroup in elbv2 to populate albTargetGroupArn. + // +kubebuilder:validation:Optional + ALBTargetGroupArnSelector *v1.Selector `json:"albTargetGroupArnSelector,omitempty" tf:"-"` + // Name of ASG to associate with the ELB. // +crossplane:generate:reference:type=AutoscalingGroup AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` @@ -60,6 +73,9 @@ type AttachmentInitParameters struct { type AttachmentObservation struct { + // ARN of an ALB Target Group. + ALBTargetGroupArn *string `json:"albTargetGroupArn,omitempty" tf:"alb_target_group_arn,omitempty"` + // Name of ASG to associate with the ELB. AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` @@ -74,6 +90,20 @@ type AttachmentObservation struct { type AttachmentParameters struct { + // ARN of an ALB Target Group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elbv2/v1beta1.LBTargetGroup + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + ALBTargetGroupArn *string `json:"albTargetGroupArn,omitempty" tf:"alb_target_group_arn,omitempty"` + + // Reference to a LBTargetGroup in elbv2 to populate albTargetGroupArn. + // +kubebuilder:validation:Optional + ALBTargetGroupArnRef *v1.Reference `json:"albTargetGroupArnRef,omitempty" tf:"-"` + + // Selector for a LBTargetGroup in elbv2 to populate albTargetGroupArn. + // +kubebuilder:validation:Optional + ALBTargetGroupArnSelector *v1.Selector `json:"albTargetGroupArnSelector,omitempty" tf:"-"` + // Name of ASG to associate with the ELB. // +crossplane:generate:reference:type=AutoscalingGroup // +kubebuilder:validation:Optional @@ -147,7 +177,7 @@ type AttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// Attachment is the Schema for the Attachments API. +// Attachment is the Schema for the Attachments API. Provides an AutoScaling Group Attachment resource. // +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" diff --git a/apis/autoscaling/v1beta1/zz_autoscalinggroup_types.go b/apis/autoscaling/v1beta1/zz_autoscalinggroup_types.go index 6909e9c007..e82c0a24e4 100755 --- a/apis/autoscaling/v1beta1/zz_autoscalinggroup_types.go +++ b/apis/autoscaling/v1beta1/zz_autoscalinggroup_types.go @@ -77,7 +77,7 @@ type AcceleratorTotalMemoryMibParameters struct { type AutoscalingGroupInitParameters struct { - // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // List of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. // +listType=set AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` @@ -106,12 +106,13 @@ type AutoscalingGroupInitParameters struct { EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` // Allows deleting the Auto Scaling Group without waiting - // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete - // even if it's in the process of scaling a resource. This bypasses that + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that // behavior and potentially leaves resources dangling. ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` // Time (in seconds) after instance comes into service before checking health. @@ -120,9 +121,6 @@ type AutoscalingGroupInitParameters struct { // "EC2" or "ELB". Controls how health checking is done. HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"` - // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. - IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` - // One or more // Lifecycle Hooks // to attach to the Auto Scaling Group before instances are launched. The @@ -132,9 +130,6 @@ type AutoscalingGroupInitParameters struct { // a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource. InitialLifecycleHook []InitialLifecycleHookInitParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` - // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. - InstanceMaintenancePolicy []InstanceMaintenancePolicyInitParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` - // If this block is configured, start an // Instance Refresh // when this Auto Scaling Group is updated. Defined below. @@ -188,14 +183,11 @@ type AutoscalingGroupInitParameters struct { // +kubebuilder:validation:Optional PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"` - // Whether newly launched instances - // are automatically protected from termination by Amazon EC2 Auto Scaling when - // scaling in. For more information about preventing instances from terminating - // on scale in, see Using instance scale-in protection + // in protection // in the Amazon EC2 Auto Scaling User Guide. ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"` - // ARN of the service-linked role that the ASG will use to call other AWS services + // linked role that the ASG will use to call other AWS services // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"` @@ -213,15 +205,15 @@ type AutoscalingGroupInitParameters struct { // +listType=set SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` - // Configuration block(s) containing resource tags. See Tag below for more details. + // Configuration block(s) containing resource tags. Conflicts with tags. See Tag below for more details. Tag []TagInitParameters `json:"tag,omitempty" tf:"tag,omitempty"` + // Key-value map of resource tags. + Tags []map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` - // Attaches one or more traffic sources to the specified Auto Scaling group. - TrafficSource []TrafficSourceInitParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` - // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet // +listType=set @@ -254,7 +246,7 @@ type AutoscalingGroupObservation struct { // ARN for this Auto Scaling Group Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` - // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // List of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. // +listType=set AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` @@ -283,12 +275,13 @@ type AutoscalingGroupObservation struct { EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` // Allows deleting the Auto Scaling Group without waiting - // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete - // even if it's in the process of scaling a resource. This bypasses that + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that // behavior and potentially leaves resources dangling. ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` // Time (in seconds) after instance comes into service before checking health. @@ -300,9 +293,6 @@ type AutoscalingGroupObservation struct { // Auto Scaling Group id. ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. - IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` - // One or more // Lifecycle Hooks // to attach to the Auto Scaling Group before instances are launched. The @@ -312,9 +302,6 @@ type AutoscalingGroupObservation struct { // a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource. InitialLifecycleHook []InitialLifecycleHookObservation `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` - // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. - InstanceMaintenancePolicy []InstanceMaintenancePolicyObservation `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` - // If this block is configured, start an // Instance Refresh // when this Auto Scaling Group is updated. Defined below. @@ -327,7 +314,7 @@ type AutoscalingGroupObservation struct { LaunchTemplate []LaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` // List of elastic load balancer names to add to the autoscaling - // group names. Only valid for classic load balancers. For ALBs, use target_group_arns instead. To remove all load balancer attachments an empty list should be specified. + // group names. Only valid for classic load balancers. For ALBs, use target_group_arns instead. // +listType=set LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"` @@ -357,14 +344,11 @@ type AutoscalingGroupObservation struct { // Predicted capacity of the group. PredictedCapacity *float64 `json:"predictedCapacity,omitempty" tf:"predicted_capacity,omitempty"` - // Whether newly launched instances - // are automatically protected from termination by Amazon EC2 Auto Scaling when - // scaling in. For more information about preventing instances from terminating - // on scale in, see Using instance scale-in protection + // in protection // in the Amazon EC2 Auto Scaling User Guide. ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"` - // ARN of the service-linked role that the ASG will use to call other AWS services + // linked role that the ASG will use to call other AWS services ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"` // List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh. @@ -372,19 +356,19 @@ type AutoscalingGroupObservation struct { // +listType=set SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` - // Configuration block(s) containing resource tags. See Tag below for more details. + // Configuration block(s) containing resource tags. Conflicts with tags. See Tag below for more details. Tag []TagObservation `json:"tag,omitempty" tf:"tag,omitempty"` - // Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. + // Key-value map of resource tags. + Tags []map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing. // +listType=set TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"` // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` - // Attaches one or more traffic sources to the specified Auto Scaling group. - TrafficSource []TrafficSourceObservation `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` - // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. // +listType=set VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"` @@ -408,7 +392,7 @@ type AutoscalingGroupObservation struct { type AutoscalingGroupParameters struct { - // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // List of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. // +kubebuilder:validation:Optional // +listType=set AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` @@ -445,13 +429,14 @@ type AutoscalingGroupParameters struct { EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` // Allows deleting the Auto Scaling Group without waiting - // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete - // even if it's in the process of scaling a resource. This bypasses that + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that // behavior and potentially leaves resources dangling. // +kubebuilder:validation:Optional ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` - // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below // +kubebuilder:validation:Optional ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` @@ -463,10 +448,6 @@ type AutoscalingGroupParameters struct { // +kubebuilder:validation:Optional HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"` - // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. - // +kubebuilder:validation:Optional - IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` - // One or more // Lifecycle Hooks // to attach to the Auto Scaling Group before instances are launched. The @@ -477,10 +458,6 @@ type AutoscalingGroupParameters struct { // +kubebuilder:validation:Optional InitialLifecycleHook []InitialLifecycleHookParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` - // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. - // +kubebuilder:validation:Optional - InstanceMaintenancePolicy []InstanceMaintenancePolicyParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` - // If this block is configured, start an // Instance Refresh // when this Auto Scaling Group is updated. Defined below. @@ -544,10 +521,7 @@ type AutoscalingGroupParameters struct { // +kubebuilder:validation:Optional PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"` - // Whether newly launched instances - // are automatically protected from termination by Amazon EC2 Auto Scaling when - // scaling in. For more information about preventing instances from terminating - // on scale in, see Using instance scale-in protection + // in protection // in the Amazon EC2 Auto Scaling User Guide. // +kubebuilder:validation:Optional ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"` @@ -557,7 +531,7 @@ type AutoscalingGroupParameters struct { // +kubebuilder:validation:Required Region *string `json:"region" tf:"-"` - // ARN of the service-linked role that the ASG will use to call other AWS services + // linked role that the ASG will use to call other AWS services // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() // +kubebuilder:validation:Optional @@ -577,17 +551,17 @@ type AutoscalingGroupParameters struct { // +listType=set SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` - // Configuration block(s) containing resource tags. See Tag below for more details. + // Configuration block(s) containing resource tags. Conflicts with tags. See Tag below for more details. // +kubebuilder:validation:Optional Tag []TagParameters `json:"tag,omitempty" tf:"tag,omitempty"` - // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. + // Key-value map of resource tags. // +kubebuilder:validation:Optional - TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` + Tags []map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` - // Attaches one or more traffic sources to the specified Auto Scaling group. + // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. // +kubebuilder:validation:Optional - TrafficSource []TrafficSourceParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` + TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet @@ -714,35 +688,6 @@ type InitialLifecycleHookParameters struct { RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"` } -type InstanceMaintenancePolicyInitParameters struct { - - // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. - MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"` - - // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. - MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` -} - -type InstanceMaintenancePolicyObservation struct { - - // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. - MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"` - - // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. - MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` -} - -type InstanceMaintenancePolicyParameters struct { - - // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. - // +kubebuilder:validation:Optional - MaxHealthyPercentage *float64 `json:"maxHealthyPercentage" tf:"max_healthy_percentage,omitempty"` - - // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. - // +kubebuilder:validation:Optional - MinHealthyPercentage *float64 `json:"minHealthyPercentage" tf:"min_healthy_percentage,omitempty"` -} - type InstanceRefreshInitParameters struct { // Override default parameters for Instance Refresh. @@ -1538,7 +1483,7 @@ type OverrideParameters struct { type PreferencesInitParameters struct { - // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + // Automatically rollback if instance refresh fails. Defaults to false. AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` // Number of seconds to wait after a checkpoint. Defaults to 3600. @@ -1553,19 +1498,13 @@ type PreferencesInitParameters struct { // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` - // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. - ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` - // Replace instances that already have your desired configuration. Defaults to false. SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` - - // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. - StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` } type PreferencesObservation struct { - // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + // Automatically rollback if instance refresh fails. Defaults to false. AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` // Number of seconds to wait after a checkpoint. Defaults to 3600. @@ -1580,19 +1519,13 @@ type PreferencesObservation struct { // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` - // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. - ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` - // Replace instances that already have your desired configuration. Defaults to false. SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` - - // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. - StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` } type PreferencesParameters struct { - // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + // Automatically rollback if instance refresh fails. Defaults to false. // +kubebuilder:validation:Optional AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` @@ -1612,17 +1545,9 @@ type PreferencesParameters struct { // +kubebuilder:validation:Optional MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` - // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. - // +kubebuilder:validation:Optional - ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` - // Replace instances that already have your desired configuration. Defaults to false. // +kubebuilder:validation:Optional SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` - - // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. - // +kubebuilder:validation:Optional - StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` } type TagInitParameters struct { @@ -1696,47 +1621,6 @@ type TotalLocalStorageGbParameters struct { Min *float64 `json:"min,omitempty" tf:"min,omitempty"` } -type TrafficSourceInitParameters struct { - - // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. - Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` - - // Provides additional context for the value of Identifier. - // The following lists the valid values: - // elb if identifier is the name of a Classic Load Balancer. - // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. - // vpc-lattice if identifier is the ARN of a VPC Lattice target group. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type TrafficSourceObservation struct { - - // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. - Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` - - // Provides additional context for the value of Identifier. - // The following lists the valid values: - // elb if identifier is the name of a Classic Load Balancer. - // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. - // vpc-lattice if identifier is the ARN of a VPC Lattice target group. - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - -type TrafficSourceParameters struct { - - // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. - // +kubebuilder:validation:Optional - Identifier *string `json:"identifier" tf:"identifier,omitempty"` - - // Provides additional context for the value of Identifier. - // The following lists the valid values: - // elb if identifier is the name of a Classic Load Balancer. - // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. - // vpc-lattice if identifier is the ARN of a VPC Lattice target group. - // +kubebuilder:validation:Optional - Type *string `json:"type,omitempty" tf:"type,omitempty"` -} - type VcpuCountInitParameters struct { // Maximum. diff --git a/apis/autoscaling/v1beta1/zz_generated.conversion_hubs.go b/apis/autoscaling/v1beta1/zz_generated.conversion_hubs.go index 6cd73cc882..93735f9096 100755 --- a/apis/autoscaling/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/autoscaling/v1beta1/zz_generated.conversion_hubs.go @@ -10,12 +10,6 @@ Copyright 2022 Upbound Inc. package v1beta1 -// Hub marks this type as a conversion hub. -func (tr *Attachment) Hub() {} - -// Hub marks this type as a conversion hub. -func (tr *AutoscalingGroup) Hub() {} - // Hub marks this type as a conversion hub. func (tr *GroupTag) Hub() {} diff --git a/apis/autoscaling/v1beta1/zz_generated.conversion_spokes.go b/apis/autoscaling/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..1ca32d104f --- /dev/null +++ b/apis/autoscaling/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,50 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this Attachment to the hub type. +func (tr *Attachment) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the Attachment type. +func (tr *Attachment) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertTo converts this AutoscalingGroup to the hub type. +func (tr *AutoscalingGroup) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the AutoscalingGroup type. +func (tr *AutoscalingGroup) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/autoscaling/v1beta1/zz_generated.deepcopy.go b/apis/autoscaling/v1beta1/zz_generated.deepcopy.go index f89a9908c2..4b11e32a21 100644 --- a/apis/autoscaling/v1beta1/zz_generated.deepcopy.go +++ b/apis/autoscaling/v1beta1/zz_generated.deepcopy.go @@ -193,6 +193,21 @@ func (in *Attachment) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AttachmentInitParameters) DeepCopyInto(out *AttachmentInitParameters) { *out = *in + if in.ALBTargetGroupArn != nil { + in, out := &in.ALBTargetGroupArn, &out.ALBTargetGroupArn + *out = new(string) + **out = **in + } + if in.ALBTargetGroupArnRef != nil { + in, out := &in.ALBTargetGroupArnRef, &out.ALBTargetGroupArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ALBTargetGroupArnSelector != nil { + in, out := &in.ALBTargetGroupArnSelector, &out.ALBTargetGroupArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoscalingGroupName != nil { in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName *out = new(string) @@ -285,6 +300,11 @@ func (in *AttachmentList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AttachmentObservation) DeepCopyInto(out *AttachmentObservation) { *out = *in + if in.ALBTargetGroupArn != nil { + in, out := &in.ALBTargetGroupArn, &out.ALBTargetGroupArn + *out = new(string) + **out = **in + } if in.AutoscalingGroupName != nil { in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName *out = new(string) @@ -320,6 +340,21 @@ func (in *AttachmentObservation) DeepCopy() *AttachmentObservation { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *AttachmentParameters) DeepCopyInto(out *AttachmentParameters) { *out = *in + if in.ALBTargetGroupArn != nil { + in, out := &in.ALBTargetGroupArn, &out.ALBTargetGroupArn + *out = new(string) + **out = **in + } + if in.ALBTargetGroupArnRef != nil { + in, out := &in.ALBTargetGroupArnRef, &out.ALBTargetGroupArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ALBTargetGroupArnSelector != nil { + in, out := &in.ALBTargetGroupArnSelector, &out.ALBTargetGroupArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.AutoscalingGroupName != nil { in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName *out = new(string) @@ -519,11 +554,6 @@ func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInit *out = new(string) **out = **in } - if in.IgnoreFailedScalingActivities != nil { - in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities - *out = new(bool) - **out = **in - } if in.InitialLifecycleHook != nil { in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook *out = make([]InitialLifecycleHookInitParameters, len(*in)) @@ -531,13 +561,6 @@ func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInit (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.InstanceMaintenancePolicy != nil { - in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy - *out = make([]InstanceMaintenancePolicyInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.InstanceRefresh != nil { in, out := &in.InstanceRefresh, &out.InstanceRefresh *out = make([]InstanceRefreshInitParameters, len(*in)) @@ -652,6 +675,28 @@ func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInit (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make([]map[string]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + } + } if in.TerminationPolicies != nil { in, out := &in.TerminationPolicies, &out.TerminationPolicies *out = make([]*string, len(*in)) @@ -663,13 +708,6 @@ func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInit } } } - if in.TrafficSource != nil { - in, out := &in.TrafficSource, &out.TrafficSource - *out = make([]TrafficSourceInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.VPCZoneIdentifier != nil { in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier *out = make([]*string, len(*in)) @@ -839,11 +877,6 @@ func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObserva *out = new(string) **out = **in } - if in.IgnoreFailedScalingActivities != nil { - in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities - *out = new(bool) - **out = **in - } if in.InitialLifecycleHook != nil { in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook *out = make([]InitialLifecycleHookObservation, len(*in)) @@ -851,13 +884,6 @@ func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObserva (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.InstanceMaintenancePolicy != nil { - in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy - *out = make([]InstanceMaintenancePolicyObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.InstanceRefresh != nil { in, out := &in.InstanceRefresh, &out.InstanceRefresh *out = make([]InstanceRefreshObservation, len(*in)) @@ -958,6 +984,28 @@ func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObserva (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make([]map[string]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + } + } if in.TargetGroupArns != nil { in, out := &in.TargetGroupArns, &out.TargetGroupArns *out = make([]*string, len(*in)) @@ -980,13 +1028,6 @@ func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObserva } } } - if in.TrafficSource != nil { - in, out := &in.TrafficSource, &out.TrafficSource - *out = make([]TrafficSourceObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.VPCZoneIdentifier != nil { in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier *out = make([]*string, len(*in)) @@ -1107,11 +1148,6 @@ func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParamete *out = new(string) **out = **in } - if in.IgnoreFailedScalingActivities != nil { - in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities - *out = new(bool) - **out = **in - } if in.InitialLifecycleHook != nil { in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook *out = make([]InitialLifecycleHookParameters, len(*in)) @@ -1119,13 +1155,6 @@ func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParamete (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.InstanceMaintenancePolicy != nil { - in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy - *out = make([]InstanceMaintenancePolicyParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.InstanceRefresh != nil { in, out := &in.InstanceRefresh, &out.InstanceRefresh *out = make([]InstanceRefreshParameters, len(*in)) @@ -1245,6 +1274,28 @@ func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParamete (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make([]map[string]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + } + } if in.TerminationPolicies != nil { in, out := &in.TerminationPolicies, &out.TerminationPolicies *out = make([]*string, len(*in)) @@ -1256,13 +1307,6 @@ func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParamete } } } - if in.TrafficSource != nil { - in, out := &in.TrafficSource, &out.TrafficSource - *out = make([]TrafficSourceParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } if in.VPCZoneIdentifier != nil { in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier *out = make([]*string, len(*in)) @@ -2908,81 +2952,6 @@ func (in *InitialLifecycleHookParameters) DeepCopy() *InitialLifecycleHookParame return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceMaintenancePolicyInitParameters) DeepCopyInto(out *InstanceMaintenancePolicyInitParameters) { - *out = *in - if in.MaxHealthyPercentage != nil { - in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage - *out = new(float64) - **out = **in - } - if in.MinHealthyPercentage != nil { - in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyInitParameters. -func (in *InstanceMaintenancePolicyInitParameters) DeepCopy() *InstanceMaintenancePolicyInitParameters { - if in == nil { - return nil - } - out := new(InstanceMaintenancePolicyInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceMaintenancePolicyObservation) DeepCopyInto(out *InstanceMaintenancePolicyObservation) { - *out = *in - if in.MaxHealthyPercentage != nil { - in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage - *out = new(float64) - **out = **in - } - if in.MinHealthyPercentage != nil { - in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyObservation. -func (in *InstanceMaintenancePolicyObservation) DeepCopy() *InstanceMaintenancePolicyObservation { - if in == nil { - return nil - } - out := new(InstanceMaintenancePolicyObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InstanceMaintenancePolicyParameters) DeepCopyInto(out *InstanceMaintenancePolicyParameters) { - *out = *in - if in.MaxHealthyPercentage != nil { - in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage - *out = new(float64) - **out = **in - } - if in.MinHealthyPercentage != nil { - in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage - *out = new(float64) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyParameters. -func (in *InstanceMaintenancePolicyParameters) DeepCopy() *InstanceMaintenancePolicyParameters { - if in == nil { - return nil - } - out := new(InstanceMaintenancePolicyParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InstanceRefreshInitParameters) DeepCopyInto(out *InstanceRefreshInitParameters) { *out = *in @@ -8083,21 +8052,11 @@ func (in *PreferencesInitParameters) DeepCopyInto(out *PreferencesInitParameters *out = new(float64) **out = **in } - if in.ScaleInProtectedInstances != nil { - in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances - *out = new(string) - **out = **in - } if in.SkipMatching != nil { in, out := &in.SkipMatching, &out.SkipMatching *out = new(bool) **out = **in } - if in.StandbyInstances != nil { - in, out := &in.StandbyInstances, &out.StandbyInstances - *out = new(string) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesInitParameters. @@ -8144,21 +8103,11 @@ func (in *PreferencesObservation) DeepCopyInto(out *PreferencesObservation) { *out = new(float64) **out = **in } - if in.ScaleInProtectedInstances != nil { - in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances - *out = new(string) - **out = **in - } if in.SkipMatching != nil { in, out := &in.SkipMatching, &out.SkipMatching *out = new(bool) **out = **in } - if in.StandbyInstances != nil { - in, out := &in.StandbyInstances, &out.StandbyInstances - *out = new(string) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesObservation. @@ -8205,21 +8154,11 @@ func (in *PreferencesParameters) DeepCopyInto(out *PreferencesParameters) { *out = new(float64) **out = **in } - if in.ScaleInProtectedInstances != nil { - in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances - *out = new(string) - **out = **in - } if in.SkipMatching != nil { in, out := &in.SkipMatching, &out.SkipMatching *out = new(bool) **out = **in } - if in.StandbyInstances != nil { - in, out := &in.StandbyInstances, &out.StandbyInstances - *out = new(string) - **out = **in - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesParameters. @@ -9018,81 +8957,6 @@ func (in *TotalLocalStorageGbParameters) DeepCopy() *TotalLocalStorageGbParamete return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TrafficSourceInitParameters) DeepCopyInto(out *TrafficSourceInitParameters) { - *out = *in - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceInitParameters. -func (in *TrafficSourceInitParameters) DeepCopy() *TrafficSourceInitParameters { - if in == nil { - return nil - } - out := new(TrafficSourceInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TrafficSourceObservation) DeepCopyInto(out *TrafficSourceObservation) { - *out = *in - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceObservation. -func (in *TrafficSourceObservation) DeepCopy() *TrafficSourceObservation { - if in == nil { - return nil - } - out := new(TrafficSourceObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *TrafficSourceParameters) DeepCopyInto(out *TrafficSourceParameters) { - *out = *in - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.Type != nil { - in, out := &in.Type, &out.Type - *out = new(string) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceParameters. -func (in *TrafficSourceParameters) DeepCopy() *TrafficSourceParameters { - if in == nil { - return nil - } - out := new(TrafficSourceParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VcpuCountInitParameters) DeepCopyInto(out *VcpuCountInitParameters) { *out = *in diff --git a/apis/autoscaling/v1beta1/zz_generated.resolvers.go b/apis/autoscaling/v1beta1/zz_generated.resolvers.go index 62c2f5b534..dc71fe9fd6 100644 --- a/apis/autoscaling/v1beta1/zz_generated.resolvers.go +++ b/apis/autoscaling/v1beta1/zz_generated.resolvers.go @@ -26,6 +26,25 @@ func (mg *Attachment) ResolveReferences( // ResolveReferences of this Attachment var rsp reference.ResolutionResponse var err error + { + m, l, err = apisresolver.GetManagedResource("elbv2.aws.upbound.io", "v1beta1", "LBTargetGroup", "LBTargetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ALBTargetGroupArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.ALBTargetGroupArnRef, + Selector: mg.Spec.ForProvider.ALBTargetGroupArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ALBTargetGroupArn") + } + mg.Spec.ForProvider.ALBTargetGroupArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ALBTargetGroupArnRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "AutoscalingGroup", "AutoscalingGroupList") if err != nil { @@ -83,6 +102,25 @@ func (mg *Attachment) ResolveReferences( // ResolveReferences of this Attachment } mg.Spec.ForProvider.LBTargetGroupArn = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.LBTargetGroupArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("elbv2.aws.upbound.io", "v1beta1", "LBTargetGroup", "LBTargetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ALBTargetGroupArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.ALBTargetGroupArnRef, + Selector: mg.Spec.InitProvider.ALBTargetGroupArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ALBTargetGroupArn") + } + mg.Spec.InitProvider.ALBTargetGroupArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ALBTargetGroupArnRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "AutoscalingGroup", "AutoscalingGroupList") if err != nil { @@ -514,7 +552,7 @@ func (mg *LifecycleHook) ResolveReferences(ctx context.Context, c client.Reader) var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "AutoscalingGroup", "AutoscalingGroupList") + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta2", "AutoscalingGroup", "AutoscalingGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -633,7 +671,7 @@ func (mg *Policy) ResolveReferences(ctx context.Context, c client.Reader) error var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "AutoscalingGroup", "AutoscalingGroupList") + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta2", "AutoscalingGroup", "AutoscalingGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -664,7 +702,7 @@ func (mg *Schedule) ResolveReferences(ctx context.Context, c client.Reader) erro var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "AutoscalingGroup", "AutoscalingGroupList") + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta2", "AutoscalingGroup", "AutoscalingGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/autoscaling/v1beta1/zz_grouptag_types.go b/apis/autoscaling/v1beta1/zz_grouptag_types.go index a20eb11207..5dea420b1c 100755 --- a/apis/autoscaling/v1beta1/zz_grouptag_types.go +++ b/apis/autoscaling/v1beta1/zz_grouptag_types.go @@ -136,6 +136,7 @@ type GroupTagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GroupTag is the Schema for the GroupTags API. Manages an individual Autoscaling Group tag // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_launchconfiguration_types.go b/apis/autoscaling/v1beta1/zz_launchconfiguration_types.go index 9d563e20d4..75b54e8185 100755 --- a/apis/autoscaling/v1beta1/zz_launchconfiguration_types.go +++ b/apis/autoscaling/v1beta1/zz_launchconfiguration_types.go @@ -480,6 +480,7 @@ type LaunchConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LaunchConfiguration is the Schema for the LaunchConfigurations API. Provides a resource to create a new launch configuration, used for autoscaling groups. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_lifecyclehook_types.go b/apis/autoscaling/v1beta1/zz_lifecyclehook_types.go index 8883f0c1f2..3aad8b7446 100755 --- a/apis/autoscaling/v1beta1/zz_lifecyclehook_types.go +++ b/apis/autoscaling/v1beta1/zz_lifecyclehook_types.go @@ -77,7 +77,7 @@ type LifecycleHookObservation struct { type LifecycleHookParameters struct { // Name of the Auto Scaling group to which you want to assign the lifecycle hook - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta1.AutoscalingGroup + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta2.AutoscalingGroup // +kubebuilder:validation:Optional AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` @@ -154,6 +154,7 @@ type LifecycleHookStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LifecycleHook is the Schema for the LifecycleHooks API. Provides an AutoScaling Lifecycle Hook resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_notification_types.go b/apis/autoscaling/v1beta1/zz_notification_types.go index b032ab140d..e7dee2eec0 100755 --- a/apis/autoscaling/v1beta1/zz_notification_types.go +++ b/apis/autoscaling/v1beta1/zz_notification_types.go @@ -117,6 +117,7 @@ type NotificationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Notification is the Schema for the Notifications API. Provides an AutoScaling Group with Notification support // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_policy_types.go b/apis/autoscaling/v1beta1/zz_policy_types.go index c6dccbf377..8215571881 100755 --- a/apis/autoscaling/v1beta1/zz_policy_types.go +++ b/apis/autoscaling/v1beta1/zz_policy_types.go @@ -1005,7 +1005,7 @@ type PolicyParameters struct { AdjustmentType *string `json:"adjustmentType,omitempty" tf:"adjustment_type,omitempty"` // Name of the autoscaling group. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta1.AutoscalingGroup + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta2.AutoscalingGroup // +kubebuilder:validation:Optional AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` @@ -1367,6 +1367,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides an AutoScaling Scaling Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta1/zz_schedule_types.go b/apis/autoscaling/v1beta1/zz_schedule_types.go index 352f6b99ba..4487b343a6 100755 --- a/apis/autoscaling/v1beta1/zz_schedule_types.go +++ b/apis/autoscaling/v1beta1/zz_schedule_types.go @@ -76,7 +76,7 @@ type ScheduleObservation struct { type ScheduleParameters struct { // The name of the Auto Scaling group. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta1.AutoscalingGroup + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta2.AutoscalingGroup // +kubebuilder:validation:Optional AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` @@ -147,6 +147,7 @@ type ScheduleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Schedule is the Schema for the Schedules API. Provides an AutoScaling Schedule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/autoscaling/v1beta2/zz_attachment_terraformed.go b/apis/autoscaling/v1beta2/zz_attachment_terraformed.go new file mode 100755 index 0000000000..4b4202b4c6 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_attachment_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Attachment +func (mg *Attachment) GetTerraformResourceType() string { + return "aws_autoscaling_attachment" +} + +// GetConnectionDetailsMapping for this Attachment +func (tr *Attachment) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Attachment +func (tr *Attachment) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Attachment +func (tr *Attachment) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Attachment +func (tr *Attachment) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Attachment +func (tr *Attachment) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Attachment +func (tr *Attachment) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Attachment +func (tr *Attachment) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Attachment +func (tr *Attachment) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Attachment using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Attachment) LateInitialize(attrs []byte) (bool, error) { + params := &AttachmentParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Attachment) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/autoscaling/v1beta2/zz_attachment_types.go b/apis/autoscaling/v1beta2/zz_attachment_types.go new file mode 100755 index 0000000000..5ab87c7dde --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_attachment_types.go @@ -0,0 +1,183 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 AttachmentInitParameters struct { + + // Name of ASG to associate with the ELB. + // +crossplane:generate:reference:type=AutoscalingGroup + AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` + + // Reference to a AutoscalingGroup to populate autoscalingGroupName. + // +kubebuilder:validation:Optional + AutoscalingGroupNameRef *v1.Reference `json:"autoscalingGroupNameRef,omitempty" tf:"-"` + + // Selector for a AutoscalingGroup to populate autoscalingGroupName. + // +kubebuilder:validation:Optional + AutoscalingGroupNameSelector *v1.Selector `json:"autoscalingGroupNameSelector,omitempty" tf:"-"` + + // Name of the ELB. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elb/v1beta1.ELB + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ELB *string `json:"elb,omitempty" tf:"elb,omitempty"` + + // Reference to a ELB in elb to populate elb. + // +kubebuilder:validation:Optional + ELBRef *v1.Reference `json:"elbRef,omitempty" tf:"-"` + + // Selector for a ELB in elb to populate elb. + // +kubebuilder:validation:Optional + ELBSelector *v1.Selector `json:"elbSelector,omitempty" tf:"-"` + + // ARN of a load balancer target group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elbv2/v1beta1.LBTargetGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) + LBTargetGroupArn *string `json:"lbTargetGroupArn,omitempty" tf:"lb_target_group_arn,omitempty"` + + // Reference to a LBTargetGroup in elbv2 to populate lbTargetGroupArn. + // +kubebuilder:validation:Optional + LBTargetGroupArnRef *v1.Reference `json:"lbTargetGroupArnRef,omitempty" tf:"-"` + + // Selector for a LBTargetGroup in elbv2 to populate lbTargetGroupArn. + // +kubebuilder:validation:Optional + LBTargetGroupArnSelector *v1.Selector `json:"lbTargetGroupArnSelector,omitempty" tf:"-"` +} + +type AttachmentObservation struct { + + // Name of ASG to associate with the ELB. + AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` + + // Name of the ELB. + ELB *string `json:"elb,omitempty" tf:"elb,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // ARN of a load balancer target group. + LBTargetGroupArn *string `json:"lbTargetGroupArn,omitempty" tf:"lb_target_group_arn,omitempty"` +} + +type AttachmentParameters struct { + + // Name of ASG to associate with the ELB. + // +crossplane:generate:reference:type=AutoscalingGroup + // +kubebuilder:validation:Optional + AutoscalingGroupName *string `json:"autoscalingGroupName,omitempty" tf:"autoscaling_group_name,omitempty"` + + // Reference to a AutoscalingGroup to populate autoscalingGroupName. + // +kubebuilder:validation:Optional + AutoscalingGroupNameRef *v1.Reference `json:"autoscalingGroupNameRef,omitempty" tf:"-"` + + // Selector for a AutoscalingGroup to populate autoscalingGroupName. + // +kubebuilder:validation:Optional + AutoscalingGroupNameSelector *v1.Selector `json:"autoscalingGroupNameSelector,omitempty" tf:"-"` + + // Name of the ELB. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elb/v1beta1.ELB + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ELB *string `json:"elb,omitempty" tf:"elb,omitempty"` + + // Reference to a ELB in elb to populate elb. + // +kubebuilder:validation:Optional + ELBRef *v1.Reference `json:"elbRef,omitempty" tf:"-"` + + // Selector for a ELB in elb to populate elb. + // +kubebuilder:validation:Optional + ELBSelector *v1.Selector `json:"elbSelector,omitempty" tf:"-"` + + // ARN of a load balancer target group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elbv2/v1beta1.LBTargetGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) + // +kubebuilder:validation:Optional + LBTargetGroupArn *string `json:"lbTargetGroupArn,omitempty" tf:"lb_target_group_arn,omitempty"` + + // Reference to a LBTargetGroup in elbv2 to populate lbTargetGroupArn. + // +kubebuilder:validation:Optional + LBTargetGroupArnRef *v1.Reference `json:"lbTargetGroupArnRef,omitempty" tf:"-"` + + // Selector for a LBTargetGroup in elbv2 to populate lbTargetGroupArn. + // +kubebuilder:validation:Optional + LBTargetGroupArnSelector *v1.Selector `json:"lbTargetGroupArnSelector,omitempty" tf:"-"` + + // 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:"-"` +} + +// AttachmentSpec defines the desired state of Attachment +type AttachmentSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AttachmentParameters `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 AttachmentInitParameters `json:"initProvider,omitempty"` +} + +// AttachmentStatus defines the observed state of Attachment. +type AttachmentStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AttachmentObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Attachment is the Schema for the Attachments API. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type Attachment struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec AttachmentSpec `json:"spec"` + Status AttachmentStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AttachmentList contains a list of Attachments +type AttachmentList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Attachment `json:"items"` +} + +// Repository type metadata. +var ( + Attachment_Kind = "Attachment" + Attachment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Attachment_Kind}.String() + Attachment_KindAPIVersion = Attachment_Kind + "." + CRDGroupVersion.String() + Attachment_GroupVersionKind = CRDGroupVersion.WithKind(Attachment_Kind) +) + +func init() { + SchemeBuilder.Register(&Attachment{}, &AttachmentList{}) +} diff --git a/apis/autoscaling/v1beta2/zz_autoscalinggroup_terraformed.go b/apis/autoscaling/v1beta2/zz_autoscalinggroup_terraformed.go new file mode 100755 index 0000000000..13791b8fa6 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_autoscalinggroup_terraformed.go @@ -0,0 +1,134 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this AutoscalingGroup +func (mg *AutoscalingGroup) GetTerraformResourceType() string { + return "aws_autoscaling_group" +} + +// GetConnectionDetailsMapping for this AutoscalingGroup +func (tr *AutoscalingGroup) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this AutoscalingGroup +func (tr *AutoscalingGroup) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this AutoscalingGroup +func (tr *AutoscalingGroup) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this AutoscalingGroup +func (tr *AutoscalingGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this AutoscalingGroup +func (tr *AutoscalingGroup) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this AutoscalingGroup +func (tr *AutoscalingGroup) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this AutoscalingGroup +func (tr *AutoscalingGroup) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this AutoscalingGroup +func (tr *AutoscalingGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this AutoscalingGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *AutoscalingGroup) LateInitialize(attrs []byte) (bool, error) { + params := &AutoscalingGroupParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + opts = append(opts, resource.WithNameFilter("AvailabilityZones")) + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *AutoscalingGroup) GetTerraformSchemaVersion() int { + return 1 +} diff --git a/apis/autoscaling/v1beta2/zz_autoscalinggroup_types.go b/apis/autoscaling/v1beta2/zz_autoscalinggroup_types.go new file mode 100755 index 0000000000..f5e0d658db --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_autoscalinggroup_types.go @@ -0,0 +1,1882 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 AcceleratorCountInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AcceleratorCountObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AcceleratorCountParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AcceleratorTotalMemoryMibInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AcceleratorTotalMemoryMibObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AcceleratorTotalMemoryMibParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type AutoscalingGroupInitParameters struct { + + // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + + // Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled. + CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"` + + // Reserved. + Context *string `json:"context,omitempty" tf:"context,omitempty"` + + // Amount of time, in seconds, after a scaling activity completes before another scaling activity can start. + DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"` + + // Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group) + DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"` + + // Number of Amazon EC2 instances that + // should be running in the group. (See also Waiting for + // Capacity below.) + DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"` + + // The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib". + DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"` + + // List of metrics to collect. The allowed values are defined by the underlying AWS API. + // +listType=set + EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that + // behavior and potentially leaves resources dangling. + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` + + // Time (in seconds) after instance comes into service before checking health. + HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"` + + // "EC2" or "ELB". Controls how health checking is done. + HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"` + + // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. + IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` + + // One or more + // Lifecycle Hooks + // to attach to the Auto Scaling Group before instances are launched. The + // syntax is exactly the same as the separate + // aws_autoscaling_lifecycle_hook + // resource, without the autoscaling_group_name attribute. Please note that this will only work when creating + // a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource. + InitialLifecycleHook []InitialLifecycleHookInitParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` + + // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. + InstanceMaintenancePolicy []InstanceMaintenancePolicyInitParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` + + // If this block is configured, start an + // Instance Refresh + // when this Auto Scaling Group is updated. Defined below. + InstanceRefresh []InstanceRefreshInitParameters `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"` + + // Name of the launch configuration to use. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta1.LaunchConfiguration + LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"` + + // Reference to a LaunchConfiguration in autoscaling to populate launchConfiguration. + // +kubebuilder:validation:Optional + LaunchConfigurationRef *v1.Reference `json:"launchConfigurationRef,omitempty" tf:"-"` + + // Selector for a LaunchConfiguration in autoscaling to populate launchConfiguration. + // +kubebuilder:validation:Optional + LaunchConfigurationSelector *v1.Selector `json:"launchConfigurationSelector,omitempty" tf:"-"` + + // Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. + LaunchTemplate []LaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` + + // Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds. + MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"` + + // Maximum size of the Auto Scaling Group. + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + + // Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute. + MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"` + + // Updates will not wait on ELB instance number changes. + // (See also Waiting for Capacity below.) + MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. + MixedInstancesPolicy []MixedInstancesPolicyInitParameters `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"` + + // Name of the placement group into which you'll launch your instances, if any. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.PlacementGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"` + + // Reference to a PlacementGroup in ec2 to populate placementGroup. + // +kubebuilder:validation:Optional + PlacementGroupRef *v1.Reference `json:"placementGroupRef,omitempty" tf:"-"` + + // Selector for a PlacementGroup in ec2 to populate placementGroup. + // +kubebuilder:validation:Optional + PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"` + + // Whether newly launched instances + // are automatically protected from termination by Amazon EC2 Auto Scaling when + // scaling in. For more information about preventing instances from terminating + // on scale in, see Using instance scale-in protection + // in the Amazon EC2 Auto Scaling User Guide. + ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"` + + // ARN of the service-linked role that the ASG will use to call other AWS services + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"` + + // Reference to a Role in iam to populate serviceLinkedRoleArn. + // +kubebuilder:validation:Optional + ServiceLinkedRoleArnRef *v1.Reference `json:"serviceLinkedRoleArnRef,omitempty" tf:"-"` + + // Selector for a Role in iam to populate serviceLinkedRoleArn. + // +kubebuilder:validation:Optional + ServiceLinkedRoleArnSelector *v1.Selector `json:"serviceLinkedRoleArnSelector,omitempty" tf:"-"` + + // List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh. + // Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly. + // +listType=set + SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` + + // Configuration block(s) containing resource tags. See Tag below for more details. + Tag []TagInitParameters `json:"tag,omitempty" tf:"tag,omitempty"` + + // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. + TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` + + // Attaches one or more traffic sources to the specified Auto Scaling group. + TrafficSource []TrafficSourceInitParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` + + // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet + // +listType=set + VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"` + + // References to Subnet in ec2 to populate vpcZoneIdentifier. + // +kubebuilder:validation:Optional + VPCZoneIdentifierRefs []v1.Reference `json:"vpcZoneIdentifierRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in ec2 to populate vpcZoneIdentifier. + // +kubebuilder:validation:Optional + VPCZoneIdentifierSelector *v1.Selector `json:"vpcZoneIdentifierSelector,omitempty" tf:"-"` + + // (See also Waiting + // for Capacity below. + WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"` + + // (Takes + // precedence over min_elb_capacity behavior.) + // (See also Waiting for Capacity below.) + WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"` + + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below + WarmPool []WarmPoolInitParameters `json:"warmPool,omitempty" tf:"warm_pool,omitempty"` +} + +type AutoscalingGroupObservation struct { + + // ARN for this Auto Scaling Group + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + + // Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled. + CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"` + + // Reserved. + Context *string `json:"context,omitempty" tf:"context,omitempty"` + + // Amount of time, in seconds, after a scaling activity completes before another scaling activity can start. + DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"` + + // Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group) + DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"` + + // Number of Amazon EC2 instances that + // should be running in the group. (See also Waiting for + // Capacity below.) + DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"` + + // The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib". + DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"` + + // List of metrics to collect. The allowed values are defined by the underlying AWS API. + // +listType=set + EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that + // behavior and potentially leaves resources dangling. + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` + + // Time (in seconds) after instance comes into service before checking health. + HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"` + + // "EC2" or "ELB". Controls how health checking is done. + HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"` + + // Auto Scaling Group id. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. + IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` + + // One or more + // Lifecycle Hooks + // to attach to the Auto Scaling Group before instances are launched. The + // syntax is exactly the same as the separate + // aws_autoscaling_lifecycle_hook + // resource, without the autoscaling_group_name attribute. Please note that this will only work when creating + // a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource. + InitialLifecycleHook []InitialLifecycleHookObservation `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` + + // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. + InstanceMaintenancePolicy []InstanceMaintenancePolicyObservation `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` + + // If this block is configured, start an + // Instance Refresh + // when this Auto Scaling Group is updated. Defined below. + InstanceRefresh []InstanceRefreshObservation `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"` + + // Name of the launch configuration to use. + LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"` + + // Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. + LaunchTemplate []LaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` + + // List of elastic load balancer names to add to the autoscaling + // group names. Only valid for classic load balancers. For ALBs, use target_group_arns instead. To remove all load balancer attachments an empty list should be specified. + // +listType=set + LoadBalancers []*string `json:"loadBalancers,omitempty" tf:"load_balancers,omitempty"` + + // Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds. + MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"` + + // Maximum size of the Auto Scaling Group. + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + + // Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute. + MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"` + + // Updates will not wait on ELB instance number changes. + // (See also Waiting for Capacity below.) + MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. + MixedInstancesPolicy []MixedInstancesPolicyObservation `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"` + + // Name of the placement group into which you'll launch your instances, if any. + PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"` + + // Predicted capacity of the group. + PredictedCapacity *float64 `json:"predictedCapacity,omitempty" tf:"predicted_capacity,omitempty"` + + // Whether newly launched instances + // are automatically protected from termination by Amazon EC2 Auto Scaling when + // scaling in. For more information about preventing instances from terminating + // on scale in, see Using instance scale-in protection + // in the Amazon EC2 Auto Scaling User Guide. + ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,omitempty"` + + // ARN of the service-linked role that the ASG will use to call other AWS services + ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"` + + // List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh. + // Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly. + // +listType=set + SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` + + // Configuration block(s) containing resource tags. See Tag below for more details. + Tag []TagObservation `json:"tag,omitempty" tf:"tag,omitempty"` + + // Set of aws_alb_target_group ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. + // +listType=set + TargetGroupArns []*string `json:"targetGroupArns,omitempty" tf:"target_group_arns,omitempty"` + + // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. + TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` + + // Attaches one or more traffic sources to the specified Auto Scaling group. + TrafficSource []TrafficSourceObservation `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` + + // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. + // +listType=set + VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"` + + // (See also Waiting + // for Capacity below. + WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"` + + // (Takes + // precedence over min_elb_capacity behavior.) + // (See also Waiting for Capacity below.) + WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"` + + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below + WarmPool []WarmPoolObservation `json:"warmPool,omitempty" tf:"warm_pool,omitempty"` + + // Current size of the warm pool. + WarmPoolSize *float64 `json:"warmPoolSize,omitempty" tf:"warm_pool_size,omitempty"` +} + +type AutoscalingGroupParameters struct { + + // A list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the vpc_zone_identifier attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts with vpc_zone_identifier. + // +kubebuilder:validation:Optional + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + + // Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled. + // +kubebuilder:validation:Optional + CapacityRebalance *bool `json:"capacityRebalance,omitempty" tf:"capacity_rebalance,omitempty"` + + // Reserved. + // +kubebuilder:validation:Optional + Context *string `json:"context,omitempty" tf:"context,omitempty"` + + // Amount of time, in seconds, after a scaling activity completes before another scaling activity can start. + // +kubebuilder:validation:Optional + DefaultCooldown *float64 `json:"defaultCooldown,omitempty" tf:"default_cooldown,omitempty"` + + // Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group) + // +kubebuilder:validation:Optional + DefaultInstanceWarmup *float64 `json:"defaultInstanceWarmup,omitempty" tf:"default_instance_warmup,omitempty"` + + // Number of Amazon EC2 instances that + // should be running in the group. (See also Waiting for + // Capacity below.) + // +kubebuilder:validation:Optional + DesiredCapacity *float64 `json:"desiredCapacity,omitempty" tf:"desired_capacity,omitempty"` + + // The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values: "units", "vcpu", "memory-mib". + // +kubebuilder:validation:Optional + DesiredCapacityType *string `json:"desiredCapacityType,omitempty" tf:"desired_capacity_type,omitempty"` + + // List of metrics to collect. The allowed values are defined by the underlying AWS API. + // +kubebuilder:validation:Optional + // +listType=set + EnabledMetrics []*string `json:"enabledMetrics,omitempty" tf:"enabled_metrics,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting + // for all instances in the pool to terminate. You can force an Auto Scaling Group to delete + // even if it's in the process of scaling a resource. This bypasses that + // behavior and potentially leaves resources dangling. + // +kubebuilder:validation:Optional + ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"` + + // Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate. + // +kubebuilder:validation:Optional + ForceDeleteWarmPool *bool `json:"forceDeleteWarmPool,omitempty" tf:"force_delete_warm_pool,omitempty"` + + // Time (in seconds) after instance comes into service before checking health. + // +kubebuilder:validation:Optional + HealthCheckGracePeriod *float64 `json:"healthCheckGracePeriod,omitempty" tf:"health_check_grace_period,omitempty"` + + // "EC2" or "ELB". Controls how health checking is done. + // +kubebuilder:validation:Optional + HealthCheckType *string `json:"healthCheckType,omitempty" tf:"health_check_type,omitempty"` + + // Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false -- failed scaling activities cause errors to be returned. + // +kubebuilder:validation:Optional + IgnoreFailedScalingActivities *bool `json:"ignoreFailedScalingActivities,omitempty" tf:"ignore_failed_scaling_activities,omitempty"` + + // One or more + // Lifecycle Hooks + // to attach to the Auto Scaling Group before instances are launched. The + // syntax is exactly the same as the separate + // aws_autoscaling_lifecycle_hook + // resource, without the autoscaling_group_name attribute. Please note that this will only work when creating + // a new Auto Scaling Group. For all other use-cases, please use aws_autoscaling_lifecycle_hook resource. + // +kubebuilder:validation:Optional + InitialLifecycleHook []InitialLifecycleHookParameters `json:"initialLifecycleHook,omitempty" tf:"initial_lifecycle_hook,omitempty"` + + // If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below. + // +kubebuilder:validation:Optional + InstanceMaintenancePolicy []InstanceMaintenancePolicyParameters `json:"instanceMaintenancePolicy,omitempty" tf:"instance_maintenance_policy,omitempty"` + + // If this block is configured, start an + // Instance Refresh + // when this Auto Scaling Group is updated. Defined below. + // +kubebuilder:validation:Optional + InstanceRefresh []InstanceRefreshParameters `json:"instanceRefresh,omitempty" tf:"instance_refresh,omitempty"` + + // Name of the launch configuration to use. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/autoscaling/v1beta1.LaunchConfiguration + // +kubebuilder:validation:Optional + LaunchConfiguration *string `json:"launchConfiguration,omitempty" tf:"launch_configuration,omitempty"` + + // Reference to a LaunchConfiguration in autoscaling to populate launchConfiguration. + // +kubebuilder:validation:Optional + LaunchConfigurationRef *v1.Reference `json:"launchConfigurationRef,omitempty" tf:"-"` + + // Selector for a LaunchConfiguration in autoscaling to populate launchConfiguration. + // +kubebuilder:validation:Optional + LaunchConfigurationSelector *v1.Selector `json:"launchConfigurationSelector,omitempty" tf:"-"` + + // Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details. + // +kubebuilder:validation:Optional + LaunchTemplate []LaunchTemplateParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` + + // Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds. + // +kubebuilder:validation:Optional + MaxInstanceLifetime *float64 `json:"maxInstanceLifetime,omitempty" tf:"max_instance_lifetime,omitempty"` + + // Maximum size of the Auto Scaling Group. + // +kubebuilder:validation:Optional + MaxSize *float64 `json:"maxSize,omitempty" tf:"max_size,omitempty"` + + // Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute. + // +kubebuilder:validation:Optional + MetricsGranularity *string `json:"metricsGranularity,omitempty" tf:"metrics_granularity,omitempty"` + + // Updates will not wait on ELB instance number changes. + // (See also Waiting for Capacity below.) + // +kubebuilder:validation:Optional + MinELBCapacity *float64 `json:"minElbCapacity,omitempty" tf:"min_elb_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + // +kubebuilder:validation:Optional + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details. + // +kubebuilder:validation:Optional + MixedInstancesPolicy []MixedInstancesPolicyParameters `json:"mixedInstancesPolicy,omitempty" tf:"mixed_instances_policy,omitempty"` + + // Name of the placement group into which you'll launch your instances, if any. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.PlacementGroup + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + PlacementGroup *string `json:"placementGroup,omitempty" tf:"placement_group,omitempty"` + + // Reference to a PlacementGroup in ec2 to populate placementGroup. + // +kubebuilder:validation:Optional + PlacementGroupRef *v1.Reference `json:"placementGroupRef,omitempty" tf:"-"` + + // Selector for a PlacementGroup in ec2 to populate placementGroup. + // +kubebuilder:validation:Optional + PlacementGroupSelector *v1.Selector `json:"placementGroupSelector,omitempty" tf:"-"` + + // Whether newly launched instances + // are automatically protected from termination by Amazon EC2 Auto Scaling when + // scaling in. For more information about preventing instances from terminating + // on scale in, see Using instance scale-in protection + // in the Amazon EC2 Auto Scaling User Guide. + // +kubebuilder:validation:Optional + ProtectFromScaleIn *bool `json:"protectFromScaleIn,omitempty" tf:"protect_from_scale_in,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:"-"` + + // ARN of the service-linked role that the ASG will use to call other AWS services + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + ServiceLinkedRoleArn *string `json:"serviceLinkedRoleArn,omitempty" tf:"service_linked_role_arn,omitempty"` + + // Reference to a Role in iam to populate serviceLinkedRoleArn. + // +kubebuilder:validation:Optional + ServiceLinkedRoleArnRef *v1.Reference `json:"serviceLinkedRoleArnRef,omitempty" tf:"-"` + + // Selector for a Role in iam to populate serviceLinkedRoleArn. + // +kubebuilder:validation:Optional + ServiceLinkedRoleArnSelector *v1.Selector `json:"serviceLinkedRoleArnSelector,omitempty" tf:"-"` + + // List of processes to suspend for the Auto Scaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer, InstanceRefresh. + // Note that if you suspend either the Launch or Terminate process types, it can prevent your Auto Scaling Group from functioning properly. + // +kubebuilder:validation:Optional + // +listType=set + SuspendedProcesses []*string `json:"suspendedProcesses,omitempty" tf:"suspended_processes,omitempty"` + + // Configuration block(s) containing resource tags. See Tag below for more details. + // +kubebuilder:validation:Optional + Tag []TagParameters `json:"tag,omitempty" tf:"tag,omitempty"` + + // List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies. + // +kubebuilder:validation:Optional + TerminationPolicies []*string `json:"terminationPolicies,omitempty" tf:"termination_policies,omitempty"` + + // Attaches one or more traffic sources to the specified Auto Scaling group. + // +kubebuilder:validation:Optional + TrafficSource []TrafficSourceParameters `json:"trafficSource,omitempty" tf:"traffic_source,omitempty"` + + // List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet + // +kubebuilder:validation:Optional + // +listType=set + VPCZoneIdentifier []*string `json:"vpcZoneIdentifier,omitempty" tf:"vpc_zone_identifier,omitempty"` + + // References to Subnet in ec2 to populate vpcZoneIdentifier. + // +kubebuilder:validation:Optional + VPCZoneIdentifierRefs []v1.Reference `json:"vpcZoneIdentifierRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in ec2 to populate vpcZoneIdentifier. + // +kubebuilder:validation:Optional + VPCZoneIdentifierSelector *v1.Selector `json:"vpcZoneIdentifierSelector,omitempty" tf:"-"` + + // (See also Waiting + // for Capacity below. + // +kubebuilder:validation:Optional + WaitForCapacityTimeout *string `json:"waitForCapacityTimeout,omitempty" tf:"wait_for_capacity_timeout,omitempty"` + + // (Takes + // precedence over min_elb_capacity behavior.) + // (See also Waiting for Capacity below.) + // +kubebuilder:validation:Optional + WaitForELBCapacity *float64 `json:"waitForElbCapacity,omitempty" tf:"wait_for_elb_capacity,omitempty"` + + // If this block is configured, add a Warm Pool + // to the specified Auto Scaling group. Defined below + // +kubebuilder:validation:Optional + WarmPool []WarmPoolParameters `json:"warmPool,omitempty" tf:"warm_pool,omitempty"` +} + +type BaselineEBSBandwidthMbpsInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type BaselineEBSBandwidthMbpsObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type BaselineEBSBandwidthMbpsParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type InitialLifecycleHookInitParameters struct { + DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"` + + HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"` + + LifecycleTransition *string `json:"lifecycleTransition,omitempty" tf:"lifecycle_transition,omitempty"` + + // Name of the Auto Scaling Group. Conflicts with name_prefix. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"` + + // ARN for this Auto Scaling Group + NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"` + + // ARN for this Auto Scaling Group + RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"` +} + +type InitialLifecycleHookObservation struct { + DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"` + + HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"` + + LifecycleTransition *string `json:"lifecycleTransition,omitempty" tf:"lifecycle_transition,omitempty"` + + // Name of the Auto Scaling Group. Conflicts with name_prefix. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"` + + // ARN for this Auto Scaling Group + NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"` + + // ARN for this Auto Scaling Group + RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"` +} + +type InitialLifecycleHookParameters struct { + + // +kubebuilder:validation:Optional + DefaultResult *string `json:"defaultResult,omitempty" tf:"default_result,omitempty"` + + // +kubebuilder:validation:Optional + HeartbeatTimeout *float64 `json:"heartbeatTimeout,omitempty" tf:"heartbeat_timeout,omitempty"` + + // +kubebuilder:validation:Optional + LifecycleTransition *string `json:"lifecycleTransition" tf:"lifecycle_transition,omitempty"` + + // Name of the Auto Scaling Group. Conflicts with name_prefix. + // +kubebuilder:validation:Optional + Name *string `json:"name" tf:"name,omitempty"` + + // +kubebuilder:validation:Optional + NotificationMetadata *string `json:"notificationMetadata,omitempty" tf:"notification_metadata,omitempty"` + + // ARN for this Auto Scaling Group + // +kubebuilder:validation:Optional + NotificationTargetArn *string `json:"notificationTargetArn,omitempty" tf:"notification_target_arn,omitempty"` + + // ARN for this Auto Scaling Group + // +kubebuilder:validation:Optional + RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"` +} + +type InstanceMaintenancePolicyInitParameters struct { + + // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. + MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` +} + +type InstanceMaintenancePolicyObservation struct { + + // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. + MaxHealthyPercentage *float64 `json:"maxHealthyPercentage,omitempty" tf:"max_healthy_percentage,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` +} + +type InstanceMaintenancePolicyParameters struct { + + // Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity. + // +kubebuilder:validation:Optional + MaxHealthyPercentage *float64 `json:"maxHealthyPercentage" tf:"max_healthy_percentage,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + // +kubebuilder:validation:Optional + MinHealthyPercentage *float64 `json:"minHealthyPercentage" tf:"min_healthy_percentage,omitempty"` +} + +type InstanceRefreshInitParameters struct { + + // Override default parameters for Instance Refresh. + Preferences []PreferencesInitParameters `json:"preferences,omitempty" tf:"preferences,omitempty"` + + // Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information. + Strategy *string `json:"strategy,omitempty" tf:"strategy,omitempty"` + + // Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy. + // +listType=set + Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"` +} + +type InstanceRefreshObservation struct { + + // Override default parameters for Instance Refresh. + Preferences []PreferencesObservation `json:"preferences,omitempty" tf:"preferences,omitempty"` + + // Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information. + Strategy *string `json:"strategy,omitempty" tf:"strategy,omitempty"` + + // Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy. + // +listType=set + Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"` +} + +type InstanceRefreshParameters struct { + + // Override default parameters for Instance Refresh. + // +kubebuilder:validation:Optional + Preferences []PreferencesParameters `json:"preferences,omitempty" tf:"preferences,omitempty"` + + // Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information. + // +kubebuilder:validation:Optional + Strategy *string `json:"strategy" tf:"strategy,omitempty"` + + // Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of launch_configuration, launch_template, or mixed_instances_policy. + // +kubebuilder:validation:Optional + // +listType=set + Triggers []*string `json:"triggers,omitempty" tf:"triggers,omitempty"` +} + +type InstanceRequirementsInitParameters struct { + + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount []AcceleratorCountInitParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // List of accelerator manufacturer names. Default is any manufacturer. + // +listType=set + AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"` + + // List of accelerator names. Default is any acclerator. + // +listType=set + AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"` + + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib []AcceleratorTotalMemoryMibInitParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"` + + // List of accelerator types. Default is any accelerator type. + // +listType=set + AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"` + + // List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. + // +listType=set + AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"` + + // Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded. + BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"` + + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEBSBandwidthMbps []BaselineEBSBandwidthMbpsInitParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"` + + // Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded. + BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"` + + // List of CPU manufacturer names. Default is any manufacturer. + // +listType=set + CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"` + + // List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. + // +listType=set + ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"` + + // List of instance generation names. Default is any generation. + // +listType=set + InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"` + + // Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included. + LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"` + + // List of local storage type names. Default any storage type. + // +listType=set + LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"` + + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu []MemoryGibPerVcpuInitParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"` + + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib []MemoryMibInitParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"` + + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps []NetworkBandwidthGbpsInitParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"` + + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount []NetworkInterfaceCountInitParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"` + + // Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. + OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"` + + // Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false. + RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"` + + // Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. + SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"` + + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb []TotalLocalStorageGbInitParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"` + + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount []VcpuCountInitParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"` +} + +type InstanceRequirementsObservation struct { + + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount []AcceleratorCountObservation `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // List of accelerator manufacturer names. Default is any manufacturer. + // +listType=set + AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"` + + // List of accelerator names. Default is any acclerator. + // +listType=set + AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"` + + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib []AcceleratorTotalMemoryMibObservation `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"` + + // List of accelerator types. Default is any accelerator type. + // +listType=set + AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"` + + // List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. + // +listType=set + AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"` + + // Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded. + BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"` + + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEBSBandwidthMbps []BaselineEBSBandwidthMbpsObservation `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"` + + // Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded. + BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"` + + // List of CPU manufacturer names. Default is any manufacturer. + // +listType=set + CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"` + + // List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. + // +listType=set + ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"` + + // List of instance generation names. Default is any generation. + // +listType=set + InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"` + + // Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included. + LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"` + + // List of local storage type names. Default any storage type. + // +listType=set + LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"` + + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu []MemoryGibPerVcpuObservation `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"` + + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib []MemoryMibObservation `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"` + + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps []NetworkBandwidthGbpsObservation `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"` + + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount []NetworkInterfaceCountObservation `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"` + + // Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. + OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"` + + // Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false. + RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"` + + // Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. + SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"` + + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb []TotalLocalStorageGbObservation `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"` + + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount []VcpuCountObservation `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"` +} + +type InstanceRequirementsParameters struct { + + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + // +kubebuilder:validation:Optional + AcceleratorCount []AcceleratorCountParameters `json:"acceleratorCount,omitempty" tf:"accelerator_count,omitempty"` + + // List of accelerator manufacturer names. Default is any manufacturer. + // +kubebuilder:validation:Optional + // +listType=set + AcceleratorManufacturers []*string `json:"acceleratorManufacturers,omitempty" tf:"accelerator_manufacturers,omitempty"` + + // List of accelerator names. Default is any acclerator. + // +kubebuilder:validation:Optional + // +listType=set + AcceleratorNames []*string `json:"acceleratorNames,omitempty" tf:"accelerator_names,omitempty"` + + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + // +kubebuilder:validation:Optional + AcceleratorTotalMemoryMib []AcceleratorTotalMemoryMibParameters `json:"acceleratorTotalMemoryMib,omitempty" tf:"accelerator_total_memory_mib,omitempty"` + + // List of accelerator types. Default is any accelerator type. + // +kubebuilder:validation:Optional + // +listType=set + AcceleratorTypes []*string `json:"acceleratorTypes,omitempty" tf:"accelerator_types,omitempty"` + + // List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types. + // +kubebuilder:validation:Optional + // +listType=set + AllowedInstanceTypes []*string `json:"allowedInstanceTypes,omitempty" tf:"allowed_instance_types,omitempty"` + + // Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded. + // +kubebuilder:validation:Optional + BareMetal *string `json:"bareMetal,omitempty" tf:"bare_metal,omitempty"` + + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + // +kubebuilder:validation:Optional + BaselineEBSBandwidthMbps []BaselineEBSBandwidthMbpsParameters `json:"baselineEbsBandwidthMbps,omitempty" tf:"baseline_ebs_bandwidth_mbps,omitempty"` + + // Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded. + // +kubebuilder:validation:Optional + BurstablePerformance *string `json:"burstablePerformance,omitempty" tf:"burstable_performance,omitempty"` + + // List of CPU manufacturer names. Default is any manufacturer. + // +kubebuilder:validation:Optional + // +listType=set + CPUManufacturers []*string `json:"cpuManufacturers,omitempty" tf:"cpu_manufacturers,omitempty"` + + // List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types. + // +kubebuilder:validation:Optional + // +listType=set + ExcludedInstanceTypes []*string `json:"excludedInstanceTypes,omitempty" tf:"excluded_instance_types,omitempty"` + + // List of instance generation names. Default is any generation. + // +kubebuilder:validation:Optional + // +listType=set + InstanceGenerations []*string `json:"instanceGenerations,omitempty" tf:"instance_generations,omitempty"` + + // Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included. + // +kubebuilder:validation:Optional + LocalStorage *string `json:"localStorage,omitempty" tf:"local_storage,omitempty"` + + // List of local storage type names. Default any storage type. + // +kubebuilder:validation:Optional + // +listType=set + LocalStorageTypes []*string `json:"localStorageTypes,omitempty" tf:"local_storage_types,omitempty"` + + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + // +kubebuilder:validation:Optional + MemoryGibPerVcpu []MemoryGibPerVcpuParameters `json:"memoryGibPerVcpu,omitempty" tf:"memory_gib_per_vcpu,omitempty"` + + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + // +kubebuilder:validation:Optional + MemoryMib []MemoryMibParameters `json:"memoryMib,omitempty" tf:"memory_mib,omitempty"` + + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + // +kubebuilder:validation:Optional + NetworkBandwidthGbps []NetworkBandwidthGbpsParameters `json:"networkBandwidthGbps,omitempty" tf:"network_bandwidth_gbps,omitempty"` + + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + // +kubebuilder:validation:Optional + NetworkInterfaceCount []NetworkInterfaceCountParameters `json:"networkInterfaceCount,omitempty" tf:"network_interface_count,omitempty"` + + // Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. + // +kubebuilder:validation:Optional + OnDemandMaxPricePercentageOverLowestPrice *float64 `json:"onDemandMaxPricePercentageOverLowestPrice,omitempty" tf:"on_demand_max_price_percentage_over_lowest_price,omitempty"` + + // Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false. + // +kubebuilder:validation:Optional + RequireHibernateSupport *bool `json:"requireHibernateSupport,omitempty" tf:"require_hibernate_support,omitempty"` + + // Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. + // +kubebuilder:validation:Optional + SpotMaxPricePercentageOverLowestPrice *float64 `json:"spotMaxPricePercentageOverLowestPrice,omitempty" tf:"spot_max_price_percentage_over_lowest_price,omitempty"` + + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + // +kubebuilder:validation:Optional + TotalLocalStorageGb []TotalLocalStorageGbParameters `json:"totalLocalStorageGb,omitempty" tf:"total_local_storage_gb,omitempty"` + + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + // +kubebuilder:validation:Optional + VcpuCount []VcpuCountParameters `json:"vcpuCount,omitempty" tf:"vcpu_count,omitempty"` +} + +type InstanceReusePolicyInitParameters struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. + ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"` +} + +type InstanceReusePolicyObservation struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. + ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"` +} + +type InstanceReusePolicyParameters struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. + // +kubebuilder:validation:Optional + ReuseOnScaleIn *bool `json:"reuseOnScaleIn,omitempty" tf:"reuse_on_scale_in,omitempty"` +} + +type InstancesDistributionInitParameters struct { + + // Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized. + OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"` + + // Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0. + OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"` + + // Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100. + OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"` + + // How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price. + SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"` + + // Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2. + SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"` + + // Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price. + SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"` +} + +type InstancesDistributionObservation struct { + + // Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized. + OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"` + + // Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0. + OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"` + + // Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100. + OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"` + + // How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price. + SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"` + + // Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2. + SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"` + + // Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price. + SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"` +} + +type InstancesDistributionParameters struct { + + // Strategy to use when launching on-demand instances. Valid values: prioritized, lowest-price. Default: prioritized. + // +kubebuilder:validation:Optional + OnDemandAllocationStrategy *string `json:"onDemandAllocationStrategy,omitempty" tf:"on_demand_allocation_strategy,omitempty"` + + // Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0. + // +kubebuilder:validation:Optional + OnDemandBaseCapacity *float64 `json:"onDemandBaseCapacity,omitempty" tf:"on_demand_base_capacity,omitempty"` + + // Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100. + // +kubebuilder:validation:Optional + OnDemandPercentageAboveBaseCapacity *float64 `json:"onDemandPercentageAboveBaseCapacity,omitempty" tf:"on_demand_percentage_above_base_capacity,omitempty"` + + // How to allocate capacity across the Spot pools. Valid values: lowest-price, capacity-optimized, capacity-optimized-prioritized, and price-capacity-optimized. Default: lowest-price. + // +kubebuilder:validation:Optional + SpotAllocationStrategy *string `json:"spotAllocationStrategy,omitempty" tf:"spot_allocation_strategy,omitempty"` + + // Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategy set to lowest-price. Otherwise it must be set to 0, if it has been defined before. Default: 2. + // +kubebuilder:validation:Optional + SpotInstancePools *float64 `json:"spotInstancePools,omitempty" tf:"spot_instance_pools,omitempty"` + + // Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price. + // +kubebuilder:validation:Optional + SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"` +} + +type LaunchTemplateInitParameters struct { + + // ID of the launch template. Conflicts with name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate id. + // +kubebuilder:validation:Optional + IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate id. + // +kubebuilder:validation:Optional + IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with id. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type LaunchTemplateObservation struct { + + // ID of the launch template. Conflicts with name. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Name of the launch template. Conflicts with id. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type LaunchTemplateParameters struct { + + // ID of the launch template. Conflicts with name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate id. + // +kubebuilder:validation:Optional + IDRef *v1.Reference `json:"idRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate id. + // +kubebuilder:validation:Optional + IDSelector *v1.Selector `json:"idSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with id. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type LaunchTemplateSpecificationInitParameters struct { + + // ID of the launch template. Conflicts with launch_template_name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with launch_template_id. + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type LaunchTemplateSpecificationObservation struct { + + // ID of the launch template. Conflicts with launch_template_name. + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Name of the launch template. Conflicts with launch_template_id. + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type LaunchTemplateSpecificationParameters struct { + + // ID of the launch template. Conflicts with launch_template_name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with launch_template_id. + // +kubebuilder:validation:Optional + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type MemoryGibPerVcpuInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MemoryGibPerVcpuObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MemoryGibPerVcpuParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MemoryMibInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MemoryMibObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MemoryMibParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type MixedInstancesPolicyInitParameters struct { + + // Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below. + InstancesDistribution []InstancesDistributionInitParameters `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"` + + // Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below. + LaunchTemplate []MixedInstancesPolicyLaunchTemplateInitParameters `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` +} + +type MixedInstancesPolicyLaunchTemplateInitParameters struct { + + // Nested argument defines the Launch Template. Defined below. + LaunchTemplateSpecification []LaunchTemplateSpecificationInitParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"` + + // List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below. + Override []OverrideInitParameters `json:"override,omitempty" tf:"override,omitempty"` +} + +type MixedInstancesPolicyLaunchTemplateObservation struct { + + // Nested argument defines the Launch Template. Defined below. + LaunchTemplateSpecification []LaunchTemplateSpecificationObservation `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"` + + // List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below. + Override []OverrideObservation `json:"override,omitempty" tf:"override,omitempty"` +} + +type MixedInstancesPolicyLaunchTemplateParameters struct { + + // Nested argument defines the Launch Template. Defined below. + // +kubebuilder:validation:Optional + LaunchTemplateSpecification []LaunchTemplateSpecificationParameters `json:"launchTemplateSpecification" tf:"launch_template_specification,omitempty"` + + // List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below. + // +kubebuilder:validation:Optional + Override []OverrideParameters `json:"override,omitempty" tf:"override,omitempty"` +} + +type MixedInstancesPolicyObservation struct { + + // Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below. + InstancesDistribution []InstancesDistributionObservation `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"` + + // Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below. + LaunchTemplate []MixedInstancesPolicyLaunchTemplateObservation `json:"launchTemplate,omitempty" tf:"launch_template,omitempty"` +} + +type MixedInstancesPolicyParameters struct { + + // Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below. + // +kubebuilder:validation:Optional + InstancesDistribution []InstancesDistributionParameters `json:"instancesDistribution,omitempty" tf:"instances_distribution,omitempty"` + + // Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below. + // +kubebuilder:validation:Optional + LaunchTemplate []MixedInstancesPolicyLaunchTemplateParameters `json:"launchTemplate" tf:"launch_template,omitempty"` +} + +type NetworkBandwidthGbpsInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type NetworkBandwidthGbpsObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type NetworkBandwidthGbpsParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type NetworkInterfaceCountInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type NetworkInterfaceCountObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type NetworkInterfaceCountParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type OverrideInitParameters struct { + + // Override the instance type in the Launch Template with instance types that satisfy the requirements. + InstanceRequirements []InstanceRequirementsInitParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"` + + // Override the instance type in the Launch Template. + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // Nested argument defines the Launch Template. Defined below. + LaunchTemplateSpecification []OverrideLaunchTemplateSpecificationInitParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"` + + // Number of capacity units, which gives the instance type a proportional weight to other instance types. + WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"` +} + +type OverrideLaunchTemplateSpecificationInitParameters struct { + + // ID of the launch template. Conflicts with launch_template_name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with launch_template_id. + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type OverrideLaunchTemplateSpecificationObservation struct { + + // ID of the launch template. Conflicts with launch_template_name. + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Name of the launch template. Conflicts with launch_template_id. + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type OverrideLaunchTemplateSpecificationParameters struct { + + // ID of the launch template. Conflicts with launch_template_name. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.LaunchTemplate + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + LaunchTemplateID *string `json:"launchTemplateId,omitempty" tf:"launch_template_id,omitempty"` + + // Reference to a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDRef *v1.Reference `json:"launchTemplateIdRef,omitempty" tf:"-"` + + // Selector for a LaunchTemplate in ec2 to populate launchTemplateId. + // +kubebuilder:validation:Optional + LaunchTemplateIDSelector *v1.Selector `json:"launchTemplateIdSelector,omitempty" tf:"-"` + + // Name of the launch template. Conflicts with launch_template_id. + // +kubebuilder:validation:Optional + LaunchTemplateName *string `json:"launchTemplateName,omitempty" tf:"launch_template_name,omitempty"` + + // Template version. Can be version number, $Latest, or $Default. (Default: $Default). + // +kubebuilder:validation:Optional + Version *string `json:"version,omitempty" tf:"version,omitempty"` +} + +type OverrideObservation struct { + + // Override the instance type in the Launch Template with instance types that satisfy the requirements. + InstanceRequirements []InstanceRequirementsObservation `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"` + + // Override the instance type in the Launch Template. + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // Nested argument defines the Launch Template. Defined below. + LaunchTemplateSpecification []OverrideLaunchTemplateSpecificationObservation `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"` + + // Number of capacity units, which gives the instance type a proportional weight to other instance types. + WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"` +} + +type OverrideParameters struct { + + // Override the instance type in the Launch Template with instance types that satisfy the requirements. + // +kubebuilder:validation:Optional + InstanceRequirements []InstanceRequirementsParameters `json:"instanceRequirements,omitempty" tf:"instance_requirements,omitempty"` + + // Override the instance type in the Launch Template. + // +kubebuilder:validation:Optional + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // Nested argument defines the Launch Template. Defined below. + // +kubebuilder:validation:Optional + LaunchTemplateSpecification []OverrideLaunchTemplateSpecificationParameters `json:"launchTemplateSpecification,omitempty" tf:"launch_template_specification,omitempty"` + + // Number of capacity units, which gives the instance type a proportional weight to other instance types. + // +kubebuilder:validation:Optional + WeightedCapacity *string `json:"weightedCapacity,omitempty" tf:"weighted_capacity,omitempty"` +} + +type PreferencesInitParameters struct { + + // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` + + // Number of seconds to wait after a checkpoint. Defaults to 3600. + CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"` + + // List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100. + CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"` + + // Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period. + InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` + + // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. + ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` + + // Replace instances that already have your desired configuration. Defaults to false. + SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` + + // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. + StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` +} + +type PreferencesObservation struct { + + // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` + + // Number of seconds to wait after a checkpoint. Defaults to 3600. + CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"` + + // List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100. + CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"` + + // Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period. + InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` + + // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. + ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` + + // Replace instances that already have your desired configuration. Defaults to false. + SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` + + // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. + StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` +} + +type PreferencesParameters struct { + + // Automatically rollback if instance refresh fails. Defaults to false. This option may only be set to true when specifying a launch_template or mixed_instances_policy. + // +kubebuilder:validation:Optional + AutoRollback *bool `json:"autoRollback,omitempty" tf:"auto_rollback,omitempty"` + + // Number of seconds to wait after a checkpoint. Defaults to 3600. + // +kubebuilder:validation:Optional + CheckpointDelay *string `json:"checkpointDelay,omitempty" tf:"checkpoint_delay,omitempty"` + + // List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100. + // +kubebuilder:validation:Optional + CheckpointPercentages []*float64 `json:"checkpointPercentages,omitempty" tf:"checkpoint_percentages,omitempty"` + + // Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period. + // +kubebuilder:validation:Optional + InstanceWarmup *string `json:"instanceWarmup,omitempty" tf:"instance_warmup,omitempty"` + + // Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90. + // +kubebuilder:validation:Optional + MinHealthyPercentage *float64 `json:"minHealthyPercentage,omitempty" tf:"min_healthy_percentage,omitempty"` + + // Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh, Ignore, and Wait. Default is Ignore. + // +kubebuilder:validation:Optional + ScaleInProtectedInstances *string `json:"scaleInProtectedInstances,omitempty" tf:"scale_in_protected_instances,omitempty"` + + // Replace instances that already have your desired configuration. Defaults to false. + // +kubebuilder:validation:Optional + SkipMatching *bool `json:"skipMatching,omitempty" tf:"skip_matching,omitempty"` + + // Behavior when encountering instances in the Standby state in are found. Available behaviors are Terminate, Ignore, and Wait. Default is Ignore. + // +kubebuilder:validation:Optional + StandbyInstances *string `json:"standbyInstances,omitempty" tf:"standby_instances,omitempty"` +} + +type TagInitParameters struct { + + // Key + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // Enables propagation of the tag to + // Amazon EC2 instances launched via this ASG + PropagateAtLaunch *bool `json:"propagateAtLaunch,omitempty" tf:"propagate_at_launch,omitempty"` + + // Value + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type TagObservation struct { + + // Key + Key *string `json:"key,omitempty" tf:"key,omitempty"` + + // Enables propagation of the tag to + // Amazon EC2 instances launched via this ASG + PropagateAtLaunch *bool `json:"propagateAtLaunch,omitempty" tf:"propagate_at_launch,omitempty"` + + // Value + Value *string `json:"value,omitempty" tf:"value,omitempty"` +} + +type TagParameters struct { + + // Key + // +kubebuilder:validation:Optional + Key *string `json:"key" tf:"key,omitempty"` + + // Enables propagation of the tag to + // Amazon EC2 instances launched via this ASG + // +kubebuilder:validation:Optional + PropagateAtLaunch *bool `json:"propagateAtLaunch" tf:"propagate_at_launch,omitempty"` + + // Value + // +kubebuilder:validation:Optional + Value *string `json:"value" tf:"value,omitempty"` +} + +type TotalLocalStorageGbInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type TotalLocalStorageGbObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type TotalLocalStorageGbParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type TrafficSourceInitParameters struct { + + // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` + + // Provides additional context for the value of Identifier. + // The following lists the valid values: + // elb if identifier is the name of a Classic Load Balancer. + // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + // vpc-lattice if identifier is the ARN of a VPC Lattice target group. + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type TrafficSourceObservation struct { + + // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` + + // Provides additional context for the value of Identifier. + // The following lists the valid values: + // elb if identifier is the name of a Classic Load Balancer. + // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + // vpc-lattice if identifier is the ARN of a VPC Lattice target group. + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type TrafficSourceParameters struct { + + // Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region. + // +kubebuilder:validation:Optional + Identifier *string `json:"identifier" tf:"identifier,omitempty"` + + // Provides additional context for the value of Identifier. + // The following lists the valid values: + // elb if identifier is the name of a Classic Load Balancer. + // elbv2 if identifier is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group. + // vpc-lattice if identifier is the ARN of a VPC Lattice target group. + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type VcpuCountInitParameters struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type VcpuCountObservation struct { + + // Maximum. + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type VcpuCountParameters struct { + + // Maximum. + // +kubebuilder:validation:Optional + Max *float64 `json:"max,omitempty" tf:"max,omitempty"` + + // Minimum. + // +kubebuilder:validation:Optional + Min *float64 `json:"min,omitempty" tf:"min,omitempty"` +} + +type WarmPoolInitParameters struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in. + InstanceReusePolicy []InstanceReusePolicyInitParameters `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"` + + // Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group. + MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated. + PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"` +} + +type WarmPoolObservation struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in. + InstanceReusePolicy []InstanceReusePolicyObservation `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"` + + // Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group. + MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated. + PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"` +} + +type WarmPoolParameters struct { + + // Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in. + // +kubebuilder:validation:Optional + InstanceReusePolicy []InstanceReusePolicyParameters `json:"instanceReusePolicy,omitempty" tf:"instance_reuse_policy,omitempty"` + + // Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group. + // +kubebuilder:validation:Optional + MaxGroupPreparedCapacity *float64 `json:"maxGroupPreparedCapacity,omitempty" tf:"max_group_prepared_capacity,omitempty"` + + // Minimum size of the Auto Scaling Group. + // (See also Waiting for Capacity below.) + // +kubebuilder:validation:Optional + MinSize *float64 `json:"minSize,omitempty" tf:"min_size,omitempty"` + + // Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated. + // +kubebuilder:validation:Optional + PoolState *string `json:"poolState,omitempty" tf:"pool_state,omitempty"` +} + +// AutoscalingGroupSpec defines the desired state of AutoscalingGroup +type AutoscalingGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider AutoscalingGroupParameters `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 AutoscalingGroupInitParameters `json:"initProvider,omitempty"` +} + +// AutoscalingGroupStatus defines the observed state of AutoscalingGroup. +type AutoscalingGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider AutoscalingGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// AutoscalingGroup is the Schema for the AutoscalingGroups API. Provides an Auto Scaling Group resource. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type AutoscalingGroup 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.maxSize) || (has(self.initProvider) && has(self.initProvider.maxSize))",message="spec.forProvider.maxSize is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.minSize) || (has(self.initProvider) && has(self.initProvider.minSize))",message="spec.forProvider.minSize is a required parameter" + Spec AutoscalingGroupSpec `json:"spec"` + Status AutoscalingGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// AutoscalingGroupList contains a list of AutoscalingGroups +type AutoscalingGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []AutoscalingGroup `json:"items"` +} + +// Repository type metadata. +var ( + AutoscalingGroup_Kind = "AutoscalingGroup" + AutoscalingGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AutoscalingGroup_Kind}.String() + AutoscalingGroup_KindAPIVersion = AutoscalingGroup_Kind + "." + CRDGroupVersion.String() + AutoscalingGroup_GroupVersionKind = CRDGroupVersion.WithKind(AutoscalingGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&AutoscalingGroup{}, &AutoscalingGroupList{}) +} diff --git a/apis/autoscaling/v1beta2/zz_generated.conversion_hubs.go b/apis/autoscaling/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..ff98a94ab8 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *Attachment) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *AutoscalingGroup) Hub() {} diff --git a/apis/autoscaling/v1beta2/zz_generated.deepcopy.go b/apis/autoscaling/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..667081a9d8 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,4078 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorCountInitParameters) DeepCopyInto(out *AcceleratorCountInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountInitParameters. +func (in *AcceleratorCountInitParameters) DeepCopy() *AcceleratorCountInitParameters { + if in == nil { + return nil + } + out := new(AcceleratorCountInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorCountObservation) DeepCopyInto(out *AcceleratorCountObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountObservation. +func (in *AcceleratorCountObservation) DeepCopy() *AcceleratorCountObservation { + if in == nil { + return nil + } + out := new(AcceleratorCountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorCountParameters) DeepCopyInto(out *AcceleratorCountParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorCountParameters. +func (in *AcceleratorCountParameters) DeepCopy() *AcceleratorCountParameters { + if in == nil { + return nil + } + out := new(AcceleratorCountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorTotalMemoryMibInitParameters) DeepCopyInto(out *AcceleratorTotalMemoryMibInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibInitParameters. +func (in *AcceleratorTotalMemoryMibInitParameters) DeepCopy() *AcceleratorTotalMemoryMibInitParameters { + if in == nil { + return nil + } + out := new(AcceleratorTotalMemoryMibInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorTotalMemoryMibObservation) DeepCopyInto(out *AcceleratorTotalMemoryMibObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibObservation. +func (in *AcceleratorTotalMemoryMibObservation) DeepCopy() *AcceleratorTotalMemoryMibObservation { + if in == nil { + return nil + } + out := new(AcceleratorTotalMemoryMibObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AcceleratorTotalMemoryMibParameters) DeepCopyInto(out *AcceleratorTotalMemoryMibParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AcceleratorTotalMemoryMibParameters. +func (in *AcceleratorTotalMemoryMibParameters) DeepCopy() *AcceleratorTotalMemoryMibParameters { + if in == nil { + return nil + } + out := new(AcceleratorTotalMemoryMibParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Attachment) DeepCopyInto(out *Attachment) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attachment. +func (in *Attachment) DeepCopy() *Attachment { + if in == nil { + return nil + } + out := new(Attachment) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Attachment) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentInitParameters) DeepCopyInto(out *AttachmentInitParameters) { + *out = *in + if in.AutoscalingGroupName != nil { + in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName + *out = new(string) + **out = **in + } + if in.AutoscalingGroupNameRef != nil { + in, out := &in.AutoscalingGroupNameRef, &out.AutoscalingGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AutoscalingGroupNameSelector != nil { + in, out := &in.AutoscalingGroupNameSelector, &out.AutoscalingGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ELB != nil { + in, out := &in.ELB, &out.ELB + *out = new(string) + **out = **in + } + if in.ELBRef != nil { + in, out := &in.ELBRef, &out.ELBRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ELBSelector != nil { + in, out := &in.ELBSelector, &out.ELBSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LBTargetGroupArn != nil { + in, out := &in.LBTargetGroupArn, &out.LBTargetGroupArn + *out = new(string) + **out = **in + } + if in.LBTargetGroupArnRef != nil { + in, out := &in.LBTargetGroupArnRef, &out.LBTargetGroupArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LBTargetGroupArnSelector != nil { + in, out := &in.LBTargetGroupArnSelector, &out.LBTargetGroupArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentInitParameters. +func (in *AttachmentInitParameters) DeepCopy() *AttachmentInitParameters { + if in == nil { + return nil + } + out := new(AttachmentInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentList) DeepCopyInto(out *AttachmentList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Attachment, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentList. +func (in *AttachmentList) DeepCopy() *AttachmentList { + if in == nil { + return nil + } + out := new(AttachmentList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AttachmentList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentObservation) DeepCopyInto(out *AttachmentObservation) { + *out = *in + if in.AutoscalingGroupName != nil { + in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName + *out = new(string) + **out = **in + } + if in.ELB != nil { + in, out := &in.ELB, &out.ELB + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.LBTargetGroupArn != nil { + in, out := &in.LBTargetGroupArn, &out.LBTargetGroupArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentObservation. +func (in *AttachmentObservation) DeepCopy() *AttachmentObservation { + if in == nil { + return nil + } + out := new(AttachmentObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentParameters) DeepCopyInto(out *AttachmentParameters) { + *out = *in + if in.AutoscalingGroupName != nil { + in, out := &in.AutoscalingGroupName, &out.AutoscalingGroupName + *out = new(string) + **out = **in + } + if in.AutoscalingGroupNameRef != nil { + in, out := &in.AutoscalingGroupNameRef, &out.AutoscalingGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.AutoscalingGroupNameSelector != nil { + in, out := &in.AutoscalingGroupNameSelector, &out.AutoscalingGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ELB != nil { + in, out := &in.ELB, &out.ELB + *out = new(string) + **out = **in + } + if in.ELBRef != nil { + in, out := &in.ELBRef, &out.ELBRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ELBSelector != nil { + in, out := &in.ELBSelector, &out.ELBSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LBTargetGroupArn != nil { + in, out := &in.LBTargetGroupArn, &out.LBTargetGroupArn + *out = new(string) + **out = **in + } + if in.LBTargetGroupArnRef != nil { + in, out := &in.LBTargetGroupArnRef, &out.LBTargetGroupArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LBTargetGroupArnSelector != nil { + in, out := &in.LBTargetGroupArnSelector, &out.LBTargetGroupArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentParameters. +func (in *AttachmentParameters) DeepCopy() *AttachmentParameters { + if in == nil { + return nil + } + out := new(AttachmentParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentSpec) DeepCopyInto(out *AttachmentSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentSpec. +func (in *AttachmentSpec) DeepCopy() *AttachmentSpec { + if in == nil { + return nil + } + out := new(AttachmentSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AttachmentStatus) DeepCopyInto(out *AttachmentStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentStatus. +func (in *AttachmentStatus) DeepCopy() *AttachmentStatus { + if in == nil { + return nil + } + out := new(AttachmentStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroup) DeepCopyInto(out *AutoscalingGroup) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroup. +func (in *AutoscalingGroup) DeepCopy() *AutoscalingGroup { + if in == nil { + return nil + } + out := new(AutoscalingGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AutoscalingGroup) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupInitParameters) DeepCopyInto(out *AutoscalingGroupInitParameters) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.CapacityRebalance != nil { + in, out := &in.CapacityRebalance, &out.CapacityRebalance + *out = new(bool) + **out = **in + } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } + if in.DefaultCooldown != nil { + in, out := &in.DefaultCooldown, &out.DefaultCooldown + *out = new(float64) + **out = **in + } + if in.DefaultInstanceWarmup != nil { + in, out := &in.DefaultInstanceWarmup, &out.DefaultInstanceWarmup + *out = new(float64) + **out = **in + } + if in.DesiredCapacity != nil { + in, out := &in.DesiredCapacity, &out.DesiredCapacity + *out = new(float64) + **out = **in + } + if in.DesiredCapacityType != nil { + in, out := &in.DesiredCapacityType, &out.DesiredCapacityType + *out = new(string) + **out = **in + } + if in.EnabledMetrics != nil { + in, out := &in.EnabledMetrics, &out.EnabledMetrics + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.ForceDeleteWarmPool != nil { + in, out := &in.ForceDeleteWarmPool, &out.ForceDeleteWarmPool + *out = new(bool) + **out = **in + } + if in.HealthCheckGracePeriod != nil { + in, out := &in.HealthCheckGracePeriod, &out.HealthCheckGracePeriod + *out = new(float64) + **out = **in + } + if in.HealthCheckType != nil { + in, out := &in.HealthCheckType, &out.HealthCheckType + *out = new(string) + **out = **in + } + if in.IgnoreFailedScalingActivities != nil { + in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities + *out = new(bool) + **out = **in + } + if in.InitialLifecycleHook != nil { + in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook + *out = make([]InitialLifecycleHookInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceMaintenancePolicy != nil { + in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy + *out = make([]InstanceMaintenancePolicyInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceRefresh != nil { + in, out := &in.InstanceRefresh, &out.InstanceRefresh + *out = make([]InstanceRefreshInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchConfiguration != nil { + in, out := &in.LaunchConfiguration, &out.LaunchConfiguration + *out = new(string) + **out = **in + } + if in.LaunchConfigurationRef != nil { + in, out := &in.LaunchConfigurationRef, &out.LaunchConfigurationRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchConfigurationSelector != nil { + in, out := &in.LaunchConfigurationSelector, &out.LaunchConfigurationSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]LaunchTemplateInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxInstanceLifetime != nil { + in, out := &in.MaxInstanceLifetime, &out.MaxInstanceLifetime + *out = new(float64) + **out = **in + } + if in.MaxSize != nil { + in, out := &in.MaxSize, &out.MaxSize + *out = new(float64) + **out = **in + } + if in.MetricsGranularity != nil { + in, out := &in.MetricsGranularity, &out.MetricsGranularity + *out = new(string) + **out = **in + } + if in.MinELBCapacity != nil { + in, out := &in.MinELBCapacity, &out.MinELBCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.MixedInstancesPolicy != nil { + in, out := &in.MixedInstancesPolicy, &out.MixedInstancesPolicy + *out = make([]MixedInstancesPolicyInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PlacementGroup != nil { + in, out := &in.PlacementGroup, &out.PlacementGroup + *out = new(string) + **out = **in + } + if in.PlacementGroupRef != nil { + in, out := &in.PlacementGroupRef, &out.PlacementGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PlacementGroupSelector != nil { + in, out := &in.PlacementGroupSelector, &out.PlacementGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ProtectFromScaleIn != nil { + in, out := &in.ProtectFromScaleIn, &out.ProtectFromScaleIn + *out = new(bool) + **out = **in + } + if in.ServiceLinkedRoleArn != nil { + in, out := &in.ServiceLinkedRoleArn, &out.ServiceLinkedRoleArn + *out = new(string) + **out = **in + } + if in.ServiceLinkedRoleArnRef != nil { + in, out := &in.ServiceLinkedRoleArnRef, &out.ServiceLinkedRoleArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceLinkedRoleArnSelector != nil { + in, out := &in.ServiceLinkedRoleArnSelector, &out.ServiceLinkedRoleArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.SuspendedProcesses != nil { + in, out := &in.SuspendedProcesses, &out.SuspendedProcesses + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = make([]TagInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationPolicies != nil { + in, out := &in.TerminationPolicies, &out.TerminationPolicies + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TrafficSource != nil { + in, out := &in.TrafficSource, &out.TrafficSource + *out = make([]TrafficSourceInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCZoneIdentifier != nil { + in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.VPCZoneIdentifierRefs != nil { + in, out := &in.VPCZoneIdentifierRefs, &out.VPCZoneIdentifierRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCZoneIdentifierSelector != nil { + in, out := &in.VPCZoneIdentifierSelector, &out.VPCZoneIdentifierSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.WaitForCapacityTimeout != nil { + in, out := &in.WaitForCapacityTimeout, &out.WaitForCapacityTimeout + *out = new(string) + **out = **in + } + if in.WaitForELBCapacity != nil { + in, out := &in.WaitForELBCapacity, &out.WaitForELBCapacity + *out = new(float64) + **out = **in + } + if in.WarmPool != nil { + in, out := &in.WarmPool, &out.WarmPool + *out = make([]WarmPoolInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupInitParameters. +func (in *AutoscalingGroupInitParameters) DeepCopy() *AutoscalingGroupInitParameters { + if in == nil { + return nil + } + out := new(AutoscalingGroupInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupList) DeepCopyInto(out *AutoscalingGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AutoscalingGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupList. +func (in *AutoscalingGroupList) DeepCopy() *AutoscalingGroupList { + if in == nil { + return nil + } + out := new(AutoscalingGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AutoscalingGroupList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupObservation) DeepCopyInto(out *AutoscalingGroupObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.CapacityRebalance != nil { + in, out := &in.CapacityRebalance, &out.CapacityRebalance + *out = new(bool) + **out = **in + } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } + if in.DefaultCooldown != nil { + in, out := &in.DefaultCooldown, &out.DefaultCooldown + *out = new(float64) + **out = **in + } + if in.DefaultInstanceWarmup != nil { + in, out := &in.DefaultInstanceWarmup, &out.DefaultInstanceWarmup + *out = new(float64) + **out = **in + } + if in.DesiredCapacity != nil { + in, out := &in.DesiredCapacity, &out.DesiredCapacity + *out = new(float64) + **out = **in + } + if in.DesiredCapacityType != nil { + in, out := &in.DesiredCapacityType, &out.DesiredCapacityType + *out = new(string) + **out = **in + } + if in.EnabledMetrics != nil { + in, out := &in.EnabledMetrics, &out.EnabledMetrics + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.ForceDeleteWarmPool != nil { + in, out := &in.ForceDeleteWarmPool, &out.ForceDeleteWarmPool + *out = new(bool) + **out = **in + } + if in.HealthCheckGracePeriod != nil { + in, out := &in.HealthCheckGracePeriod, &out.HealthCheckGracePeriod + *out = new(float64) + **out = **in + } + if in.HealthCheckType != nil { + in, out := &in.HealthCheckType, &out.HealthCheckType + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IgnoreFailedScalingActivities != nil { + in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities + *out = new(bool) + **out = **in + } + if in.InitialLifecycleHook != nil { + in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook + *out = make([]InitialLifecycleHookObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceMaintenancePolicy != nil { + in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy + *out = make([]InstanceMaintenancePolicyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceRefresh != nil { + in, out := &in.InstanceRefresh, &out.InstanceRefresh + *out = make([]InstanceRefreshObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchConfiguration != nil { + in, out := &in.LaunchConfiguration, &out.LaunchConfiguration + *out = new(string) + **out = **in + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]LaunchTemplateObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LoadBalancers != nil { + in, out := &in.LoadBalancers, &out.LoadBalancers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MaxInstanceLifetime != nil { + in, out := &in.MaxInstanceLifetime, &out.MaxInstanceLifetime + *out = new(float64) + **out = **in + } + if in.MaxSize != nil { + in, out := &in.MaxSize, &out.MaxSize + *out = new(float64) + **out = **in + } + if in.MetricsGranularity != nil { + in, out := &in.MetricsGranularity, &out.MetricsGranularity + *out = new(string) + **out = **in + } + if in.MinELBCapacity != nil { + in, out := &in.MinELBCapacity, &out.MinELBCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.MixedInstancesPolicy != nil { + in, out := &in.MixedInstancesPolicy, &out.MixedInstancesPolicy + *out = make([]MixedInstancesPolicyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PlacementGroup != nil { + in, out := &in.PlacementGroup, &out.PlacementGroup + *out = new(string) + **out = **in + } + if in.PredictedCapacity != nil { + in, out := &in.PredictedCapacity, &out.PredictedCapacity + *out = new(float64) + **out = **in + } + if in.ProtectFromScaleIn != nil { + in, out := &in.ProtectFromScaleIn, &out.ProtectFromScaleIn + *out = new(bool) + **out = **in + } + if in.ServiceLinkedRoleArn != nil { + in, out := &in.ServiceLinkedRoleArn, &out.ServiceLinkedRoleArn + *out = new(string) + **out = **in + } + if in.SuspendedProcesses != nil { + in, out := &in.SuspendedProcesses, &out.SuspendedProcesses + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = make([]TagObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TargetGroupArns != nil { + in, out := &in.TargetGroupArns, &out.TargetGroupArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TerminationPolicies != nil { + in, out := &in.TerminationPolicies, &out.TerminationPolicies + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TrafficSource != nil { + in, out := &in.TrafficSource, &out.TrafficSource + *out = make([]TrafficSourceObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCZoneIdentifier != nil { + in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.WaitForCapacityTimeout != nil { + in, out := &in.WaitForCapacityTimeout, &out.WaitForCapacityTimeout + *out = new(string) + **out = **in + } + if in.WaitForELBCapacity != nil { + in, out := &in.WaitForELBCapacity, &out.WaitForELBCapacity + *out = new(float64) + **out = **in + } + if in.WarmPool != nil { + in, out := &in.WarmPool, &out.WarmPool + *out = make([]WarmPoolObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WarmPoolSize != nil { + in, out := &in.WarmPoolSize, &out.WarmPoolSize + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupObservation. +func (in *AutoscalingGroupObservation) DeepCopy() *AutoscalingGroupObservation { + if in == nil { + return nil + } + out := new(AutoscalingGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupParameters) DeepCopyInto(out *AutoscalingGroupParameters) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.CapacityRebalance != nil { + in, out := &in.CapacityRebalance, &out.CapacityRebalance + *out = new(bool) + **out = **in + } + if in.Context != nil { + in, out := &in.Context, &out.Context + *out = new(string) + **out = **in + } + if in.DefaultCooldown != nil { + in, out := &in.DefaultCooldown, &out.DefaultCooldown + *out = new(float64) + **out = **in + } + if in.DefaultInstanceWarmup != nil { + in, out := &in.DefaultInstanceWarmup, &out.DefaultInstanceWarmup + *out = new(float64) + **out = **in + } + if in.DesiredCapacity != nil { + in, out := &in.DesiredCapacity, &out.DesiredCapacity + *out = new(float64) + **out = **in + } + if in.DesiredCapacityType != nil { + in, out := &in.DesiredCapacityType, &out.DesiredCapacityType + *out = new(string) + **out = **in + } + if in.EnabledMetrics != nil { + in, out := &in.EnabledMetrics, &out.EnabledMetrics + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ForceDelete != nil { + in, out := &in.ForceDelete, &out.ForceDelete + *out = new(bool) + **out = **in + } + if in.ForceDeleteWarmPool != nil { + in, out := &in.ForceDeleteWarmPool, &out.ForceDeleteWarmPool + *out = new(bool) + **out = **in + } + if in.HealthCheckGracePeriod != nil { + in, out := &in.HealthCheckGracePeriod, &out.HealthCheckGracePeriod + *out = new(float64) + **out = **in + } + if in.HealthCheckType != nil { + in, out := &in.HealthCheckType, &out.HealthCheckType + *out = new(string) + **out = **in + } + if in.IgnoreFailedScalingActivities != nil { + in, out := &in.IgnoreFailedScalingActivities, &out.IgnoreFailedScalingActivities + *out = new(bool) + **out = **in + } + if in.InitialLifecycleHook != nil { + in, out := &in.InitialLifecycleHook, &out.InitialLifecycleHook + *out = make([]InitialLifecycleHookParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceMaintenancePolicy != nil { + in, out := &in.InstanceMaintenancePolicy, &out.InstanceMaintenancePolicy + *out = make([]InstanceMaintenancePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceRefresh != nil { + in, out := &in.InstanceRefresh, &out.InstanceRefresh + *out = make([]InstanceRefreshParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchConfiguration != nil { + in, out := &in.LaunchConfiguration, &out.LaunchConfiguration + *out = new(string) + **out = **in + } + if in.LaunchConfigurationRef != nil { + in, out := &in.LaunchConfigurationRef, &out.LaunchConfigurationRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchConfigurationSelector != nil { + in, out := &in.LaunchConfigurationSelector, &out.LaunchConfigurationSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]LaunchTemplateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxInstanceLifetime != nil { + in, out := &in.MaxInstanceLifetime, &out.MaxInstanceLifetime + *out = new(float64) + **out = **in + } + if in.MaxSize != nil { + in, out := &in.MaxSize, &out.MaxSize + *out = new(float64) + **out = **in + } + if in.MetricsGranularity != nil { + in, out := &in.MetricsGranularity, &out.MetricsGranularity + *out = new(string) + **out = **in + } + if in.MinELBCapacity != nil { + in, out := &in.MinELBCapacity, &out.MinELBCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.MixedInstancesPolicy != nil { + in, out := &in.MixedInstancesPolicy, &out.MixedInstancesPolicy + *out = make([]MixedInstancesPolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PlacementGroup != nil { + in, out := &in.PlacementGroup, &out.PlacementGroup + *out = new(string) + **out = **in + } + if in.PlacementGroupRef != nil { + in, out := &in.PlacementGroupRef, &out.PlacementGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.PlacementGroupSelector != nil { + in, out := &in.PlacementGroupSelector, &out.PlacementGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ProtectFromScaleIn != nil { + in, out := &in.ProtectFromScaleIn, &out.ProtectFromScaleIn + *out = new(bool) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ServiceLinkedRoleArn != nil { + in, out := &in.ServiceLinkedRoleArn, &out.ServiceLinkedRoleArn + *out = new(string) + **out = **in + } + if in.ServiceLinkedRoleArnRef != nil { + in, out := &in.ServiceLinkedRoleArnRef, &out.ServiceLinkedRoleArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ServiceLinkedRoleArnSelector != nil { + in, out := &in.ServiceLinkedRoleArnSelector, &out.ServiceLinkedRoleArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.SuspendedProcesses != nil { + in, out := &in.SuspendedProcesses, &out.SuspendedProcesses + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = make([]TagParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TerminationPolicies != nil { + in, out := &in.TerminationPolicies, &out.TerminationPolicies + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.TrafficSource != nil { + in, out := &in.TrafficSource, &out.TrafficSource + *out = make([]TrafficSourceParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCZoneIdentifier != nil { + in, out := &in.VPCZoneIdentifier, &out.VPCZoneIdentifier + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.VPCZoneIdentifierRefs != nil { + in, out := &in.VPCZoneIdentifierRefs, &out.VPCZoneIdentifierRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCZoneIdentifierSelector != nil { + in, out := &in.VPCZoneIdentifierSelector, &out.VPCZoneIdentifierSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.WaitForCapacityTimeout != nil { + in, out := &in.WaitForCapacityTimeout, &out.WaitForCapacityTimeout + *out = new(string) + **out = **in + } + if in.WaitForELBCapacity != nil { + in, out := &in.WaitForELBCapacity, &out.WaitForELBCapacity + *out = new(float64) + **out = **in + } + if in.WarmPool != nil { + in, out := &in.WarmPool, &out.WarmPool + *out = make([]WarmPoolParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupParameters. +func (in *AutoscalingGroupParameters) DeepCopy() *AutoscalingGroupParameters { + if in == nil { + return nil + } + out := new(AutoscalingGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupSpec) DeepCopyInto(out *AutoscalingGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupSpec. +func (in *AutoscalingGroupSpec) DeepCopy() *AutoscalingGroupSpec { + if in == nil { + return nil + } + out := new(AutoscalingGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalingGroupStatus) DeepCopyInto(out *AutoscalingGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingGroupStatus. +func (in *AutoscalingGroupStatus) DeepCopy() *AutoscalingGroupStatus { + if in == nil { + return nil + } + out := new(AutoscalingGroupStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaselineEBSBandwidthMbpsInitParameters) DeepCopyInto(out *BaselineEBSBandwidthMbpsInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsInitParameters. +func (in *BaselineEBSBandwidthMbpsInitParameters) DeepCopy() *BaselineEBSBandwidthMbpsInitParameters { + if in == nil { + return nil + } + out := new(BaselineEBSBandwidthMbpsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaselineEBSBandwidthMbpsObservation) DeepCopyInto(out *BaselineEBSBandwidthMbpsObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsObservation. +func (in *BaselineEBSBandwidthMbpsObservation) DeepCopy() *BaselineEBSBandwidthMbpsObservation { + if in == nil { + return nil + } + out := new(BaselineEBSBandwidthMbpsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BaselineEBSBandwidthMbpsParameters) DeepCopyInto(out *BaselineEBSBandwidthMbpsParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaselineEBSBandwidthMbpsParameters. +func (in *BaselineEBSBandwidthMbpsParameters) DeepCopy() *BaselineEBSBandwidthMbpsParameters { + if in == nil { + return nil + } + out := new(BaselineEBSBandwidthMbpsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialLifecycleHookInitParameters) DeepCopyInto(out *InitialLifecycleHookInitParameters) { + *out = *in + if in.DefaultResult != nil { + in, out := &in.DefaultResult, &out.DefaultResult + *out = new(string) + **out = **in + } + if in.HeartbeatTimeout != nil { + in, out := &in.HeartbeatTimeout, &out.HeartbeatTimeout + *out = new(float64) + **out = **in + } + if in.LifecycleTransition != nil { + in, out := &in.LifecycleTransition, &out.LifecycleTransition + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NotificationMetadata != nil { + in, out := &in.NotificationMetadata, &out.NotificationMetadata + *out = new(string) + **out = **in + } + if in.NotificationTargetArn != nil { + in, out := &in.NotificationTargetArn, &out.NotificationTargetArn + *out = new(string) + **out = **in + } + if in.RoleArn != nil { + in, out := &in.RoleArn, &out.RoleArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialLifecycleHookInitParameters. +func (in *InitialLifecycleHookInitParameters) DeepCopy() *InitialLifecycleHookInitParameters { + if in == nil { + return nil + } + out := new(InitialLifecycleHookInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialLifecycleHookObservation) DeepCopyInto(out *InitialLifecycleHookObservation) { + *out = *in + if in.DefaultResult != nil { + in, out := &in.DefaultResult, &out.DefaultResult + *out = new(string) + **out = **in + } + if in.HeartbeatTimeout != nil { + in, out := &in.HeartbeatTimeout, &out.HeartbeatTimeout + *out = new(float64) + **out = **in + } + if in.LifecycleTransition != nil { + in, out := &in.LifecycleTransition, &out.LifecycleTransition + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NotificationMetadata != nil { + in, out := &in.NotificationMetadata, &out.NotificationMetadata + *out = new(string) + **out = **in + } + if in.NotificationTargetArn != nil { + in, out := &in.NotificationTargetArn, &out.NotificationTargetArn + *out = new(string) + **out = **in + } + if in.RoleArn != nil { + in, out := &in.RoleArn, &out.RoleArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialLifecycleHookObservation. +func (in *InitialLifecycleHookObservation) DeepCopy() *InitialLifecycleHookObservation { + if in == nil { + return nil + } + out := new(InitialLifecycleHookObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InitialLifecycleHookParameters) DeepCopyInto(out *InitialLifecycleHookParameters) { + *out = *in + if in.DefaultResult != nil { + in, out := &in.DefaultResult, &out.DefaultResult + *out = new(string) + **out = **in + } + if in.HeartbeatTimeout != nil { + in, out := &in.HeartbeatTimeout, &out.HeartbeatTimeout + *out = new(float64) + **out = **in + } + if in.LifecycleTransition != nil { + in, out := &in.LifecycleTransition, &out.LifecycleTransition + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NotificationMetadata != nil { + in, out := &in.NotificationMetadata, &out.NotificationMetadata + *out = new(string) + **out = **in + } + if in.NotificationTargetArn != nil { + in, out := &in.NotificationTargetArn, &out.NotificationTargetArn + *out = new(string) + **out = **in + } + if in.RoleArn != nil { + in, out := &in.RoleArn, &out.RoleArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialLifecycleHookParameters. +func (in *InitialLifecycleHookParameters) DeepCopy() *InitialLifecycleHookParameters { + if in == nil { + return nil + } + out := new(InitialLifecycleHookParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceMaintenancePolicyInitParameters) DeepCopyInto(out *InstanceMaintenancePolicyInitParameters) { + *out = *in + if in.MaxHealthyPercentage != nil { + in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage + *out = new(float64) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyInitParameters. +func (in *InstanceMaintenancePolicyInitParameters) DeepCopy() *InstanceMaintenancePolicyInitParameters { + if in == nil { + return nil + } + out := new(InstanceMaintenancePolicyInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceMaintenancePolicyObservation) DeepCopyInto(out *InstanceMaintenancePolicyObservation) { + *out = *in + if in.MaxHealthyPercentage != nil { + in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage + *out = new(float64) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyObservation. +func (in *InstanceMaintenancePolicyObservation) DeepCopy() *InstanceMaintenancePolicyObservation { + if in == nil { + return nil + } + out := new(InstanceMaintenancePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceMaintenancePolicyParameters) DeepCopyInto(out *InstanceMaintenancePolicyParameters) { + *out = *in + if in.MaxHealthyPercentage != nil { + in, out := &in.MaxHealthyPercentage, &out.MaxHealthyPercentage + *out = new(float64) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceMaintenancePolicyParameters. +func (in *InstanceMaintenancePolicyParameters) DeepCopy() *InstanceMaintenancePolicyParameters { + if in == nil { + return nil + } + out := new(InstanceMaintenancePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRefreshInitParameters) DeepCopyInto(out *InstanceRefreshInitParameters) { + *out = *in + if in.Preferences != nil { + in, out := &in.Preferences, &out.Preferences + *out = make([]PreferencesInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Strategy != nil { + in, out := &in.Strategy, &out.Strategy + *out = new(string) + **out = **in + } + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRefreshInitParameters. +func (in *InstanceRefreshInitParameters) DeepCopy() *InstanceRefreshInitParameters { + if in == nil { + return nil + } + out := new(InstanceRefreshInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRefreshObservation) DeepCopyInto(out *InstanceRefreshObservation) { + *out = *in + if in.Preferences != nil { + in, out := &in.Preferences, &out.Preferences + *out = make([]PreferencesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Strategy != nil { + in, out := &in.Strategy, &out.Strategy + *out = new(string) + **out = **in + } + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRefreshObservation. +func (in *InstanceRefreshObservation) DeepCopy() *InstanceRefreshObservation { + if in == nil { + return nil + } + out := new(InstanceRefreshObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRefreshParameters) DeepCopyInto(out *InstanceRefreshParameters) { + *out = *in + if in.Preferences != nil { + in, out := &in.Preferences, &out.Preferences + *out = make([]PreferencesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Strategy != nil { + in, out := &in.Strategy, &out.Strategy + *out = new(string) + **out = **in + } + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRefreshParameters. +func (in *InstanceRefreshParameters) DeepCopy() *InstanceRefreshParameters { + if in == nil { + return nil + } + out := new(InstanceRefreshParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRequirementsInitParameters) DeepCopyInto(out *InstanceRequirementsInitParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = make([]AcceleratorCountInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorManufacturers != nil { + in, out := &in.AcceleratorManufacturers, &out.AcceleratorManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorNames != nil { + in, out := &in.AcceleratorNames, &out.AcceleratorNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorTotalMemoryMib != nil { + in, out := &in.AcceleratorTotalMemoryMib, &out.AcceleratorTotalMemoryMib + *out = make([]AcceleratorTotalMemoryMibInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorTypes != nil { + in, out := &in.AcceleratorTypes, &out.AcceleratorTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AllowedInstanceTypes != nil { + in, out := &in.AllowedInstanceTypes, &out.AllowedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.BareMetal != nil { + in, out := &in.BareMetal, &out.BareMetal + *out = new(string) + **out = **in + } + if in.BaselineEBSBandwidthMbps != nil { + in, out := &in.BaselineEBSBandwidthMbps, &out.BaselineEBSBandwidthMbps + *out = make([]BaselineEBSBandwidthMbpsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BurstablePerformance != nil { + in, out := &in.BurstablePerformance, &out.BurstablePerformance + *out = new(string) + **out = **in + } + if in.CPUManufacturers != nil { + in, out := &in.CPUManufacturers, &out.CPUManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ExcludedInstanceTypes != nil { + in, out := &in.ExcludedInstanceTypes, &out.ExcludedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.InstanceGenerations != nil { + in, out := &in.InstanceGenerations, &out.InstanceGenerations + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.LocalStorage != nil { + in, out := &in.LocalStorage, &out.LocalStorage + *out = new(string) + **out = **in + } + if in.LocalStorageTypes != nil { + in, out := &in.LocalStorageTypes, &out.LocalStorageTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MemoryGibPerVcpu != nil { + in, out := &in.MemoryGibPerVcpu, &out.MemoryGibPerVcpu + *out = make([]MemoryGibPerVcpuInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MemoryMib != nil { + in, out := &in.MemoryMib, &out.MemoryMib + *out = make([]MemoryMibInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkBandwidthGbps != nil { + in, out := &in.NetworkBandwidthGbps, &out.NetworkBandwidthGbps + *out = make([]NetworkBandwidthGbpsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkInterfaceCount != nil { + in, out := &in.NetworkInterfaceCount, &out.NetworkInterfaceCount + *out = make([]NetworkInterfaceCountInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OnDemandMaxPricePercentageOverLowestPrice != nil { + in, out := &in.OnDemandMaxPricePercentageOverLowestPrice, &out.OnDemandMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.RequireHibernateSupport != nil { + in, out := &in.RequireHibernateSupport, &out.RequireHibernateSupport + *out = new(bool) + **out = **in + } + if in.SpotMaxPricePercentageOverLowestPrice != nil { + in, out := &in.SpotMaxPricePercentageOverLowestPrice, &out.SpotMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.TotalLocalStorageGb != nil { + in, out := &in.TotalLocalStorageGb, &out.TotalLocalStorageGb + *out = make([]TotalLocalStorageGbInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VcpuCount != nil { + in, out := &in.VcpuCount, &out.VcpuCount + *out = make([]VcpuCountInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsInitParameters. +func (in *InstanceRequirementsInitParameters) DeepCopy() *InstanceRequirementsInitParameters { + if in == nil { + return nil + } + out := new(InstanceRequirementsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRequirementsObservation) DeepCopyInto(out *InstanceRequirementsObservation) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = make([]AcceleratorCountObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorManufacturers != nil { + in, out := &in.AcceleratorManufacturers, &out.AcceleratorManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorNames != nil { + in, out := &in.AcceleratorNames, &out.AcceleratorNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorTotalMemoryMib != nil { + in, out := &in.AcceleratorTotalMemoryMib, &out.AcceleratorTotalMemoryMib + *out = make([]AcceleratorTotalMemoryMibObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorTypes != nil { + in, out := &in.AcceleratorTypes, &out.AcceleratorTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AllowedInstanceTypes != nil { + in, out := &in.AllowedInstanceTypes, &out.AllowedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.BareMetal != nil { + in, out := &in.BareMetal, &out.BareMetal + *out = new(string) + **out = **in + } + if in.BaselineEBSBandwidthMbps != nil { + in, out := &in.BaselineEBSBandwidthMbps, &out.BaselineEBSBandwidthMbps + *out = make([]BaselineEBSBandwidthMbpsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BurstablePerformance != nil { + in, out := &in.BurstablePerformance, &out.BurstablePerformance + *out = new(string) + **out = **in + } + if in.CPUManufacturers != nil { + in, out := &in.CPUManufacturers, &out.CPUManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ExcludedInstanceTypes != nil { + in, out := &in.ExcludedInstanceTypes, &out.ExcludedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.InstanceGenerations != nil { + in, out := &in.InstanceGenerations, &out.InstanceGenerations + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.LocalStorage != nil { + in, out := &in.LocalStorage, &out.LocalStorage + *out = new(string) + **out = **in + } + if in.LocalStorageTypes != nil { + in, out := &in.LocalStorageTypes, &out.LocalStorageTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MemoryGibPerVcpu != nil { + in, out := &in.MemoryGibPerVcpu, &out.MemoryGibPerVcpu + *out = make([]MemoryGibPerVcpuObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MemoryMib != nil { + in, out := &in.MemoryMib, &out.MemoryMib + *out = make([]MemoryMibObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkBandwidthGbps != nil { + in, out := &in.NetworkBandwidthGbps, &out.NetworkBandwidthGbps + *out = make([]NetworkBandwidthGbpsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkInterfaceCount != nil { + in, out := &in.NetworkInterfaceCount, &out.NetworkInterfaceCount + *out = make([]NetworkInterfaceCountObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OnDemandMaxPricePercentageOverLowestPrice != nil { + in, out := &in.OnDemandMaxPricePercentageOverLowestPrice, &out.OnDemandMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.RequireHibernateSupport != nil { + in, out := &in.RequireHibernateSupport, &out.RequireHibernateSupport + *out = new(bool) + **out = **in + } + if in.SpotMaxPricePercentageOverLowestPrice != nil { + in, out := &in.SpotMaxPricePercentageOverLowestPrice, &out.SpotMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.TotalLocalStorageGb != nil { + in, out := &in.TotalLocalStorageGb, &out.TotalLocalStorageGb + *out = make([]TotalLocalStorageGbObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VcpuCount != nil { + in, out := &in.VcpuCount, &out.VcpuCount + *out = make([]VcpuCountObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsObservation. +func (in *InstanceRequirementsObservation) DeepCopy() *InstanceRequirementsObservation { + if in == nil { + return nil + } + out := new(InstanceRequirementsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceRequirementsParameters) DeepCopyInto(out *InstanceRequirementsParameters) { + *out = *in + if in.AcceleratorCount != nil { + in, out := &in.AcceleratorCount, &out.AcceleratorCount + *out = make([]AcceleratorCountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorManufacturers != nil { + in, out := &in.AcceleratorManufacturers, &out.AcceleratorManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorNames != nil { + in, out := &in.AcceleratorNames, &out.AcceleratorNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AcceleratorTotalMemoryMib != nil { + in, out := &in.AcceleratorTotalMemoryMib, &out.AcceleratorTotalMemoryMib + *out = make([]AcceleratorTotalMemoryMibParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AcceleratorTypes != nil { + in, out := &in.AcceleratorTypes, &out.AcceleratorTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.AllowedInstanceTypes != nil { + in, out := &in.AllowedInstanceTypes, &out.AllowedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.BareMetal != nil { + in, out := &in.BareMetal, &out.BareMetal + *out = new(string) + **out = **in + } + if in.BaselineEBSBandwidthMbps != nil { + in, out := &in.BaselineEBSBandwidthMbps, &out.BaselineEBSBandwidthMbps + *out = make([]BaselineEBSBandwidthMbpsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BurstablePerformance != nil { + in, out := &in.BurstablePerformance, &out.BurstablePerformance + *out = new(string) + **out = **in + } + if in.CPUManufacturers != nil { + in, out := &in.CPUManufacturers, &out.CPUManufacturers + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ExcludedInstanceTypes != nil { + in, out := &in.ExcludedInstanceTypes, &out.ExcludedInstanceTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.InstanceGenerations != nil { + in, out := &in.InstanceGenerations, &out.InstanceGenerations + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.LocalStorage != nil { + in, out := &in.LocalStorage, &out.LocalStorage + *out = new(string) + **out = **in + } + if in.LocalStorageTypes != nil { + in, out := &in.LocalStorageTypes, &out.LocalStorageTypes + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MemoryGibPerVcpu != nil { + in, out := &in.MemoryGibPerVcpu, &out.MemoryGibPerVcpu + *out = make([]MemoryGibPerVcpuParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MemoryMib != nil { + in, out := &in.MemoryMib, &out.MemoryMib + *out = make([]MemoryMibParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkBandwidthGbps != nil { + in, out := &in.NetworkBandwidthGbps, &out.NetworkBandwidthGbps + *out = make([]NetworkBandwidthGbpsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NetworkInterfaceCount != nil { + in, out := &in.NetworkInterfaceCount, &out.NetworkInterfaceCount + *out = make([]NetworkInterfaceCountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.OnDemandMaxPricePercentageOverLowestPrice != nil { + in, out := &in.OnDemandMaxPricePercentageOverLowestPrice, &out.OnDemandMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.RequireHibernateSupport != nil { + in, out := &in.RequireHibernateSupport, &out.RequireHibernateSupport + *out = new(bool) + **out = **in + } + if in.SpotMaxPricePercentageOverLowestPrice != nil { + in, out := &in.SpotMaxPricePercentageOverLowestPrice, &out.SpotMaxPricePercentageOverLowestPrice + *out = new(float64) + **out = **in + } + if in.TotalLocalStorageGb != nil { + in, out := &in.TotalLocalStorageGb, &out.TotalLocalStorageGb + *out = make([]TotalLocalStorageGbParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VcpuCount != nil { + in, out := &in.VcpuCount, &out.VcpuCount + *out = make([]VcpuCountParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceRequirementsParameters. +func (in *InstanceRequirementsParameters) DeepCopy() *InstanceRequirementsParameters { + if in == nil { + return nil + } + out := new(InstanceRequirementsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceReusePolicyInitParameters) DeepCopyInto(out *InstanceReusePolicyInitParameters) { + *out = *in + if in.ReuseOnScaleIn != nil { + in, out := &in.ReuseOnScaleIn, &out.ReuseOnScaleIn + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceReusePolicyInitParameters. +func (in *InstanceReusePolicyInitParameters) DeepCopy() *InstanceReusePolicyInitParameters { + if in == nil { + return nil + } + out := new(InstanceReusePolicyInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceReusePolicyObservation) DeepCopyInto(out *InstanceReusePolicyObservation) { + *out = *in + if in.ReuseOnScaleIn != nil { + in, out := &in.ReuseOnScaleIn, &out.ReuseOnScaleIn + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceReusePolicyObservation. +func (in *InstanceReusePolicyObservation) DeepCopy() *InstanceReusePolicyObservation { + if in == nil { + return nil + } + out := new(InstanceReusePolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceReusePolicyParameters) DeepCopyInto(out *InstanceReusePolicyParameters) { + *out = *in + if in.ReuseOnScaleIn != nil { + in, out := &in.ReuseOnScaleIn, &out.ReuseOnScaleIn + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceReusePolicyParameters. +func (in *InstanceReusePolicyParameters) DeepCopy() *InstanceReusePolicyParameters { + if in == nil { + return nil + } + out := new(InstanceReusePolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancesDistributionInitParameters) DeepCopyInto(out *InstancesDistributionInitParameters) { + *out = *in + if in.OnDemandAllocationStrategy != nil { + in, out := &in.OnDemandAllocationStrategy, &out.OnDemandAllocationStrategy + *out = new(string) + **out = **in + } + if in.OnDemandBaseCapacity != nil { + in, out := &in.OnDemandBaseCapacity, &out.OnDemandBaseCapacity + *out = new(float64) + **out = **in + } + if in.OnDemandPercentageAboveBaseCapacity != nil { + in, out := &in.OnDemandPercentageAboveBaseCapacity, &out.OnDemandPercentageAboveBaseCapacity + *out = new(float64) + **out = **in + } + if in.SpotAllocationStrategy != nil { + in, out := &in.SpotAllocationStrategy, &out.SpotAllocationStrategy + *out = new(string) + **out = **in + } + if in.SpotInstancePools != nil { + in, out := &in.SpotInstancePools, &out.SpotInstancePools + *out = new(float64) + **out = **in + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesDistributionInitParameters. +func (in *InstancesDistributionInitParameters) DeepCopy() *InstancesDistributionInitParameters { + if in == nil { + return nil + } + out := new(InstancesDistributionInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancesDistributionObservation) DeepCopyInto(out *InstancesDistributionObservation) { + *out = *in + if in.OnDemandAllocationStrategy != nil { + in, out := &in.OnDemandAllocationStrategy, &out.OnDemandAllocationStrategy + *out = new(string) + **out = **in + } + if in.OnDemandBaseCapacity != nil { + in, out := &in.OnDemandBaseCapacity, &out.OnDemandBaseCapacity + *out = new(float64) + **out = **in + } + if in.OnDemandPercentageAboveBaseCapacity != nil { + in, out := &in.OnDemandPercentageAboveBaseCapacity, &out.OnDemandPercentageAboveBaseCapacity + *out = new(float64) + **out = **in + } + if in.SpotAllocationStrategy != nil { + in, out := &in.SpotAllocationStrategy, &out.SpotAllocationStrategy + *out = new(string) + **out = **in + } + if in.SpotInstancePools != nil { + in, out := &in.SpotInstancePools, &out.SpotInstancePools + *out = new(float64) + **out = **in + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesDistributionObservation. +func (in *InstancesDistributionObservation) DeepCopy() *InstancesDistributionObservation { + if in == nil { + return nil + } + out := new(InstancesDistributionObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstancesDistributionParameters) DeepCopyInto(out *InstancesDistributionParameters) { + *out = *in + if in.OnDemandAllocationStrategy != nil { + in, out := &in.OnDemandAllocationStrategy, &out.OnDemandAllocationStrategy + *out = new(string) + **out = **in + } + if in.OnDemandBaseCapacity != nil { + in, out := &in.OnDemandBaseCapacity, &out.OnDemandBaseCapacity + *out = new(float64) + **out = **in + } + if in.OnDemandPercentageAboveBaseCapacity != nil { + in, out := &in.OnDemandPercentageAboveBaseCapacity, &out.OnDemandPercentageAboveBaseCapacity + *out = new(float64) + **out = **in + } + if in.SpotAllocationStrategy != nil { + in, out := &in.SpotAllocationStrategy, &out.SpotAllocationStrategy + *out = new(string) + **out = **in + } + if in.SpotInstancePools != nil { + in, out := &in.SpotInstancePools, &out.SpotInstancePools + *out = new(float64) + **out = **in + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstancesDistributionParameters. +func (in *InstancesDistributionParameters) DeepCopy() *InstancesDistributionParameters { + if in == nil { + return nil + } + out := new(InstancesDistributionParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateInitParameters) DeepCopyInto(out *LaunchTemplateInitParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IDRef != nil { + in, out := &in.IDRef, &out.IDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IDSelector != nil { + in, out := &in.IDSelector, &out.IDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateInitParameters. +func (in *LaunchTemplateInitParameters) DeepCopy() *LaunchTemplateInitParameters { + if in == nil { + return nil + } + out := new(LaunchTemplateInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateObservation) DeepCopyInto(out *LaunchTemplateObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateObservation. +func (in *LaunchTemplateObservation) DeepCopy() *LaunchTemplateObservation { + if in == nil { + return nil + } + out := new(LaunchTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateParameters) DeepCopyInto(out *LaunchTemplateParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IDRef != nil { + in, out := &in.IDRef, &out.IDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.IDSelector != nil { + in, out := &in.IDSelector, &out.IDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateParameters. +func (in *LaunchTemplateParameters) DeepCopy() *LaunchTemplateParameters { + if in == nil { + return nil + } + out := new(LaunchTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateSpecificationInitParameters) DeepCopyInto(out *LaunchTemplateSpecificationInitParameters) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateIDRef != nil { + in, out := &in.LaunchTemplateIDRef, &out.LaunchTemplateIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateIDSelector != nil { + in, out := &in.LaunchTemplateIDSelector, &out.LaunchTemplateIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationInitParameters. +func (in *LaunchTemplateSpecificationInitParameters) DeepCopy() *LaunchTemplateSpecificationInitParameters { + if in == nil { + return nil + } + out := new(LaunchTemplateSpecificationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateSpecificationObservation) DeepCopyInto(out *LaunchTemplateSpecificationObservation) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationObservation. +func (in *LaunchTemplateSpecificationObservation) DeepCopy() *LaunchTemplateSpecificationObservation { + if in == nil { + return nil + } + out := new(LaunchTemplateSpecificationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LaunchTemplateSpecificationParameters) DeepCopyInto(out *LaunchTemplateSpecificationParameters) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateIDRef != nil { + in, out := &in.LaunchTemplateIDRef, &out.LaunchTemplateIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateIDSelector != nil { + in, out := &in.LaunchTemplateIDSelector, &out.LaunchTemplateIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchTemplateSpecificationParameters. +func (in *LaunchTemplateSpecificationParameters) DeepCopy() *LaunchTemplateSpecificationParameters { + if in == nil { + return nil + } + out := new(LaunchTemplateSpecificationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryGibPerVcpuInitParameters) DeepCopyInto(out *MemoryGibPerVcpuInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuInitParameters. +func (in *MemoryGibPerVcpuInitParameters) DeepCopy() *MemoryGibPerVcpuInitParameters { + if in == nil { + return nil + } + out := new(MemoryGibPerVcpuInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryGibPerVcpuObservation) DeepCopyInto(out *MemoryGibPerVcpuObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuObservation. +func (in *MemoryGibPerVcpuObservation) DeepCopy() *MemoryGibPerVcpuObservation { + if in == nil { + return nil + } + out := new(MemoryGibPerVcpuObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryGibPerVcpuParameters) DeepCopyInto(out *MemoryGibPerVcpuParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryGibPerVcpuParameters. +func (in *MemoryGibPerVcpuParameters) DeepCopy() *MemoryGibPerVcpuParameters { + if in == nil { + return nil + } + out := new(MemoryGibPerVcpuParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryMibInitParameters) DeepCopyInto(out *MemoryMibInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibInitParameters. +func (in *MemoryMibInitParameters) DeepCopy() *MemoryMibInitParameters { + if in == nil { + return nil + } + out := new(MemoryMibInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryMibObservation) DeepCopyInto(out *MemoryMibObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibObservation. +func (in *MemoryMibObservation) DeepCopy() *MemoryMibObservation { + if in == nil { + return nil + } + out := new(MemoryMibObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MemoryMibParameters) DeepCopyInto(out *MemoryMibParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryMibParameters. +func (in *MemoryMibParameters) DeepCopy() *MemoryMibParameters { + if in == nil { + return nil + } + out := new(MemoryMibParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyInitParameters) DeepCopyInto(out *MixedInstancesPolicyInitParameters) { + *out = *in + if in.InstancesDistribution != nil { + in, out := &in.InstancesDistribution, &out.InstancesDistribution + *out = make([]InstancesDistributionInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]MixedInstancesPolicyLaunchTemplateInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyInitParameters. +func (in *MixedInstancesPolicyInitParameters) DeepCopy() *MixedInstancesPolicyInitParameters { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyLaunchTemplateInitParameters) DeepCopyInto(out *MixedInstancesPolicyLaunchTemplateInitParameters) { + *out = *in + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]LaunchTemplateSpecificationInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Override != nil { + in, out := &in.Override, &out.Override + *out = make([]OverrideInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyLaunchTemplateInitParameters. +func (in *MixedInstancesPolicyLaunchTemplateInitParameters) DeepCopy() *MixedInstancesPolicyLaunchTemplateInitParameters { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyLaunchTemplateInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyLaunchTemplateObservation) DeepCopyInto(out *MixedInstancesPolicyLaunchTemplateObservation) { + *out = *in + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]LaunchTemplateSpecificationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Override != nil { + in, out := &in.Override, &out.Override + *out = make([]OverrideObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyLaunchTemplateObservation. +func (in *MixedInstancesPolicyLaunchTemplateObservation) DeepCopy() *MixedInstancesPolicyLaunchTemplateObservation { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyLaunchTemplateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyLaunchTemplateParameters) DeepCopyInto(out *MixedInstancesPolicyLaunchTemplateParameters) { + *out = *in + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]LaunchTemplateSpecificationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Override != nil { + in, out := &in.Override, &out.Override + *out = make([]OverrideParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyLaunchTemplateParameters. +func (in *MixedInstancesPolicyLaunchTemplateParameters) DeepCopy() *MixedInstancesPolicyLaunchTemplateParameters { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyLaunchTemplateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyObservation) DeepCopyInto(out *MixedInstancesPolicyObservation) { + *out = *in + if in.InstancesDistribution != nil { + in, out := &in.InstancesDistribution, &out.InstancesDistribution + *out = make([]InstancesDistributionObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]MixedInstancesPolicyLaunchTemplateObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyObservation. +func (in *MixedInstancesPolicyObservation) DeepCopy() *MixedInstancesPolicyObservation { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MixedInstancesPolicyParameters) DeepCopyInto(out *MixedInstancesPolicyParameters) { + *out = *in + if in.InstancesDistribution != nil { + in, out := &in.InstancesDistribution, &out.InstancesDistribution + *out = make([]InstancesDistributionParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.LaunchTemplate != nil { + in, out := &in.LaunchTemplate, &out.LaunchTemplate + *out = make([]MixedInstancesPolicyLaunchTemplateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicyParameters. +func (in *MixedInstancesPolicyParameters) DeepCopy() *MixedInstancesPolicyParameters { + if in == nil { + return nil + } + out := new(MixedInstancesPolicyParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkBandwidthGbpsInitParameters) DeepCopyInto(out *NetworkBandwidthGbpsInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsInitParameters. +func (in *NetworkBandwidthGbpsInitParameters) DeepCopy() *NetworkBandwidthGbpsInitParameters { + if in == nil { + return nil + } + out := new(NetworkBandwidthGbpsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkBandwidthGbpsObservation) DeepCopyInto(out *NetworkBandwidthGbpsObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsObservation. +func (in *NetworkBandwidthGbpsObservation) DeepCopy() *NetworkBandwidthGbpsObservation { + if in == nil { + return nil + } + out := new(NetworkBandwidthGbpsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkBandwidthGbpsParameters) DeepCopyInto(out *NetworkBandwidthGbpsParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthGbpsParameters. +func (in *NetworkBandwidthGbpsParameters) DeepCopy() *NetworkBandwidthGbpsParameters { + if in == nil { + return nil + } + out := new(NetworkBandwidthGbpsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceCountInitParameters) DeepCopyInto(out *NetworkInterfaceCountInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountInitParameters. +func (in *NetworkInterfaceCountInitParameters) DeepCopy() *NetworkInterfaceCountInitParameters { + if in == nil { + return nil + } + out := new(NetworkInterfaceCountInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceCountObservation) DeepCopyInto(out *NetworkInterfaceCountObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountObservation. +func (in *NetworkInterfaceCountObservation) DeepCopy() *NetworkInterfaceCountObservation { + if in == nil { + return nil + } + out := new(NetworkInterfaceCountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInterfaceCountParameters) DeepCopyInto(out *NetworkInterfaceCountParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceCountParameters. +func (in *NetworkInterfaceCountParameters) DeepCopy() *NetworkInterfaceCountParameters { + if in == nil { + return nil + } + out := new(NetworkInterfaceCountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideInitParameters) DeepCopyInto(out *OverrideInitParameters) { + *out = *in + if in.InstanceRequirements != nil { + in, out := &in.InstanceRequirements, &out.InstanceRequirements + *out = make([]InstanceRequirementsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]OverrideLaunchTemplateSpecificationInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedCapacity != nil { + in, out := &in.WeightedCapacity, &out.WeightedCapacity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideInitParameters. +func (in *OverrideInitParameters) DeepCopy() *OverrideInitParameters { + if in == nil { + return nil + } + out := new(OverrideInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideLaunchTemplateSpecificationInitParameters) DeepCopyInto(out *OverrideLaunchTemplateSpecificationInitParameters) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateIDRef != nil { + in, out := &in.LaunchTemplateIDRef, &out.LaunchTemplateIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateIDSelector != nil { + in, out := &in.LaunchTemplateIDSelector, &out.LaunchTemplateIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideLaunchTemplateSpecificationInitParameters. +func (in *OverrideLaunchTemplateSpecificationInitParameters) DeepCopy() *OverrideLaunchTemplateSpecificationInitParameters { + if in == nil { + return nil + } + out := new(OverrideLaunchTemplateSpecificationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideLaunchTemplateSpecificationObservation) DeepCopyInto(out *OverrideLaunchTemplateSpecificationObservation) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideLaunchTemplateSpecificationObservation. +func (in *OverrideLaunchTemplateSpecificationObservation) DeepCopy() *OverrideLaunchTemplateSpecificationObservation { + if in == nil { + return nil + } + out := new(OverrideLaunchTemplateSpecificationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideLaunchTemplateSpecificationParameters) DeepCopyInto(out *OverrideLaunchTemplateSpecificationParameters) { + *out = *in + if in.LaunchTemplateID != nil { + in, out := &in.LaunchTemplateID, &out.LaunchTemplateID + *out = new(string) + **out = **in + } + if in.LaunchTemplateIDRef != nil { + in, out := &in.LaunchTemplateIDRef, &out.LaunchTemplateIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateIDSelector != nil { + in, out := &in.LaunchTemplateIDSelector, &out.LaunchTemplateIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LaunchTemplateName != nil { + in, out := &in.LaunchTemplateName, &out.LaunchTemplateName + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideLaunchTemplateSpecificationParameters. +func (in *OverrideLaunchTemplateSpecificationParameters) DeepCopy() *OverrideLaunchTemplateSpecificationParameters { + if in == nil { + return nil + } + out := new(OverrideLaunchTemplateSpecificationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideObservation) DeepCopyInto(out *OverrideObservation) { + *out = *in + if in.InstanceRequirements != nil { + in, out := &in.InstanceRequirements, &out.InstanceRequirements + *out = make([]InstanceRequirementsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]OverrideLaunchTemplateSpecificationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedCapacity != nil { + in, out := &in.WeightedCapacity, &out.WeightedCapacity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideObservation. +func (in *OverrideObservation) DeepCopy() *OverrideObservation { + if in == nil { + return nil + } + out := new(OverrideObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OverrideParameters) DeepCopyInto(out *OverrideParameters) { + *out = *in + if in.InstanceRequirements != nil { + in, out := &in.InstanceRequirements, &out.InstanceRequirements + *out = make([]InstanceRequirementsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.LaunchTemplateSpecification != nil { + in, out := &in.LaunchTemplateSpecification, &out.LaunchTemplateSpecification + *out = make([]OverrideLaunchTemplateSpecificationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.WeightedCapacity != nil { + in, out := &in.WeightedCapacity, &out.WeightedCapacity + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideParameters. +func (in *OverrideParameters) DeepCopy() *OverrideParameters { + if in == nil { + return nil + } + out := new(OverrideParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreferencesInitParameters) DeepCopyInto(out *PreferencesInitParameters) { + *out = *in + if in.AutoRollback != nil { + in, out := &in.AutoRollback, &out.AutoRollback + *out = new(bool) + **out = **in + } + if in.CheckpointDelay != nil { + in, out := &in.CheckpointDelay, &out.CheckpointDelay + *out = new(string) + **out = **in + } + if in.CheckpointPercentages != nil { + in, out := &in.CheckpointPercentages, &out.CheckpointPercentages + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.InstanceWarmup != nil { + in, out := &in.InstanceWarmup, &out.InstanceWarmup + *out = new(string) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } + if in.ScaleInProtectedInstances != nil { + in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances + *out = new(string) + **out = **in + } + if in.SkipMatching != nil { + in, out := &in.SkipMatching, &out.SkipMatching + *out = new(bool) + **out = **in + } + if in.StandbyInstances != nil { + in, out := &in.StandbyInstances, &out.StandbyInstances + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesInitParameters. +func (in *PreferencesInitParameters) DeepCopy() *PreferencesInitParameters { + if in == nil { + return nil + } + out := new(PreferencesInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreferencesObservation) DeepCopyInto(out *PreferencesObservation) { + *out = *in + if in.AutoRollback != nil { + in, out := &in.AutoRollback, &out.AutoRollback + *out = new(bool) + **out = **in + } + if in.CheckpointDelay != nil { + in, out := &in.CheckpointDelay, &out.CheckpointDelay + *out = new(string) + **out = **in + } + if in.CheckpointPercentages != nil { + in, out := &in.CheckpointPercentages, &out.CheckpointPercentages + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.InstanceWarmup != nil { + in, out := &in.InstanceWarmup, &out.InstanceWarmup + *out = new(string) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } + if in.ScaleInProtectedInstances != nil { + in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances + *out = new(string) + **out = **in + } + if in.SkipMatching != nil { + in, out := &in.SkipMatching, &out.SkipMatching + *out = new(bool) + **out = **in + } + if in.StandbyInstances != nil { + in, out := &in.StandbyInstances, &out.StandbyInstances + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesObservation. +func (in *PreferencesObservation) DeepCopy() *PreferencesObservation { + if in == nil { + return nil + } + out := new(PreferencesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PreferencesParameters) DeepCopyInto(out *PreferencesParameters) { + *out = *in + if in.AutoRollback != nil { + in, out := &in.AutoRollback, &out.AutoRollback + *out = new(bool) + **out = **in + } + if in.CheckpointDelay != nil { + in, out := &in.CheckpointDelay, &out.CheckpointDelay + *out = new(string) + **out = **in + } + if in.CheckpointPercentages != nil { + in, out := &in.CheckpointPercentages, &out.CheckpointPercentages + *out = make([]*float64, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(float64) + **out = **in + } + } + } + if in.InstanceWarmup != nil { + in, out := &in.InstanceWarmup, &out.InstanceWarmup + *out = new(string) + **out = **in + } + if in.MinHealthyPercentage != nil { + in, out := &in.MinHealthyPercentage, &out.MinHealthyPercentage + *out = new(float64) + **out = **in + } + if in.ScaleInProtectedInstances != nil { + in, out := &in.ScaleInProtectedInstances, &out.ScaleInProtectedInstances + *out = new(string) + **out = **in + } + if in.SkipMatching != nil { + in, out := &in.SkipMatching, &out.SkipMatching + *out = new(bool) + **out = **in + } + if in.StandbyInstances != nil { + in, out := &in.StandbyInstances, &out.StandbyInstances + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreferencesParameters. +func (in *PreferencesParameters) DeepCopy() *PreferencesParameters { + if in == nil { + return nil + } + out := new(PreferencesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagInitParameters) DeepCopyInto(out *TagInitParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropagateAtLaunch != nil { + in, out := &in.PropagateAtLaunch, &out.PropagateAtLaunch + *out = new(bool) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagInitParameters. +func (in *TagInitParameters) DeepCopy() *TagInitParameters { + if in == nil { + return nil + } + out := new(TagInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagObservation) DeepCopyInto(out *TagObservation) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropagateAtLaunch != nil { + in, out := &in.PropagateAtLaunch, &out.PropagateAtLaunch + *out = new(bool) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagObservation. +func (in *TagObservation) DeepCopy() *TagObservation { + if in == nil { + return nil + } + out := new(TagObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagParameters) DeepCopyInto(out *TagParameters) { + *out = *in + if in.Key != nil { + in, out := &in.Key, &out.Key + *out = new(string) + **out = **in + } + if in.PropagateAtLaunch != nil { + in, out := &in.PropagateAtLaunch, &out.PropagateAtLaunch + *out = new(bool) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagParameters. +func (in *TagParameters) DeepCopy() *TagParameters { + if in == nil { + return nil + } + out := new(TagParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TotalLocalStorageGbInitParameters) DeepCopyInto(out *TotalLocalStorageGbInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbInitParameters. +func (in *TotalLocalStorageGbInitParameters) DeepCopy() *TotalLocalStorageGbInitParameters { + if in == nil { + return nil + } + out := new(TotalLocalStorageGbInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TotalLocalStorageGbObservation) DeepCopyInto(out *TotalLocalStorageGbObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbObservation. +func (in *TotalLocalStorageGbObservation) DeepCopy() *TotalLocalStorageGbObservation { + if in == nil { + return nil + } + out := new(TotalLocalStorageGbObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TotalLocalStorageGbParameters) DeepCopyInto(out *TotalLocalStorageGbParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TotalLocalStorageGbParameters. +func (in *TotalLocalStorageGbParameters) DeepCopy() *TotalLocalStorageGbParameters { + if in == nil { + return nil + } + out := new(TotalLocalStorageGbParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficSourceInitParameters) DeepCopyInto(out *TrafficSourceInitParameters) { + *out = *in + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceInitParameters. +func (in *TrafficSourceInitParameters) DeepCopy() *TrafficSourceInitParameters { + if in == nil { + return nil + } + out := new(TrafficSourceInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficSourceObservation) DeepCopyInto(out *TrafficSourceObservation) { + *out = *in + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceObservation. +func (in *TrafficSourceObservation) DeepCopy() *TrafficSourceObservation { + if in == nil { + return nil + } + out := new(TrafficSourceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrafficSourceParameters) DeepCopyInto(out *TrafficSourceParameters) { + *out = *in + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficSourceParameters. +func (in *TrafficSourceParameters) DeepCopy() *TrafficSourceParameters { + if in == nil { + return nil + } + out := new(TrafficSourceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VcpuCountInitParameters) DeepCopyInto(out *VcpuCountInitParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountInitParameters. +func (in *VcpuCountInitParameters) DeepCopy() *VcpuCountInitParameters { + if in == nil { + return nil + } + out := new(VcpuCountInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VcpuCountObservation) DeepCopyInto(out *VcpuCountObservation) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountObservation. +func (in *VcpuCountObservation) DeepCopy() *VcpuCountObservation { + if in == nil { + return nil + } + out := new(VcpuCountObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VcpuCountParameters) DeepCopyInto(out *VcpuCountParameters) { + *out = *in + if in.Max != nil { + in, out := &in.Max, &out.Max + *out = new(float64) + **out = **in + } + if in.Min != nil { + in, out := &in.Min, &out.Min + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VcpuCountParameters. +func (in *VcpuCountParameters) DeepCopy() *VcpuCountParameters { + if in == nil { + return nil + } + out := new(VcpuCountParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WarmPoolInitParameters) DeepCopyInto(out *WarmPoolInitParameters) { + *out = *in + if in.InstanceReusePolicy != nil { + in, out := &in.InstanceReusePolicy, &out.InstanceReusePolicy + *out = make([]InstanceReusePolicyInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxGroupPreparedCapacity != nil { + in, out := &in.MaxGroupPreparedCapacity, &out.MaxGroupPreparedCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.PoolState != nil { + in, out := &in.PoolState, &out.PoolState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarmPoolInitParameters. +func (in *WarmPoolInitParameters) DeepCopy() *WarmPoolInitParameters { + if in == nil { + return nil + } + out := new(WarmPoolInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WarmPoolObservation) DeepCopyInto(out *WarmPoolObservation) { + *out = *in + if in.InstanceReusePolicy != nil { + in, out := &in.InstanceReusePolicy, &out.InstanceReusePolicy + *out = make([]InstanceReusePolicyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxGroupPreparedCapacity != nil { + in, out := &in.MaxGroupPreparedCapacity, &out.MaxGroupPreparedCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.PoolState != nil { + in, out := &in.PoolState, &out.PoolState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarmPoolObservation. +func (in *WarmPoolObservation) DeepCopy() *WarmPoolObservation { + if in == nil { + return nil + } + out := new(WarmPoolObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WarmPoolParameters) DeepCopyInto(out *WarmPoolParameters) { + *out = *in + if in.InstanceReusePolicy != nil { + in, out := &in.InstanceReusePolicy, &out.InstanceReusePolicy + *out = make([]InstanceReusePolicyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaxGroupPreparedCapacity != nil { + in, out := &in.MaxGroupPreparedCapacity, &out.MaxGroupPreparedCapacity + *out = new(float64) + **out = **in + } + if in.MinSize != nil { + in, out := &in.MinSize, &out.MinSize + *out = new(float64) + **out = **in + } + if in.PoolState != nil { + in, out := &in.PoolState, &out.PoolState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarmPoolParameters. +func (in *WarmPoolParameters) DeepCopy() *WarmPoolParameters { + if in == nil { + return nil + } + out := new(WarmPoolParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/autoscaling/v1beta2/zz_generated.managed.go b/apis/autoscaling/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..c15fc8721e --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_generated.managed.go @@ -0,0 +1,128 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Attachment. +func (mg *Attachment) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Attachment. +func (mg *Attachment) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Attachment. +func (mg *Attachment) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Attachment. +func (mg *Attachment) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Attachment. +func (mg *Attachment) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Attachment. +func (mg *Attachment) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Attachment. +func (mg *Attachment) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Attachment. +func (mg *Attachment) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Attachment. +func (mg *Attachment) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Attachment. +func (mg *Attachment) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Attachment. +func (mg *Attachment) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Attachment. +func (mg *Attachment) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this AutoscalingGroup. +func (mg *AutoscalingGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this AutoscalingGroup. +func (mg *AutoscalingGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/autoscaling/v1beta2/zz_generated.managedlist.go b/apis/autoscaling/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..f08ab5af3b --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,26 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this AttachmentList. +func (l *AttachmentList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this AutoscalingGroupList. +func (l *AutoscalingGroupList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/autoscaling/v1beta2/zz_generated.resolvers.go b/apis/autoscaling/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..eb96add824 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,456 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + common "github.com/upbound/provider-aws/config/common" + apisresolver "github.com/upbound/provider-aws/internal/apis" + client "sigs.k8s.io/controller-runtime/pkg/client" +) + +func (mg *Attachment) ResolveReferences( // ResolveReferences of this Attachment. + ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta2", "AutoscalingGroup", "AutoscalingGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.AutoscalingGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.AutoscalingGroupNameRef, + Selector: mg.Spec.ForProvider.AutoscalingGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.AutoscalingGroupName") + } + mg.Spec.ForProvider.AutoscalingGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.AutoscalingGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("elb.aws.upbound.io", "v1beta1", "ELB", "ELBList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ELB), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.ELBRef, + Selector: mg.Spec.ForProvider.ELBSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ELB") + } + mg.Spec.ForProvider.ELB = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ELBRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("elbv2.aws.upbound.io", "v1beta1", "LBTargetGroup", "LBTargetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LBTargetGroupArn), + Extract: resource.ExtractParamPath("arn", true), + Reference: mg.Spec.ForProvider.LBTargetGroupArnRef, + Selector: mg.Spec.ForProvider.LBTargetGroupArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LBTargetGroupArn") + } + mg.Spec.ForProvider.LBTargetGroupArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LBTargetGroupArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta2", "AutoscalingGroup", "AutoscalingGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.AutoscalingGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.AutoscalingGroupNameRef, + Selector: mg.Spec.InitProvider.AutoscalingGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.AutoscalingGroupName") + } + mg.Spec.InitProvider.AutoscalingGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.AutoscalingGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("elb.aws.upbound.io", "v1beta1", "ELB", "ELBList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ELB), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.ELBRef, + Selector: mg.Spec.InitProvider.ELBSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ELB") + } + mg.Spec.InitProvider.ELB = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ELBRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("elbv2.aws.upbound.io", "v1beta1", "LBTargetGroup", "LBTargetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LBTargetGroupArn), + Extract: resource.ExtractParamPath("arn", true), + Reference: mg.Spec.InitProvider.LBTargetGroupArnRef, + Selector: mg.Spec.InitProvider.LBTargetGroupArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LBTargetGroupArn") + } + mg.Spec.InitProvider.LBTargetGroupArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LBTargetGroupArnRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this AutoscalingGroup. +func (mg *AutoscalingGroup) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "LaunchConfiguration", "LaunchConfigurationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LaunchConfiguration), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.LaunchConfigurationRef, + Selector: mg.Spec.ForProvider.LaunchConfigurationSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LaunchConfiguration") + } + mg.Spec.ForProvider.LaunchConfiguration = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LaunchConfigurationRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.ForProvider.LaunchTemplate); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LaunchTemplate[i3].ID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.LaunchTemplate[i3].IDRef, + Selector: mg.Spec.ForProvider.LaunchTemplate[i3].IDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LaunchTemplate[i3].ID") + } + mg.Spec.ForProvider.LaunchTemplate[i3].ID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LaunchTemplate[i3].IDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.MixedInstancesPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification); i5++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDRef, + Selector: mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID") + } + mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.MixedInstancesPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override); i5++ { + for i6 := 0; i6 < len(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification); i6++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDRef, + Selector: mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID") + } + mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDRef = rsp.ResolvedReference + + } + } + } + } + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "PlacementGroup", "PlacementGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.PlacementGroup), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.PlacementGroupRef, + Selector: mg.Spec.ForProvider.PlacementGroupSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.PlacementGroup") + } + mg.Spec.ForProvider.PlacementGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.PlacementGroupRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("iam.aws.upbound.io", "v1beta1", "Role", "RoleList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ServiceLinkedRoleArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.ServiceLinkedRoleArnRef, + Selector: mg.Spec.ForProvider.ServiceLinkedRoleArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ServiceLinkedRoleArn") + } + mg.Spec.ForProvider.ServiceLinkedRoleArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ServiceLinkedRoleArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.VPCZoneIdentifier), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.VPCZoneIdentifierRefs, + Selector: mg.Spec.ForProvider.VPCZoneIdentifierSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VPCZoneIdentifier") + } + mg.Spec.ForProvider.VPCZoneIdentifier = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.VPCZoneIdentifierRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("autoscaling.aws.upbound.io", "v1beta1", "LaunchConfiguration", "LaunchConfigurationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LaunchConfiguration), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.LaunchConfigurationRef, + Selector: mg.Spec.InitProvider.LaunchConfigurationSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LaunchConfiguration") + } + mg.Spec.InitProvider.LaunchConfiguration = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LaunchConfigurationRef = rsp.ResolvedReference + + for i3 := 0; i3 < len(mg.Spec.InitProvider.LaunchTemplate); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LaunchTemplate[i3].ID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.LaunchTemplate[i3].IDRef, + Selector: mg.Spec.InitProvider.LaunchTemplate[i3].IDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LaunchTemplate[i3].ID") + } + mg.Spec.InitProvider.LaunchTemplate[i3].ID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LaunchTemplate[i3].IDRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.MixedInstancesPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification); i5++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDRef, + Selector: mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID") + } + mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].LaunchTemplateSpecification[i5].LaunchTemplateIDRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.MixedInstancesPolicy); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override); i5++ { + for i6 := 0; i6 < len(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification); i6++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "LaunchTemplate", "LaunchTemplateList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDRef, + Selector: mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID") + } + mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MixedInstancesPolicy[i3].LaunchTemplate[i4].Override[i5].LaunchTemplateSpecification[i6].LaunchTemplateIDRef = rsp.ResolvedReference + + } + } + } + } + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "PlacementGroup", "PlacementGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.PlacementGroup), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.PlacementGroupRef, + Selector: mg.Spec.InitProvider.PlacementGroupSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.PlacementGroup") + } + mg.Spec.InitProvider.PlacementGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.PlacementGroupRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("iam.aws.upbound.io", "v1beta1", "Role", "RoleList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ServiceLinkedRoleArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.ServiceLinkedRoleArnRef, + Selector: mg.Spec.InitProvider.ServiceLinkedRoleArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ServiceLinkedRoleArn") + } + mg.Spec.InitProvider.ServiceLinkedRoleArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ServiceLinkedRoleArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.VPCZoneIdentifier), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.VPCZoneIdentifierRefs, + Selector: mg.Spec.InitProvider.VPCZoneIdentifierSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCZoneIdentifier") + } + mg.Spec.InitProvider.VPCZoneIdentifier = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.VPCZoneIdentifierRefs = mrsp.ResolvedReferences + + return nil +} diff --git a/apis/autoscaling/v1beta2/zz_groupversion_info.go b/apis/autoscaling/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..84d57d08b6 --- /dev/null +++ b/apis/autoscaling/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=autoscaling.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "autoscaling.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/autoscalingplans/v1beta1/zz_scalingplan_types.go b/apis/autoscalingplans/v1beta1/zz_scalingplan_types.go index 065580eea5..11acf66ff9 100755 --- a/apis/autoscalingplans/v1beta1/zz_scalingplan_types.go +++ b/apis/autoscalingplans/v1beta1/zz_scalingplan_types.go @@ -590,6 +590,7 @@ type ScalingPlanStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ScalingPlan is the Schema for the ScalingPlans API. Manages an AWS Auto Scaling scaling plan. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_framework_types.go b/apis/backup/v1beta1/zz_framework_types.go index 2e65674848..dc0eeb24a2 100755 --- a/apis/backup/v1beta1/zz_framework_types.go +++ b/apis/backup/v1beta1/zz_framework_types.go @@ -234,6 +234,7 @@ type FrameworkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Framework is the Schema for the Frameworks API. Provides an AWS Backup Framework resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_globalsettings_types.go b/apis/backup/v1beta1/zz_globalsettings_types.go index 5e80b0c75a..6c665e8ed6 100755 --- a/apis/backup/v1beta1/zz_globalsettings_types.go +++ b/apis/backup/v1beta1/zz_globalsettings_types.go @@ -72,6 +72,7 @@ type GlobalSettingsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalSettings is the Schema for the GlobalSettingss API. Provides an AWS Backup Global Settings resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_plan_types.go b/apis/backup/v1beta1/zz_plan_types.go index 506482549a..02014119b3 100755 --- a/apis/backup/v1beta1/zz_plan_types.go +++ b/apis/backup/v1beta1/zz_plan_types.go @@ -351,6 +351,7 @@ type PlanStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Plan is the Schema for the Plans API. Provides an AWS Backup plan resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_regionsettings_types.go b/apis/backup/v1beta1/zz_regionsettings_types.go index e15107de19..d2cc8e90e3 100755 --- a/apis/backup/v1beta1/zz_regionsettings_types.go +++ b/apis/backup/v1beta1/zz_regionsettings_types.go @@ -97,6 +97,7 @@ type RegionSettingsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegionSettings is the Schema for the RegionSettingss API. Provides an AWS Backup Region Settings resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_reportplan_types.go b/apis/backup/v1beta1/zz_reportplan_types.go index 476ae45337..751fd954c2 100755 --- a/apis/backup/v1beta1/zz_reportplan_types.go +++ b/apis/backup/v1beta1/zz_reportplan_types.go @@ -248,6 +248,7 @@ type ReportPlanStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReportPlan is the Schema for the ReportPlans API. Provides an AWS Backup Report Plan resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_selection_types.go b/apis/backup/v1beta1/zz_selection_types.go index 3654ca11c0..406a5f5c1e 100755 --- a/apis/backup/v1beta1/zz_selection_types.go +++ b/apis/backup/v1beta1/zz_selection_types.go @@ -363,6 +363,7 @@ type SelectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Selection is the Schema for the Selections API. Manages selection conditions for AWS Backup plan resources. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_vault_types.go b/apis/backup/v1beta1/zz_vault_types.go index d4d14c4392..fa785cbf47 100755 --- a/apis/backup/v1beta1/zz_vault_types.go +++ b/apis/backup/v1beta1/zz_vault_types.go @@ -122,6 +122,7 @@ type VaultStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Vault is the Schema for the Vaults API. Provides an AWS Backup vault resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_vaultlockconfiguration_types.go b/apis/backup/v1beta1/zz_vaultlockconfiguration_types.go index 2ffeae5ca1..5e67943959 100755 --- a/apis/backup/v1beta1/zz_vaultlockconfiguration_types.go +++ b/apis/backup/v1beta1/zz_vaultlockconfiguration_types.go @@ -119,6 +119,7 @@ type VaultLockConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VaultLockConfiguration is the Schema for the VaultLockConfigurations API. Provides an AWS Backup vault lock configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_vaultnotifications_types.go b/apis/backup/v1beta1/zz_vaultnotifications_types.go index b2b103b857..a65c92bdfa 100755 --- a/apis/backup/v1beta1/zz_vaultnotifications_types.go +++ b/apis/backup/v1beta1/zz_vaultnotifications_types.go @@ -133,6 +133,7 @@ type VaultNotificationsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VaultNotifications is the Schema for the VaultNotificationss API. Provides an AWS Backup vault notifications resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/backup/v1beta1/zz_vaultpolicy_types.go b/apis/backup/v1beta1/zz_vaultpolicy_types.go index 42ab92d37a..3e78e0f1fe 100755 --- a/apis/backup/v1beta1/zz_vaultpolicy_types.go +++ b/apis/backup/v1beta1/zz_vaultpolicy_types.go @@ -100,6 +100,7 @@ type VaultPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VaultPolicy is the Schema for the VaultPolicys API. Provides an AWS Backup vault policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/batch/v1beta1/zz_jobdefinition_types.go b/apis/batch/v1beta1/zz_jobdefinition_types.go index 35074946aa..12629a7c75 100755 --- a/apis/batch/v1beta1/zz_jobdefinition_types.go +++ b/apis/batch/v1beta1/zz_jobdefinition_types.go @@ -283,6 +283,7 @@ type JobDefinitionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // JobDefinition is the Schema for the JobDefinitions API. Provides a Batch Job Definition resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/batch/v1beta1/zz_schedulingpolicy_types.go b/apis/batch/v1beta1/zz_schedulingpolicy_types.go index 073f1006ae..bb73b80cfc 100755 --- a/apis/batch/v1beta1/zz_schedulingpolicy_types.go +++ b/apis/batch/v1beta1/zz_schedulingpolicy_types.go @@ -149,6 +149,7 @@ type SchedulingPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SchedulingPolicy is the Schema for the SchedulingPolicys API. Provides a Batch Scheduling Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/budgets/v1beta1/zz_budget_types.go b/apis/budgets/v1beta1/zz_budget_types.go index 475c7e83d3..eb65df52aa 100755 --- a/apis/budgets/v1beta1/zz_budget_types.go +++ b/apis/budgets/v1beta1/zz_budget_types.go @@ -480,6 +480,7 @@ type BudgetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Budget is the Schema for the Budgets API. Provides a budgets budget resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/budgets/v1beta1/zz_budgetaction_types.go b/apis/budgets/v1beta1/zz_budgetaction_types.go index b7614ed8f6..d4c3f70878 100755 --- a/apis/budgets/v1beta1/zz_budgetaction_types.go +++ b/apis/budgets/v1beta1/zz_budgetaction_types.go @@ -443,6 +443,7 @@ type BudgetActionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BudgetAction is the Schema for the BudgetActions API. Provides a budget action resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ce/v1beta1/zz_anomalymonitor_types.go b/apis/ce/v1beta1/zz_anomalymonitor_types.go index 8d99c59842..4f327afed8 100755 --- a/apis/ce/v1beta1/zz_anomalymonitor_types.go +++ b/apis/ce/v1beta1/zz_anomalymonitor_types.go @@ -119,6 +119,7 @@ type AnomalyMonitorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AnomalyMonitor is the Schema for the AnomalyMonitors API. Provides a CE Cost Anomaly Monitor // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnector_types.go b/apis/chime/v1beta1/zz_voiceconnector_types.go index 93cb63f064..404617bdd3 100755 --- a/apis/chime/v1beta1/zz_voiceconnector_types.go +++ b/apis/chime/v1beta1/zz_voiceconnector_types.go @@ -101,6 +101,7 @@ type VoiceConnectorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnector is the Schema for the VoiceConnectors API. Enables you to connect your phone system to the telephone network at a substantial cost savings by using SIP trunking. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectorgroup_types.go b/apis/chime/v1beta1/zz_voiceconnectorgroup_types.go index 6e7242c63f..1c00af3d88 100755 --- a/apis/chime/v1beta1/zz_voiceconnectorgroup_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectorgroup_types.go @@ -118,6 +118,7 @@ type VoiceConnectorGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorGroup is the Schema for the VoiceConnectorGroups API. Creates an Amazon Chime Voice Connector group under the administrator's AWS account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectorlogging_types.go b/apis/chime/v1beta1/zz_voiceconnectorlogging_types.go index 9bed4b425f..c91cd79a6b 100755 --- a/apis/chime/v1beta1/zz_voiceconnectorlogging_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectorlogging_types.go @@ -109,6 +109,7 @@ type VoiceConnectorLoggingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorLogging is the Schema for the VoiceConnectorLoggings API. Adds a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectororigination_types.go b/apis/chime/v1beta1/zz_voiceconnectororigination_types.go index 823bced8e7..4dc98327c5 100755 --- a/apis/chime/v1beta1/zz_voiceconnectororigination_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectororigination_types.go @@ -168,6 +168,7 @@ type VoiceConnectorOriginationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorOrigination is the Schema for the VoiceConnectorOriginations API. Enable origination settings to control inbound calling to your SIP infrastructure. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectorstreaming_types.go b/apis/chime/v1beta1/zz_voiceconnectorstreaming_types.go index 6203807880..c296d7b551 100755 --- a/apis/chime/v1beta1/zz_voiceconnectorstreaming_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectorstreaming_types.go @@ -161,6 +161,7 @@ type VoiceConnectorStreamingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorStreaming is the Schema for the VoiceConnectorStreamings API. The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectortermination_types.go b/apis/chime/v1beta1/zz_voiceconnectortermination_types.go index fe41b6b67f..aec19d798c 100755 --- a/apis/chime/v1beta1/zz_voiceconnectortermination_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectortermination_types.go @@ -145,6 +145,7 @@ type VoiceConnectorTerminationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorTermination is the Schema for the VoiceConnectorTerminations API. Enable Termination settings to control outbound calling from your SIP infrastructure. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/chime/v1beta1/zz_voiceconnectorterminationcredentials_types.go b/apis/chime/v1beta1/zz_voiceconnectorterminationcredentials_types.go index 1aa9a6b4c8..92db7d1de5 100755 --- a/apis/chime/v1beta1/zz_voiceconnectorterminationcredentials_types.go +++ b/apis/chime/v1beta1/zz_voiceconnectorterminationcredentials_types.go @@ -122,6 +122,7 @@ type VoiceConnectorTerminationCredentialsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VoiceConnectorTerminationCredentials is the Schema for the VoiceConnectorTerminationCredentialss API. Adds termination SIP credentials for the specified Amazon Chime Voice Connector. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloud9/v1beta1/zz_environmentec2_types.go b/apis/cloud9/v1beta1/zz_environmentec2_types.go index 36be92df28..70bb840a16 100755 --- a/apis/cloud9/v1beta1/zz_environmentec2_types.go +++ b/apis/cloud9/v1beta1/zz_environmentec2_types.go @@ -180,6 +180,7 @@ type EnvironmentEC2Status struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EnvironmentEC2 is the Schema for the EnvironmentEC2s API. Provides a Cloud9 EC2 Development Environment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloud9/v1beta1/zz_environmentmembership_types.go b/apis/cloud9/v1beta1/zz_environmentmembership_types.go index f35a151fa5..0bf119a667 100755 --- a/apis/cloud9/v1beta1/zz_environmentmembership_types.go +++ b/apis/cloud9/v1beta1/zz_environmentmembership_types.go @@ -106,6 +106,7 @@ type EnvironmentMembershipStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EnvironmentMembership is the Schema for the EnvironmentMemberships API. Provides an environment member to an AWS Cloud9 development environment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudcontrol/v1beta1/zz_resource_types.go b/apis/cloudcontrol/v1beta1/zz_resource_types.go index 6e61766961..5cf9b60795 100755 --- a/apis/cloudcontrol/v1beta1/zz_resource_types.go +++ b/apis/cloudcontrol/v1beta1/zz_resource_types.go @@ -125,6 +125,7 @@ type ResourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Resource is the Schema for the Resources API. Manages a Cloud Control API Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudformation/v1beta1/zz_stack_types.go b/apis/cloudformation/v1beta1/zz_stack_types.go index df4d63ac4c..1864312bd5 100755 --- a/apis/cloudformation/v1beta1/zz_stack_types.go +++ b/apis/cloudformation/v1beta1/zz_stack_types.go @@ -241,6 +241,7 @@ type StackStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stack is the Schema for the Stacks API. Provides a CloudFormation Stack resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudformation/v1beta1/zz_stackset_types.go b/apis/cloudformation/v1beta1/zz_stackset_types.go index dc940c6586..03e29ed8aa 100755 --- a/apis/cloudformation/v1beta1/zz_stackset_types.go +++ b/apis/cloudformation/v1beta1/zz_stackset_types.go @@ -345,6 +345,7 @@ type StackSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StackSet is the Schema for the StackSets API. Manages a CloudFormation StackSet. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_cachepolicy_types.go b/apis/cloudfront/v1beta1/zz_cachepolicy_types.go index a71ab2277a..0a2c1b3566 100755 --- a/apis/cloudfront/v1beta1/zz_cachepolicy_types.go +++ b/apis/cloudfront/v1beta1/zz_cachepolicy_types.go @@ -334,6 +334,7 @@ type CachePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CachePolicy is the Schema for the CachePolicys API. Use the // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_distribution_types.go b/apis/cloudfront/v1beta1/zz_distribution_types.go index 060e9e3a51..49d6d601e2 100755 --- a/apis/cloudfront/v1beta1/zz_distribution_types.go +++ b/apis/cloudfront/v1beta1/zz_distribution_types.go @@ -1698,6 +1698,7 @@ type DistributionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Distribution is the Schema for the Distributions API. Provides a CloudFront web distribution resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_fieldlevelencryptionconfig_types.go b/apis/cloudfront/v1beta1/zz_fieldlevelencryptionconfig_types.go index 1401434c18..eb359b7391 100755 --- a/apis/cloudfront/v1beta1/zz_fieldlevelencryptionconfig_types.go +++ b/apis/cloudfront/v1beta1/zz_fieldlevelencryptionconfig_types.go @@ -269,6 +269,7 @@ type FieldLevelEncryptionConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FieldLevelEncryptionConfig is the Schema for the FieldLevelEncryptionConfigs API. Provides a CloudFront Field-level Encryption Config resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_fieldlevelencryptionprofile_types.go b/apis/cloudfront/v1beta1/zz_fieldlevelencryptionprofile_types.go index aefae07b10..d6ecb6ddfe 100755 --- a/apis/cloudfront/v1beta1/zz_fieldlevelencryptionprofile_types.go +++ b/apis/cloudfront/v1beta1/zz_fieldlevelencryptionprofile_types.go @@ -187,6 +187,7 @@ type FieldLevelEncryptionProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FieldLevelEncryptionProfile is the Schema for the FieldLevelEncryptionProfiles API. Provides a CloudFront Field-level Encryption Profile resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_function_types.go b/apis/cloudfront/v1beta1/zz_function_types.go index 75dfdab1dd..18c45341e3 100755 --- a/apis/cloudfront/v1beta1/zz_function_types.go +++ b/apis/cloudfront/v1beta1/zz_function_types.go @@ -104,6 +104,7 @@ type FunctionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Function is the Schema for the Functions API. Provides a CloudFront Function resource. With CloudFront Functions in Amazon CloudFront, you can write lightweight functions in JavaScript for high-scale, latency-sensitive CDN customizations. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_keygroup_types.go b/apis/cloudfront/v1beta1/zz_keygroup_types.go index a97c2f314a..0eeecfd864 100755 --- a/apis/cloudfront/v1beta1/zz_keygroup_types.go +++ b/apis/cloudfront/v1beta1/zz_keygroup_types.go @@ -117,6 +117,7 @@ type KeyGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // KeyGroup is the Schema for the KeyGroups API. Provides a CloudFront key group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_monitoringsubscription_types.go b/apis/cloudfront/v1beta1/zz_monitoringsubscription_types.go index a9c2c377de..f27c6d6638 100755 --- a/apis/cloudfront/v1beta1/zz_monitoringsubscription_types.go +++ b/apis/cloudfront/v1beta1/zz_monitoringsubscription_types.go @@ -137,6 +137,7 @@ type MonitoringSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MonitoringSubscription is the Schema for the MonitoringSubscriptions API. Provides a CloudFront monitoring subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_originaccesscontrol_types.go b/apis/cloudfront/v1beta1/zz_originaccesscontrol_types.go index 7ad2ce9864..786ccd29e6 100755 --- a/apis/cloudfront/v1beta1/zz_originaccesscontrol_types.go +++ b/apis/cloudfront/v1beta1/zz_originaccesscontrol_types.go @@ -112,6 +112,7 @@ type OriginAccessControlStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OriginAccessControl is the Schema for the OriginAccessControls API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_originaccessidentity_types.go b/apis/cloudfront/v1beta1/zz_originaccessidentity_types.go index 868f317dc5..d7c631d506 100755 --- a/apis/cloudfront/v1beta1/zz_originaccessidentity_types.go +++ b/apis/cloudfront/v1beta1/zz_originaccessidentity_types.go @@ -90,6 +90,7 @@ type OriginAccessIdentityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OriginAccessIdentity is the Schema for the OriginAccessIdentitys API. Provides a CloudFront origin access identity. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_originrequestpolicy_types.go b/apis/cloudfront/v1beta1/zz_originrequestpolicy_types.go index 6f61435ae9..d4e7e9588f 100755 --- a/apis/cloudfront/v1beta1/zz_originrequestpolicy_types.go +++ b/apis/cloudfront/v1beta1/zz_originrequestpolicy_types.go @@ -222,6 +222,7 @@ type OriginRequestPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OriginRequestPolicy is the Schema for the OriginRequestPolicys API. Determines the values that CloudFront includes in requests that it sends to the origin. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_publickey_types.go b/apis/cloudfront/v1beta1/zz_publickey_types.go index 9ce9cba6fb..c1b18b2500 100755 --- a/apis/cloudfront/v1beta1/zz_publickey_types.go +++ b/apis/cloudfront/v1beta1/zz_publickey_types.go @@ -89,6 +89,7 @@ type PublicKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PublicKey is the Schema for the PublicKeys API. Provides a CloudFront Public Key which you add to CloudFront to use with features like field-level encryption. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_realtimelogconfig_types.go b/apis/cloudfront/v1beta1/zz_realtimelogconfig_types.go index d595771bac..431b7e638b 100755 --- a/apis/cloudfront/v1beta1/zz_realtimelogconfig_types.go +++ b/apis/cloudfront/v1beta1/zz_realtimelogconfig_types.go @@ -206,6 +206,7 @@ type RealtimeLogConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RealtimeLogConfig is the Schema for the RealtimeLogConfigs API. Provides a CloudFront real-time log configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudfront/v1beta1/zz_responseheaderspolicy_types.go b/apis/cloudfront/v1beta1/zz_responseheaderspolicy_types.go index 8bd400a10a..de69518d9e 100755 --- a/apis/cloudfront/v1beta1/zz_responseheaderspolicy_types.go +++ b/apis/cloudfront/v1beta1/zz_responseheaderspolicy_types.go @@ -682,6 +682,7 @@ type ResponseHeadersPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResponseHeadersPolicy is the Schema for the ResponseHeadersPolicys API. Provides a CloudFront response headers policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudsearch/v1beta1/zz_domain_types.go b/apis/cloudsearch/v1beta1/zz_domain_types.go index fdf305ffdf..5aee5c4ea2 100755 --- a/apis/cloudsearch/v1beta1/zz_domain_types.go +++ b/apis/cloudsearch/v1beta1/zz_domain_types.go @@ -287,6 +287,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. Provides an CloudSearch domain resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudsearch/v1beta1/zz_domainserviceaccesspolicy_types.go b/apis/cloudsearch/v1beta1/zz_domainserviceaccesspolicy_types.go index 1905f289bb..6c7cd9bfa4 100755 --- a/apis/cloudsearch/v1beta1/zz_domainserviceaccesspolicy_types.go +++ b/apis/cloudsearch/v1beta1/zz_domainserviceaccesspolicy_types.go @@ -98,6 +98,7 @@ type DomainServiceAccessPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainServiceAccessPolicy is the Schema for the DomainServiceAccessPolicys API. Provides an CloudSearch domain service access policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudtrail/v1beta1/zz_eventdatastore_types.go b/apis/cloudtrail/v1beta1/zz_eventdatastore_types.go index b028c877d3..b8be1be3b6 100755 --- a/apis/cloudtrail/v1beta1/zz_eventdatastore_types.go +++ b/apis/cloudtrail/v1beta1/zz_eventdatastore_types.go @@ -275,6 +275,7 @@ type EventDataStoreStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventDataStore is the Schema for the EventDataStores API. Provides a CloudTrail Event Data Store resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudtrail/v1beta1/zz_trail_types.go b/apis/cloudtrail/v1beta1/zz_trail_types.go index 55199bed5e..4d6fb2886f 100755 --- a/apis/cloudtrail/v1beta1/zz_trail_types.go +++ b/apis/cloudtrail/v1beta1/zz_trail_types.go @@ -488,6 +488,7 @@ type TrailStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Trail is the Schema for the Trails API. Provides a CloudTrail resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatch/v1beta1/zz_compositealarm_types.go b/apis/cloudwatch/v1beta1/zz_compositealarm_types.go index e2f487ad3b..ebd7edae16 100755 --- a/apis/cloudwatch/v1beta1/zz_compositealarm_types.go +++ b/apis/cloudwatch/v1beta1/zz_compositealarm_types.go @@ -237,6 +237,7 @@ type CompositeAlarmStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CompositeAlarm is the Schema for the CompositeAlarms API. Provides a CloudWatch Composite Alarm resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatch/v1beta1/zz_dashboard_types.go b/apis/cloudwatch/v1beta1/zz_dashboard_types.go index b53ca8cb98..0de01f289a 100755 --- a/apis/cloudwatch/v1beta1/zz_dashboard_types.go +++ b/apis/cloudwatch/v1beta1/zz_dashboard_types.go @@ -71,6 +71,7 @@ type DashboardStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Dashboard is the Schema for the Dashboards API. Provides a CloudWatch Dashboard resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatch/v1beta1/zz_metricalarm_types.go b/apis/cloudwatch/v1beta1/zz_metricalarm_types.go index 9b0465f28f..a5f77d9bbd 100755 --- a/apis/cloudwatch/v1beta1/zz_metricalarm_types.go +++ b/apis/cloudwatch/v1beta1/zz_metricalarm_types.go @@ -484,6 +484,7 @@ type MetricAlarmStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MetricAlarm is the Schema for the MetricAlarms API. Provides a CloudWatch Metric Alarm resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatch/v1beta1/zz_metricstream_types.go b/apis/cloudwatch/v1beta1/zz_metricstream_types.go index d619b934ad..649d70ccea 100755 --- a/apis/cloudwatch/v1beta1/zz_metricstream_types.go +++ b/apis/cloudwatch/v1beta1/zz_metricstream_types.go @@ -332,6 +332,7 @@ type MetricStreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MetricStream is the Schema for the MetricStreams API. Provides a CloudWatch Metric Stream resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_apidestination_types.go b/apis/cloudwatchevents/v1beta1/zz_apidestination_types.go index b7d160ad06..f0f5adefdd 100755 --- a/apis/cloudwatchevents/v1beta1/zz_apidestination_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_apidestination_types.go @@ -131,6 +131,7 @@ type APIDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // APIDestination is the Schema for the APIDestinations API. Provides an EventBridge event API Destination resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_archive_types.go b/apis/cloudwatchevents/v1beta1/zz_archive_types.go index dc50ca1d4f..d5a790b2fb 100755 --- a/apis/cloudwatchevents/v1beta1/zz_archive_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_archive_types.go @@ -121,6 +121,7 @@ type ArchiveStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Archive is the Schema for the Archives API. Provides an EventBridge event archive resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_bus_types.go b/apis/cloudwatchevents/v1beta1/zz_bus_types.go index f4d06c8124..498f4ba5cf 100755 --- a/apis/cloudwatchevents/v1beta1/zz_bus_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_bus_types.go @@ -88,6 +88,7 @@ type BusStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Bus is the Schema for the Buss API. Provides an EventBridge event bus resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_buspolicy_types.go b/apis/cloudwatchevents/v1beta1/zz_buspolicy_types.go index 523e20e367..418d273920 100755 --- a/apis/cloudwatchevents/v1beta1/zz_buspolicy_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_buspolicy_types.go @@ -100,6 +100,7 @@ type BusPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BusPolicy is the Schema for the BusPolicys API. Provides a resource to create an EventBridge policy to support cross-account events. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_connection_types.go b/apis/cloudwatchevents/v1beta1/zz_connection_types.go index 9d673f1df5..9c6e2ae50d 100755 --- a/apis/cloudwatchevents/v1beta1/zz_connection_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_connection_types.go @@ -537,6 +537,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Provides an EventBridge connection resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_permission_types.go b/apis/cloudwatchevents/v1beta1/zz_permission_types.go index a556ba3799..d987a36703 100755 --- a/apis/cloudwatchevents/v1beta1/zz_permission_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_permission_types.go @@ -189,6 +189,7 @@ type PermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Permission is the Schema for the Permissions API. Provides a resource to create an EventBridge permission to support cross-account events in the current account default event bus. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_rule_types.go b/apis/cloudwatchevents/v1beta1/zz_rule_types.go index 143ba9b0e2..175dc92204 100755 --- a/apis/cloudwatchevents/v1beta1/zz_rule_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_rule_types.go @@ -211,6 +211,7 @@ type RuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Rule is the Schema for the Rules API. Provides an EventBridge Rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchevents/v1beta1/zz_target_types.go b/apis/cloudwatchevents/v1beta1/zz_target_types.go index 4b5a447e5b..4ef707c105 100755 --- a/apis/cloudwatchevents/v1beta1/zz_target_types.go +++ b/apis/cloudwatchevents/v1beta1/zz_target_types.go @@ -959,6 +959,7 @@ type TargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Target is the Schema for the Targets API. Provides an EventBridge Target resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_definition_types.go b/apis/cloudwatchlogs/v1beta1/zz_definition_types.go index b0878393e3..de8cb5b8be 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_definition_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_definition_types.go @@ -90,6 +90,7 @@ type DefinitionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Definition is the Schema for the Definitions API. Provides a CloudWatch Logs query definition resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_destination_types.go b/apis/cloudwatchlogs/v1beta1/zz_destination_types.go index 3bce8ee536..d75a42f577 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_destination_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_destination_types.go @@ -138,6 +138,7 @@ type DestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Destination is the Schema for the Destinations API. Provides a CloudWatch Logs destination. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_destinationpolicy_types.go b/apis/cloudwatchlogs/v1beta1/zz_destinationpolicy_types.go index 3477a96429..55cc1ab5b2 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_destinationpolicy_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_destinationpolicy_types.go @@ -78,6 +78,7 @@ type DestinationPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DestinationPolicy is the Schema for the DestinationPolicys API. Provides a CloudWatch Logs destination policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_group_types.go b/apis/cloudwatchlogs/v1beta1/zz_group_types.go index b70744f40e..96b1621e27 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_group_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_group_types.go @@ -145,6 +145,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. Provides a CloudWatch Log Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_metricfilter_types.go b/apis/cloudwatchlogs/v1beta1/zz_metricfilter_types.go index c0d56046ba..1aef817fac 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_metricfilter_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_metricfilter_types.go @@ -182,6 +182,7 @@ type MetricFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MetricFilter is the Schema for the MetricFilters API. Provides a CloudWatch Log Metric Filter resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_resourcepolicy_types.go b/apis/cloudwatchlogs/v1beta1/zz_resourcepolicy_types.go index e506b1f723..f0c02c0f5f 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_resourcepolicy_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_resourcepolicy_types.go @@ -69,6 +69,7 @@ type ResourcePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourcePolicy is the Schema for the ResourcePolicys API. Provides a resource to manage a CloudWatch log resource policy // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_stream_types.go b/apis/cloudwatchlogs/v1beta1/zz_stream_types.go index fa81d6b854..521b06ab11 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_stream_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_stream_types.go @@ -99,6 +99,7 @@ type StreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stream is the Schema for the Streams API. Provides a CloudWatch Log Stream resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cloudwatchlogs/v1beta1/zz_subscriptionfilter_types.go b/apis/cloudwatchlogs/v1beta1/zz_subscriptionfilter_types.go index c34a8a1fce..f5435def92 100755 --- a/apis/cloudwatchlogs/v1beta1/zz_subscriptionfilter_types.go +++ b/apis/cloudwatchlogs/v1beta1/zz_subscriptionfilter_types.go @@ -158,6 +158,7 @@ type SubscriptionFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubscriptionFilter is the Schema for the SubscriptionFilters API. Provides a CloudWatch Logs subscription filter. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codecommit/v1beta1/zz_approvalruletemplate_types.go b/apis/codecommit/v1beta1/zz_approvalruletemplate_types.go index 46060f2187..da58cb32c4 100755 --- a/apis/codecommit/v1beta1/zz_approvalruletemplate_types.go +++ b/apis/codecommit/v1beta1/zz_approvalruletemplate_types.go @@ -93,6 +93,7 @@ type ApprovalRuleTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ApprovalRuleTemplate is the Schema for the ApprovalRuleTemplates API. Provides a CodeCommit Approval Rule Template Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codecommit/v1beta1/zz_approvalruletemplateassociation_types.go b/apis/codecommit/v1beta1/zz_approvalruletemplateassociation_types.go index b1848adb94..128e970055 100755 --- a/apis/codecommit/v1beta1/zz_approvalruletemplateassociation_types.go +++ b/apis/codecommit/v1beta1/zz_approvalruletemplateassociation_types.go @@ -91,6 +91,7 @@ type ApprovalRuleTemplateAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ApprovalRuleTemplateAssociation is the Schema for the ApprovalRuleTemplateAssociations API. Associates a CodeCommit Approval Rule Template with a Repository. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codecommit/v1beta1/zz_repository_types.go b/apis/codecommit/v1beta1/zz_repository_types.go index c3d6aaa35a..d981ea5cc2 100755 --- a/apis/codecommit/v1beta1/zz_repository_types.go +++ b/apis/codecommit/v1beta1/zz_repository_types.go @@ -107,6 +107,7 @@ type RepositoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Repository is the Schema for the Repositorys API. Provides a CodeCommit Repository Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codecommit/v1beta1/zz_trigger_types.go b/apis/codecommit/v1beta1/zz_trigger_types.go index ef28640b73..6b7b46b138 100755 --- a/apis/codecommit/v1beta1/zz_trigger_types.go +++ b/apis/codecommit/v1beta1/zz_trigger_types.go @@ -178,6 +178,7 @@ type TriggerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Trigger is the Schema for the Triggers API. Provides a CodeCommit Trigger Resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codepipeline/v1beta1/zz_codepipeline_types.go b/apis/codepipeline/v1beta1/zz_codepipeline_types.go index 184f1d2f08..2c493aca81 100755 --- a/apis/codepipeline/v1beta1/zz_codepipeline_types.go +++ b/apis/codepipeline/v1beta1/zz_codepipeline_types.go @@ -381,6 +381,7 @@ type CodepipelineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Codepipeline is the Schema for the Codepipelines API. Provides a CodePipeline // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codepipeline/v1beta1/zz_customactiontype_types.go b/apis/codepipeline/v1beta1/zz_customactiontype_types.go index e4d48f1fbe..b91d528aed 100755 --- a/apis/codepipeline/v1beta1/zz_customactiontype_types.go +++ b/apis/codepipeline/v1beta1/zz_customactiontype_types.go @@ -338,6 +338,7 @@ type CustomActionTypeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomActionType is the Schema for the CustomActionTypes API. Provides a CodePipeline CustomActionType. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codepipeline/v1beta1/zz_webhook_types.go b/apis/codepipeline/v1beta1/zz_webhook_types.go index 5e2e6733fa..6252bdac04 100755 --- a/apis/codepipeline/v1beta1/zz_webhook_types.go +++ b/apis/codepipeline/v1beta1/zz_webhook_types.go @@ -202,6 +202,7 @@ type WebhookStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Webhook is the Schema for the Webhooks API. Provides a CodePipeline Webhook // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codestarconnections/v1beta1/zz_connection_types.go b/apis/codestarconnections/v1beta1/zz_connection_types.go index b9b05450f3..b1cd6ef321 100755 --- a/apis/codestarconnections/v1beta1/zz_connection_types.go +++ b/apis/codestarconnections/v1beta1/zz_connection_types.go @@ -112,6 +112,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Provides a CodeStar Connection // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codestarconnections/v1beta1/zz_host_types.go b/apis/codestarconnections/v1beta1/zz_host_types.go index 88ded28022..ba732a7fff 100755 --- a/apis/codestarconnections/v1beta1/zz_host_types.go +++ b/apis/codestarconnections/v1beta1/zz_host_types.go @@ -160,6 +160,7 @@ type HostStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Host is the Schema for the Hosts API. Provides a CodeStar Host // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/codestarnotifications/v1beta1/zz_notificationrule_types.go b/apis/codestarnotifications/v1beta1/zz_notificationrule_types.go index 94fd2dcb76..aee86595f8 100755 --- a/apis/codestarnotifications/v1beta1/zz_notificationrule_types.go +++ b/apis/codestarnotifications/v1beta1/zz_notificationrule_types.go @@ -217,6 +217,7 @@ type NotificationRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NotificationRule is the Schema for the NotificationRules API. Provides a CodeStar Notifications Rule // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidentity/v1beta1/zz_cognitoidentitypoolproviderprincipaltag_types.go b/apis/cognitoidentity/v1beta1/zz_cognitoidentitypoolproviderprincipaltag_types.go index b2b027da2c..088f95aca2 100755 --- a/apis/cognitoidentity/v1beta1/zz_cognitoidentitypoolproviderprincipaltag_types.go +++ b/apis/cognitoidentity/v1beta1/zz_cognitoidentitypoolproviderprincipaltag_types.go @@ -140,6 +140,7 @@ type CognitoIdentityPoolProviderPrincipalTagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CognitoIdentityPoolProviderPrincipalTag is the Schema for the CognitoIdentityPoolProviderPrincipalTags API. Provides an AWS Cognito Identity Principal Mapping. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidentity/v1beta1/zz_pool_types.go b/apis/cognitoidentity/v1beta1/zz_pool_types.go index 15ef65c374..e79c7ecb4f 100755 --- a/apis/cognitoidentity/v1beta1/zz_pool_types.go +++ b/apis/cognitoidentity/v1beta1/zz_pool_types.go @@ -245,6 +245,7 @@ type PoolStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Pool is the Schema for the Pools API. Provides an AWS Cognito Identity Pool. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidentity/v1beta1/zz_poolrolesattachment_types.go b/apis/cognitoidentity/v1beta1/zz_poolrolesattachment_types.go index 3114fad32a..2ed88b19eb 100755 --- a/apis/cognitoidentity/v1beta1/zz_poolrolesattachment_types.go +++ b/apis/cognitoidentity/v1beta1/zz_poolrolesattachment_types.go @@ -230,6 +230,7 @@ type PoolRolesAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PoolRolesAttachment is the Schema for the PoolRolesAttachments API. Provides an AWS Cognito Identity Pool Roles Attachment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_identityprovider_types.go b/apis/cognitoidp/v1beta1/zz_identityprovider_types.go index 8c87587ed3..ca8c3060ec 100755 --- a/apis/cognitoidp/v1beta1/zz_identityprovider_types.go +++ b/apis/cognitoidp/v1beta1/zz_identityprovider_types.go @@ -142,6 +142,7 @@ type IdentityProviderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IdentityProvider is the Schema for the IdentityProviders API. Provides a Cognito User Identity Provider resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_resourceserver_types.go b/apis/cognitoidp/v1beta1/zz_resourceserver_types.go index 5f31aa2aaa..88fd89cdab 100755 --- a/apis/cognitoidp/v1beta1/zz_resourceserver_types.go +++ b/apis/cognitoidp/v1beta1/zz_resourceserver_types.go @@ -144,6 +144,7 @@ type ResourceServerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceServer is the Schema for the ResourceServers API. Provides a Cognito Resource Server. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_riskconfiguration_types.go b/apis/cognitoidp/v1beta1/zz_riskconfiguration_types.go index b23159823d..0cebb6b041 100755 --- a/apis/cognitoidp/v1beta1/zz_riskconfiguration_types.go +++ b/apis/cognitoidp/v1beta1/zz_riskconfiguration_types.go @@ -568,6 +568,7 @@ type RiskConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RiskConfiguration is the Schema for the RiskConfigurations API. Provides a Cognito Risk Configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_user_types.go b/apis/cognitoidp/v1beta1/zz_user_types.go index b8ff8058af..4eaf95250f 100755 --- a/apis/cognitoidp/v1beta1/zz_user_types.go +++ b/apis/cognitoidp/v1beta1/zz_user_types.go @@ -180,6 +180,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides a Cognito User resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_usergroup_types.go b/apis/cognitoidp/v1beta1/zz_usergroup_types.go index 15a250be51..f58ea265cb 100755 --- a/apis/cognitoidp/v1beta1/zz_usergroup_types.go +++ b/apis/cognitoidp/v1beta1/zz_usergroup_types.go @@ -146,6 +146,7 @@ type UserGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserGroup is the Schema for the UserGroups API. Provides a Cognito User Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_useringroup_types.go b/apis/cognitoidp/v1beta1/zz_useringroup_types.go index bfb1bedcf5..0d2f7069e4 100755 --- a/apis/cognitoidp/v1beta1/zz_useringroup_types.go +++ b/apis/cognitoidp/v1beta1/zz_useringroup_types.go @@ -146,6 +146,7 @@ type UserInGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserInGroup is the Schema for the UserInGroups API. Adds the specified user to the specified group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_userpool_types.go b/apis/cognitoidp/v1beta1/zz_userpool_types.go index 8707b1e569..d070664080 100755 --- a/apis/cognitoidp/v1beta1/zz_userpool_types.go +++ b/apis/cognitoidp/v1beta1/zz_userpool_types.go @@ -1410,6 +1410,7 @@ type UserPoolStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserPool is the Schema for the UserPools API. Provides a Cognito User Pool resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_userpoolclient_types.go b/apis/cognitoidp/v1beta1/zz_userpoolclient_types.go index 9cfaa5f60e..703fed2a01 100755 --- a/apis/cognitoidp/v1beta1/zz_userpoolclient_types.go +++ b/apis/cognitoidp/v1beta1/zz_userpoolclient_types.go @@ -477,6 +477,7 @@ type UserPoolClientStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserPoolClient is the Schema for the UserPoolClients API. Provides a Cognito User Pool Client resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_userpooldomain_types.go b/apis/cognitoidp/v1beta1/zz_userpooldomain_types.go index 7b2d376a1c..825e9e061b 100755 --- a/apis/cognitoidp/v1beta1/zz_userpooldomain_types.go +++ b/apis/cognitoidp/v1beta1/zz_userpooldomain_types.go @@ -144,6 +144,7 @@ type UserPoolDomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserPoolDomain is the Schema for the UserPoolDomains API. Provides a Cognito User Pool Domain resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/cognitoidp/v1beta1/zz_userpooluicustomization_types.go b/apis/cognitoidp/v1beta1/zz_userpooluicustomization_types.go index 09898e0fa5..e3fa5af855 100755 --- a/apis/cognitoidp/v1beta1/zz_userpooluicustomization_types.go +++ b/apis/cognitoidp/v1beta1/zz_userpooluicustomization_types.go @@ -146,6 +146,7 @@ type UserPoolUICustomizationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserPoolUICustomization is the Schema for the UserPoolUICustomizations API. Provides a Cognito User Pool UI Customization resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_awsconfigurationrecorderstatus_types.go b/apis/configservice/v1beta1/zz_awsconfigurationrecorderstatus_types.go index bac60717e4..1e0f7afa82 100755 --- a/apis/configservice/v1beta1/zz_awsconfigurationrecorderstatus_types.go +++ b/apis/configservice/v1beta1/zz_awsconfigurationrecorderstatus_types.go @@ -67,6 +67,7 @@ type AWSConfigurationRecorderStatusStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AWSConfigurationRecorderStatus is the Schema for the AWSConfigurationRecorderStatuss API. Manages status of an AWS Config Configuration Recorder. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_configrule_types.go b/apis/configservice/v1beta1/zz_configrule_types.go index cfd28f37a9..f2d4520439 100755 --- a/apis/configservice/v1beta1/zz_configrule_types.go +++ b/apis/configservice/v1beta1/zz_configrule_types.go @@ -359,6 +359,7 @@ type ConfigRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigRule is the Schema for the ConfigRules API. Provides an AWS Config Rule. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_configurationaggregator_types.go b/apis/configservice/v1beta1/zz_configurationaggregator_types.go index 3c7aa6d77a..c30950e393 100755 --- a/apis/configservice/v1beta1/zz_configurationaggregator_types.go +++ b/apis/configservice/v1beta1/zz_configurationaggregator_types.go @@ -196,6 +196,7 @@ type ConfigurationAggregatorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationAggregator is the Schema for the ConfigurationAggregators API. Manages an AWS Config Configuration Aggregator. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_configurationrecorder_types.go b/apis/configservice/v1beta1/zz_configurationrecorder_types.go index 2af8583fa5..3d56148d0e 100755 --- a/apis/configservice/v1beta1/zz_configurationrecorder_types.go +++ b/apis/configservice/v1beta1/zz_configurationrecorder_types.go @@ -197,6 +197,7 @@ type ConfigurationRecorderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationRecorder is the Schema for the ConfigurationRecorders API. Provides an AWS Config Configuration Recorder. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_conformancepack_types.go b/apis/configservice/v1beta1/zz_conformancepack_types.go index 06e45f6955..06ba18dcc9 100755 --- a/apis/configservice/v1beta1/zz_conformancepack_types.go +++ b/apis/configservice/v1beta1/zz_conformancepack_types.go @@ -140,6 +140,7 @@ type ConformancePackStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConformancePack is the Schema for the ConformancePacks API. Manages a Config Conformance Pack // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_deliverychannel_types.go b/apis/configservice/v1beta1/zz_deliverychannel_types.go index 9c761aeb18..355ff0f325 100755 --- a/apis/configservice/v1beta1/zz_deliverychannel_types.go +++ b/apis/configservice/v1beta1/zz_deliverychannel_types.go @@ -146,6 +146,7 @@ type DeliveryChannelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeliveryChannel is the Schema for the DeliveryChannels API. Provides an AWS Config Delivery Channel. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/configservice/v1beta1/zz_remediationconfiguration_types.go b/apis/configservice/v1beta1/zz_remediationconfiguration_types.go index 6a84e31bb7..a05c4b1494 100755 --- a/apis/configservice/v1beta1/zz_remediationconfiguration_types.go +++ b/apis/configservice/v1beta1/zz_remediationconfiguration_types.go @@ -248,6 +248,7 @@ type RemediationConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RemediationConfiguration is the Schema for the RemediationConfigurations API. Provides an AWS Config Remediation Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_botassociation_types.go b/apis/connect/v1beta1/zz_botassociation_types.go index 2f42c6e1ec..be4f5ecfff 100755 --- a/apis/connect/v1beta1/zz_botassociation_types.go +++ b/apis/connect/v1beta1/zz_botassociation_types.go @@ -133,6 +133,7 @@ type BotAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BotAssociation is the Schema for the BotAssociations API. Associates an Amazon Connect instance to an Amazon Lex (V1) bot // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_contactflow_types.go b/apis/connect/v1beta1/zz_contactflow_types.go index 2d3ce2470d..a36558e330 100755 --- a/apis/connect/v1beta1/zz_contactflow_types.go +++ b/apis/connect/v1beta1/zz_contactflow_types.go @@ -172,6 +172,7 @@ type ContactFlowStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContactFlow is the Schema for the ContactFlows API. Provides details about a specific Amazon Connect Contact Flow. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_contactflowmodule_types.go b/apis/connect/v1beta1/zz_contactflowmodule_types.go index 003bb95f7d..e4c8d5fc4d 100755 --- a/apis/connect/v1beta1/zz_contactflowmodule_types.go +++ b/apis/connect/v1beta1/zz_contactflowmodule_types.go @@ -162,6 +162,7 @@ type ContactFlowModuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContactFlowModule is the Schema for the ContactFlowModules API. Provides details about a specific Amazon Connect Contact Flow Module. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_generated.conversion_hubs.go b/apis/connect/v1beta1/zz_generated.conversion_hubs.go index 44264ec465..ef8e5c01bd 100755 --- a/apis/connect/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/connect/v1beta1/zz_generated.conversion_hubs.go @@ -19,9 +19,6 @@ func (tr *ContactFlow) Hub() {} // Hub marks this type as a conversion hub. func (tr *ContactFlowModule) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *HoursOfOperation) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Instance) Hub() {} @@ -34,15 +31,9 @@ func (tr *LambdaFunctionAssociation) Hub() {} // Hub marks this type as a conversion hub. func (tr *PhoneNumber) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *Queue) Hub() {} - // Hub marks this type as a conversion hub. func (tr *QuickConnect) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *RoutingProfile) Hub() {} - // Hub marks this type as a conversion hub. func (tr *SecurityProfile) Hub() {} diff --git a/apis/connect/v1beta1/zz_generated.conversion_spokes.go b/apis/connect/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..38f7ece43a --- /dev/null +++ b/apis/connect/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,66 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this HoursOfOperation to the hub type. +func (tr *HoursOfOperation) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the HoursOfOperation type. +func (tr *HoursOfOperation) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertTo converts this Queue to the hub type. +func (tr *Queue) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the Queue type. +func (tr *Queue) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertTo converts this RoutingProfile to the hub type. +func (tr *RoutingProfile) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the RoutingProfile type. +func (tr *RoutingProfile) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/connect/v1beta1/zz_generated.deepcopy.go b/apis/connect/v1beta1/zz_generated.deepcopy.go index 02359636e0..bfc990050b 100644 --- a/apis/connect/v1beta1/zz_generated.deepcopy.go +++ b/apis/connect/v1beta1/zz_generated.deepcopy.go @@ -1453,6 +1453,11 @@ func (in *HoursOfOperationObservation) DeepCopyInto(out *HoursOfOperationObserva *out = new(string) **out = **in } + if in.HoursOfOperationArn != nil { + in, out := &in.HoursOfOperationArn, &out.HoursOfOperationArn + *out = new(string) + **out = **in + } if in.HoursOfOperationID != nil { in, out := &in.HoursOfOperationID, &out.HoursOfOperationID *out = new(string) @@ -3826,6 +3831,81 @@ func (in *QueueConfigParameters) DeepCopy() *QueueConfigParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsAssociatedInitParameters) DeepCopyInto(out *QueueConfigsAssociatedInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsAssociatedInitParameters. +func (in *QueueConfigsAssociatedInitParameters) DeepCopy() *QueueConfigsAssociatedInitParameters { + if in == nil { + return nil + } + out := new(QueueConfigsAssociatedInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsAssociatedObservation) DeepCopyInto(out *QueueConfigsAssociatedObservation) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(float64) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(float64) + **out = **in + } + if in.QueueArn != nil { + in, out := &in.QueueArn, &out.QueueArn + *out = new(string) + **out = **in + } + if in.QueueID != nil { + in, out := &in.QueueID, &out.QueueID + *out = new(string) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsAssociatedObservation. +func (in *QueueConfigsAssociatedObservation) DeepCopy() *QueueConfigsAssociatedObservation { + if in == nil { + return nil + } + out := new(QueueConfigsAssociatedObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsAssociatedParameters) DeepCopyInto(out *QueueConfigsAssociatedParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsAssociatedParameters. +func (in *QueueConfigsAssociatedParameters) DeepCopy() *QueueConfigsAssociatedParameters { + if in == nil { + return nil + } + out := new(QueueConfigsAssociatedParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *QueueConfigsInitParameters) DeepCopyInto(out *QueueConfigsInitParameters) { *out = *in @@ -4133,6 +4213,17 @@ func (in *QueueObservation) DeepCopyInto(out *QueueObservation) { } } } + if in.QuickConnectIdsAssociated != nil { + in, out := &in.QuickConnectIdsAssociated, &out.QuickConnectIdsAssociated + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.Status != nil { in, out := &in.Status, &out.Status *out = new(string) @@ -4944,6 +5035,13 @@ func (in *RoutingProfileObservation) DeepCopyInto(out *RoutingProfileObservation (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.QueueConfigsAssociated != nil { + in, out := &in.QueueConfigsAssociated, &out.QueueConfigsAssociated + *out = make([]QueueConfigsAssociatedObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.RoutingProfileID != nil { in, out := &in.RoutingProfileID, &out.RoutingProfileID *out = new(string) diff --git a/apis/connect/v1beta1/zz_generated.resolvers.go b/apis/connect/v1beta1/zz_generated.resolvers.go index d1b36e0f2f..3cff6f2ebb 100644 --- a/apis/connect/v1beta1/zz_generated.resolvers.go +++ b/apis/connect/v1beta1/zz_generated.resolvers.go @@ -984,7 +984,7 @@ func (mg *User) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.ForProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.InstanceIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "RoutingProfile", "RoutingProfileList") + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "RoutingProfile", "RoutingProfileList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1022,7 +1022,7 @@ func (mg *User) ResolveReferences(ctx context.Context, c client.Reader) error { mg.Spec.InitProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.InstanceIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "RoutingProfile", "RoutingProfileList") + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "RoutingProfile", "RoutingProfileList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/connect/v1beta1/zz_hoursofoperation_types.go b/apis/connect/v1beta1/zz_hoursofoperation_types.go index 148e687913..3ded6bcdfd 100755 --- a/apis/connect/v1beta1/zz_hoursofoperation_types.go +++ b/apis/connect/v1beta1/zz_hoursofoperation_types.go @@ -128,6 +128,9 @@ type HoursOfOperationObservation struct { // Specifies the description of the Hours of Operation. Description *string `json:"description,omitempty" tf:"description,omitempty"` + // (Deprecated) The Amazon Resource Name (ARN) of the Hours of Operation. + HoursOfOperationArn *string `json:"hoursOfOperationArn,omitempty" tf:"hours_of_operation_arn,omitempty"` + // The identifier for the hours of operation. HoursOfOperationID *string `json:"hoursOfOperationId,omitempty" tf:"hours_of_operation_id,omitempty"` diff --git a/apis/connect/v1beta1/zz_instance_types.go b/apis/connect/v1beta1/zz_instance_types.go index bde0ffa3a1..ee595c3d29 100755 --- a/apis/connect/v1beta1/zz_instance_types.go +++ b/apis/connect/v1beta1/zz_instance_types.go @@ -191,6 +191,7 @@ type InstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Instance is the Schema for the Instances API. Provides details about a specific Connect Instance. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_instancestorageconfig_types.go b/apis/connect/v1beta1/zz_instancestorageconfig_types.go index 1fb8919b2c..2827ac4c44 100755 --- a/apis/connect/v1beta1/zz_instancestorageconfig_types.go +++ b/apis/connect/v1beta1/zz_instancestorageconfig_types.go @@ -445,6 +445,7 @@ type InstanceStorageConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceStorageConfig is the Schema for the InstanceStorageConfigs API. Provides details about a specific Amazon Connect Instance Storage Config. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_lambdafunctionassociation_types.go b/apis/connect/v1beta1/zz_lambdafunctionassociation_types.go index 81ed5ad536..c70f8b654e 100755 --- a/apis/connect/v1beta1/zz_lambdafunctionassociation_types.go +++ b/apis/connect/v1beta1/zz_lambdafunctionassociation_types.go @@ -93,6 +93,7 @@ type LambdaFunctionAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LambdaFunctionAssociation is the Schema for the LambdaFunctionAssociations API. Provides details about a specific Connect Lambda Function Association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_phonenumber_types.go b/apis/connect/v1beta1/zz_phonenumber_types.go index 247f2daa38..8f9ce3725b 100755 --- a/apis/connect/v1beta1/zz_phonenumber_types.go +++ b/apis/connect/v1beta1/zz_phonenumber_types.go @@ -170,6 +170,7 @@ type PhoneNumberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PhoneNumber is the Schema for the PhoneNumbers API. Provides details about a specific Amazon Connect Phone Number. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_queue_types.go b/apis/connect/v1beta1/zz_queue_types.go index 486cccc79a..9956e52b03 100755 --- a/apis/connect/v1beta1/zz_queue_types.go +++ b/apis/connect/v1beta1/zz_queue_types.go @@ -141,6 +141,9 @@ type QueueObservation struct { // +listType=set QuickConnectIds []*string `json:"quickConnectIds,omitempty" tf:"quick_connect_ids,omitempty"` + // +listType=set + QuickConnectIdsAssociated []*string `json:"quickConnectIdsAssociated,omitempty" tf:"quick_connect_ids_associated,omitempty"` + // Specifies the description of the Queue. Valid values are ENABLED, DISABLED. Status *string `json:"status,omitempty" tf:"status,omitempty"` diff --git a/apis/connect/v1beta1/zz_quickconnect_types.go b/apis/connect/v1beta1/zz_quickconnect_types.go index 98602c0269..ebbb3b81bf 100755 --- a/apis/connect/v1beta1/zz_quickconnect_types.go +++ b/apis/connect/v1beta1/zz_quickconnect_types.go @@ -268,6 +268,7 @@ type QuickConnectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // QuickConnect is the Schema for the QuickConnects API. Provides details about a specific Amazon Quick Connect // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_routingprofile_types.go b/apis/connect/v1beta1/zz_routingprofile_types.go index 6d63764181..77ef736f46 100755 --- a/apis/connect/v1beta1/zz_routingprofile_types.go +++ b/apis/connect/v1beta1/zz_routingprofile_types.go @@ -46,6 +46,33 @@ type MediaConcurrenciesParameters struct { Concurrency *float64 `json:"concurrency" tf:"concurrency,omitempty"` } +type QueueConfigsAssociatedInitParameters struct { +} + +type QueueConfigsAssociatedObservation struct { + + // Specifies the channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are VOICE, CHAT, TASK. + Channel *string `json:"channel,omitempty" tf:"channel,omitempty"` + + // Specifies the delay, in seconds, that a contact should be in the queue before they are routed to an available agent + Delay *float64 `json:"delay,omitempty" tf:"delay,omitempty"` + + // Specifies the order in which contacts are to be handled for the queue. + Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // ARN for the queue. + QueueArn *string `json:"queueArn,omitempty" tf:"queue_arn,omitempty"` + + // Specifies the identifier for the queue. + QueueID *string `json:"queueId,omitempty" tf:"queue_id,omitempty"` + + // Name for the queue. + QueueName *string `json:"queueName,omitempty" tf:"queue_name,omitempty"` +} + +type QueueConfigsAssociatedParameters struct { +} + type QueueConfigsInitParameters struct { // Specifies the channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are VOICE, CHAT, TASK. @@ -172,6 +199,8 @@ type RoutingProfileObservation struct { // One or more queue_configs blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The queue_configs block is documented below. QueueConfigs []QueueConfigsObservation `json:"queueConfigs,omitempty" tf:"queue_configs,omitempty"` + QueueConfigsAssociated []QueueConfigsAssociatedObservation `json:"queueConfigsAssociated,omitempty" tf:"queue_configs_associated,omitempty"` + // The identifier for the Routing Profile. RoutingProfileID *string `json:"routingProfileId,omitempty" tf:"routing_profile_id,omitempty"` diff --git a/apis/connect/v1beta1/zz_securityprofile_types.go b/apis/connect/v1beta1/zz_securityprofile_types.go index 0cc4c30511..c263d3fed4 100755 --- a/apis/connect/v1beta1/zz_securityprofile_types.go +++ b/apis/connect/v1beta1/zz_securityprofile_types.go @@ -148,6 +148,7 @@ type SecurityProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityProfile is the Schema for the SecurityProfiles API. Provides details about a specific Amazon Connect Security Profile. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_user_types.go b/apis/connect/v1beta1/zz_user_types.go index cef4e4bbc2..906730493a 100755 --- a/apis/connect/v1beta1/zz_user_types.go +++ b/apis/connect/v1beta1/zz_user_types.go @@ -87,7 +87,7 @@ type UserInitParameters struct { PhoneConfig []UserPhoneConfigInitParameters `json:"phoneConfig,omitempty" tf:"phone_config,omitempty"` // The identifier of the routing profile for the user. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.RoutingProfile + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.RoutingProfile // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("routing_profile_id",true) RoutingProfileID *string `json:"routingProfileId,omitempty" tf:"routing_profile_id,omitempty"` @@ -200,7 +200,7 @@ type UserParameters struct { Region *string `json:"region" tf:"-"` // The identifier of the routing profile for the user. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.RoutingProfile + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.RoutingProfile // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("routing_profile_id",true) // +kubebuilder:validation:Optional RoutingProfileID *string `json:"routingProfileId,omitempty" tf:"routing_profile_id,omitempty"` @@ -298,6 +298,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides details about a specific Amazon Connect User // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_userhierarchystructure_types.go b/apis/connect/v1beta1/zz_userhierarchystructure_types.go index 3ce0896726..2e02352d86 100755 --- a/apis/connect/v1beta1/zz_userhierarchystructure_types.go +++ b/apis/connect/v1beta1/zz_userhierarchystructure_types.go @@ -283,6 +283,7 @@ type UserHierarchyStructureStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserHierarchyStructure is the Schema for the UserHierarchyStructures API. Provides details about a specific Amazon Connect User Hierarchy Structure // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta1/zz_vocabulary_types.go b/apis/connect/v1beta1/zz_vocabulary_types.go index c82a4ce621..d6d8868b9d 100755 --- a/apis/connect/v1beta1/zz_vocabulary_types.go +++ b/apis/connect/v1beta1/zz_vocabulary_types.go @@ -152,6 +152,7 @@ type VocabularyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Vocabulary is the Schema for the Vocabularys API. Provides details about a specific Amazon Connect Vocabulary // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/connect/v1beta2/zz_generated.conversion_hubs.go b/apis/connect/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..26bf486a4c --- /dev/null +++ b/apis/connect/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *HoursOfOperation) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *Queue) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *RoutingProfile) Hub() {} diff --git a/apis/connect/v1beta2/zz_generated.deepcopy.go b/apis/connect/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..9c8b66164b --- /dev/null +++ b/apis/connect/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,1642 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigInitParameters) DeepCopyInto(out *ConfigInitParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = make([]EndTimeInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = make([]StartTimeInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigInitParameters. +func (in *ConfigInitParameters) DeepCopy() *ConfigInitParameters { + if in == nil { + return nil + } + out := new(ConfigInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigObservation) DeepCopyInto(out *ConfigObservation) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = make([]EndTimeObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = make([]StartTimeObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigObservation. +func (in *ConfigObservation) DeepCopy() *ConfigObservation { + if in == nil { + return nil + } + out := new(ConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigParameters) DeepCopyInto(out *ConfigParameters) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.EndTime != nil { + in, out := &in.EndTime, &out.EndTime + *out = make([]EndTimeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = make([]StartTimeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigParameters. +func (in *ConfigParameters) DeepCopy() *ConfigParameters { + if in == nil { + return nil + } + out := new(ConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndTimeInitParameters) DeepCopyInto(out *EndTimeInitParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndTimeInitParameters. +func (in *EndTimeInitParameters) DeepCopy() *EndTimeInitParameters { + if in == nil { + return nil + } + out := new(EndTimeInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndTimeObservation) DeepCopyInto(out *EndTimeObservation) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndTimeObservation. +func (in *EndTimeObservation) DeepCopy() *EndTimeObservation { + if in == nil { + return nil + } + out := new(EndTimeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EndTimeParameters) DeepCopyInto(out *EndTimeParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndTimeParameters. +func (in *EndTimeParameters) DeepCopy() *EndTimeParameters { + if in == nil { + return nil + } + out := new(EndTimeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperation) DeepCopyInto(out *HoursOfOperation) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperation. +func (in *HoursOfOperation) DeepCopy() *HoursOfOperation { + if in == nil { + return nil + } + out := new(HoursOfOperation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HoursOfOperation) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationInitParameters) DeepCopyInto(out *HoursOfOperationInitParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationInitParameters. +func (in *HoursOfOperationInitParameters) DeepCopy() *HoursOfOperationInitParameters { + if in == nil { + return nil + } + out := new(HoursOfOperationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationList) DeepCopyInto(out *HoursOfOperationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HoursOfOperation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationList. +func (in *HoursOfOperationList) DeepCopy() *HoursOfOperationList { + if in == nil { + return nil + } + out := new(HoursOfOperationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HoursOfOperationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationObservation) DeepCopyInto(out *HoursOfOperationObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HoursOfOperationID != nil { + in, out := &in.HoursOfOperationID, &out.HoursOfOperationID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationObservation. +func (in *HoursOfOperationObservation) DeepCopy() *HoursOfOperationObservation { + if in == nil { + return nil + } + out := new(HoursOfOperationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationParameters) DeepCopyInto(out *HoursOfOperationParameters) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make([]ConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TimeZone != nil { + in, out := &in.TimeZone, &out.TimeZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationParameters. +func (in *HoursOfOperationParameters) DeepCopy() *HoursOfOperationParameters { + if in == nil { + return nil + } + out := new(HoursOfOperationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationSpec) DeepCopyInto(out *HoursOfOperationSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationSpec. +func (in *HoursOfOperationSpec) DeepCopy() *HoursOfOperationSpec { + if in == nil { + return nil + } + out := new(HoursOfOperationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HoursOfOperationStatus) DeepCopyInto(out *HoursOfOperationStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HoursOfOperationStatus. +func (in *HoursOfOperationStatus) DeepCopy() *HoursOfOperationStatus { + if in == nil { + return nil + } + out := new(HoursOfOperationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MediaConcurrenciesInitParameters) DeepCopyInto(out *MediaConcurrenciesInitParameters) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Concurrency != nil { + in, out := &in.Concurrency, &out.Concurrency + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaConcurrenciesInitParameters. +func (in *MediaConcurrenciesInitParameters) DeepCopy() *MediaConcurrenciesInitParameters { + if in == nil { + return nil + } + out := new(MediaConcurrenciesInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MediaConcurrenciesObservation) DeepCopyInto(out *MediaConcurrenciesObservation) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Concurrency != nil { + in, out := &in.Concurrency, &out.Concurrency + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaConcurrenciesObservation. +func (in *MediaConcurrenciesObservation) DeepCopy() *MediaConcurrenciesObservation { + if in == nil { + return nil + } + out := new(MediaConcurrenciesObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MediaConcurrenciesParameters) DeepCopyInto(out *MediaConcurrenciesParameters) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Concurrency != nil { + in, out := &in.Concurrency, &out.Concurrency + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediaConcurrenciesParameters. +func (in *MediaConcurrenciesParameters) DeepCopy() *MediaConcurrenciesParameters { + if in == nil { + return nil + } + out := new(MediaConcurrenciesParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutboundCallerConfigInitParameters) DeepCopyInto(out *OutboundCallerConfigInitParameters) { + *out = *in + if in.OutboundCallerIDName != nil { + in, out := &in.OutboundCallerIDName, &out.OutboundCallerIDName + *out = new(string) + **out = **in + } + if in.OutboundCallerIDNumberID != nil { + in, out := &in.OutboundCallerIDNumberID, &out.OutboundCallerIDNumberID + *out = new(string) + **out = **in + } + if in.OutboundFlowID != nil { + in, out := &in.OutboundFlowID, &out.OutboundFlowID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutboundCallerConfigInitParameters. +func (in *OutboundCallerConfigInitParameters) DeepCopy() *OutboundCallerConfigInitParameters { + if in == nil { + return nil + } + out := new(OutboundCallerConfigInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutboundCallerConfigObservation) DeepCopyInto(out *OutboundCallerConfigObservation) { + *out = *in + if in.OutboundCallerIDName != nil { + in, out := &in.OutboundCallerIDName, &out.OutboundCallerIDName + *out = new(string) + **out = **in + } + if in.OutboundCallerIDNumberID != nil { + in, out := &in.OutboundCallerIDNumberID, &out.OutboundCallerIDNumberID + *out = new(string) + **out = **in + } + if in.OutboundFlowID != nil { + in, out := &in.OutboundFlowID, &out.OutboundFlowID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutboundCallerConfigObservation. +func (in *OutboundCallerConfigObservation) DeepCopy() *OutboundCallerConfigObservation { + if in == nil { + return nil + } + out := new(OutboundCallerConfigObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OutboundCallerConfigParameters) DeepCopyInto(out *OutboundCallerConfigParameters) { + *out = *in + if in.OutboundCallerIDName != nil { + in, out := &in.OutboundCallerIDName, &out.OutboundCallerIDName + *out = new(string) + **out = **in + } + if in.OutboundCallerIDNumberID != nil { + in, out := &in.OutboundCallerIDNumberID, &out.OutboundCallerIDNumberID + *out = new(string) + **out = **in + } + if in.OutboundFlowID != nil { + in, out := &in.OutboundFlowID, &out.OutboundFlowID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutboundCallerConfigParameters. +func (in *OutboundCallerConfigParameters) DeepCopy() *OutboundCallerConfigParameters { + if in == nil { + return nil + } + out := new(OutboundCallerConfigParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Queue) DeepCopyInto(out *Queue) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Queue. +func (in *Queue) DeepCopy() *Queue { + if in == nil { + return nil + } + out := new(Queue) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Queue) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsInitParameters) DeepCopyInto(out *QueueConfigsInitParameters) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(float64) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(float64) + **out = **in + } + if in.QueueID != nil { + in, out := &in.QueueID, &out.QueueID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsInitParameters. +func (in *QueueConfigsInitParameters) DeepCopy() *QueueConfigsInitParameters { + if in == nil { + return nil + } + out := new(QueueConfigsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsObservation) DeepCopyInto(out *QueueConfigsObservation) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(float64) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(float64) + **out = **in + } + if in.QueueArn != nil { + in, out := &in.QueueArn, &out.QueueArn + *out = new(string) + **out = **in + } + if in.QueueID != nil { + in, out := &in.QueueID, &out.QueueID + *out = new(string) + **out = **in + } + if in.QueueName != nil { + in, out := &in.QueueName, &out.QueueName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsObservation. +func (in *QueueConfigsObservation) DeepCopy() *QueueConfigsObservation { + if in == nil { + return nil + } + out := new(QueueConfigsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueConfigsParameters) DeepCopyInto(out *QueueConfigsParameters) { + *out = *in + if in.Channel != nil { + in, out := &in.Channel, &out.Channel + *out = new(string) + **out = **in + } + if in.Delay != nil { + in, out := &in.Delay, &out.Delay + *out = new(float64) + **out = **in + } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(float64) + **out = **in + } + if in.QueueID != nil { + in, out := &in.QueueID, &out.QueueID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueConfigsParameters. +func (in *QueueConfigsParameters) DeepCopy() *QueueConfigsParameters { + if in == nil { + return nil + } + out := new(QueueConfigsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueInitParameters) DeepCopyInto(out *QueueInitParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HoursOfOperationID != nil { + in, out := &in.HoursOfOperationID, &out.HoursOfOperationID + *out = new(string) + **out = **in + } + if in.HoursOfOperationIDRef != nil { + in, out := &in.HoursOfOperationIDRef, &out.HoursOfOperationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HoursOfOperationIDSelector != nil { + in, out := &in.HoursOfOperationIDSelector, &out.HoursOfOperationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MaxContacts != nil { + in, out := &in.MaxContacts, &out.MaxContacts + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutboundCallerConfig != nil { + in, out := &in.OutboundCallerConfig, &out.OutboundCallerConfig + *out = make([]OutboundCallerConfigInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QuickConnectIds != nil { + in, out := &in.QuickConnectIds, &out.QuickConnectIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueInitParameters. +func (in *QueueInitParameters) DeepCopy() *QueueInitParameters { + if in == nil { + return nil + } + out := new(QueueInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueList) DeepCopyInto(out *QueueList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Queue, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueList. +func (in *QueueList) DeepCopy() *QueueList { + if in == nil { + return nil + } + out := new(QueueList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *QueueList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueObservation) DeepCopyInto(out *QueueObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HoursOfOperationID != nil { + in, out := &in.HoursOfOperationID, &out.HoursOfOperationID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.MaxContacts != nil { + in, out := &in.MaxContacts, &out.MaxContacts + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutboundCallerConfig != nil { + in, out := &in.OutboundCallerConfig, &out.OutboundCallerConfig + *out = make([]OutboundCallerConfigObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QueueID != nil { + in, out := &in.QueueID, &out.QueueID + *out = new(string) + **out = **in + } + if in.QuickConnectIds != nil { + in, out := &in.QuickConnectIds, &out.QuickConnectIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueObservation. +func (in *QueueObservation) DeepCopy() *QueueObservation { + if in == nil { + return nil + } + out := new(QueueObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueParameters) DeepCopyInto(out *QueueParameters) { + *out = *in + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.HoursOfOperationID != nil { + in, out := &in.HoursOfOperationID, &out.HoursOfOperationID + *out = new(string) + **out = **in + } + if in.HoursOfOperationIDRef != nil { + in, out := &in.HoursOfOperationIDRef, &out.HoursOfOperationIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.HoursOfOperationIDSelector != nil { + in, out := &in.HoursOfOperationIDSelector, &out.HoursOfOperationIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MaxContacts != nil { + in, out := &in.MaxContacts, &out.MaxContacts + *out = new(float64) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.OutboundCallerConfig != nil { + in, out := &in.OutboundCallerConfig, &out.OutboundCallerConfig + *out = make([]OutboundCallerConfigParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.QuickConnectIds != nil { + in, out := &in.QuickConnectIds, &out.QuickConnectIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueParameters. +func (in *QueueParameters) DeepCopy() *QueueParameters { + if in == nil { + return nil + } + out := new(QueueParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueSpec) DeepCopyInto(out *QueueSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueSpec. +func (in *QueueSpec) DeepCopy() *QueueSpec { + if in == nil { + return nil + } + out := new(QueueSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *QueueStatus) DeepCopyInto(out *QueueStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QueueStatus. +func (in *QueueStatus) DeepCopy() *QueueStatus { + if in == nil { + return nil + } + out := new(QueueStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfile) DeepCopyInto(out *RoutingProfile) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfile. +func (in *RoutingProfile) DeepCopy() *RoutingProfile { + if in == nil { + return nil + } + out := new(RoutingProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoutingProfile) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileInitParameters) DeepCopyInto(out *RoutingProfileInitParameters) { + *out = *in + if in.DefaultOutboundQueueID != nil { + in, out := &in.DefaultOutboundQueueID, &out.DefaultOutboundQueueID + *out = new(string) + **out = **in + } + if in.DefaultOutboundQueueIDRef != nil { + in, out := &in.DefaultOutboundQueueIDRef, &out.DefaultOutboundQueueIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultOutboundQueueIDSelector != nil { + in, out := &in.DefaultOutboundQueueIDSelector, &out.DefaultOutboundQueueIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MediaConcurrencies != nil { + in, out := &in.MediaConcurrencies, &out.MediaConcurrencies + *out = make([]MediaConcurrenciesInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.QueueConfigs != nil { + in, out := &in.QueueConfigs, &out.QueueConfigs + *out = make([]QueueConfigsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileInitParameters. +func (in *RoutingProfileInitParameters) DeepCopy() *RoutingProfileInitParameters { + if in == nil { + return nil + } + out := new(RoutingProfileInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileList) DeepCopyInto(out *RoutingProfileList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RoutingProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileList. +func (in *RoutingProfileList) DeepCopy() *RoutingProfileList { + if in == nil { + return nil + } + out := new(RoutingProfileList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoutingProfileList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileObservation) DeepCopyInto(out *RoutingProfileObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.DefaultOutboundQueueID != nil { + in, out := &in.DefaultOutboundQueueID, &out.DefaultOutboundQueueID + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.MediaConcurrencies != nil { + in, out := &in.MediaConcurrencies, &out.MediaConcurrencies + *out = make([]MediaConcurrenciesObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.QueueConfigs != nil { + in, out := &in.QueueConfigs, &out.QueueConfigs + *out = make([]QueueConfigsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RoutingProfileID != nil { + in, out := &in.RoutingProfileID, &out.RoutingProfileID + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileObservation. +func (in *RoutingProfileObservation) DeepCopy() *RoutingProfileObservation { + if in == nil { + return nil + } + out := new(RoutingProfileObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileParameters) DeepCopyInto(out *RoutingProfileParameters) { + *out = *in + if in.DefaultOutboundQueueID != nil { + in, out := &in.DefaultOutboundQueueID, &out.DefaultOutboundQueueID + *out = new(string) + **out = **in + } + if in.DefaultOutboundQueueIDRef != nil { + in, out := &in.DefaultOutboundQueueIDRef, &out.DefaultOutboundQueueIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DefaultOutboundQueueIDSelector != nil { + in, out := &in.DefaultOutboundQueueIDSelector, &out.DefaultOutboundQueueIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MediaConcurrencies != nil { + in, out := &in.MediaConcurrencies, &out.MediaConcurrencies + *out = make([]MediaConcurrenciesParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.QueueConfigs != nil { + in, out := &in.QueueConfigs, &out.QueueConfigs + *out = make([]QueueConfigsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileParameters. +func (in *RoutingProfileParameters) DeepCopy() *RoutingProfileParameters { + if in == nil { + return nil + } + out := new(RoutingProfileParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileSpec) DeepCopyInto(out *RoutingProfileSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileSpec. +func (in *RoutingProfileSpec) DeepCopy() *RoutingProfileSpec { + if in == nil { + return nil + } + out := new(RoutingProfileSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingProfileStatus) DeepCopyInto(out *RoutingProfileStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingProfileStatus. +func (in *RoutingProfileStatus) DeepCopy() *RoutingProfileStatus { + if in == nil { + return nil + } + out := new(RoutingProfileStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StartTimeInitParameters) DeepCopyInto(out *StartTimeInitParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartTimeInitParameters. +func (in *StartTimeInitParameters) DeepCopy() *StartTimeInitParameters { + if in == nil { + return nil + } + out := new(StartTimeInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StartTimeObservation) DeepCopyInto(out *StartTimeObservation) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartTimeObservation. +func (in *StartTimeObservation) DeepCopy() *StartTimeObservation { + if in == nil { + return nil + } + out := new(StartTimeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StartTimeParameters) DeepCopyInto(out *StartTimeParameters) { + *out = *in + if in.Hours != nil { + in, out := &in.Hours, &out.Hours + *out = new(float64) + **out = **in + } + if in.Minutes != nil { + in, out := &in.Minutes, &out.Minutes + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartTimeParameters. +func (in *StartTimeParameters) DeepCopy() *StartTimeParameters { + if in == nil { + return nil + } + out := new(StartTimeParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/connect/v1beta2/zz_generated.managed.go b/apis/connect/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..91fad2ccae --- /dev/null +++ b/apis/connect/v1beta2/zz_generated.managed.go @@ -0,0 +1,188 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this HoursOfOperation. +func (mg *HoursOfOperation) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this HoursOfOperation. +func (mg *HoursOfOperation) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this HoursOfOperation. +func (mg *HoursOfOperation) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this HoursOfOperation. +func (mg *HoursOfOperation) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this HoursOfOperation. +func (mg *HoursOfOperation) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this HoursOfOperation. +func (mg *HoursOfOperation) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this HoursOfOperation. +func (mg *HoursOfOperation) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this HoursOfOperation. +func (mg *HoursOfOperation) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this HoursOfOperation. +func (mg *HoursOfOperation) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this HoursOfOperation. +func (mg *HoursOfOperation) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this HoursOfOperation. +func (mg *HoursOfOperation) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this HoursOfOperation. +func (mg *HoursOfOperation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this Queue. +func (mg *Queue) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Queue. +func (mg *Queue) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Queue. +func (mg *Queue) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Queue. +func (mg *Queue) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Queue. +func (mg *Queue) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Queue. +func (mg *Queue) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Queue. +func (mg *Queue) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Queue. +func (mg *Queue) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Queue. +func (mg *Queue) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Queue. +func (mg *Queue) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Queue. +func (mg *Queue) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Queue. +func (mg *Queue) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RoutingProfile. +func (mg *RoutingProfile) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RoutingProfile. +func (mg *RoutingProfile) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this RoutingProfile. +func (mg *RoutingProfile) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this RoutingProfile. +func (mg *RoutingProfile) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this RoutingProfile. +func (mg *RoutingProfile) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this RoutingProfile. +func (mg *RoutingProfile) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RoutingProfile. +func (mg *RoutingProfile) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RoutingProfile. +func (mg *RoutingProfile) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this RoutingProfile. +func (mg *RoutingProfile) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this RoutingProfile. +func (mg *RoutingProfile) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this RoutingProfile. +func (mg *RoutingProfile) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this RoutingProfile. +func (mg *RoutingProfile) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/connect/v1beta2/zz_generated.managedlist.go b/apis/connect/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..e072d69c15 --- /dev/null +++ b/apis/connect/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,35 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this HoursOfOperationList. +func (l *HoursOfOperationList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this QueueList. +func (l *QueueList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this RoutingProfileList. +func (l *RoutingProfileList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/connect/v1beta2/zz_generated.resolvers.go b/apis/connect/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..db79fbd145 --- /dev/null +++ b/apis/connect/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,244 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + apisresolver "github.com/upbound/provider-aws/internal/apis" + client "sigs.k8s.io/controller-runtime/pkg/client" +) + +func (mg *HoursOfOperation) ResolveReferences( // ResolveReferences of this HoursOfOperation. + ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.InstanceIDRef, + Selector: mg.Spec.ForProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.InstanceID") + } + mg.Spec.ForProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.InstanceIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceIDRef, + Selector: mg.Spec.InitProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceID") + } + mg.Spec.InitProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceIDRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this Queue. +func (mg *Queue) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "HoursOfOperation", "HoursOfOperationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.HoursOfOperationID), + Extract: resource.ExtractParamPath("hours_of_operation_id", true), + Reference: mg.Spec.ForProvider.HoursOfOperationIDRef, + Selector: mg.Spec.ForProvider.HoursOfOperationIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.HoursOfOperationID") + } + mg.Spec.ForProvider.HoursOfOperationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.HoursOfOperationIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.InstanceIDRef, + Selector: mg.Spec.ForProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.InstanceID") + } + mg.Spec.ForProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.InstanceIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "HoursOfOperation", "HoursOfOperationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.HoursOfOperationID), + Extract: resource.ExtractParamPath("hours_of_operation_id", true), + Reference: mg.Spec.InitProvider.HoursOfOperationIDRef, + Selector: mg.Spec.InitProvider.HoursOfOperationIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.HoursOfOperationID") + } + mg.Spec.InitProvider.HoursOfOperationID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.HoursOfOperationIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceIDRef, + Selector: mg.Spec.InitProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceID") + } + mg.Spec.InitProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceIDRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this RoutingProfile. +func (mg *RoutingProfile) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "Queue", "QueueList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DefaultOutboundQueueID), + Extract: resource.ExtractParamPath("queue_id", true), + Reference: mg.Spec.ForProvider.DefaultOutboundQueueIDRef, + Selector: mg.Spec.ForProvider.DefaultOutboundQueueIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DefaultOutboundQueueID") + } + mg.Spec.ForProvider.DefaultOutboundQueueID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DefaultOutboundQueueIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.InstanceIDRef, + Selector: mg.Spec.ForProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.InstanceID") + } + mg.Spec.ForProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.InstanceIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta2", "Queue", "QueueList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DefaultOutboundQueueID), + Extract: resource.ExtractParamPath("queue_id", true), + Reference: mg.Spec.InitProvider.DefaultOutboundQueueIDRef, + Selector: mg.Spec.InitProvider.DefaultOutboundQueueIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DefaultOutboundQueueID") + } + mg.Spec.InitProvider.DefaultOutboundQueueID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DefaultOutboundQueueIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("connect.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.InstanceIDRef, + Selector: mg.Spec.InitProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceID") + } + mg.Spec.InitProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceIDRef = rsp.ResolvedReference + + return nil +} diff --git a/apis/connect/v1beta2/zz_groupversion_info.go b/apis/connect/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..7c4981c6ef --- /dev/null +++ b/apis/connect/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=connect.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "connect.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/connect/v1beta2/zz_hoursofoperation_terraformed.go b/apis/connect/v1beta2/zz_hoursofoperation_terraformed.go new file mode 100755 index 0000000000..e0063dbe5a --- /dev/null +++ b/apis/connect/v1beta2/zz_hoursofoperation_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this HoursOfOperation +func (mg *HoursOfOperation) GetTerraformResourceType() string { + return "aws_connect_hours_of_operation" +} + +// GetConnectionDetailsMapping for this HoursOfOperation +func (tr *HoursOfOperation) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this HoursOfOperation +func (tr *HoursOfOperation) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this HoursOfOperation +func (tr *HoursOfOperation) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this HoursOfOperation +func (tr *HoursOfOperation) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this HoursOfOperation +func (tr *HoursOfOperation) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this HoursOfOperation +func (tr *HoursOfOperation) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this HoursOfOperation +func (tr *HoursOfOperation) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this HoursOfOperation +func (tr *HoursOfOperation) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this HoursOfOperation using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *HoursOfOperation) LateInitialize(attrs []byte) (bool, error) { + params := &HoursOfOperationParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *HoursOfOperation) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/connect/v1beta2/zz_hoursofoperation_types.go b/apis/connect/v1beta2/zz_hoursofoperation_types.go new file mode 100755 index 0000000000..e3ceb0484c --- /dev/null +++ b/apis/connect/v1beta2/zz_hoursofoperation_types.go @@ -0,0 +1,289 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 ConfigInitParameters struct { + + // Specifies the day that the hours of operation applies to. + Day *string `json:"day,omitempty" tf:"day,omitempty"` + + // A end time block specifies the time that your contact center closes. The end_time is documented below. + EndTime []EndTimeInitParameters `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // A start time block specifies the time that your contact center opens. The start_time is documented below. + StartTime []StartTimeInitParameters `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type ConfigObservation struct { + + // Specifies the day that the hours of operation applies to. + Day *string `json:"day,omitempty" tf:"day,omitempty"` + + // A end time block specifies the time that your contact center closes. The end_time is documented below. + EndTime []EndTimeObservation `json:"endTime,omitempty" tf:"end_time,omitempty"` + + // A start time block specifies the time that your contact center opens. The start_time is documented below. + StartTime []StartTimeObservation `json:"startTime,omitempty" tf:"start_time,omitempty"` +} + +type ConfigParameters struct { + + // Specifies the day that the hours of operation applies to. + // +kubebuilder:validation:Optional + Day *string `json:"day" tf:"day,omitempty"` + + // A end time block specifies the time that your contact center closes. The end_time is documented below. + // +kubebuilder:validation:Optional + EndTime []EndTimeParameters `json:"endTime" tf:"end_time,omitempty"` + + // A start time block specifies the time that your contact center opens. The start_time is documented below. + // +kubebuilder:validation:Optional + StartTime []StartTimeParameters `json:"startTime" tf:"start_time,omitempty"` +} + +type EndTimeInitParameters struct { + + // Specifies the hour of closing. + Hours *float64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Specifies the minute of closing. + Minutes *float64 `json:"minutes,omitempty" tf:"minutes,omitempty"` +} + +type EndTimeObservation struct { + + // Specifies the hour of closing. + Hours *float64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Specifies the minute of closing. + Minutes *float64 `json:"minutes,omitempty" tf:"minutes,omitempty"` +} + +type EndTimeParameters struct { + + // Specifies the hour of closing. + // +kubebuilder:validation:Optional + Hours *float64 `json:"hours" tf:"hours,omitempty"` + + // Specifies the minute of closing. + // +kubebuilder:validation:Optional + Minutes *float64 `json:"minutes" tf:"minutes,omitempty"` +} + +type HoursOfOperationInitParameters struct { + + // One or more config blocks which define the configuration information for the hours of operation: day, start time, and end time . Config blocks are documented below. + Config []ConfigInitParameters `json:"config,omitempty" tf:"config,omitempty"` + + // Specifies the description of the Hours of Operation. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // Specifies the name of the Hours of Operation. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Specifies the time zone of the Hours of Operation. + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +type HoursOfOperationObservation struct { + + // The Amazon Resource Name (ARN) of the Hours of Operation. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // One or more config blocks which define the configuration information for the hours of operation: day, start time, and end time . Config blocks are documented below. + Config []ConfigObservation `json:"config,omitempty" tf:"config,omitempty"` + + // Specifies the description of the Hours of Operation. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The identifier for the hours of operation. + HoursOfOperationID *string `json:"hoursOfOperationId,omitempty" tf:"hours_of_operation_id,omitempty"` + + // The identifier of the hosting Amazon Connect Instance and identifier of the Hours of Operation separated by a colon (:). + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Specifies the name of the Hours of Operation. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` + + // Specifies the time zone of the Hours of Operation. + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +type HoursOfOperationParameters struct { + + // One or more config blocks which define the configuration information for the hours of operation: day, start time, and end time . Config blocks are documented below. + // +kubebuilder:validation:Optional + Config []ConfigParameters `json:"config,omitempty" tf:"config,omitempty"` + + // Specifies the description of the Hours of Operation. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // Specifies the name of the Hours of Operation. + // +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:"-"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Specifies the time zone of the Hours of Operation. + // +kubebuilder:validation:Optional + TimeZone *string `json:"timeZone,omitempty" tf:"time_zone,omitempty"` +} + +type StartTimeInitParameters struct { + + // Specifies the hour of opening. + Hours *float64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Specifies the minute of opening. + Minutes *float64 `json:"minutes,omitempty" tf:"minutes,omitempty"` +} + +type StartTimeObservation struct { + + // Specifies the hour of opening. + Hours *float64 `json:"hours,omitempty" tf:"hours,omitempty"` + + // Specifies the minute of opening. + Minutes *float64 `json:"minutes,omitempty" tf:"minutes,omitempty"` +} + +type StartTimeParameters struct { + + // Specifies the hour of opening. + // +kubebuilder:validation:Optional + Hours *float64 `json:"hours" tf:"hours,omitempty"` + + // Specifies the minute of opening. + // +kubebuilder:validation:Optional + Minutes *float64 `json:"minutes" tf:"minutes,omitempty"` +} + +// HoursOfOperationSpec defines the desired state of HoursOfOperation +type HoursOfOperationSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider HoursOfOperationParameters `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 HoursOfOperationInitParameters `json:"initProvider,omitempty"` +} + +// HoursOfOperationStatus defines the observed state of HoursOfOperation. +type HoursOfOperationStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider HoursOfOperationObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// HoursOfOperation is the Schema for the HoursOfOperations API. Provides details about a specific Amazon Connect Hours of Operation. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type HoursOfOperation 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.config) || (has(self.initProvider) && has(self.initProvider.config))",message="spec.forProvider.config is a required parameter" + // +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" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.timeZone) || (has(self.initProvider) && has(self.initProvider.timeZone))",message="spec.forProvider.timeZone is a required parameter" + Spec HoursOfOperationSpec `json:"spec"` + Status HoursOfOperationStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// HoursOfOperationList contains a list of HoursOfOperations +type HoursOfOperationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []HoursOfOperation `json:"items"` +} + +// Repository type metadata. +var ( + HoursOfOperation_Kind = "HoursOfOperation" + HoursOfOperation_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: HoursOfOperation_Kind}.String() + HoursOfOperation_KindAPIVersion = HoursOfOperation_Kind + "." + CRDGroupVersion.String() + HoursOfOperation_GroupVersionKind = CRDGroupVersion.WithKind(HoursOfOperation_Kind) +) + +func init() { + SchemeBuilder.Register(&HoursOfOperation{}, &HoursOfOperationList{}) +} diff --git a/apis/connect/v1beta2/zz_queue_terraformed.go b/apis/connect/v1beta2/zz_queue_terraformed.go new file mode 100755 index 0000000000..ba36c8a4e4 --- /dev/null +++ b/apis/connect/v1beta2/zz_queue_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Queue +func (mg *Queue) GetTerraformResourceType() string { + return "aws_connect_queue" +} + +// GetConnectionDetailsMapping for this Queue +func (tr *Queue) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Queue +func (tr *Queue) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Queue +func (tr *Queue) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Queue +func (tr *Queue) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Queue +func (tr *Queue) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Queue +func (tr *Queue) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Queue +func (tr *Queue) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Queue +func (tr *Queue) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Queue using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Queue) LateInitialize(attrs []byte) (bool, error) { + params := &QueueParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Queue) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/connect/v1beta2/zz_queue_types.go b/apis/connect/v1beta2/zz_queue_types.go new file mode 100755 index 0000000000..8c3ab6cfcd --- /dev/null +++ b/apis/connect/v1beta2/zz_queue_types.go @@ -0,0 +1,282 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 OutboundCallerConfigInitParameters struct { + + // Specifies the caller ID name. + OutboundCallerIDName *string `json:"outboundCallerIdName,omitempty" tf:"outbound_caller_id_name,omitempty"` + + // Specifies the caller ID number. + OutboundCallerIDNumberID *string `json:"outboundCallerIdNumberId,omitempty" tf:"outbound_caller_id_number_id,omitempty"` + + // Specifies outbound whisper flow to be used during an outbound call. + OutboundFlowID *string `json:"outboundFlowId,omitempty" tf:"outbound_flow_id,omitempty"` +} + +type OutboundCallerConfigObservation struct { + + // Specifies the caller ID name. + OutboundCallerIDName *string `json:"outboundCallerIdName,omitempty" tf:"outbound_caller_id_name,omitempty"` + + // Specifies the caller ID number. + OutboundCallerIDNumberID *string `json:"outboundCallerIdNumberId,omitempty" tf:"outbound_caller_id_number_id,omitempty"` + + // Specifies outbound whisper flow to be used during an outbound call. + OutboundFlowID *string `json:"outboundFlowId,omitempty" tf:"outbound_flow_id,omitempty"` +} + +type OutboundCallerConfigParameters struct { + + // Specifies the caller ID name. + // +kubebuilder:validation:Optional + OutboundCallerIDName *string `json:"outboundCallerIdName,omitempty" tf:"outbound_caller_id_name,omitempty"` + + // Specifies the caller ID number. + // +kubebuilder:validation:Optional + OutboundCallerIDNumberID *string `json:"outboundCallerIdNumberId,omitempty" tf:"outbound_caller_id_number_id,omitempty"` + + // Specifies outbound whisper flow to be used during an outbound call. + // +kubebuilder:validation:Optional + OutboundFlowID *string `json:"outboundFlowId,omitempty" tf:"outbound_flow_id,omitempty"` +} + +type QueueInitParameters struct { + + // Specifies the description of the Queue. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the Hours of Operation. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.HoursOfOperation + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("hours_of_operation_id",true) + HoursOfOperationID *string `json:"hoursOfOperationId,omitempty" tf:"hours_of_operation_id,omitempty"` + + // Reference to a HoursOfOperation in connect to populate hoursOfOperationId. + // +kubebuilder:validation:Optional + HoursOfOperationIDRef *v1.Reference `json:"hoursOfOperationIdRef,omitempty" tf:"-"` + + // Selector for a HoursOfOperation in connect to populate hoursOfOperationId. + // +kubebuilder:validation:Optional + HoursOfOperationIDSelector *v1.Selector `json:"hoursOfOperationIdSelector,omitempty" tf:"-"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // Specifies the maximum number of contacts that can be in the queue before it is considered full. Minimum value of 0. + MaxContacts *float64 `json:"maxContacts,omitempty" tf:"max_contacts,omitempty"` + + // Specifies the name of the Queue. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // A block that defines the outbound caller ID name, number, and outbound whisper flow. The Outbound Caller Config block is documented below. + OutboundCallerConfig []OutboundCallerConfigInitParameters `json:"outboundCallerConfig,omitempty" tf:"outbound_caller_config,omitempty"` + + // Specifies a list of quick connects ids that determine the quick connects available to agents who are working the queue. + // +listType=set + QuickConnectIds []*string `json:"quickConnectIds,omitempty" tf:"quick_connect_ids,omitempty"` + + // Specifies the description of the Queue. Valid values are ENABLED, DISABLED. + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type QueueObservation struct { + + // The Amazon Resource Name (ARN) of the Queue. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Specifies the description of the Queue. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the Hours of Operation. + HoursOfOperationID *string `json:"hoursOfOperationId,omitempty" tf:"hours_of_operation_id,omitempty"` + + // The identifier of the hosting Amazon Connect Instance and identifier of the Queue separated by a colon (:). + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Specifies the maximum number of contacts that can be in the queue before it is considered full. Minimum value of 0. + MaxContacts *float64 `json:"maxContacts,omitempty" tf:"max_contacts,omitempty"` + + // Specifies the name of the Queue. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // A block that defines the outbound caller ID name, number, and outbound whisper flow. The Outbound Caller Config block is documented below. + OutboundCallerConfig []OutboundCallerConfigObservation `json:"outboundCallerConfig,omitempty" tf:"outbound_caller_config,omitempty"` + + // The identifier for the Queue. + QueueID *string `json:"queueId,omitempty" tf:"queue_id,omitempty"` + + // Specifies a list of quick connects ids that determine the quick connects available to agents who are working the queue. + // +listType=set + QuickConnectIds []*string `json:"quickConnectIds,omitempty" tf:"quick_connect_ids,omitempty"` + + // Specifies the description of the Queue. Valid values are ENABLED, DISABLED. + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type QueueParameters struct { + + // Specifies the description of the Queue. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the Hours of Operation. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.HoursOfOperation + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("hours_of_operation_id",true) + // +kubebuilder:validation:Optional + HoursOfOperationID *string `json:"hoursOfOperationId,omitempty" tf:"hours_of_operation_id,omitempty"` + + // Reference to a HoursOfOperation in connect to populate hoursOfOperationId. + // +kubebuilder:validation:Optional + HoursOfOperationIDRef *v1.Reference `json:"hoursOfOperationIdRef,omitempty" tf:"-"` + + // Selector for a HoursOfOperation in connect to populate hoursOfOperationId. + // +kubebuilder:validation:Optional + HoursOfOperationIDSelector *v1.Selector `json:"hoursOfOperationIdSelector,omitempty" tf:"-"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // Specifies the maximum number of contacts that can be in the queue before it is considered full. Minimum value of 0. + // +kubebuilder:validation:Optional + MaxContacts *float64 `json:"maxContacts,omitempty" tf:"max_contacts,omitempty"` + + // Specifies the name of the Queue. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // A block that defines the outbound caller ID name, number, and outbound whisper flow. The Outbound Caller Config block is documented below. + // +kubebuilder:validation:Optional + OutboundCallerConfig []OutboundCallerConfigParameters `json:"outboundCallerConfig,omitempty" tf:"outbound_caller_config,omitempty"` + + // Specifies a list of quick connects ids that determine the quick connects available to agents who are working the queue. + // +kubebuilder:validation:Optional + // +listType=set + QuickConnectIds []*string `json:"quickConnectIds,omitempty" tf:"quick_connect_ids,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:"-"` + + // Specifies the description of the Queue. Valid values are ENABLED, DISABLED. + // +kubebuilder:validation:Optional + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +// QueueSpec defines the desired state of Queue +type QueueSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider QueueParameters `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 QueueInitParameters `json:"initProvider,omitempty"` +} + +// QueueStatus defines the observed state of Queue. +type QueueStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider QueueObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Queue is the Schema for the Queues API. Provides details about a specific Amazon Connect Queue +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type Queue 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 QueueSpec `json:"spec"` + Status QueueStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// QueueList contains a list of Queues +type QueueList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Queue `json:"items"` +} + +// Repository type metadata. +var ( + Queue_Kind = "Queue" + Queue_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Queue_Kind}.String() + Queue_KindAPIVersion = Queue_Kind + "." + CRDGroupVersion.String() + Queue_GroupVersionKind = CRDGroupVersion.WithKind(Queue_Kind) +) + +func init() { + SchemeBuilder.Register(&Queue{}, &QueueList{}) +} diff --git a/apis/connect/v1beta2/zz_routingprofile_terraformed.go b/apis/connect/v1beta2/zz_routingprofile_terraformed.go new file mode 100755 index 0000000000..85ff86926e --- /dev/null +++ b/apis/connect/v1beta2/zz_routingprofile_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RoutingProfile +func (mg *RoutingProfile) GetTerraformResourceType() string { + return "aws_connect_routing_profile" +} + +// GetConnectionDetailsMapping for this RoutingProfile +func (tr *RoutingProfile) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RoutingProfile +func (tr *RoutingProfile) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RoutingProfile +func (tr *RoutingProfile) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RoutingProfile +func (tr *RoutingProfile) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RoutingProfile +func (tr *RoutingProfile) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RoutingProfile +func (tr *RoutingProfile) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this RoutingProfile +func (tr *RoutingProfile) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this RoutingProfile +func (tr *RoutingProfile) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this RoutingProfile using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RoutingProfile) LateInitialize(attrs []byte) (bool, error) { + params := &RoutingProfileParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RoutingProfile) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/connect/v1beta2/zz_routingprofile_types.go b/apis/connect/v1beta2/zz_routingprofile_types.go new file mode 100755 index 0000000000..c6a6dd4c6d --- /dev/null +++ b/apis/connect/v1beta2/zz_routingprofile_types.go @@ -0,0 +1,306 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 MediaConcurrenciesInitParameters struct { + + // Specifies the channels that agents can handle in the Contact Control Panel (CCP). Valid values are VOICE, CHAT, TASK. + Channel *string `json:"channel,omitempty" tf:"channel,omitempty"` + + // Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for VOICE: Minimum value of 1. Maximum value of 1. Valid Range for CHAT: Minimum value of 1. Maximum value of 10. Valid Range for TASK: Minimum value of 1. Maximum value of 10. + Concurrency *float64 `json:"concurrency,omitempty" tf:"concurrency,omitempty"` +} + +type MediaConcurrenciesObservation struct { + + // Specifies the channels that agents can handle in the Contact Control Panel (CCP). Valid values are VOICE, CHAT, TASK. + Channel *string `json:"channel,omitempty" tf:"channel,omitempty"` + + // Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for VOICE: Minimum value of 1. Maximum value of 1. Valid Range for CHAT: Minimum value of 1. Maximum value of 10. Valid Range for TASK: Minimum value of 1. Maximum value of 10. + Concurrency *float64 `json:"concurrency,omitempty" tf:"concurrency,omitempty"` +} + +type MediaConcurrenciesParameters struct { + + // Specifies the channels that agents can handle in the Contact Control Panel (CCP). Valid values are VOICE, CHAT, TASK. + // +kubebuilder:validation:Optional + Channel *string `json:"channel" tf:"channel,omitempty"` + + // Specifies the number of contacts an agent can have on a channel simultaneously. Valid Range for VOICE: Minimum value of 1. Maximum value of 1. Valid Range for CHAT: Minimum value of 1. Maximum value of 10. Valid Range for TASK: Minimum value of 1. Maximum value of 10. + // +kubebuilder:validation:Optional + Concurrency *float64 `json:"concurrency" tf:"concurrency,omitempty"` +} + +type QueueConfigsInitParameters struct { + + // Specifies the channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are VOICE, CHAT, TASK. + Channel *string `json:"channel,omitempty" tf:"channel,omitempty"` + + // Specifies the delay, in seconds, that a contact should be in the queue before they are routed to an available agent + Delay *float64 `json:"delay,omitempty" tf:"delay,omitempty"` + + // Specifies the order in which contacts are to be handled for the queue. + Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // Specifies the identifier for the queue. + QueueID *string `json:"queueId,omitempty" tf:"queue_id,omitempty"` +} + +type QueueConfigsObservation struct { + + // Specifies the channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are VOICE, CHAT, TASK. + Channel *string `json:"channel,omitempty" tf:"channel,omitempty"` + + // Specifies the delay, in seconds, that a contact should be in the queue before they are routed to an available agent + Delay *float64 `json:"delay,omitempty" tf:"delay,omitempty"` + + // Specifies the order in which contacts are to be handled for the queue. + Priority *float64 `json:"priority,omitempty" tf:"priority,omitempty"` + + // ARN for the queue. + QueueArn *string `json:"queueArn,omitempty" tf:"queue_arn,omitempty"` + + // Specifies the identifier for the queue. + QueueID *string `json:"queueId,omitempty" tf:"queue_id,omitempty"` + + // Name for the queue. + QueueName *string `json:"queueName,omitempty" tf:"queue_name,omitempty"` +} + +type QueueConfigsParameters struct { + + // Specifies the channels agents can handle in the Contact Control Panel (CCP) for this routing profile. Valid values are VOICE, CHAT, TASK. + // +kubebuilder:validation:Optional + Channel *string `json:"channel" tf:"channel,omitempty"` + + // Specifies the delay, in seconds, that a contact should be in the queue before they are routed to an available agent + // +kubebuilder:validation:Optional + Delay *float64 `json:"delay" tf:"delay,omitempty"` + + // Specifies the order in which contacts are to be handled for the queue. + // +kubebuilder:validation:Optional + Priority *float64 `json:"priority" tf:"priority,omitempty"` + + // Specifies the identifier for the queue. + // +kubebuilder:validation:Optional + QueueID *string `json:"queueId" tf:"queue_id,omitempty"` +} + +type RoutingProfileInitParameters struct { + + // Specifies the default outbound queue for the Routing Profile. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.Queue + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("queue_id",true) + DefaultOutboundQueueID *string `json:"defaultOutboundQueueId,omitempty" tf:"default_outbound_queue_id,omitempty"` + + // Reference to a Queue in connect to populate defaultOutboundQueueId. + // +kubebuilder:validation:Optional + DefaultOutboundQueueIDRef *v1.Reference `json:"defaultOutboundQueueIdRef,omitempty" tf:"-"` + + // Selector for a Queue in connect to populate defaultOutboundQueueId. + // +kubebuilder:validation:Optional + DefaultOutboundQueueIDSelector *v1.Selector `json:"defaultOutboundQueueIdSelector,omitempty" tf:"-"` + + // Specifies the description of the Routing Profile. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // One or more media_concurrencies blocks that specify the channels that agents can handle in the Contact Control Panel (CCP) for this Routing Profile. The media_concurrencies block is documented below. + MediaConcurrencies []MediaConcurrenciesInitParameters `json:"mediaConcurrencies,omitempty" tf:"media_concurrencies,omitempty"` + + // Specifies the name of the Routing Profile. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // One or more queue_configs blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The queue_configs block is documented below. + QueueConfigs []QueueConfigsInitParameters `json:"queueConfigs,omitempty" tf:"queue_configs,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type RoutingProfileObservation struct { + + // The Amazon Resource Name (ARN) of the Routing Profile. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Specifies the default outbound queue for the Routing Profile. + DefaultOutboundQueueID *string `json:"defaultOutboundQueueId,omitempty" tf:"default_outbound_queue_id,omitempty"` + + // Specifies the description of the Routing Profile. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // The identifier of the hosting Amazon Connect Instance and identifier of the Routing Profile separated by a colon (:). + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // One or more media_concurrencies blocks that specify the channels that agents can handle in the Contact Control Panel (CCP) for this Routing Profile. The media_concurrencies block is documented below. + MediaConcurrencies []MediaConcurrenciesObservation `json:"mediaConcurrencies,omitempty" tf:"media_concurrencies,omitempty"` + + // Specifies the name of the Routing Profile. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // One or more queue_configs blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The queue_configs block is documented below. + QueueConfigs []QueueConfigsObservation `json:"queueConfigs,omitempty" tf:"queue_configs,omitempty"` + + // The identifier for the Routing Profile. + RoutingProfileID *string `json:"routingProfileId,omitempty" tf:"routing_profile_id,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` +} + +type RoutingProfileParameters struct { + + // Specifies the default outbound queue for the Routing Profile. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta2.Queue + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("queue_id",true) + // +kubebuilder:validation:Optional + DefaultOutboundQueueID *string `json:"defaultOutboundQueueId,omitempty" tf:"default_outbound_queue_id,omitempty"` + + // Reference to a Queue in connect to populate defaultOutboundQueueId. + // +kubebuilder:validation:Optional + DefaultOutboundQueueIDRef *v1.Reference `json:"defaultOutboundQueueIdRef,omitempty" tf:"-"` + + // Selector for a Queue in connect to populate defaultOutboundQueueId. + // +kubebuilder:validation:Optional + DefaultOutboundQueueIDSelector *v1.Selector `json:"defaultOutboundQueueIdSelector,omitempty" tf:"-"` + + // Specifies the description of the Routing Profile. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Specifies the identifier of the hosting Amazon Connect Instance. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/connect/v1beta1.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance in connect to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + + // One or more media_concurrencies blocks that specify the channels that agents can handle in the Contact Control Panel (CCP) for this Routing Profile. The media_concurrencies block is documented below. + // +kubebuilder:validation:Optional + MediaConcurrencies []MediaConcurrenciesParameters `json:"mediaConcurrencies,omitempty" tf:"media_concurrencies,omitempty"` + + // Specifies the name of the Routing Profile. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + + // One or more queue_configs blocks that specify the inbound queues associated with the routing profile. If no queue is added, the agent only can make outbound calls. The queue_configs block is documented below. + // +kubebuilder:validation:Optional + QueueConfigs []QueueConfigsParameters `json:"queueConfigs,omitempty" tf:"queue_configs,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:"-"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +// RoutingProfileSpec defines the desired state of RoutingProfile +type RoutingProfileSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RoutingProfileParameters `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 RoutingProfileInitParameters `json:"initProvider,omitempty"` +} + +// RoutingProfileStatus defines the observed state of RoutingProfile. +type RoutingProfileStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RoutingProfileObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// RoutingProfile is the Schema for the RoutingProfiles API. Provides details about a specific Amazon Connect Routing Profile. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type RoutingProfile 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.description) || (has(self.initProvider) && has(self.initProvider.description))",message="spec.forProvider.description is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.mediaConcurrencies) || (has(self.initProvider) && has(self.initProvider.mediaConcurrencies))",message="spec.forProvider.mediaConcurrencies is a required parameter" + // +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 RoutingProfileSpec `json:"spec"` + Status RoutingProfileStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RoutingProfileList contains a list of RoutingProfiles +type RoutingProfileList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RoutingProfile `json:"items"` +} + +// Repository type metadata. +var ( + RoutingProfile_Kind = "RoutingProfile" + RoutingProfile_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RoutingProfile_Kind}.String() + RoutingProfile_KindAPIVersion = RoutingProfile_Kind + "." + CRDGroupVersion.String() + RoutingProfile_GroupVersionKind = CRDGroupVersion.WithKind(RoutingProfile_Kind) +) + +func init() { + SchemeBuilder.Register(&RoutingProfile{}, &RoutingProfileList{}) +} diff --git a/apis/cur/v1beta1/zz_reportdefinition_types.go b/apis/cur/v1beta1/zz_reportdefinition_types.go index 0b3e74d644..0b2faef5a9 100755 --- a/apis/cur/v1beta1/zz_reportdefinition_types.go +++ b/apis/cur/v1beta1/zz_reportdefinition_types.go @@ -185,6 +185,7 @@ type ReportDefinitionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReportDefinition is the Schema for the ReportDefinitions API. Provides a Cost and Usage Report Definition. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dataexchange/v1beta1/zz_dataset_types.go b/apis/dataexchange/v1beta1/zz_dataset_types.go index 2d7c7482a8..379fe59cfc 100755 --- a/apis/dataexchange/v1beta1/zz_dataset_types.go +++ b/apis/dataexchange/v1beta1/zz_dataset_types.go @@ -109,6 +109,7 @@ type DataSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataSet is the Schema for the DataSets API. Provides a DataExchange DataSet // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dataexchange/v1beta1/zz_revision_types.go b/apis/dataexchange/v1beta1/zz_revision_types.go index 62177131a9..989baf8a41 100755 --- a/apis/dataexchange/v1beta1/zz_revision_types.go +++ b/apis/dataexchange/v1beta1/zz_revision_types.go @@ -122,6 +122,7 @@ type RevisionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Revision is the Schema for the Revisions API. Provides a DataExchange Revision // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/datapipeline/v1beta1/zz_pipeline_types.go b/apis/datapipeline/v1beta1/zz_pipeline_types.go index 0711e7f8ad..a8987a4512 100755 --- a/apis/datapipeline/v1beta1/zz_pipeline_types.go +++ b/apis/datapipeline/v1beta1/zz_pipeline_types.go @@ -96,6 +96,7 @@ type PipelineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Pipeline is the Schema for the Pipelines API. Provides a AWS DataPipeline Pipeline. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/datasync/v1beta1/zz_locations3_types.go b/apis/datasync/v1beta1/zz_locations3_types.go index cb6aedaa26..6114001b62 100755 --- a/apis/datasync/v1beta1/zz_locations3_types.go +++ b/apis/datasync/v1beta1/zz_locations3_types.go @@ -193,6 +193,7 @@ type LocationS3Status struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LocationS3 is the Schema for the LocationS3s API. Manages an AWS DataSync S3 Location // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/datasync/v1beta1/zz_task_types.go b/apis/datasync/v1beta1/zz_task_types.go index e9576fbfdd..506d47d405 100755 --- a/apis/datasync/v1beta1/zz_task_types.go +++ b/apis/datasync/v1beta1/zz_task_types.go @@ -608,6 +608,7 @@ type TaskStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Task is the Schema for the Tasks API. Manages an AWS DataSync Task // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dax/v1beta1/zz_cluster_types.go b/apis/dax/v1beta1/zz_cluster_types.go index 14d5a8022f..0ae479392f 100755 --- a/apis/dax/v1beta1/zz_cluster_types.go +++ b/apis/dax/v1beta1/zz_cluster_types.go @@ -333,6 +333,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides an DAX Cluster resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dax/v1beta1/zz_parametergroup_types.go b/apis/dax/v1beta1/zz_parametergroup_types.go index 66b1a38be9..932c3d64ae 100755 --- a/apis/dax/v1beta1/zz_parametergroup_types.go +++ b/apis/dax/v1beta1/zz_parametergroup_types.go @@ -108,6 +108,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Provides an DAX Parameter Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dax/v1beta1/zz_subnetgroup_types.go b/apis/dax/v1beta1/zz_subnetgroup_types.go index d274429267..e468b90683 100755 --- a/apis/dax/v1beta1/zz_subnetgroup_types.go +++ b/apis/dax/v1beta1/zz_subnetgroup_types.go @@ -107,6 +107,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides an DAX Subnet Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/deploy/v1beta1/zz_app_types.go b/apis/deploy/v1beta1/zz_app_types.go index 3b57fd691f..46cbea8ab4 100755 --- a/apis/deploy/v1beta1/zz_app_types.go +++ b/apis/deploy/v1beta1/zz_app_types.go @@ -98,6 +98,7 @@ type AppStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // App is the Schema for the Apps API. Provides a CodeDeploy application. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/deploy/v1beta1/zz_deploymentconfig_types.go b/apis/deploy/v1beta1/zz_deploymentconfig_types.go index 0870a16bdd..908b9a4e3a 100755 --- a/apis/deploy/v1beta1/zz_deploymentconfig_types.go +++ b/apis/deploy/v1beta1/zz_deploymentconfig_types.go @@ -227,6 +227,7 @@ type DeploymentConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeploymentConfig is the Schema for the DeploymentConfigs API. Provides a CodeDeploy deployment config. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/deploy/v1beta1/zz_deploymentgroup_types.go b/apis/deploy/v1beta1/zz_deploymentgroup_types.go index c896da41e7..00e143b372 100755 --- a/apis/deploy/v1beta1/zz_deploymentgroup_types.go +++ b/apis/deploy/v1beta1/zz_deploymentgroup_types.go @@ -963,6 +963,7 @@ type DeploymentGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeploymentGroup is the Schema for the DeploymentGroups API. Provides a CodeDeploy deployment group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/detective/v1beta1/zz_graph_types.go b/apis/detective/v1beta1/zz_graph_types.go index 9c11d62c00..8b3771f4e6 100755 --- a/apis/detective/v1beta1/zz_graph_types.go +++ b/apis/detective/v1beta1/zz_graph_types.go @@ -81,6 +81,7 @@ type GraphStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Graph is the Schema for the Graphs API. Provides a resource to manage an Amazon Detective graph. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/detective/v1beta1/zz_invitationaccepter_types.go b/apis/detective/v1beta1/zz_invitationaccepter_types.go index 5287a54b8f..eb0cd70ca8 100755 --- a/apis/detective/v1beta1/zz_invitationaccepter_types.go +++ b/apis/detective/v1beta1/zz_invitationaccepter_types.go @@ -89,6 +89,7 @@ type InvitationAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InvitationAccepter is the Schema for the InvitationAccepters API. Provides a resource to manage an Amazon Detective member invitation accepter. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/detective/v1beta1/zz_member_types.go b/apis/detective/v1beta1/zz_member_types.go index 436b22fe2d..881fb9fe60 100755 --- a/apis/detective/v1beta1/zz_member_types.go +++ b/apis/detective/v1beta1/zz_member_types.go @@ -146,6 +146,7 @@ type MemberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Member is the Schema for the Members API. Provides a resource to manage an Amazon Detective member. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_devicepool_types.go b/apis/devicefarm/v1beta1/zz_devicepool_types.go index 27e24e5b52..8fd33b7e60 100755 --- a/apis/devicefarm/v1beta1/zz_devicepool_types.go +++ b/apis/devicefarm/v1beta1/zz_devicepool_types.go @@ -189,6 +189,7 @@ type DevicePoolStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DevicePool is the Schema for the DevicePools API. Provides a Devicefarm device_pool // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_instanceprofile_types.go b/apis/devicefarm/v1beta1/zz_instanceprofile_types.go index 7519604c81..3ec3cc4463 100755 --- a/apis/devicefarm/v1beta1/zz_instanceprofile_types.go +++ b/apis/devicefarm/v1beta1/zz_instanceprofile_types.go @@ -131,6 +131,7 @@ type InstanceProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceProfile is the Schema for the InstanceProfiles API. Provides a Devicefarm instance profile // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_networkprofile_types.go b/apis/devicefarm/v1beta1/zz_networkprofile_types.go index 3f7723c717..49528aa896 100755 --- a/apis/devicefarm/v1beta1/zz_networkprofile_types.go +++ b/apis/devicefarm/v1beta1/zz_networkprofile_types.go @@ -218,6 +218,7 @@ type NetworkProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkProfile is the Schema for the NetworkProfiles API. Provides a Devicefarm network profile // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_project_types.go b/apis/devicefarm/v1beta1/zz_project_types.go index cb038877a9..41ac48ab71 100755 --- a/apis/devicefarm/v1beta1/zz_project_types.go +++ b/apis/devicefarm/v1beta1/zz_project_types.go @@ -98,6 +98,7 @@ type ProjectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Project is the Schema for the Projects API. Provides a Devicefarm project // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_testgridproject_types.go b/apis/devicefarm/v1beta1/zz_testgridproject_types.go index cda8a98d91..89ef758cc5 100755 --- a/apis/devicefarm/v1beta1/zz_testgridproject_types.go +++ b/apis/devicefarm/v1beta1/zz_testgridproject_types.go @@ -217,6 +217,7 @@ type TestGridProjectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TestGridProject is the Schema for the TestGridProjects API. Provides a Devicefarm test_grid_project // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/devicefarm/v1beta1/zz_upload_types.go b/apis/devicefarm/v1beta1/zz_upload_types.go index 68edeb4576..d9002bdd99 100755 --- a/apis/devicefarm/v1beta1/zz_upload_types.go +++ b/apis/devicefarm/v1beta1/zz_upload_types.go @@ -130,6 +130,7 @@ type UploadStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Upload is the Schema for the Uploads API. Provides a Devicefarm upload // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_bgppeer_types.go b/apis/directconnect/v1beta1/zz_bgppeer_types.go index 2d836ae85f..2025a7d05b 100755 --- a/apis/directconnect/v1beta1/zz_bgppeer_types.go +++ b/apis/directconnect/v1beta1/zz_bgppeer_types.go @@ -154,6 +154,7 @@ type BGPPeerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BGPPeer is the Schema for the BGPPeers API. Provides a Direct Connect BGP peer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_connection_types.go b/apis/directconnect/v1beta1/zz_connection_types.go index 50416d6487..7d2d768a30 100755 --- a/apis/directconnect/v1beta1/zz_connection_types.go +++ b/apis/directconnect/v1beta1/zz_connection_types.go @@ -170,6 +170,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Provides a Connection of Direct Connect. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_connectionassociation_types.go b/apis/directconnect/v1beta1/zz_connectionassociation_types.go index 8accc04002..53c0ff23d4 100755 --- a/apis/directconnect/v1beta1/zz_connectionassociation_types.go +++ b/apis/directconnect/v1beta1/zz_connectionassociation_types.go @@ -118,6 +118,7 @@ type ConnectionAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConnectionAssociation is the Schema for the ConnectionAssociations API. Associates a Direct Connect Connection with a LAG. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_gateway_types.go b/apis/directconnect/v1beta1/zz_gateway_types.go index b5d5397c1d..62ab5c2730 100755 --- a/apis/directconnect/v1beta1/zz_gateway_types.go +++ b/apis/directconnect/v1beta1/zz_gateway_types.go @@ -82,6 +82,7 @@ type GatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Gateway is the Schema for the Gateways API. Provides a Direct Connect Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_gatewayassociation_types.go b/apis/directconnect/v1beta1/zz_gatewayassociation_types.go index 437b1d0ba4..3fc8b2bc43 100755 --- a/apis/directconnect/v1beta1/zz_gatewayassociation_types.go +++ b/apis/directconnect/v1beta1/zz_gatewayassociation_types.go @@ -180,6 +180,7 @@ type GatewayAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GatewayAssociation is the Schema for the GatewayAssociations API. Associates a Direct Connect Gateway with a VGW or transit gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_gatewayassociationproposal_types.go b/apis/directconnect/v1beta1/zz_gatewayassociationproposal_types.go index 7880c5cb8c..3f567bae32 100755 --- a/apis/directconnect/v1beta1/zz_gatewayassociationproposal_types.go +++ b/apis/directconnect/v1beta1/zz_gatewayassociationproposal_types.go @@ -168,6 +168,7 @@ type GatewayAssociationProposalStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GatewayAssociationProposal is the Schema for the GatewayAssociationProposals API. Manages a Direct Connect Gateway Association Proposal. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterface_types.go b/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterface_types.go index 9d59780de1..98df4c3963 100755 --- a/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterface_types.go @@ -188,6 +188,7 @@ type HostedPrivateVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedPrivateVirtualInterface is the Schema for the HostedPrivateVirtualInterfaces API. Provides a Direct Connect hosted private virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterfaceaccepter_types.go b/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterfaceaccepter_types.go index 80969dffa3..4461d53765 100755 --- a/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterfaceaccepter_types.go +++ b/apis/directconnect/v1beta1/zz_hostedprivatevirtualinterfaceaccepter_types.go @@ -147,6 +147,7 @@ type HostedPrivateVirtualInterfaceAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedPrivateVirtualInterfaceAccepter is the Schema for the HostedPrivateVirtualInterfaceAccepters API. Provides a resource to manage the accepter's side of a Direct Connect hosted private virtual interface. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterface_types.go b/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterface_types.go index 470ea931ec..74892248a0 100755 --- a/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterface_types.go @@ -188,6 +188,7 @@ type HostedPublicVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedPublicVirtualInterface is the Schema for the HostedPublicVirtualInterfaces API. Provides a Direct Connect hosted public virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterfaceaccepter_types.go b/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterfaceaccepter_types.go index c9bf5ddd78..c2cb1b3890 100755 --- a/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterfaceaccepter_types.go +++ b/apis/directconnect/v1beta1/zz_hostedpublicvirtualinterfaceaccepter_types.go @@ -107,6 +107,7 @@ type HostedPublicVirtualInterfaceAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedPublicVirtualInterfaceAccepter is the Schema for the HostedPublicVirtualInterfaceAccepters API. Provides a resource to manage the accepter's side of a Direct Connect hosted public virtual interface. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterface_types.go b/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterface_types.go index 8a1590dc1d..37db170b75 100755 --- a/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterface_types.go @@ -188,6 +188,7 @@ type HostedTransitVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedTransitVirtualInterface is the Schema for the HostedTransitVirtualInterfaces API. Provides a Direct Connect hosted transit virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterfaceaccepter_types.go b/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterfaceaccepter_types.go index 79ab6e2b85..876ccaa543 100755 --- a/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterfaceaccepter_types.go +++ b/apis/directconnect/v1beta1/zz_hostedtransitvirtualinterfaceaccepter_types.go @@ -137,6 +137,7 @@ type HostedTransitVirtualInterfaceAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedTransitVirtualInterfaceAccepter is the Schema for the HostedTransitVirtualInterfaceAccepters API. Provides a resource to manage the accepter's side of a Direct Connect hosted transit virtual interface. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_lag_types.go b/apis/directconnect/v1beta1/zz_lag_types.go index c776640e5d..d51d00e625 100755 --- a/apis/directconnect/v1beta1/zz_lag_types.go +++ b/apis/directconnect/v1beta1/zz_lag_types.go @@ -148,6 +148,7 @@ type LagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Lag is the Schema for the Lags API. Provides a Direct Connect LAG. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_privatevirtualinterface_types.go b/apis/directconnect/v1beta1/zz_privatevirtualinterface_types.go index 573c831d8f..7277707f73 100755 --- a/apis/directconnect/v1beta1/zz_privatevirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_privatevirtualinterface_types.go @@ -246,6 +246,7 @@ type PrivateVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PrivateVirtualInterface is the Schema for the PrivateVirtualInterfaces API. Provides a Direct Connect private virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_publicvirtualinterface_types.go b/apis/directconnect/v1beta1/zz_publicvirtualinterface_types.go index 23580ccc78..c07f13cafb 100755 --- a/apis/directconnect/v1beta1/zz_publicvirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_publicvirtualinterface_types.go @@ -195,6 +195,7 @@ type PublicVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PublicVirtualInterface is the Schema for the PublicVirtualInterfaces API. Provides a Direct Connect public virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/directconnect/v1beta1/zz_transitvirtualinterface_types.go b/apis/directconnect/v1beta1/zz_transitvirtualinterface_types.go index 25ef6e0166..70f0ab9123 100755 --- a/apis/directconnect/v1beta1/zz_transitvirtualinterface_types.go +++ b/apis/directconnect/v1beta1/zz_transitvirtualinterface_types.go @@ -240,6 +240,7 @@ type TransitVirtualInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitVirtualInterface is the Schema for the TransitVirtualInterfaces API. Provides a Direct Connect transit virtual interface resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dlm/v1beta1/zz_lifecyclepolicy_types.go b/apis/dlm/v1beta1/zz_lifecyclepolicy_types.go index 255ada116d..3fbd7c8441 100755 --- a/apis/dlm/v1beta1/zz_lifecyclepolicy_types.go +++ b/apis/dlm/v1beta1/zz_lifecyclepolicy_types.go @@ -950,6 +950,7 @@ type LifecyclePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LifecyclePolicy is the Schema for the LifecyclePolicys API. Provides a Data Lifecycle Manager (DLM) lifecycle policy for managing snapshots. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_certificate_types.go b/apis/dms/v1beta1/zz_certificate_types.go index 6218c25c0f..034f08d7c2 100755 --- a/apis/dms/v1beta1/zz_certificate_types.go +++ b/apis/dms/v1beta1/zz_certificate_types.go @@ -86,6 +86,7 @@ type CertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. Provides a DMS (Data Migration Service) certificate resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_endpoint_types.go b/apis/dms/v1beta1/zz_endpoint_types.go index 5e0e34e817..7c9a17276a 100755 --- a/apis/dms/v1beta1/zz_endpoint_types.go +++ b/apis/dms/v1beta1/zz_endpoint_types.go @@ -1456,6 +1456,7 @@ type EndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Endpoint is the Schema for the Endpoints API. Provides a DMS (Data Migration Service) endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_eventsubscription_types.go b/apis/dms/v1beta1/zz_eventsubscription_types.go index dc87ae9e0f..3e6c07ca5c 100755 --- a/apis/dms/v1beta1/zz_eventsubscription_types.go +++ b/apis/dms/v1beta1/zz_eventsubscription_types.go @@ -154,6 +154,7 @@ type EventSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSubscription is the Schema for the EventSubscriptions API. Provides a DMS (Data Migration Service) event subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_replicationinstance_types.go b/apis/dms/v1beta1/zz_replicationinstance_types.go index 4adeac0b69..4a319d7a97 100755 --- a/apis/dms/v1beta1/zz_replicationinstance_types.go +++ b/apis/dms/v1beta1/zz_replicationinstance_types.go @@ -287,6 +287,7 @@ type ReplicationInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicationInstance is the Schema for the ReplicationInstances API. Provides a DMS (Data Migration Service) replication instance resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_replicationsubnetgroup_types.go b/apis/dms/v1beta1/zz_replicationsubnetgroup_types.go index 56d33bb0af..80ab08d47f 100755 --- a/apis/dms/v1beta1/zz_replicationsubnetgroup_types.go +++ b/apis/dms/v1beta1/zz_replicationsubnetgroup_types.go @@ -124,6 +124,7 @@ type ReplicationSubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicationSubnetGroup is the Schema for the ReplicationSubnetGroups API. Provides a DMS (Data Migration Service) subnet group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_replicationtask_types.go b/apis/dms/v1beta1/zz_replicationtask_types.go index a5fadcf29d..c0477ebdc4 100755 --- a/apis/dms/v1beta1/zz_replicationtask_types.go +++ b/apis/dms/v1beta1/zz_replicationtask_types.go @@ -231,6 +231,7 @@ type ReplicationTaskStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicationTask is the Schema for the ReplicationTasks API. Provides a DMS (Data Migration Service) replication task resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dms/v1beta1/zz_s3endpoint_types.go b/apis/dms/v1beta1/zz_s3endpoint_types.go index d36e9b09b5..ff16534e31 100755 --- a/apis/dms/v1beta1/zz_s3endpoint_types.go +++ b/apis/dms/v1beta1/zz_s3endpoint_types.go @@ -605,6 +605,7 @@ type S3EndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // S3Endpoint is the Schema for the S3Endpoints API. Provides a DMS (Data Migration Service) S3 endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_cluster_types.go b/apis/docdb/v1beta1/zz_cluster_types.go index de88c42413..9d5ffd00ac 100755 --- a/apis/docdb/v1beta1/zz_cluster_types.go +++ b/apis/docdb/v1beta1/zz_cluster_types.go @@ -414,6 +414,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Manages a DocumentDB Aurora Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_clusterinstance_types.go b/apis/docdb/v1beta1/zz_clusterinstance_types.go index ed3776284d..b9fcfcdcdc 100755 --- a/apis/docdb/v1beta1/zz_clusterinstance_types.go +++ b/apis/docdb/v1beta1/zz_clusterinstance_types.go @@ -257,6 +257,7 @@ type ClusterInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterInstance is the Schema for the ClusterInstances API. Provides an DocumentDB Cluster Resource Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_clusterparametergroup_types.go b/apis/docdb/v1beta1/zz_clusterparametergroup_types.go index 132758fad4..a11d7729ff 100755 --- a/apis/docdb/v1beta1/zz_clusterparametergroup_types.go +++ b/apis/docdb/v1beta1/zz_clusterparametergroup_types.go @@ -148,6 +148,7 @@ type ClusterParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterParameterGroup is the Schema for the ClusterParameterGroups API. Manages a DocumentDB Cluster Parameter Group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_clustersnapshot_types.go b/apis/docdb/v1beta1/zz_clustersnapshot_types.go index bf5f45f582..fcd80a75de 100755 --- a/apis/docdb/v1beta1/zz_clustersnapshot_types.go +++ b/apis/docdb/v1beta1/zz_clustersnapshot_types.go @@ -120,6 +120,7 @@ type ClusterSnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages a DocumentDB database cluster snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_eventsubscription_types.go b/apis/docdb/v1beta1/zz_eventsubscription_types.go index 896be38501..2044380df9 100755 --- a/apis/docdb/v1beta1/zz_eventsubscription_types.go +++ b/apis/docdb/v1beta1/zz_eventsubscription_types.go @@ -158,6 +158,7 @@ type EventSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSubscription is the Schema for the EventSubscriptions API. Provides a DocumentDB event subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_globalcluster_types.go b/apis/docdb/v1beta1/zz_globalcluster_types.go index 79c8801039..207d89f3a6 100755 --- a/apis/docdb/v1beta1/zz_globalcluster_types.go +++ b/apis/docdb/v1beta1/zz_globalcluster_types.go @@ -175,6 +175,7 @@ type GlobalClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalCluster is the Schema for the GlobalClusters API. Manages a DocumentDB Global Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/docdb/v1beta1/zz_subnetgroup_types.go b/apis/docdb/v1beta1/zz_subnetgroup_types.go index bc50d42432..19bed909d8 100755 --- a/apis/docdb/v1beta1/zz_subnetgroup_types.go +++ b/apis/docdb/v1beta1/zz_subnetgroup_types.go @@ -120,6 +120,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides an DocumentDB subnet group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ds/v1beta1/zz_conditionalforwarder_types.go b/apis/ds/v1beta1/zz_conditionalforwarder_types.go index 3b7d909b5d..37d2bb6bf1 100755 --- a/apis/ds/v1beta1/zz_conditionalforwarder_types.go +++ b/apis/ds/v1beta1/zz_conditionalforwarder_types.go @@ -92,6 +92,7 @@ type ConditionalForwarderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConditionalForwarder is the Schema for the ConditionalForwarders API. Provides a conditional forwarder for managed Microsoft AD in AWS Directory Service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ds/v1beta1/zz_directory_types.go b/apis/ds/v1beta1/zz_directory_types.go index bd0ba2849f..e155efb39d 100755 --- a/apis/ds/v1beta1/zz_directory_types.go +++ b/apis/ds/v1beta1/zz_directory_types.go @@ -373,6 +373,7 @@ type DirectoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Directory is the Schema for the Directorys API. Provides a directory in AWS Directory Service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ds/v1beta1/zz_shareddirectory_types.go b/apis/ds/v1beta1/zz_shareddirectory_types.go index fcfdc988cc..afb9480272 100755 --- a/apis/ds/v1beta1/zz_shareddirectory_types.go +++ b/apis/ds/v1beta1/zz_shareddirectory_types.go @@ -145,6 +145,7 @@ type SharedDirectoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SharedDirectory is the Schema for the SharedDirectorys API. Manages a directory in your account (directory owner) shared with another account (directory consumer). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_contributorinsights_types.go b/apis/dynamodb/v1beta1/zz_contributorinsights_types.go index 9ef8256fb4..a188bb59a3 100755 --- a/apis/dynamodb/v1beta1/zz_contributorinsights_types.go +++ b/apis/dynamodb/v1beta1/zz_contributorinsights_types.go @@ -95,6 +95,7 @@ type ContributorInsightsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContributorInsights is the Schema for the ContributorInsightss API. Provides a DynamoDB contributor insights resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_globaltable_types.go b/apis/dynamodb/v1beta1/zz_globaltable_types.go index 18e6c37bb4..f4c8a85fe4 100755 --- a/apis/dynamodb/v1beta1/zz_globaltable_types.go +++ b/apis/dynamodb/v1beta1/zz_globaltable_types.go @@ -91,6 +91,7 @@ type GlobalTableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalTable is the Schema for the GlobalTables API. Manages DynamoDB Global Tables V1 (version 2017.11.29) // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_kinesisstreamingdestination_types.go b/apis/dynamodb/v1beta1/zz_kinesisstreamingdestination_types.go index bedcc8ebad..c8694cf25d 100755 --- a/apis/dynamodb/v1beta1/zz_kinesisstreamingdestination_types.go +++ b/apis/dynamodb/v1beta1/zz_kinesisstreamingdestination_types.go @@ -120,6 +120,7 @@ type KinesisStreamingDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // KinesisStreamingDestination is the Schema for the KinesisStreamingDestinations API. Enables a Kinesis streaming destination for a DynamoDB table // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_table_types.go b/apis/dynamodb/v1beta1/zz_table_types.go index 93a3599c4c..96bc180741 100755 --- a/apis/dynamodb/v1beta1/zz_table_types.go +++ b/apis/dynamodb/v1beta1/zz_table_types.go @@ -740,6 +740,7 @@ type TableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Table is the Schema for the Tables API. Provides a DynamoDB table resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_tableitem_types.go b/apis/dynamodb/v1beta1/zz_tableitem_types.go index 0effda218b..9c9aa23d71 100755 --- a/apis/dynamodb/v1beta1/zz_tableitem_types.go +++ b/apis/dynamodb/v1beta1/zz_tableitem_types.go @@ -116,6 +116,7 @@ type TableItemStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TableItem is the Schema for the TableItems API. Provides a DynamoDB table item resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_tablereplica_types.go b/apis/dynamodb/v1beta1/zz_tablereplica_types.go index 18388df0ab..16b0e4d341 100755 --- a/apis/dynamodb/v1beta1/zz_tablereplica_types.go +++ b/apis/dynamodb/v1beta1/zz_tablereplica_types.go @@ -157,6 +157,7 @@ type TableReplicaStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TableReplica is the Schema for the TableReplicas API. Provides a DynamoDB table replica resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/dynamodb/v1beta1/zz_tag_types.go b/apis/dynamodb/v1beta1/zz_tag_types.go index 1ddda668e6..914b77dfc5 100755 --- a/apis/dynamodb/v1beta1/zz_tag_types.go +++ b/apis/dynamodb/v1beta1/zz_tag_types.go @@ -83,6 +83,7 @@ type TagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Tag is the Schema for the Tags API. Manages an individual DynamoDB resource tag // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ami_types.go b/apis/ec2/v1beta1/zz_ami_types.go index 76007ebbae..5cc09f8b54 100755 --- a/apis/ec2/v1beta1/zz_ami_types.go +++ b/apis/ec2/v1beta1/zz_ami_types.go @@ -459,6 +459,7 @@ type AMIStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AMI is the Schema for the AMIs API. Creates and manages a custom Amazon Machine Image (AMI). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_amicopy_types.go b/apis/ec2/v1beta1/zz_amicopy_types.go index 911b7b1146..19dcdf2000 100755 --- a/apis/ec2/v1beta1/zz_amicopy_types.go +++ b/apis/ec2/v1beta1/zz_amicopy_types.go @@ -301,6 +301,7 @@ type AMICopyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AMICopy is the Schema for the AMICopys API. Duplicates an existing Amazon Machine Image (AMI) // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_amilaunchpermission_types.go b/apis/ec2/v1beta1/zz_amilaunchpermission_types.go index eb232ca568..8591c47af4 100755 --- a/apis/ec2/v1beta1/zz_amilaunchpermission_types.go +++ b/apis/ec2/v1beta1/zz_amilaunchpermission_types.go @@ -127,6 +127,7 @@ type AMILaunchPermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AMILaunchPermission is the Schema for the AMILaunchPermissions API. Adds a launch permission to an Amazon Machine Image (AMI). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_availabilityzonegroup_types.go b/apis/ec2/v1beta1/zz_availabilityzonegroup_types.go index 9f3fb63a50..17d6feb564 100755 --- a/apis/ec2/v1beta1/zz_availabilityzonegroup_types.go +++ b/apis/ec2/v1beta1/zz_availabilityzonegroup_types.go @@ -69,6 +69,7 @@ type AvailabilityZoneGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AvailabilityZoneGroup is the Schema for the AvailabilityZoneGroups API. Manages an EC2 Availability Zone Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_capacityreservation_types.go b/apis/ec2/v1beta1/zz_capacityreservation_types.go index d241f81f71..f9918f6d28 100755 --- a/apis/ec2/v1beta1/zz_capacityreservation_types.go +++ b/apis/ec2/v1beta1/zz_capacityreservation_types.go @@ -202,6 +202,7 @@ type CapacityReservationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CapacityReservation is the Schema for the CapacityReservations API. Provides an EC2 Capacity Reservation. This allows you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_carriergateway_types.go b/apis/ec2/v1beta1/zz_carriergateway_types.go index a287190f85..3ee062d252 100755 --- a/apis/ec2/v1beta1/zz_carriergateway_types.go +++ b/apis/ec2/v1beta1/zz_carriergateway_types.go @@ -110,6 +110,7 @@ type CarrierGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CarrierGateway is the Schema for the CarrierGateways API. Manages an EC2 Carrier Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_customergateway_types.go b/apis/ec2/v1beta1/zz_customergateway_types.go index c73d55b6cf..c1040f0d04 100755 --- a/apis/ec2/v1beta1/zz_customergateway_types.go +++ b/apis/ec2/v1beta1/zz_customergateway_types.go @@ -132,6 +132,7 @@ type CustomerGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomerGateway is the Schema for the CustomerGateways API. Provides a customer gateway inside a VPC. These objects can be connected to VPN gateways via VPN connections, and allow you to establish tunnels between your network and the VPC. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultnetworkacl_types.go b/apis/ec2/v1beta1/zz_defaultnetworkacl_types.go index 112a44ac9f..aa9b19a17c 100755 --- a/apis/ec2/v1beta1/zz_defaultnetworkacl_types.go +++ b/apis/ec2/v1beta1/zz_defaultnetworkacl_types.go @@ -388,6 +388,7 @@ type DefaultNetworkACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultNetworkACL is the Schema for the DefaultNetworkACLs API. Manage a default network ACL. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultroutetable_types.go b/apis/ec2/v1beta1/zz_defaultroutetable_types.go index a0fb8f01f8..69fdbae820 100755 --- a/apis/ec2/v1beta1/zz_defaultroutetable_types.go +++ b/apis/ec2/v1beta1/zz_defaultroutetable_types.go @@ -307,6 +307,7 @@ type DefaultRouteTableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultRouteTable is the Schema for the DefaultRouteTables API. Provides a resource to manage a default route table of a VPC. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultsecuritygroup_types.go b/apis/ec2/v1beta1/zz_defaultsecuritygroup_types.go index 48aea7a2ae..b37394e9bd 100755 --- a/apis/ec2/v1beta1/zz_defaultsecuritygroup_types.go +++ b/apis/ec2/v1beta1/zz_defaultsecuritygroup_types.go @@ -347,6 +347,7 @@ type DefaultSecurityGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultSecurityGroup is the Schema for the DefaultSecurityGroups API. Manage a default security group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultsubnet_types.go b/apis/ec2/v1beta1/zz_defaultsubnet_types.go index e253a8350f..d139c5fa7c 100755 --- a/apis/ec2/v1beta1/zz_defaultsubnet_types.go +++ b/apis/ec2/v1beta1/zz_defaultsubnet_types.go @@ -186,6 +186,7 @@ type DefaultSubnetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultSubnet is the Schema for the DefaultSubnets API. Manage a default subnet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultvpc_types.go b/apis/ec2/v1beta1/zz_defaultvpc_types.go index a8dbccf2af..f9f31f2a84 100755 --- a/apis/ec2/v1beta1/zz_defaultvpc_types.go +++ b/apis/ec2/v1beta1/zz_defaultvpc_types.go @@ -169,6 +169,7 @@ type DefaultVPCStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultVPC is the Schema for the DefaultVPCs API. Manage a default VPC resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_defaultvpcdhcpoptions_types.go b/apis/ec2/v1beta1/zz_defaultvpcdhcpoptions_types.go index 6b33c690a4..ebb6ef4bc8 100755 --- a/apis/ec2/v1beta1/zz_defaultvpcdhcpoptions_types.go +++ b/apis/ec2/v1beta1/zz_defaultvpcdhcpoptions_types.go @@ -100,6 +100,7 @@ type DefaultVPCDHCPOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultVPCDHCPOptions is the Schema for the DefaultVPCDHCPOptionss API. Manage the default VPC DHCP Options resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebsdefaultkmskey_types.go b/apis/ec2/v1beta1/zz_ebsdefaultkmskey_types.go index 9576e950a5..d23eb27bbd 100755 --- a/apis/ec2/v1beta1/zz_ebsdefaultkmskey_types.go +++ b/apis/ec2/v1beta1/zz_ebsdefaultkmskey_types.go @@ -87,6 +87,7 @@ type EBSDefaultKMSKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSDefaultKMSKey is the Schema for the EBSDefaultKMSKeys API. Manages the default customer master key (CMK) that your AWS account uses to encrypt EBS volumes. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebsencryptionbydefault_types.go b/apis/ec2/v1beta1/zz_ebsencryptionbydefault_types.go index 1caadaadbb..61b15411f5 100755 --- a/apis/ec2/v1beta1/zz_ebsencryptionbydefault_types.go +++ b/apis/ec2/v1beta1/zz_ebsencryptionbydefault_types.go @@ -68,6 +68,7 @@ type EBSEncryptionByDefaultStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSEncryptionByDefault is the Schema for the EBSEncryptionByDefaults API. Manages whether default EBS encryption is enabled for your AWS account in the current AWS region. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebssnapshot_types.go b/apis/ec2/v1beta1/zz_ebssnapshot_types.go index 7c8f2c8198..318de676be 100755 --- a/apis/ec2/v1beta1/zz_ebssnapshot_types.go +++ b/apis/ec2/v1beta1/zz_ebssnapshot_types.go @@ -177,6 +177,7 @@ type EBSSnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSSnapshot is the Schema for the EBSSnapshots API. Provides an elastic block storage snapshot resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebssnapshotcopy_types.go b/apis/ec2/v1beta1/zz_ebssnapshotcopy_types.go index e7547d7ed5..eb556023d2 100755 --- a/apis/ec2/v1beta1/zz_ebssnapshotcopy_types.go +++ b/apis/ec2/v1beta1/zz_ebssnapshotcopy_types.go @@ -215,6 +215,7 @@ type EBSSnapshotCopyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSSnapshotCopy is the Schema for the EBSSnapshotCopys API. Duplicates an existing Amazon snapshot // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebssnapshotimport_types.go b/apis/ec2/v1beta1/zz_ebssnapshotimport_types.go index 82464988f5..c30ff69b5e 100755 --- a/apis/ec2/v1beta1/zz_ebssnapshotimport_types.go +++ b/apis/ec2/v1beta1/zz_ebssnapshotimport_types.go @@ -332,6 +332,7 @@ type EBSSnapshotImportStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSSnapshotImport is the Schema for the EBSSnapshotImports API. Provides an elastic block storage snapshot import resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_ebsvolume_types.go b/apis/ec2/v1beta1/zz_ebsvolume_types.go index c508a36817..04e1083e6d 100755 --- a/apis/ec2/v1beta1/zz_ebsvolume_types.go +++ b/apis/ec2/v1beta1/zz_ebsvolume_types.go @@ -207,6 +207,7 @@ type EBSVolumeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EBSVolume is the Schema for the EBSVolumes API. Provides an elastic block storage resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_egressonlyinternetgateway_types.go b/apis/ec2/v1beta1/zz_egressonlyinternetgateway_types.go index 7bf0d6dc7e..956e4015e8 100755 --- a/apis/ec2/v1beta1/zz_egressonlyinternetgateway_types.go +++ b/apis/ec2/v1beta1/zz_egressonlyinternetgateway_types.go @@ -104,6 +104,7 @@ type EgressOnlyInternetGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EgressOnlyInternetGateway is the Schema for the EgressOnlyInternetGateways API. Provides a resource to create an egress-only Internet gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_eip_types.go b/apis/ec2/v1beta1/zz_eip_types.go index 0a33d7e290..691131641a 100755 --- a/apis/ec2/v1beta1/zz_eip_types.go +++ b/apis/ec2/v1beta1/zz_eip_types.go @@ -232,6 +232,7 @@ type EIPStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EIP is the Schema for the EIPs API. Provides an Elastic IP resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_eipassociation_types.go b/apis/ec2/v1beta1/zz_eipassociation_types.go index 90962e774f..4e566c8bf5 100755 --- a/apis/ec2/v1beta1/zz_eipassociation_types.go +++ b/apis/ec2/v1beta1/zz_eipassociation_types.go @@ -185,6 +185,7 @@ type EIPAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EIPAssociation is the Schema for the EIPAssociations API. Provides an AWS EIP Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_flowlog_types.go b/apis/ec2/v1beta1/zz_flowlog_types.go index b9a17ee9e3..f6a89a7e79 100755 --- a/apis/ec2/v1beta1/zz_flowlog_types.go +++ b/apis/ec2/v1beta1/zz_flowlog_types.go @@ -343,6 +343,7 @@ type FlowLogStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FlowLog is the Schema for the FlowLogs API. Provides a VPC/Subnet/ENI Flow Log // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_generated.conversion_hubs.go b/apis/ec2/v1beta1/zz_generated.conversion_hubs.go index 291965388c..3cfa19be6c 100755 --- a/apis/ec2/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/ec2/v1beta1/zz_generated.conversion_hubs.go @@ -199,12 +199,6 @@ func (tr *NetworkInterfaceSgAttachment) Hub() {} // Hub marks this type as a conversion hub. func (tr *PlacementGroup) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *Route) Hub() {} - -// Hub marks this type as a conversion hub. -func (tr *RouteTable) Hub() {} - // Hub marks this type as a conversion hub. func (tr *RouteTableAssociation) Hub() {} diff --git a/apis/ec2/v1beta1/zz_generated.conversion_spokes.go b/apis/ec2/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..82eddfb65f --- /dev/null +++ b/apis/ec2/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,50 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this Route to the hub type. +func (tr *Route) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the Route type. +func (tr *Route) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertTo converts this RouteTable to the hub type. +func (tr *RouteTable) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the RouteTable type. +func (tr *RouteTable) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/ec2/v1beta1/zz_generated.deepcopy.go b/apis/ec2/v1beta1/zz_generated.deepcopy.go index 6e5d969dfd..63e8ba6f93 100644 --- a/apis/ec2/v1beta1/zz_generated.deepcopy.go +++ b/apis/ec2/v1beta1/zz_generated.deepcopy.go @@ -29574,6 +29574,21 @@ func (in *RouteInitParameters_2) DeepCopyInto(out *RouteInitParameters_2) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.LocalGatewayID != nil { in, out := &in.LocalGatewayID, &out.LocalGatewayID *out = new(string) @@ -30061,6 +30076,21 @@ func (in *RouteParameters_2) DeepCopyInto(out *RouteParameters_2) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceIDRef != nil { + in, out := &in.InstanceIDRef, &out.InstanceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.InstanceIDSelector != nil { + in, out := &in.InstanceIDSelector, &out.InstanceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } if in.LocalGatewayID != nil { in, out := &in.LocalGatewayID, &out.LocalGatewayID *out = new(string) @@ -30896,6 +30926,11 @@ func (in *RouteTableRouteObservation_2) DeepCopyInto(out *RouteTableRouteObserva *out = new(string) **out = **in } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } if in.LocalGatewayID != nil { in, out := &in.LocalGatewayID, &out.LocalGatewayID *out = new(string) diff --git a/apis/ec2/v1beta1/zz_generated.resolvers.go b/apis/ec2/v1beta1/zz_generated.resolvers.go index 15b9d90200..300d566d6f 100644 --- a/apis/ec2/v1beta1/zz_generated.resolvers.go +++ b/apis/ec2/v1beta1/zz_generated.resolvers.go @@ -2842,6 +2842,25 @@ func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error { } mg.Spec.ForProvider.GatewayID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.GatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.InstanceID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.InstanceIDRef, + Selector: mg.Spec.ForProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.InstanceID") + } + mg.Spec.ForProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.InstanceIDRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NATGateway", "NATGatewayList") if err != nil { @@ -3013,6 +3032,25 @@ func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error { } mg.Spec.InitProvider.GatewayID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.GatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.InstanceID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.InstanceIDRef, + Selector: mg.Spec.InitProvider.InstanceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.InstanceID") + } + mg.Spec.InitProvider.InstanceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.InstanceIDRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NATGateway", "NATGatewayList") if err != nil { @@ -5790,7 +5828,7 @@ func (mg *VPCEndpointRouteTableAssociation) ResolveReferences(ctx context.Contex var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "RouteTable", "RouteTableList") + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -5828,7 +5866,7 @@ func (mg *VPCEndpointRouteTableAssociation) ResolveReferences(ctx context.Contex mg.Spec.ForProvider.VPCEndpointID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPCEndpointIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "RouteTable", "RouteTableList") + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -6932,7 +6970,7 @@ func (mg *VPNGatewayRoutePropagation) ResolveReferences(ctx context.Context, c c var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "RouteTable", "RouteTableList") + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -6970,7 +7008,7 @@ func (mg *VPNGatewayRoutePropagation) ResolveReferences(ctx context.Context, c c mg.Spec.ForProvider.VPNGatewayID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.VPNGatewayIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "RouteTable", "RouteTableList") + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/ec2/v1beta1/zz_host_types.go b/apis/ec2/v1beta1/zz_host_types.go index 6dcca83cd8..ae8af7eda2 100755 --- a/apis/ec2/v1beta1/zz_host_types.go +++ b/apis/ec2/v1beta1/zz_host_types.go @@ -152,6 +152,7 @@ type HostStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Host is the Schema for the Hosts API. Provides an EC2 Host resource. This allows Dedicated Hosts to be allocated, modified, and released. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_instance_types.go b/apis/ec2/v1beta1/zz_instance_types.go index a6c0500fa4..e53e3b1c10 100755 --- a/apis/ec2/v1beta1/zz_instance_types.go +++ b/apis/ec2/v1beta1/zz_instance_types.go @@ -1323,6 +1323,7 @@ type InstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Instance is the Schema for the Instances API. Provides an EC2 instance resource. This allows instances to be created, updated, and deleted. Instances also support provisioning. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_instancestate_types.go b/apis/ec2/v1beta1/zz_instancestate_types.go index 013bd45bc6..756ffe6d50 100755 --- a/apis/ec2/v1beta1/zz_instancestate_types.go +++ b/apis/ec2/v1beta1/zz_instancestate_types.go @@ -109,6 +109,7 @@ type InstanceStateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceState is the Schema for the InstanceStates API. Provides an EC2 instance state resource. This allows managing an instance power state. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_internetgateway_types.go b/apis/ec2/v1beta1/zz_internetgateway_types.go index 8d6cbe3cc1..29e0243796 100755 --- a/apis/ec2/v1beta1/zz_internetgateway_types.go +++ b/apis/ec2/v1beta1/zz_internetgateway_types.go @@ -110,6 +110,7 @@ type InternetGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InternetGateway is the Schema for the InternetGateways API. Provides a resource to create a VPC Internet Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_keypair_types.go b/apis/ec2/v1beta1/zz_keypair_types.go index f890ec6397..54c5654d6b 100755 --- a/apis/ec2/v1beta1/zz_keypair_types.go +++ b/apis/ec2/v1beta1/zz_keypair_types.go @@ -98,6 +98,7 @@ type KeyPairStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // KeyPair is the Schema for the KeyPairs API. Provides a Key Pair resource. Currently this supports importing an existing key pair but not creating a new key pair. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_launchtemplate_types.go b/apis/ec2/v1beta1/zz_launchtemplate_types.go index 1fd0d9a788..efcfe0e86d 100755 --- a/apis/ec2/v1beta1/zz_launchtemplate_types.go +++ b/apis/ec2/v1beta1/zz_launchtemplate_types.go @@ -2134,6 +2134,7 @@ type LaunchTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LaunchTemplate is the Schema for the LaunchTemplates API. Provides an EC2 launch template resource. Can be used to create instances or auto scaling groups. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_mainroutetableassociation_types.go b/apis/ec2/v1beta1/zz_mainroutetableassociation_types.go index 00632b6f29..33b64893bc 100755 --- a/apis/ec2/v1beta1/zz_mainroutetableassociation_types.go +++ b/apis/ec2/v1beta1/zz_mainroutetableassociation_types.go @@ -121,6 +121,7 @@ type MainRouteTableAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MainRouteTableAssociation is the Schema for the MainRouteTableAssociations API. Provides a resource for managing the main routing table of a VPC. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_managedprefixlist_types.go b/apis/ec2/v1beta1/zz_managedprefixlist_types.go index f4d6118d1e..244fb8aac2 100755 --- a/apis/ec2/v1beta1/zz_managedprefixlist_types.go +++ b/apis/ec2/v1beta1/zz_managedprefixlist_types.go @@ -174,6 +174,7 @@ type ManagedPrefixListStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ManagedPrefixList is the Schema for the ManagedPrefixLists API. Provides a managed prefix list resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_managedprefixlistentry_types.go b/apis/ec2/v1beta1/zz_managedprefixlistentry_types.go index 3bf0316ba7..fe81186324 100755 --- a/apis/ec2/v1beta1/zz_managedprefixlistentry_types.go +++ b/apis/ec2/v1beta1/zz_managedprefixlistentry_types.go @@ -129,6 +129,7 @@ type ManagedPrefixListEntryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ManagedPrefixListEntry is the Schema for the ManagedPrefixListEntrys API. Use the // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_natgateway_types.go b/apis/ec2/v1beta1/zz_natgateway_types.go index e68f0f5135..8575de8880 100755 --- a/apis/ec2/v1beta1/zz_natgateway_types.go +++ b/apis/ec2/v1beta1/zz_natgateway_types.go @@ -199,6 +199,7 @@ type NATGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NATGateway is the Schema for the NATGateways API. Provides a resource to create a VPC NAT Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkacl_types.go b/apis/ec2/v1beta1/zz_networkacl_types.go index 5ef12816be..538df69e7a 100755 --- a/apis/ec2/v1beta1/zz_networkacl_types.go +++ b/apis/ec2/v1beta1/zz_networkacl_types.go @@ -229,6 +229,7 @@ type NetworkACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkACL is the Schema for the NetworkACLs API. Provides an network ACL resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkaclrule_types.go b/apis/ec2/v1beta1/zz_networkaclrule_types.go index ca625233da..5e86ffca8b 100755 --- a/apis/ec2/v1beta1/zz_networkaclrule_types.go +++ b/apis/ec2/v1beta1/zz_networkaclrule_types.go @@ -189,6 +189,7 @@ type NetworkACLRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkACLRule is the Schema for the NetworkACLRules API. Provides an network ACL Rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkinsightsanalysis_types.go b/apis/ec2/v1beta1/zz_networkinsightsanalysis_types.go index 932bea5547..3b56b58706 100755 --- a/apis/ec2/v1beta1/zz_networkinsightsanalysis_types.go +++ b/apis/ec2/v1beta1/zz_networkinsightsanalysis_types.go @@ -1703,6 +1703,7 @@ type NetworkInsightsAnalysisStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkInsightsAnalysis is the Schema for the NetworkInsightsAnalysiss API. Provides a Network Insights Analysis resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkinsightspath_types.go b/apis/ec2/v1beta1/zz_networkinsightspath_types.go index dc7e8f03e4..c8c1a7fea1 100755 --- a/apis/ec2/v1beta1/zz_networkinsightspath_types.go +++ b/apis/ec2/v1beta1/zz_networkinsightspath_types.go @@ -185,6 +185,7 @@ type NetworkInsightsPathStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkInsightsPath is the Schema for the NetworkInsightsPaths API. Provides a Network Insights Path resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkinterface_types.go b/apis/ec2/v1beta1/zz_networkinterface_types.go index 991b235479..d97ce4aecb 100755 --- a/apis/ec2/v1beta1/zz_networkinterface_types.go +++ b/apis/ec2/v1beta1/zz_networkinterface_types.go @@ -344,6 +344,7 @@ type NetworkInterfaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkInterface is the Schema for the NetworkInterfaces API. Provides an Elastic network interface (ENI) resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkinterfaceattachment_types.go b/apis/ec2/v1beta1/zz_networkinterfaceattachment_types.go index f3b59b6bb9..9b0c5b03ac 100755 --- a/apis/ec2/v1beta1/zz_networkinterfaceattachment_types.go +++ b/apis/ec2/v1beta1/zz_networkinterfaceattachment_types.go @@ -134,6 +134,7 @@ type NetworkInterfaceAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkInterfaceAttachment is the Schema for the NetworkInterfaceAttachments API. Attach an Elastic network interface (ENI) resource with EC2 instance. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_networkinterfacesgattachment_types.go b/apis/ec2/v1beta1/zz_networkinterfacesgattachment_types.go index a3d40d72de..310f45daff 100755 --- a/apis/ec2/v1beta1/zz_networkinterfacesgattachment_types.go +++ b/apis/ec2/v1beta1/zz_networkinterfacesgattachment_types.go @@ -115,6 +115,7 @@ type NetworkInterfaceSgAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkInterfaceSgAttachment is the Schema for the NetworkInterfaceSgAttachments API. Associates a security group with a network interface. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_placementgroup_types.go b/apis/ec2/v1beta1/zz_placementgroup_types.go index 94da180d4e..3b1193b54d 100755 --- a/apis/ec2/v1beta1/zz_placementgroup_types.go +++ b/apis/ec2/v1beta1/zz_placementgroup_types.go @@ -121,6 +121,7 @@ type PlacementGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PlacementGroup is the Schema for the PlacementGroups API. Provides an EC2 placement group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_route_types.go b/apis/ec2/v1beta1/zz_route_types.go index 56f9cd7e59..a39b50f07f 100755 --- a/apis/ec2/v1beta1/zz_route_types.go +++ b/apis/ec2/v1beta1/zz_route_types.go @@ -68,6 +68,18 @@ type RouteInitParameters_2 struct { // +kubebuilder:validation:Optional GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"` + // Identifier of an EC2 instance. + // +crossplane:generate:reference:type=Instance + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + // Identifier of a Outpost local gateway. LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` @@ -262,6 +274,19 @@ type RouteParameters_2 struct { // +kubebuilder:validation:Optional GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"` + // Identifier of an EC2 instance. + // +crossplane:generate:reference:type=Instance + // +kubebuilder:validation:Optional + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // Reference to a Instance to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDRef *v1.Reference `json:"instanceIdRef,omitempty" tf:"-"` + + // Selector for a Instance to populate instanceId. + // +kubebuilder:validation:Optional + InstanceIDSelector *v1.Selector `json:"instanceIdSelector,omitempty" tf:"-"` + // Identifier of a Outpost local gateway. // +kubebuilder:validation:Optional LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` diff --git a/apis/ec2/v1beta1/zz_routetable_types.go b/apis/ec2/v1beta1/zz_routetable_types.go index ef37208bf3..d310493beb 100755 --- a/apis/ec2/v1beta1/zz_routetable_types.go +++ b/apis/ec2/v1beta1/zz_routetable_types.go @@ -113,12 +113,15 @@ type RouteTableRouteObservation_2 struct { // Identifier of a VPC Egress Only Internet Gateway. EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"` - // Identifier of a VPC internet gateway, virtual private gateway, or local. local routes cannot be created but can be adopted or imported. See the example above. + // Identifier of a VPC internet gateway or a virtual private gateway. GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` // The Ipv6 CIDR block of the route. IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"` + // Identifier of an EC2 instance. + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + // Identifier of a Outpost local gateway. LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` diff --git a/apis/ec2/v1beta1/zz_routetableassociation_types.go b/apis/ec2/v1beta1/zz_routetableassociation_types.go index 6be2d90713..78bf360d05 100755 --- a/apis/ec2/v1beta1/zz_routetableassociation_types.go +++ b/apis/ec2/v1beta1/zz_routetableassociation_types.go @@ -145,6 +145,7 @@ type RouteTableAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RouteTableAssociation is the Schema for the RouteTableAssociations API. Provides a resource to create an association between a route table and a subnet or a route table and an internet gateway or virtual private gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_securitygroup_types.go b/apis/ec2/v1beta1/zz_securitygroup_types.go index 1fcc594630..f935810cba 100755 --- a/apis/ec2/v1beta1/zz_securitygroup_types.go +++ b/apis/ec2/v1beta1/zz_securitygroup_types.go @@ -220,6 +220,7 @@ type SecurityGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityGroup is the Schema for the SecurityGroups API. Provides a security group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_securitygroupegressrule_types.go b/apis/ec2/v1beta1/zz_securitygroupegressrule_types.go index 0531c7e3dc..e8c249e0d2 100755 --- a/apis/ec2/v1beta1/zz_securitygroupegressrule_types.go +++ b/apis/ec2/v1beta1/zz_securitygroupegressrule_types.go @@ -225,6 +225,7 @@ type SecurityGroupEgressRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityGroupEgressRule is the Schema for the SecurityGroupEgressRules API. Provides a VPC security group egress rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_securitygroupingressrule_types.go b/apis/ec2/v1beta1/zz_securitygroupingressrule_types.go index bf2353dd56..a80d9c2508 100755 --- a/apis/ec2/v1beta1/zz_securitygroupingressrule_types.go +++ b/apis/ec2/v1beta1/zz_securitygroupingressrule_types.go @@ -225,6 +225,7 @@ type SecurityGroupIngressRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityGroupIngressRule is the Schema for the SecurityGroupIngressRules API. Provides a VPC security group ingress rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_securitygrouprule_types.go b/apis/ec2/v1beta1/zz_securitygrouprule_types.go index 7fc10f498c..a42b03b21a 100755 --- a/apis/ec2/v1beta1/zz_securitygrouprule_types.go +++ b/apis/ec2/v1beta1/zz_securitygrouprule_types.go @@ -233,6 +233,7 @@ type SecurityGroupRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityGroupRule is the Schema for the SecurityGroupRules API. Provides an security group rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_serialconsoleaccess_types.go b/apis/ec2/v1beta1/zz_serialconsoleaccess_types.go index b8d087150c..007b3665c0 100755 --- a/apis/ec2/v1beta1/zz_serialconsoleaccess_types.go +++ b/apis/ec2/v1beta1/zz_serialconsoleaccess_types.go @@ -68,6 +68,7 @@ type SerialConsoleAccessStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SerialConsoleAccess is the Schema for the SerialConsoleAccesss API. Manages whether serial console access is enabled for your AWS account in the current AWS region. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_snapshotcreatevolumepermission_types.go b/apis/ec2/v1beta1/zz_snapshotcreatevolumepermission_types.go index 82943e4423..2ebdc26d57 100755 --- a/apis/ec2/v1beta1/zz_snapshotcreatevolumepermission_types.go +++ b/apis/ec2/v1beta1/zz_snapshotcreatevolumepermission_types.go @@ -99,6 +99,7 @@ type SnapshotCreateVolumePermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SnapshotCreateVolumePermission is the Schema for the SnapshotCreateVolumePermissions API. Adds create volume permission to an EBS Snapshot // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_spotdatafeedsubscription_types.go b/apis/ec2/v1beta1/zz_spotdatafeedsubscription_types.go index 7bc254ce18..a5033001c4 100755 --- a/apis/ec2/v1beta1/zz_spotdatafeedsubscription_types.go +++ b/apis/ec2/v1beta1/zz_spotdatafeedsubscription_types.go @@ -78,6 +78,7 @@ type SpotDatafeedSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SpotDatafeedSubscription is the Schema for the SpotDatafeedSubscriptions API. Provides a Spot Datafeed Subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_spotfleetrequest_types.go b/apis/ec2/v1beta1/zz_spotfleetrequest_types.go index e284e8b029..d5086a9a67 100755 --- a/apis/ec2/v1beta1/zz_spotfleetrequest_types.go +++ b/apis/ec2/v1beta1/zz_spotfleetrequest_types.go @@ -1497,6 +1497,7 @@ type SpotFleetRequestStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SpotFleetRequest is the Schema for the SpotFleetRequests API. Provides a Spot Fleet Request resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_spotinstancerequest_types.go b/apis/ec2/v1beta1/zz_spotinstancerequest_types.go index abd4fea3b0..863d33ad6c 100755 --- a/apis/ec2/v1beta1/zz_spotinstancerequest_types.go +++ b/apis/ec2/v1beta1/zz_spotinstancerequest_types.go @@ -1030,6 +1030,7 @@ type SpotInstanceRequestStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SpotInstanceRequest is the Schema for the SpotInstanceRequests API. Provides a Spot Instance Request resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_subnet_types.go b/apis/ec2/v1beta1/zz_subnet_types.go index f9920ea290..8698177754 100755 --- a/apis/ec2/v1beta1/zz_subnet_types.go +++ b/apis/ec2/v1beta1/zz_subnet_types.go @@ -278,6 +278,7 @@ type SubnetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Subnet is the Schema for the Subnets API. Provides an VPC subnet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_subnetcidrreservation_types.go b/apis/ec2/v1beta1/zz_subnetcidrreservation_types.go index efe4e5a9e5..026fc3b294 100755 --- a/apis/ec2/v1beta1/zz_subnetcidrreservation_types.go +++ b/apis/ec2/v1beta1/zz_subnetcidrreservation_types.go @@ -120,6 +120,7 @@ type SubnetCidrReservationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetCidrReservation is the Schema for the SubnetCidrReservations API. Provides a subnet CIDR reservation resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_tag_types.go b/apis/ec2/v1beta1/zz_tag_types.go index 5f931a6674..58f8458b10 100755 --- a/apis/ec2/v1beta1/zz_tag_types.go +++ b/apis/ec2/v1beta1/zz_tag_types.go @@ -83,6 +83,7 @@ type TagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Tag is the Schema for the Tags API. Manages an individual EC2 resource tag // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_trafficmirrorfilter_types.go b/apis/ec2/v1beta1/zz_trafficmirrorfilter_types.go index efd7507cc1..fa3fe0fb55 100755 --- a/apis/ec2/v1beta1/zz_trafficmirrorfilter_types.go +++ b/apis/ec2/v1beta1/zz_trafficmirrorfilter_types.go @@ -102,6 +102,7 @@ type TrafficMirrorFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TrafficMirrorFilter is the Schema for the TrafficMirrorFilters API. Provides an Traffic mirror filter // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_trafficmirrorfilterrule_types.go b/apis/ec2/v1beta1/zz_trafficmirrorfilterrule_types.go index d79285439b..e70359689b 100755 --- a/apis/ec2/v1beta1/zz_trafficmirrorfilterrule_types.go +++ b/apis/ec2/v1beta1/zz_trafficmirrorfilterrule_types.go @@ -240,6 +240,7 @@ type TrafficMirrorFilterRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TrafficMirrorFilterRule is the Schema for the TrafficMirrorFilterRules API. Provides an Traffic mirror filter rule // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgateway_types.go b/apis/ec2/v1beta1/zz_transitgateway_types.go index cfd53a503b..2d8d796013 100755 --- a/apis/ec2/v1beta1/zz_transitgateway_types.go +++ b/apis/ec2/v1beta1/zz_transitgateway_types.go @@ -181,6 +181,7 @@ type TransitGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGateway is the Schema for the TransitGateways API. Manages an EC2 Transit Gateway // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayconnect_types.go b/apis/ec2/v1beta1/zz_transitgatewayconnect_types.go index 91ebbd04da..1e32ff1c28 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayconnect_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayconnect_types.go @@ -166,6 +166,7 @@ type TransitGatewayConnectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayConnect is the Schema for the TransitGatewayConnects API. Manages an EC2 Transit Gateway Connect // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayconnectpeer_types.go b/apis/ec2/v1beta1/zz_transitgatewayconnectpeer_types.go index 769fa8a3f3..99e074816e 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayconnectpeer_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayconnectpeer_types.go @@ -159,6 +159,7 @@ type TransitGatewayConnectPeerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayConnectPeer is the Schema for the TransitGatewayConnectPeers API. Manages an EC2 Transit Gateway Connect Peer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaymulticastdomain_types.go b/apis/ec2/v1beta1/zz_transitgatewaymulticastdomain_types.go index 2cbd3f7ade..59d7c49815 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaymulticastdomain_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaymulticastdomain_types.go @@ -140,6 +140,7 @@ type TransitGatewayMulticastDomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayMulticastDomain is the Schema for the TransitGatewayMulticastDomains API. Manages an EC2 Transit Gateway Multicast Domain // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaymulticastdomainassociation_types.go b/apis/ec2/v1beta1/zz_transitgatewaymulticastdomainassociation_types.go index 9dd13dd233..56b318255a 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaymulticastdomainassociation_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaymulticastdomainassociation_types.go @@ -147,6 +147,7 @@ type TransitGatewayMulticastDomainAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayMulticastDomainAssociation is the Schema for the TransitGatewayMulticastDomainAssociations API. Manages an EC2 Transit Gateway Multicast Domain Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupmember_types.go b/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupmember_types.go index dabcdcd245..c633b35463 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupmember_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupmember_types.go @@ -129,6 +129,7 @@ type TransitGatewayMulticastGroupMemberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayMulticastGroupMember is the Schema for the TransitGatewayMulticastGroupMembers API. Manages an EC2 Transit Gateway Multicast Group Member // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupsource_types.go b/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupsource_types.go index 29eb316d5a..06dcc03f5a 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupsource_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaymulticastgroupsource_types.go @@ -129,6 +129,7 @@ type TransitGatewayMulticastGroupSourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayMulticastGroupSource is the Schema for the TransitGatewayMulticastGroupSources API. Manages an EC2 Transit Gateway Multicast Group Source // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaypeeringattachment_types.go b/apis/ec2/v1beta1/zz_transitgatewaypeeringattachment_types.go index ea9df116fa..f1c619543f 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaypeeringattachment_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaypeeringattachment_types.go @@ -156,6 +156,7 @@ type TransitGatewayPeeringAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayPeeringAttachment is the Schema for the TransitGatewayPeeringAttachments API. Manages an EC2 Transit Gateway Peering Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaypeeringattachmentaccepter_types.go b/apis/ec2/v1beta1/zz_transitgatewaypeeringattachmentaccepter_types.go index 417eefe942..b039740dc4 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaypeeringattachmentaccepter_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaypeeringattachmentaccepter_types.go @@ -117,6 +117,7 @@ type TransitGatewayPeeringAttachmentAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayPeeringAttachmentAccepter is the Schema for the TransitGatewayPeeringAttachmentAccepters API. Manages the accepter's side of an EC2 Transit Gateway peering Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewaypolicytable_types.go b/apis/ec2/v1beta1/zz_transitgatewaypolicytable_types.go index e695b52ce5..cfbe58bc5b 100755 --- a/apis/ec2/v1beta1/zz_transitgatewaypolicytable_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewaypolicytable_types.go @@ -112,6 +112,7 @@ type TransitGatewayPolicyTableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayPolicyTable is the Schema for the TransitGatewayPolicyTables API. Manages an EC2 Transit Gateway Policy Table // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayprefixlistreference_types.go b/apis/ec2/v1beta1/zz_transitgatewayprefixlistreference_types.go index 1e79ce2dd9..3aef4772a4 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayprefixlistreference_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayprefixlistreference_types.go @@ -162,6 +162,7 @@ type TransitGatewayPrefixListReferenceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayPrefixListReference is the Schema for the TransitGatewayPrefixListReferences API. Manages an EC2 Transit Gateway Prefix List Reference // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayroute_types.go b/apis/ec2/v1beta1/zz_transitgatewayroute_types.go index 95626bd0ca..19e97d7633 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayroute_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayroute_types.go @@ -135,6 +135,7 @@ type TransitGatewayRouteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayRoute is the Schema for the TransitGatewayRoutes API. Manages an EC2 Transit Gateway Route // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayroutetable_types.go b/apis/ec2/v1beta1/zz_transitgatewayroutetable_types.go index 0ca00ac8b5..df39d91a1c 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayroutetable_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayroutetable_types.go @@ -113,6 +113,7 @@ type TransitGatewayRouteTableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayRouteTable is the Schema for the TransitGatewayRouteTables API. Manages an EC2 Transit Gateway Route Table // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayroutetableassociation_types.go b/apis/ec2/v1beta1/zz_transitgatewayroutetableassociation_types.go index f89b7994a5..1b5baa55dc 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayroutetableassociation_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayroutetableassociation_types.go @@ -131,6 +131,7 @@ type TransitGatewayRouteTableAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayRouteTableAssociation is the Schema for the TransitGatewayRouteTableAssociations API. Manages an EC2 Transit Gateway Route Table association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayroutetablepropagation_types.go b/apis/ec2/v1beta1/zz_transitgatewayroutetablepropagation_types.go index 89c0e1f86a..66f58e5896 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayroutetablepropagation_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayroutetablepropagation_types.go @@ -121,6 +121,7 @@ type TransitGatewayRouteTablePropagationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayRouteTablePropagation is the Schema for the TransitGatewayRouteTablePropagations API. Manages an EC2 Transit Gateway Route Table propagation // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayvpcattachment_types.go b/apis/ec2/v1beta1/zz_transitgatewayvpcattachment_types.go index 9e0dca66bc..1b84c19446 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayvpcattachment_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayvpcattachment_types.go @@ -220,6 +220,7 @@ type TransitGatewayVPCAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayVPCAttachment is the Schema for the TransitGatewayVPCAttachments API. Manages an EC2 Transit Gateway VPC Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_transitgatewayvpcattachmentaccepter_types.go b/apis/ec2/v1beta1/zz_transitgatewayvpcattachmentaccepter_types.go index 6e3621288a..d9dbd38e89 100755 --- a/apis/ec2/v1beta1/zz_transitgatewayvpcattachmentaccepter_types.go +++ b/apis/ec2/v1beta1/zz_transitgatewayvpcattachmentaccepter_types.go @@ -146,6 +146,7 @@ type TransitGatewayVPCAttachmentAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayVPCAttachmentAccepter is the Schema for the TransitGatewayVPCAttachmentAccepters API. Manages the accepter's side of an EC2 Transit Gateway VPC Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_volumeattachment_types.go b/apis/ec2/v1beta1/zz_volumeattachment_types.go index 44f49138c5..240258253c 100755 --- a/apis/ec2/v1beta1/zz_volumeattachment_types.go +++ b/apis/ec2/v1beta1/zz_volumeattachment_types.go @@ -179,6 +179,7 @@ type VolumeAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VolumeAttachment is the Schema for the VolumeAttachments API. Provides an AWS EBS Volume Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpc_types.go b/apis/ec2/v1beta1/zz_vpc_types.go index 6ef799cbfb..106895df4e 100755 --- a/apis/ec2/v1beta1/zz_vpc_types.go +++ b/apis/ec2/v1beta1/zz_vpc_types.go @@ -242,6 +242,7 @@ type VPCStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPC is the Schema for the VPCs API. Provides a VPC resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcdhcpoptions_types.go b/apis/ec2/v1beta1/zz_vpcdhcpoptions_types.go index acecdcea0c..0384c2809d 100755 --- a/apis/ec2/v1beta1/zz_vpcdhcpoptions_types.go +++ b/apis/ec2/v1beta1/zz_vpcdhcpoptions_types.go @@ -132,6 +132,7 @@ type VPCDHCPOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCDHCPOptions is the Schema for the VPCDHCPOptionss API. Provides a VPC DHCP Options resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcdhcpoptionsassociation_types.go b/apis/ec2/v1beta1/zz_vpcdhcpoptionsassociation_types.go index f46cd0eed9..e6f54509da 100755 --- a/apis/ec2/v1beta1/zz_vpcdhcpoptionsassociation_types.go +++ b/apis/ec2/v1beta1/zz_vpcdhcpoptionsassociation_types.go @@ -117,6 +117,7 @@ type VPCDHCPOptionsAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCDHCPOptionsAssociation is the Schema for the VPCDHCPOptionsAssociations API. Provides a VPC DHCP Options Association resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpoint_types.go b/apis/ec2/v1beta1/zz_vpcendpoint_types.go index 055e3af9a2..7d0608d5f1 100755 --- a/apis/ec2/v1beta1/zz_vpcendpoint_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpoint_types.go @@ -279,6 +279,7 @@ type VPCEndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpoint is the Schema for the VPCEndpoints API. Provides a VPC Endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointconnectionnotification_types.go b/apis/ec2/v1beta1/zz_vpcendpointconnectionnotification_types.go index c4455824bc..35cccd5552 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointconnectionnotification_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointconnectionnotification_types.go @@ -148,6 +148,7 @@ type VPCEndpointConnectionNotificationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointConnectionNotification is the Schema for the VPCEndpointConnectionNotifications API. Provides a VPC Endpoint connection notification resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointroutetableassociation_types.go b/apis/ec2/v1beta1/zz_vpcendpointroutetableassociation_types.go index b57aac0670..c30b95a4ed 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointroutetableassociation_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointroutetableassociation_types.go @@ -20,7 +20,7 @@ import ( type VPCEndpointRouteTableAssociationInitParameters struct { // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` @@ -66,7 +66,7 @@ type VPCEndpointRouteTableAssociationParameters struct { Region *string `json:"region" tf:"-"` // Identifier of the EC2 Route Table to be associated with the VPC Endpoint. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` @@ -119,6 +119,7 @@ type VPCEndpointRouteTableAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointRouteTableAssociation is the Schema for the VPCEndpointRouteTableAssociations API. Manages a VPC Endpoint Route Table Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointsecuritygroupassociation_types.go b/apis/ec2/v1beta1/zz_vpcendpointsecuritygroupassociation_types.go index 6dbaf69269..61084e86a5 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointsecuritygroupassociation_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointsecuritygroupassociation_types.go @@ -127,6 +127,7 @@ type VPCEndpointSecurityGroupAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointSecurityGroupAssociation is the Schema for the VPCEndpointSecurityGroupAssociations API. Provides a resource to create an association between a VPC endpoint and a security group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointservice_types.go b/apis/ec2/v1beta1/zz_vpcendpointservice_types.go index d6a732d9bf..9f9fc1e12d 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointservice_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointservice_types.go @@ -186,6 +186,7 @@ type VPCEndpointServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointService is the Schema for the VPCEndpointServices API. Provides a VPC Endpoint Service resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointserviceallowedprincipal_types.go b/apis/ec2/v1beta1/zz_vpcendpointserviceallowedprincipal_types.go index dc9e9e2762..dc01cb0198 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointserviceallowedprincipal_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointserviceallowedprincipal_types.go @@ -99,6 +99,7 @@ type VPCEndpointServiceAllowedPrincipalStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointServiceAllowedPrincipal is the Schema for the VPCEndpointServiceAllowedPrincipals API. Provides a resource to allow a principal to discover a VPC endpoint service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcendpointsubnetassociation_types.go b/apis/ec2/v1beta1/zz_vpcendpointsubnetassociation_types.go index c95f569dd5..1ca3b5e58d 100755 --- a/apis/ec2/v1beta1/zz_vpcendpointsubnetassociation_types.go +++ b/apis/ec2/v1beta1/zz_vpcendpointsubnetassociation_types.go @@ -117,6 +117,7 @@ type VPCEndpointSubnetAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCEndpointSubnetAssociation is the Schema for the VPCEndpointSubnetAssociations API. Provides a resource to create an association between a VPC endpoint and a subnet. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipam_types.go b/apis/ec2/v1beta1/zz_vpcipam_types.go index 0aa9bb1ff3..4a81251b03 100755 --- a/apis/ec2/v1beta1/zz_vpcipam_types.go +++ b/apis/ec2/v1beta1/zz_vpcipam_types.go @@ -144,6 +144,7 @@ type VPCIpamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIpam is the Schema for the VPCIpams API. Provides an IPAM resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipampool_types.go b/apis/ec2/v1beta1/zz_vpcipampool_types.go index 80268fb738..7ec01f1be3 100755 --- a/apis/ec2/v1beta1/zz_vpcipampool_types.go +++ b/apis/ec2/v1beta1/zz_vpcipampool_types.go @@ -260,6 +260,7 @@ type VPCIpamPoolStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIpamPool is the Schema for the VPCIpamPools API. Provides a IP address pool resource for IPAM. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipampoolcidr_types.go b/apis/ec2/v1beta1/zz_vpcipampoolcidr_types.go index 73dc21b4b1..b577be9af3 100755 --- a/apis/ec2/v1beta1/zz_vpcipampoolcidr_types.go +++ b/apis/ec2/v1beta1/zz_vpcipampoolcidr_types.go @@ -151,6 +151,7 @@ type VPCIpamPoolCidrStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIpamPoolCidr is the Schema for the VPCIpamPoolCidrs API. Provisions a CIDR from an IPAM address pool. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipampoolcidrallocation_types.go b/apis/ec2/v1beta1/zz_vpcipampoolcidrallocation_types.go index ebf0afa8a5..4bc73db1e4 100755 --- a/apis/ec2/v1beta1/zz_vpcipampoolcidrallocation_types.go +++ b/apis/ec2/v1beta1/zz_vpcipampoolcidrallocation_types.go @@ -144,6 +144,7 @@ type VPCIpamPoolCidrAllocationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIpamPoolCidrAllocation is the Schema for the VPCIpamPoolCidrAllocations API. Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipamscope_types.go b/apis/ec2/v1beta1/zz_vpcipamscope_types.go index 8ecc8ea59e..64ce2b2c38 100755 --- a/apis/ec2/v1beta1/zz_vpcipamscope_types.go +++ b/apis/ec2/v1beta1/zz_vpcipamscope_types.go @@ -128,6 +128,7 @@ type VPCIpamScopeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIpamScope is the Schema for the VPCIpamScopes API. Creates a scope for AWS IPAM. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcipv4cidrblockassociation_types.go b/apis/ec2/v1beta1/zz_vpcipv4cidrblockassociation_types.go index 7fd94d26ca..5114f8acf2 100755 --- a/apis/ec2/v1beta1/zz_vpcipv4cidrblockassociation_types.go +++ b/apis/ec2/v1beta1/zz_vpcipv4cidrblockassociation_types.go @@ -117,6 +117,7 @@ type VPCIPv4CidrBlockAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCIPv4CidrBlockAssociation is the Schema for the VPCIPv4CidrBlockAssociations API. Associate additional IPv4 CIDR blocks with a VPC // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcpeeringconnection_types.go b/apis/ec2/v1beta1/zz_vpcpeeringconnection_types.go index 88d149150a..b24be34cc4 100755 --- a/apis/ec2/v1beta1/zz_vpcpeeringconnection_types.go +++ b/apis/ec2/v1beta1/zz_vpcpeeringconnection_types.go @@ -205,6 +205,7 @@ type VPCPeeringConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCPeeringConnection is the Schema for the VPCPeeringConnections API. Provides a resource to manage a VPC peering connection. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcpeeringconnectionaccepter_types.go b/apis/ec2/v1beta1/zz_vpcpeeringconnectionaccepter_types.go index 72dc5be106..49aa597f7a 100755 --- a/apis/ec2/v1beta1/zz_vpcpeeringconnectionaccepter_types.go +++ b/apis/ec2/v1beta1/zz_vpcpeeringconnectionaccepter_types.go @@ -201,6 +201,7 @@ type VPCPeeringConnectionAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCPeeringConnectionAccepter is the Schema for the VPCPeeringConnectionAccepters API. Manage the accepter's side of a VPC Peering Connection. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpcpeeringconnectionoptions_types.go b/apis/ec2/v1beta1/zz_vpcpeeringconnectionoptions_types.go index 85acb83e37..2cccf744e7 100755 --- a/apis/ec2/v1beta1/zz_vpcpeeringconnectionoptions_types.go +++ b/apis/ec2/v1beta1/zz_vpcpeeringconnectionoptions_types.go @@ -147,6 +147,7 @@ type VPCPeeringConnectionOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCPeeringConnectionOptions is the Schema for the VPCPeeringConnectionOptionss API. Provides a resource to manage VPC peering connection options. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpnconnection_types.go b/apis/ec2/v1beta1/zz_vpnconnection_types.go index 936a9a1a13..e9df1c73fd 100755 --- a/apis/ec2/v1beta1/zz_vpnconnection_types.go +++ b/apis/ec2/v1beta1/zz_vpnconnection_types.go @@ -923,6 +923,7 @@ type VPNConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPNConnection is the Schema for the VPNConnections API. Manages a Site-to-Site VPN connection. A Site-to-Site VPN connection is an Internet Protocol security (IPsec) VPN connection between a VPC and an on-premises network. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpnconnectionroute_types.go b/apis/ec2/v1beta1/zz_vpnconnectionroute_types.go index 09779bd3b8..df378ecfd3 100755 --- a/apis/ec2/v1beta1/zz_vpnconnectionroute_types.go +++ b/apis/ec2/v1beta1/zz_vpnconnectionroute_types.go @@ -98,6 +98,7 @@ type VPNConnectionRouteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPNConnectionRoute is the Schema for the VPNConnectionRoutes API. Provides a static route between a VPN connection and a customer gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpngateway_types.go b/apis/ec2/v1beta1/zz_vpngateway_types.go index 0a2bac7e3b..9542a30ac6 100755 --- a/apis/ec2/v1beta1/zz_vpngateway_types.go +++ b/apis/ec2/v1beta1/zz_vpngateway_types.go @@ -127,6 +127,7 @@ type VPNGatewayStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPNGateway is the Schema for the VPNGateways API. Provides a resource to create a VPC VPN Gateway. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpngatewayattachment_types.go b/apis/ec2/v1beta1/zz_vpngatewayattachment_types.go index 0e7a910a95..d3fc1efa50 100755 --- a/apis/ec2/v1beta1/zz_vpngatewayattachment_types.go +++ b/apis/ec2/v1beta1/zz_vpngatewayattachment_types.go @@ -115,6 +115,7 @@ type VPNGatewayAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPNGatewayAttachment is the Schema for the VPNGatewayAttachments API. Provides a Virtual Private Gateway attachment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta1/zz_vpngatewayroutepropagation_types.go b/apis/ec2/v1beta1/zz_vpngatewayroutepropagation_types.go index e49d7197e5..614ac151b0 100755 --- a/apis/ec2/v1beta1/zz_vpngatewayroutepropagation_types.go +++ b/apis/ec2/v1beta1/zz_vpngatewayroutepropagation_types.go @@ -20,7 +20,7 @@ import ( type VPNGatewayRoutePropagationInitParameters struct { // The id of the aws_route_table to propagate routes into. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` @@ -64,7 +64,7 @@ type VPNGatewayRoutePropagationParameters struct { Region *string `json:"region" tf:"-"` // The id of the aws_route_table to propagate routes into. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.RouteTable + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` @@ -117,6 +117,7 @@ type VPNGatewayRoutePropagationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPNGatewayRoutePropagation is the Schema for the VPNGatewayRoutePropagations API. Requests automatic route propagation between a VPN gateway and a route table. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ec2/v1beta2/zz_generated.conversion_hubs.go b/apis/ec2/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..30cf15f9d4 --- /dev/null +++ b/apis/ec2/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,17 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *Route) Hub() {} + +// Hub marks this type as a conversion hub. +func (tr *RouteTable) Hub() {} diff --git a/apis/ec2/v1beta2/zz_generated.deepcopy.go b/apis/ec2/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..dcdbac6743 --- /dev/null +++ b/apis/ec2/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,959 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Route) DeepCopyInto(out *Route) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route. +func (in *Route) DeepCopy() *Route { + if in == nil { + return nil + } + out := new(Route) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Route) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteInitParameters) DeepCopyInto(out *RouteInitParameters) { + *out = *in + if in.CarrierGatewayID != nil { + in, out := &in.CarrierGatewayID, &out.CarrierGatewayID + *out = new(string) + **out = **in + } + if in.CoreNetworkArn != nil { + in, out := &in.CoreNetworkArn, &out.CoreNetworkArn + *out = new(string) + **out = **in + } + if in.DestinationCidrBlock != nil { + in, out := &in.DestinationCidrBlock, &out.DestinationCidrBlock + *out = new(string) + **out = **in + } + if in.DestinationIPv6CidrBlock != nil { + in, out := &in.DestinationIPv6CidrBlock, &out.DestinationIPv6CidrBlock + *out = new(string) + **out = **in + } + if in.DestinationPrefixListID != nil { + in, out := &in.DestinationPrefixListID, &out.DestinationPrefixListID + *out = new(string) + **out = **in + } + if in.DestinationPrefixListIDRef != nil { + in, out := &in.DestinationPrefixListIDRef, &out.DestinationPrefixListIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DestinationPrefixListIDSelector != nil { + in, out := &in.DestinationPrefixListIDSelector, &out.DestinationPrefixListIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.EgressOnlyGatewayID != nil { + in, out := &in.EgressOnlyGatewayID, &out.EgressOnlyGatewayID + *out = new(string) + **out = **in + } + if in.EgressOnlyGatewayIDRef != nil { + in, out := &in.EgressOnlyGatewayIDRef, &out.EgressOnlyGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EgressOnlyGatewayIDSelector != nil { + in, out := &in.EgressOnlyGatewayIDSelector, &out.EgressOnlyGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.GatewayID != nil { + in, out := &in.GatewayID, &out.GatewayID + *out = new(string) + **out = **in + } + if in.GatewayIDRef != nil { + in, out := &in.GatewayIDRef, &out.GatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GatewayIDSelector != nil { + in, out := &in.GatewayIDSelector, &out.GatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LocalGatewayID != nil { + in, out := &in.LocalGatewayID, &out.LocalGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayID != nil { + in, out := &in.NATGatewayID, &out.NATGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayIDRef != nil { + in, out := &in.NATGatewayIDRef, &out.NATGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NATGatewayIDSelector != nil { + in, out := &in.NATGatewayIDSelector, &out.NATGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.NetworkInterfaceID != nil { + in, out := &in.NetworkInterfaceID, &out.NetworkInterfaceID + *out = new(string) + **out = **in + } + if in.NetworkInterfaceIDRef != nil { + in, out := &in.NetworkInterfaceIDRef, &out.NetworkInterfaceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkInterfaceIDSelector != nil { + in, out := &in.NetworkInterfaceIDSelector, &out.NetworkInterfaceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RouteTableID != nil { + in, out := &in.RouteTableID, &out.RouteTableID + *out = new(string) + **out = **in + } + if in.RouteTableIDRef != nil { + in, out := &in.RouteTableIDRef, &out.RouteTableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouteTableIDSelector != nil { + in, out := &in.RouteTableIDSelector, &out.RouteTableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.TransitGatewayID != nil { + in, out := &in.TransitGatewayID, &out.TransitGatewayID + *out = new(string) + **out = **in + } + if in.TransitGatewayIDRef != nil { + in, out := &in.TransitGatewayIDRef, &out.TransitGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TransitGatewayIDSelector != nil { + in, out := &in.TransitGatewayIDSelector, &out.TransitGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCEndpointID != nil { + in, out := &in.VPCEndpointID, &out.VPCEndpointID + *out = new(string) + **out = **in + } + if in.VPCEndpointIDRef != nil { + in, out := &in.VPCEndpointIDRef, &out.VPCEndpointIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCEndpointIDSelector != nil { + in, out := &in.VPCEndpointIDSelector, &out.VPCEndpointIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCPeeringConnectionID != nil { + in, out := &in.VPCPeeringConnectionID, &out.VPCPeeringConnectionID + *out = new(string) + **out = **in + } + if in.VPCPeeringConnectionIDRef != nil { + in, out := &in.VPCPeeringConnectionIDRef, &out.VPCPeeringConnectionIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCPeeringConnectionIDSelector != nil { + in, out := &in.VPCPeeringConnectionIDSelector, &out.VPCPeeringConnectionIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteInitParameters. +func (in *RouteInitParameters) DeepCopy() *RouteInitParameters { + if in == nil { + return nil + } + out := new(RouteInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteList) DeepCopyInto(out *RouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Route, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList. +func (in *RouteList) DeepCopy() *RouteList { + if in == nil { + return nil + } + out := new(RouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteObservation) DeepCopyInto(out *RouteObservation) { + *out = *in + if in.CarrierGatewayID != nil { + in, out := &in.CarrierGatewayID, &out.CarrierGatewayID + *out = new(string) + **out = **in + } + if in.CoreNetworkArn != nil { + in, out := &in.CoreNetworkArn, &out.CoreNetworkArn + *out = new(string) + **out = **in + } + if in.DestinationCidrBlock != nil { + in, out := &in.DestinationCidrBlock, &out.DestinationCidrBlock + *out = new(string) + **out = **in + } + if in.DestinationIPv6CidrBlock != nil { + in, out := &in.DestinationIPv6CidrBlock, &out.DestinationIPv6CidrBlock + *out = new(string) + **out = **in + } + if in.DestinationPrefixListID != nil { + in, out := &in.DestinationPrefixListID, &out.DestinationPrefixListID + *out = new(string) + **out = **in + } + if in.EgressOnlyGatewayID != nil { + in, out := &in.EgressOnlyGatewayID, &out.EgressOnlyGatewayID + *out = new(string) + **out = **in + } + if in.GatewayID != nil { + in, out := &in.GatewayID, &out.GatewayID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.InstanceID != nil { + in, out := &in.InstanceID, &out.InstanceID + *out = new(string) + **out = **in + } + if in.InstanceOwnerID != nil { + in, out := &in.InstanceOwnerID, &out.InstanceOwnerID + *out = new(string) + **out = **in + } + if in.LocalGatewayID != nil { + in, out := &in.LocalGatewayID, &out.LocalGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayID != nil { + in, out := &in.NATGatewayID, &out.NATGatewayID + *out = new(string) + **out = **in + } + if in.NetworkInterfaceID != nil { + in, out := &in.NetworkInterfaceID, &out.NetworkInterfaceID + *out = new(string) + **out = **in + } + if in.Origin != nil { + in, out := &in.Origin, &out.Origin + *out = new(string) + **out = **in + } + if in.RouteTableID != nil { + in, out := &in.RouteTableID, &out.RouteTableID + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.TransitGatewayID != nil { + in, out := &in.TransitGatewayID, &out.TransitGatewayID + *out = new(string) + **out = **in + } + if in.VPCEndpointID != nil { + in, out := &in.VPCEndpointID, &out.VPCEndpointID + *out = new(string) + **out = **in + } + if in.VPCPeeringConnectionID != nil { + in, out := &in.VPCPeeringConnectionID, &out.VPCPeeringConnectionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteObservation. +func (in *RouteObservation) DeepCopy() *RouteObservation { + if in == nil { + return nil + } + out := new(RouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteParameters) DeepCopyInto(out *RouteParameters) { + *out = *in + if in.CarrierGatewayID != nil { + in, out := &in.CarrierGatewayID, &out.CarrierGatewayID + *out = new(string) + **out = **in + } + if in.CoreNetworkArn != nil { + in, out := &in.CoreNetworkArn, &out.CoreNetworkArn + *out = new(string) + **out = **in + } + if in.DestinationCidrBlock != nil { + in, out := &in.DestinationCidrBlock, &out.DestinationCidrBlock + *out = new(string) + **out = **in + } + if in.DestinationIPv6CidrBlock != nil { + in, out := &in.DestinationIPv6CidrBlock, &out.DestinationIPv6CidrBlock + *out = new(string) + **out = **in + } + if in.DestinationPrefixListID != nil { + in, out := &in.DestinationPrefixListID, &out.DestinationPrefixListID + *out = new(string) + **out = **in + } + if in.DestinationPrefixListIDRef != nil { + in, out := &in.DestinationPrefixListIDRef, &out.DestinationPrefixListIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DestinationPrefixListIDSelector != nil { + in, out := &in.DestinationPrefixListIDSelector, &out.DestinationPrefixListIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.EgressOnlyGatewayID != nil { + in, out := &in.EgressOnlyGatewayID, &out.EgressOnlyGatewayID + *out = new(string) + **out = **in + } + if in.EgressOnlyGatewayIDRef != nil { + in, out := &in.EgressOnlyGatewayIDRef, &out.EgressOnlyGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EgressOnlyGatewayIDSelector != nil { + in, out := &in.EgressOnlyGatewayIDSelector, &out.EgressOnlyGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.GatewayID != nil { + in, out := &in.GatewayID, &out.GatewayID + *out = new(string) + **out = **in + } + if in.GatewayIDRef != nil { + in, out := &in.GatewayIDRef, &out.GatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.GatewayIDSelector != nil { + in, out := &in.GatewayIDSelector, &out.GatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LocalGatewayID != nil { + in, out := &in.LocalGatewayID, &out.LocalGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayID != nil { + in, out := &in.NATGatewayID, &out.NATGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayIDRef != nil { + in, out := &in.NATGatewayIDRef, &out.NATGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NATGatewayIDSelector != nil { + in, out := &in.NATGatewayIDSelector, &out.NATGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.NetworkInterfaceID != nil { + in, out := &in.NetworkInterfaceID, &out.NetworkInterfaceID + *out = new(string) + **out = **in + } + if in.NetworkInterfaceIDRef != nil { + in, out := &in.NetworkInterfaceIDRef, &out.NetworkInterfaceIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.NetworkInterfaceIDSelector != nil { + in, out := &in.NetworkInterfaceIDSelector, &out.NetworkInterfaceIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.RouteTableID != nil { + in, out := &in.RouteTableID, &out.RouteTableID + *out = new(string) + **out = **in + } + if in.RouteTableIDRef != nil { + in, out := &in.RouteTableIDRef, &out.RouteTableIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.RouteTableIDSelector != nil { + in, out := &in.RouteTableIDSelector, &out.RouteTableIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.TransitGatewayID != nil { + in, out := &in.TransitGatewayID, &out.TransitGatewayID + *out = new(string) + **out = **in + } + if in.TransitGatewayIDRef != nil { + in, out := &in.TransitGatewayIDRef, &out.TransitGatewayIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.TransitGatewayIDSelector != nil { + in, out := &in.TransitGatewayIDSelector, &out.TransitGatewayIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCEndpointID != nil { + in, out := &in.VPCEndpointID, &out.VPCEndpointID + *out = new(string) + **out = **in + } + if in.VPCEndpointIDRef != nil { + in, out := &in.VPCEndpointIDRef, &out.VPCEndpointIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCEndpointIDSelector != nil { + in, out := &in.VPCEndpointIDSelector, &out.VPCEndpointIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCPeeringConnectionID != nil { + in, out := &in.VPCPeeringConnectionID, &out.VPCPeeringConnectionID + *out = new(string) + **out = **in + } + if in.VPCPeeringConnectionIDRef != nil { + in, out := &in.VPCPeeringConnectionIDRef, &out.VPCPeeringConnectionIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCPeeringConnectionIDSelector != nil { + in, out := &in.VPCPeeringConnectionIDSelector, &out.VPCPeeringConnectionIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteParameters. +func (in *RouteParameters) DeepCopy() *RouteParameters { + if in == nil { + return nil + } + out := new(RouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpec) DeepCopyInto(out *RouteSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec. +func (in *RouteSpec) DeepCopy() *RouteSpec { + if in == nil { + return nil + } + out := new(RouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. +func (in *RouteStatus) DeepCopy() *RouteStatus { + if in == nil { + return nil + } + out := new(RouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTable) DeepCopyInto(out *RouteTable) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTable. +func (in *RouteTable) DeepCopy() *RouteTable { + if in == nil { + return nil + } + out := new(RouteTable) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteTable) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableInitParameters) DeepCopyInto(out *RouteTableInitParameters) { + *out = *in + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VPCID != nil { + in, out := &in.VPCID, &out.VPCID + *out = new(string) + **out = **in + } + if in.VPCIDRef != nil { + in, out := &in.VPCIDRef, &out.VPCIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCIDSelector != nil { + in, out := &in.VPCIDSelector, &out.VPCIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableInitParameters. +func (in *RouteTableInitParameters) DeepCopy() *RouteTableInitParameters { + if in == nil { + return nil + } + out := new(RouteTableInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableList) DeepCopyInto(out *RouteTableList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RouteTable, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableList. +func (in *RouteTableList) DeepCopy() *RouteTableList { + if in == nil { + return nil + } + out := new(RouteTableList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteTableList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableObservation) DeepCopyInto(out *RouteTableObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.OwnerID != nil { + in, out := &in.OwnerID, &out.OwnerID + *out = new(string) + **out = **in + } + if in.PropagatingVgws != nil { + in, out := &in.PropagatingVgws, &out.PropagatingVgws + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Route != nil { + in, out := &in.Route, &out.Route + *out = make([]RouteTableRouteObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VPCID != nil { + in, out := &in.VPCID, &out.VPCID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableObservation. +func (in *RouteTableObservation) DeepCopy() *RouteTableObservation { + if in == nil { + return nil + } + out := new(RouteTableObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableParameters) DeepCopyInto(out *RouteTableParameters) { + *out = *in + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.VPCID != nil { + in, out := &in.VPCID, &out.VPCID + *out = new(string) + **out = **in + } + if in.VPCIDRef != nil { + in, out := &in.VPCIDRef, &out.VPCIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.VPCIDSelector != nil { + in, out := &in.VPCIDSelector, &out.VPCIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableParameters. +func (in *RouteTableParameters) DeepCopy() *RouteTableParameters { + if in == nil { + return nil + } + out := new(RouteTableParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableRouteInitParameters) DeepCopyInto(out *RouteTableRouteInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableRouteInitParameters. +func (in *RouteTableRouteInitParameters) DeepCopy() *RouteTableRouteInitParameters { + if in == nil { + return nil + } + out := new(RouteTableRouteInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableRouteObservation) DeepCopyInto(out *RouteTableRouteObservation) { + *out = *in + if in.CarrierGatewayID != nil { + in, out := &in.CarrierGatewayID, &out.CarrierGatewayID + *out = new(string) + **out = **in + } + if in.CidrBlock != nil { + in, out := &in.CidrBlock, &out.CidrBlock + *out = new(string) + **out = **in + } + if in.CoreNetworkArn != nil { + in, out := &in.CoreNetworkArn, &out.CoreNetworkArn + *out = new(string) + **out = **in + } + if in.DestinationPrefixListID != nil { + in, out := &in.DestinationPrefixListID, &out.DestinationPrefixListID + *out = new(string) + **out = **in + } + if in.EgressOnlyGatewayID != nil { + in, out := &in.EgressOnlyGatewayID, &out.EgressOnlyGatewayID + *out = new(string) + **out = **in + } + if in.GatewayID != nil { + in, out := &in.GatewayID, &out.GatewayID + *out = new(string) + **out = **in + } + if in.IPv6CidrBlock != nil { + in, out := &in.IPv6CidrBlock, &out.IPv6CidrBlock + *out = new(string) + **out = **in + } + if in.LocalGatewayID != nil { + in, out := &in.LocalGatewayID, &out.LocalGatewayID + *out = new(string) + **out = **in + } + if in.NATGatewayID != nil { + in, out := &in.NATGatewayID, &out.NATGatewayID + *out = new(string) + **out = **in + } + if in.NetworkInterfaceID != nil { + in, out := &in.NetworkInterfaceID, &out.NetworkInterfaceID + *out = new(string) + **out = **in + } + if in.TransitGatewayID != nil { + in, out := &in.TransitGatewayID, &out.TransitGatewayID + *out = new(string) + **out = **in + } + if in.VPCEndpointID != nil { + in, out := &in.VPCEndpointID, &out.VPCEndpointID + *out = new(string) + **out = **in + } + if in.VPCPeeringConnectionID != nil { + in, out := &in.VPCPeeringConnectionID, &out.VPCPeeringConnectionID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableRouteObservation. +func (in *RouteTableRouteObservation) DeepCopy() *RouteTableRouteObservation { + if in == nil { + return nil + } + out := new(RouteTableRouteObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableRouteParameters) DeepCopyInto(out *RouteTableRouteParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableRouteParameters. +func (in *RouteTableRouteParameters) DeepCopy() *RouteTableRouteParameters { + if in == nil { + return nil + } + out := new(RouteTableRouteParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableSpec) DeepCopyInto(out *RouteTableSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableSpec. +func (in *RouteTableSpec) DeepCopy() *RouteTableSpec { + if in == nil { + return nil + } + out := new(RouteTableSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTableStatus) DeepCopyInto(out *RouteTableStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTableStatus. +func (in *RouteTableStatus) DeepCopy() *RouteTableStatus { + if in == nil { + return nil + } + out := new(RouteTableStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/ec2/v1beta2/zz_generated.managed.go b/apis/ec2/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..7161a2fdc3 --- /dev/null +++ b/apis/ec2/v1beta2/zz_generated.managed.go @@ -0,0 +1,128 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Route. +func (mg *Route) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Route. +func (mg *Route) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Route. +func (mg *Route) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Route. +func (mg *Route) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Route. +func (mg *Route) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Route. +func (mg *Route) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Route. +func (mg *Route) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Route. +func (mg *Route) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Route. +func (mg *Route) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Route. +func (mg *Route) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Route. +func (mg *Route) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Route. +func (mg *Route) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} + +// GetCondition of this RouteTable. +func (mg *RouteTable) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this RouteTable. +func (mg *RouteTable) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this RouteTable. +func (mg *RouteTable) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this RouteTable. +func (mg *RouteTable) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this RouteTable. +func (mg *RouteTable) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this RouteTable. +func (mg *RouteTable) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this RouteTable. +func (mg *RouteTable) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this RouteTable. +func (mg *RouteTable) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this RouteTable. +func (mg *RouteTable) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this RouteTable. +func (mg *RouteTable) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this RouteTable. +func (mg *RouteTable) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this RouteTable. +func (mg *RouteTable) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/ec2/v1beta2/zz_generated.managedlist.go b/apis/ec2/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..f4bbc9abeb --- /dev/null +++ b/apis/ec2/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,26 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this RouteList. +func (l *RouteList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} + +// GetItems of this RouteTableList. +func (l *RouteTableList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/ec2/v1beta2/zz_generated.resolvers.go b/apis/ec2/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..b48e12243a --- /dev/null +++ b/apis/ec2/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,423 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + client "sigs.k8s.io/controller-runtime/pkg/client" + + // ResolveReferences of this Route. + apisresolver "github.com/upbound/provider-aws/internal/apis" +) + +func (mg *Route) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "ManagedPrefixList", "ManagedPrefixListList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DestinationPrefixListID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.DestinationPrefixListIDRef, + Selector: mg.Spec.ForProvider.DestinationPrefixListIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DestinationPrefixListID") + } + mg.Spec.ForProvider.DestinationPrefixListID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DestinationPrefixListIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "EgressOnlyInternetGateway", "EgressOnlyInternetGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.EgressOnlyGatewayID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.ForProvider.EgressOnlyGatewayIDRef, + Selector: mg.Spec.ForProvider.EgressOnlyGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.EgressOnlyGatewayID") + } + mg.Spec.ForProvider.EgressOnlyGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.EgressOnlyGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "InternetGateway", "InternetGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.GatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.GatewayIDRef, + Selector: mg.Spec.ForProvider.GatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.GatewayID") + } + mg.Spec.ForProvider.GatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.GatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NATGateway", "NATGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NATGatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.NATGatewayIDRef, + Selector: mg.Spec.ForProvider.NATGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NATGatewayID") + } + mg.Spec.ForProvider.NATGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.NATGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NetworkInterface", "NetworkInterfaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.NetworkInterfaceID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.NetworkInterfaceIDRef, + Selector: mg.Spec.ForProvider.NetworkInterfaceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.NetworkInterfaceID") + } + mg.Spec.ForProvider.NetworkInterfaceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.NetworkInterfaceIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.RouteTableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.RouteTableIDRef, + Selector: mg.Spec.ForProvider.RouteTableIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.RouteTableID") + } + mg.Spec.ForProvider.RouteTableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.RouteTableIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "TransitGateway", "TransitGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.TransitGatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.TransitGatewayIDRef, + Selector: mg.Spec.ForProvider.TransitGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.TransitGatewayID") + } + mg.Spec.ForProvider.TransitGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.TransitGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPCEndpoint", "VPCEndpointList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VPCEndpointID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.VPCEndpointIDRef, + Selector: mg.Spec.ForProvider.VPCEndpointIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VPCEndpointID") + } + mg.Spec.ForProvider.VPCEndpointID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VPCEndpointIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPCPeeringConnection", "VPCPeeringConnectionList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VPCPeeringConnectionID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.VPCPeeringConnectionIDRef, + Selector: mg.Spec.ForProvider.VPCPeeringConnectionIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VPCPeeringConnectionID") + } + mg.Spec.ForProvider.VPCPeeringConnectionID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VPCPeeringConnectionIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "ManagedPrefixList", "ManagedPrefixListList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DestinationPrefixListID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DestinationPrefixListIDRef, + Selector: mg.Spec.InitProvider.DestinationPrefixListIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DestinationPrefixListID") + } + mg.Spec.InitProvider.DestinationPrefixListID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DestinationPrefixListIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "EgressOnlyInternetGateway", "EgressOnlyInternetGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EgressOnlyGatewayID), + Extract: resource.ExtractResourceID(), + Reference: mg.Spec.InitProvider.EgressOnlyGatewayIDRef, + Selector: mg.Spec.InitProvider.EgressOnlyGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EgressOnlyGatewayID") + } + mg.Spec.InitProvider.EgressOnlyGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EgressOnlyGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "InternetGateway", "InternetGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.GatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.GatewayIDRef, + Selector: mg.Spec.InitProvider.GatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.GatewayID") + } + mg.Spec.InitProvider.GatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.GatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NATGateway", "NATGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NATGatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NATGatewayIDRef, + Selector: mg.Spec.InitProvider.NATGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NATGatewayID") + } + mg.Spec.InitProvider.NATGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NATGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "NetworkInterface", "NetworkInterfaceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.NetworkInterfaceID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.NetworkInterfaceIDRef, + Selector: mg.Spec.InitProvider.NetworkInterfaceIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.NetworkInterfaceID") + } + mg.Spec.InitProvider.NetworkInterfaceID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.NetworkInterfaceIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta2", "RouteTable", "RouteTableList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.RouteTableID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.RouteTableIDRef, + Selector: mg.Spec.InitProvider.RouteTableIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.RouteTableID") + } + mg.Spec.InitProvider.RouteTableID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.RouteTableIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "TransitGateway", "TransitGatewayList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.TransitGatewayID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.TransitGatewayIDRef, + Selector: mg.Spec.InitProvider.TransitGatewayIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.TransitGatewayID") + } + mg.Spec.InitProvider.TransitGatewayID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.TransitGatewayIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPCEndpoint", "VPCEndpointList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPCEndpointID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.VPCEndpointIDRef, + Selector: mg.Spec.InitProvider.VPCEndpointIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCEndpointID") + } + mg.Spec.InitProvider.VPCEndpointID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPCEndpointIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPCPeeringConnection", "VPCPeeringConnectionList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPCPeeringConnectionID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.VPCPeeringConnectionIDRef, + Selector: mg.Spec.InitProvider.VPCPeeringConnectionIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCPeeringConnectionID") + } + mg.Spec.InitProvider.VPCPeeringConnectionID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPCPeeringConnectionIDRef = rsp.ResolvedReference + + return nil +} + +// ResolveReferences of this RouteTable. +func (mg *RouteTable) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPC", "VPCList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.VPCID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.VPCIDRef, + Selector: mg.Spec.ForProvider.VPCIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VPCID") + } + mg.Spec.ForProvider.VPCID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.VPCIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "VPC", "VPCList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.VPCID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.VPCIDRef, + Selector: mg.Spec.InitProvider.VPCIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCID") + } + mg.Spec.InitProvider.VPCID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.VPCIDRef = rsp.ResolvedReference + + return nil +} diff --git a/apis/ec2/v1beta2/zz_groupversion_info.go b/apis/ec2/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..031f56c12d --- /dev/null +++ b/apis/ec2/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=ec2.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "ec2.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/ec2/v1beta2/zz_route_terraformed.go b/apis/ec2/v1beta2/zz_route_terraformed.go new file mode 100755 index 0000000000..ce99832c52 --- /dev/null +++ b/apis/ec2/v1beta2/zz_route_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Route +func (mg *Route) GetTerraformResourceType() string { + return "aws_route" +} + +// GetConnectionDetailsMapping for this Route +func (tr *Route) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Route +func (tr *Route) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Route +func (tr *Route) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Route +func (tr *Route) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Route +func (tr *Route) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Route +func (tr *Route) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Route +func (tr *Route) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Route +func (tr *Route) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Route using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Route) LateInitialize(attrs []byte) (bool, error) { + params := &RouteParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Route) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/ec2/v1beta2/zz_route_types.go b/apis/ec2/v1beta2/zz_route_types.go new file mode 100755 index 0000000000..b0e8465f45 --- /dev/null +++ b/apis/ec2/v1beta2/zz_route_types.go @@ -0,0 +1,412 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 RouteInitParameters struct { + + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"` + + // The Amazon Resource Name (ARN) of a core network. + CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"` + + // The destination CIDR block. + DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"` + + // The destination IPv6 CIDR block. + DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"` + + // The ID of a managed prefix list destination. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.ManagedPrefixList + DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"` + + // Reference to a ManagedPrefixList in ec2 to populate destinationPrefixListId. + // +kubebuilder:validation:Optional + DestinationPrefixListIDRef *v1.Reference `json:"destinationPrefixListIdRef,omitempty" tf:"-"` + + // Selector for a ManagedPrefixList in ec2 to populate destinationPrefixListId. + // +kubebuilder:validation:Optional + DestinationPrefixListIDSelector *v1.Selector `json:"destinationPrefixListIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC Egress Only Internet Gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.EgressOnlyInternetGateway + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"` + + // Reference to a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId. + // +kubebuilder:validation:Optional + EgressOnlyGatewayIDRef *v1.Reference `json:"egressOnlyGatewayIdRef,omitempty" tf:"-"` + + // Selector for a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId. + // +kubebuilder:validation:Optional + EgressOnlyGatewayIDSelector *v1.Selector `json:"egressOnlyGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.InternetGateway + GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` + + // Reference to a InternetGateway in ec2 to populate gatewayId. + // +kubebuilder:validation:Optional + GatewayIDRef *v1.Reference `json:"gatewayIdRef,omitempty" tf:"-"` + + // Selector for a InternetGateway in ec2 to populate gatewayId. + // +kubebuilder:validation:Optional + GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a Outpost local gateway. + LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` + + // Identifier of a VPC NAT gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NATGateway + NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"` + + // Reference to a NATGateway in ec2 to populate natGatewayId. + // +kubebuilder:validation:Optional + NATGatewayIDRef *v1.Reference `json:"natGatewayIdRef,omitempty" tf:"-"` + + // Selector for a NATGateway in ec2 to populate natGatewayId. + // +kubebuilder:validation:Optional + NATGatewayIDSelector *v1.Selector `json:"natGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of an EC2 network interface. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface + NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"` + + // Reference to a NetworkInterface in ec2 to populate networkInterfaceId. + // +kubebuilder:validation:Optional + NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"` + + // Selector for a NetworkInterface in ec2 to populate networkInterfaceId. + // +kubebuilder:validation:Optional + NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"` + + // The ID of the routing table. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable + RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` + + // Reference to a RouteTable in ec2 to populate routeTableId. + // +kubebuilder:validation:Optional + RouteTableIDRef *v1.Reference `json:"routeTableIdRef,omitempty" tf:"-"` + + // Selector for a RouteTable in ec2 to populate routeTableId. + // +kubebuilder:validation:Optional + RouteTableIDSelector *v1.Selector `json:"routeTableIdSelector,omitempty" tf:"-"` + + // Identifier of an EC2 Transit Gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway + TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"` + + // Reference to a TransitGateway in ec2 to populate transitGatewayId. + // +kubebuilder:validation:Optional + TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"` + + // Selector for a TransitGateway in ec2 to populate transitGatewayId. + // +kubebuilder:validation:Optional + TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC Endpoint. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCEndpoint + VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"` + + // Reference to a VPCEndpoint in ec2 to populate vpcEndpointId. + // +kubebuilder:validation:Optional + VPCEndpointIDRef *v1.Reference `json:"vpcEndpointIdRef,omitempty" tf:"-"` + + // Selector for a VPCEndpoint in ec2 to populate vpcEndpointId. + // +kubebuilder:validation:Optional + VPCEndpointIDSelector *v1.Selector `json:"vpcEndpointIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC peering connection. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCPeeringConnection + VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"` + + // Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId. + // +kubebuilder:validation:Optional + VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"` + + // Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId. + // +kubebuilder:validation:Optional + VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"` +} + +type RouteObservation struct { + + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"` + + // The Amazon Resource Name (ARN) of a core network. + CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"` + + // The destination CIDR block. + DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"` + + // The destination IPv6 CIDR block. + DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"` + + // The ID of a managed prefix list destination. + DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"` + + // Identifier of a VPC Egress Only Internet Gateway. + EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"` + + // Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route. + GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` + + // Route identifier computed from the routing table identifier and route destination. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Identifier of an EC2 instance. + InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"` + + // The AWS account ID of the owner of the EC2 instance. + InstanceOwnerID *string `json:"instanceOwnerId,omitempty" tf:"instance_owner_id,omitempty"` + + // Identifier of a Outpost local gateway. + LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` + + // Identifier of a VPC NAT gateway. + NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"` + + // Identifier of an EC2 network interface. + NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"` + + // How the route was created - CreateRouteTable, CreateRoute or EnableVgwRoutePropagation. + Origin *string `json:"origin,omitempty" tf:"origin,omitempty"` + + // The ID of the routing table. + RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` + + // The state of the route - active or blackhole. + State *string `json:"state,omitempty" tf:"state,omitempty"` + + // Identifier of an EC2 Transit Gateway. + TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"` + + // Identifier of a VPC Endpoint. + VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"` + + // Identifier of a VPC peering connection. + VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"` +} + +type RouteParameters struct { + + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + // +kubebuilder:validation:Optional + CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"` + + // The Amazon Resource Name (ARN) of a core network. + // +kubebuilder:validation:Optional + CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"` + + // The destination CIDR block. + // +kubebuilder:validation:Optional + DestinationCidrBlock *string `json:"destinationCidrBlock,omitempty" tf:"destination_cidr_block,omitempty"` + + // The destination IPv6 CIDR block. + // +kubebuilder:validation:Optional + DestinationIPv6CidrBlock *string `json:"destinationIpv6CidrBlock,omitempty" tf:"destination_ipv6_cidr_block,omitempty"` + + // The ID of a managed prefix list destination. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.ManagedPrefixList + // +kubebuilder:validation:Optional + DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"` + + // Reference to a ManagedPrefixList in ec2 to populate destinationPrefixListId. + // +kubebuilder:validation:Optional + DestinationPrefixListIDRef *v1.Reference `json:"destinationPrefixListIdRef,omitempty" tf:"-"` + + // Selector for a ManagedPrefixList in ec2 to populate destinationPrefixListId. + // +kubebuilder:validation:Optional + DestinationPrefixListIDSelector *v1.Selector `json:"destinationPrefixListIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC Egress Only Internet Gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.EgressOnlyInternetGateway + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() + // +kubebuilder:validation:Optional + EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"` + + // Reference to a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId. + // +kubebuilder:validation:Optional + EgressOnlyGatewayIDRef *v1.Reference `json:"egressOnlyGatewayIdRef,omitempty" tf:"-"` + + // Selector for a EgressOnlyInternetGateway in ec2 to populate egressOnlyGatewayId. + // +kubebuilder:validation:Optional + EgressOnlyGatewayIDSelector *v1.Selector `json:"egressOnlyGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC internet gateway or a virtual private gateway. Specify local when updating a previously imported local route. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.InternetGateway + // +kubebuilder:validation:Optional + GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` + + // Reference to a InternetGateway in ec2 to populate gatewayId. + // +kubebuilder:validation:Optional + GatewayIDRef *v1.Reference `json:"gatewayIdRef,omitempty" tf:"-"` + + // Selector for a InternetGateway in ec2 to populate gatewayId. + // +kubebuilder:validation:Optional + GatewayIDSelector *v1.Selector `json:"gatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a Outpost local gateway. + // +kubebuilder:validation:Optional + LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` + + // Identifier of a VPC NAT gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NATGateway + // +kubebuilder:validation:Optional + NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"` + + // Reference to a NATGateway in ec2 to populate natGatewayId. + // +kubebuilder:validation:Optional + NATGatewayIDRef *v1.Reference `json:"natGatewayIdRef,omitempty" tf:"-"` + + // Selector for a NATGateway in ec2 to populate natGatewayId. + // +kubebuilder:validation:Optional + NATGatewayIDSelector *v1.Selector `json:"natGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of an EC2 network interface. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.NetworkInterface + // +kubebuilder:validation:Optional + NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"` + + // Reference to a NetworkInterface in ec2 to populate networkInterfaceId. + // +kubebuilder:validation:Optional + NetworkInterfaceIDRef *v1.Reference `json:"networkInterfaceIdRef,omitempty" tf:"-"` + + // Selector for a NetworkInterface in ec2 to populate networkInterfaceId. + // +kubebuilder:validation:Optional + NetworkInterfaceIDSelector *v1.Selector `json:"networkInterfaceIdSelector,omitempty" tf:"-"` + + // 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:"-"` + + // The ID of the routing table. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta2.RouteTable + // +kubebuilder:validation:Optional + RouteTableID *string `json:"routeTableId,omitempty" tf:"route_table_id,omitempty"` + + // Reference to a RouteTable in ec2 to populate routeTableId. + // +kubebuilder:validation:Optional + RouteTableIDRef *v1.Reference `json:"routeTableIdRef,omitempty" tf:"-"` + + // Selector for a RouteTable in ec2 to populate routeTableId. + // +kubebuilder:validation:Optional + RouteTableIDSelector *v1.Selector `json:"routeTableIdSelector,omitempty" tf:"-"` + + // Identifier of an EC2 Transit Gateway. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.TransitGateway + // +kubebuilder:validation:Optional + TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"` + + // Reference to a TransitGateway in ec2 to populate transitGatewayId. + // +kubebuilder:validation:Optional + TransitGatewayIDRef *v1.Reference `json:"transitGatewayIdRef,omitempty" tf:"-"` + + // Selector for a TransitGateway in ec2 to populate transitGatewayId. + // +kubebuilder:validation:Optional + TransitGatewayIDSelector *v1.Selector `json:"transitGatewayIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC Endpoint. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCEndpoint + // +kubebuilder:validation:Optional + VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"` + + // Reference to a VPCEndpoint in ec2 to populate vpcEndpointId. + // +kubebuilder:validation:Optional + VPCEndpointIDRef *v1.Reference `json:"vpcEndpointIdRef,omitempty" tf:"-"` + + // Selector for a VPCEndpoint in ec2 to populate vpcEndpointId. + // +kubebuilder:validation:Optional + VPCEndpointIDSelector *v1.Selector `json:"vpcEndpointIdSelector,omitempty" tf:"-"` + + // Identifier of a VPC peering connection. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPCPeeringConnection + // +kubebuilder:validation:Optional + VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"` + + // Reference to a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId. + // +kubebuilder:validation:Optional + VPCPeeringConnectionIDRef *v1.Reference `json:"vpcPeeringConnectionIdRef,omitempty" tf:"-"` + + // Selector for a VPCPeeringConnection in ec2 to populate vpcPeeringConnectionId. + // +kubebuilder:validation:Optional + VPCPeeringConnectionIDSelector *v1.Selector `json:"vpcPeeringConnectionIdSelector,omitempty" tf:"-"` +} + +// RouteSpec defines the desired state of Route +type RouteSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouteParameters `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 RouteInitParameters `json:"initProvider,omitempty"` +} + +// RouteStatus defines the observed state of Route. +type RouteStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouteObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Route is the Schema for the Routes API. Provides a resource to create a routing entry in a VPC routing table. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type Route struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouteSpec `json:"spec"` + Status RouteStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouteList contains a list of Routes +type RouteList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Route `json:"items"` +} + +// Repository type metadata. +var ( + Route_Kind = "Route" + Route_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Route_Kind}.String() + Route_KindAPIVersion = Route_Kind + "." + CRDGroupVersion.String() + Route_GroupVersionKind = CRDGroupVersion.WithKind(Route_Kind) +) + +func init() { + SchemeBuilder.Register(&Route{}, &RouteList{}) +} diff --git a/apis/ec2/v1beta2/zz_routetable_terraformed.go b/apis/ec2/v1beta2/zz_routetable_terraformed.go new file mode 100755 index 0000000000..a52406ac4d --- /dev/null +++ b/apis/ec2/v1beta2/zz_routetable_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this RouteTable +func (mg *RouteTable) GetTerraformResourceType() string { + return "aws_route_table" +} + +// GetConnectionDetailsMapping for this RouteTable +func (tr *RouteTable) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this RouteTable +func (tr *RouteTable) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this RouteTable +func (tr *RouteTable) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this RouteTable +func (tr *RouteTable) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this RouteTable +func (tr *RouteTable) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this RouteTable +func (tr *RouteTable) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this RouteTable +func (tr *RouteTable) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this RouteTable +func (tr *RouteTable) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this RouteTable using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *RouteTable) LateInitialize(attrs []byte) (bool, error) { + params := &RouteTableParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *RouteTable) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/ec2/v1beta2/zz_routetable_types.go b/apis/ec2/v1beta2/zz_routetable_types.go new file mode 100755 index 0000000000..5c0c30e786 --- /dev/null +++ b/apis/ec2/v1beta2/zz_routetable_types.go @@ -0,0 +1,203 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 RouteTableInitParameters struct { + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The VPC ID. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC + VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"` + + // Reference to a VPC in ec2 to populate vpcId. + // +kubebuilder:validation:Optional + VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"` + + // Selector for a VPC in ec2 to populate vpcId. + // +kubebuilder:validation:Optional + VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"` +} + +type RouteTableObservation struct { + + // The ARN of the route table. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // The ID of the routing table. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The ID of the AWS account that owns the route table. + OwnerID *string `json:"ownerId,omitempty" tf:"owner_id,omitempty"` + + // A list of virtual gateways for propagation. + // +listType=set + PropagatingVgws []*string `json:"propagatingVgws,omitempty" tf:"propagating_vgws,omitempty"` + + // A list of route objects. Their keys are documented below. This argument is processed in attribute-as-blocks mode. + // This means that omitting this argument is interpreted as ignoring any existing routes. To remove all managed routes an empty list should be specified. See the example above. + Route []RouteTableRouteObservation `json:"route,omitempty" tf:"route,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` + + // The VPC ID. + VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"` +} + +type RouteTableParameters struct { + + // 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:"-"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // The VPC ID. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.VPC + // +kubebuilder:validation:Optional + VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"` + + // Reference to a VPC in ec2 to populate vpcId. + // +kubebuilder:validation:Optional + VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"` + + // Selector for a VPC in ec2 to populate vpcId. + // +kubebuilder:validation:Optional + VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"` +} + +type RouteTableRouteInitParameters struct { +} + +type RouteTableRouteObservation struct { + + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + CarrierGatewayID *string `json:"carrierGatewayId,omitempty" tf:"carrier_gateway_id,omitempty"` + + // The CIDR block of the route. + CidrBlock *string `json:"cidrBlock,omitempty" tf:"cidr_block,omitempty"` + + // The Amazon Resource Name (ARN) of a core network. + CoreNetworkArn *string `json:"coreNetworkArn,omitempty" tf:"core_network_arn,omitempty"` + + // The ID of a managed prefix list destination of the route. + DestinationPrefixListID *string `json:"destinationPrefixListId,omitempty" tf:"destination_prefix_list_id,omitempty"` + + // Identifier of a VPC Egress Only Internet Gateway. + EgressOnlyGatewayID *string `json:"egressOnlyGatewayId,omitempty" tf:"egress_only_gateway_id,omitempty"` + + // Identifier of a VPC internet gateway, virtual private gateway, or local. local routes cannot be created but can be adopted or imported. See the example above. + GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"` + + // The Ipv6 CIDR block of the route. + IPv6CidrBlock *string `json:"ipv6CidrBlock,omitempty" tf:"ipv6_cidr_block,omitempty"` + + // Identifier of a Outpost local gateway. + LocalGatewayID *string `json:"localGatewayId,omitempty" tf:"local_gateway_id,omitempty"` + + // Identifier of a VPC NAT gateway. + NATGatewayID *string `json:"natGatewayId,omitempty" tf:"nat_gateway_id,omitempty"` + + // Identifier of an EC2 network interface. + NetworkInterfaceID *string `json:"networkInterfaceId,omitempty" tf:"network_interface_id,omitempty"` + + // Identifier of an EC2 Transit Gateway. + TransitGatewayID *string `json:"transitGatewayId,omitempty" tf:"transit_gateway_id,omitempty"` + + // Identifier of a VPC Endpoint. + VPCEndpointID *string `json:"vpcEndpointId,omitempty" tf:"vpc_endpoint_id,omitempty"` + + // Identifier of a VPC peering connection. + VPCPeeringConnectionID *string `json:"vpcPeeringConnectionId,omitempty" tf:"vpc_peering_connection_id,omitempty"` +} + +type RouteTableRouteParameters struct { +} + +// RouteTableSpec defines the desired state of RouteTable +type RouteTableSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider RouteTableParameters `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 RouteTableInitParameters `json:"initProvider,omitempty"` +} + +// RouteTableStatus defines the observed state of RouteTable. +type RouteTableStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider RouteTableObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// RouteTable is the Schema for the RouteTables API. Provides a resource to create a VPC routing table. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type RouteTable struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RouteTableSpec `json:"spec"` + Status RouteTableStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// RouteTableList contains a list of RouteTables +type RouteTableList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []RouteTable `json:"items"` +} + +// Repository type metadata. +var ( + RouteTable_Kind = "RouteTable" + RouteTable_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RouteTable_Kind}.String() + RouteTable_KindAPIVersion = RouteTable_Kind + "." + CRDGroupVersion.String() + RouteTable_GroupVersionKind = CRDGroupVersion.WithKind(RouteTable_Kind) +) + +func init() { + SchemeBuilder.Register(&RouteTable{}, &RouteTableList{}) +} diff --git a/apis/ecr/v1beta1/zz_lifecyclepolicy_types.go b/apis/ecr/v1beta1/zz_lifecyclepolicy_types.go index dfe86e3c38..148123aa90 100755 --- a/apis/ecr/v1beta1/zz_lifecyclepolicy_types.go +++ b/apis/ecr/v1beta1/zz_lifecyclepolicy_types.go @@ -98,6 +98,7 @@ type LifecyclePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LifecyclePolicy is the Schema for the LifecyclePolicys API. Manages an ECR repository lifecycle policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_pullthroughcacherule_types.go b/apis/ecr/v1beta1/zz_pullthroughcacherule_types.go index cfb25de9ee..3d7e3c5b2b 100755 --- a/apis/ecr/v1beta1/zz_pullthroughcacherule_types.go +++ b/apis/ecr/v1beta1/zz_pullthroughcacherule_types.go @@ -81,6 +81,7 @@ type PullThroughCacheRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PullThroughCacheRule is the Schema for the PullThroughCacheRules API. Provides an Elastic Container Registry Pull Through Cache Rule. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_registrypolicy_types.go b/apis/ecr/v1beta1/zz_registrypolicy_types.go index 9c84edd0dd..9aab1746f6 100755 --- a/apis/ecr/v1beta1/zz_registrypolicy_types.go +++ b/apis/ecr/v1beta1/zz_registrypolicy_types.go @@ -70,6 +70,7 @@ type RegistryPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegistryPolicy is the Schema for the RegistryPolicys API. Provides an Elastic Container Registry Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_registryscanningconfiguration_types.go b/apis/ecr/v1beta1/zz_registryscanningconfiguration_types.go index b36f911e5b..49f3251a96 100755 --- a/apis/ecr/v1beta1/zz_registryscanningconfiguration_types.go +++ b/apis/ecr/v1beta1/zz_registryscanningconfiguration_types.go @@ -130,6 +130,7 @@ type RegistryScanningConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegistryScanningConfiguration is the Schema for the RegistryScanningConfigurations API. Provides an Elastic Container Registry Scanning Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_replicationconfiguration_types.go b/apis/ecr/v1beta1/zz_replicationconfiguration_types.go index d99e965156..4d11018fdf 100755 --- a/apis/ecr/v1beta1/zz_replicationconfiguration_types.go +++ b/apis/ecr/v1beta1/zz_replicationconfiguration_types.go @@ -174,6 +174,7 @@ type ReplicationConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicationConfiguration is the Schema for the ReplicationConfigurations API. Provides an Elastic Container Registry Replication Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_repository_types.go b/apis/ecr/v1beta1/zz_repository_types.go index 137bfbc1ec..1050577fcc 100755 --- a/apis/ecr/v1beta1/zz_repository_types.go +++ b/apis/ecr/v1beta1/zz_repository_types.go @@ -195,6 +195,7 @@ type RepositoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Repository is the Schema for the Repositorys API. Provides an Elastic Container Registry Repository. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecr/v1beta1/zz_repositorypolicy_types.go b/apis/ecr/v1beta1/zz_repositorypolicy_types.go index 52063857c3..92b03437dd 100755 --- a/apis/ecr/v1beta1/zz_repositorypolicy_types.go +++ b/apis/ecr/v1beta1/zz_repositorypolicy_types.go @@ -98,6 +98,7 @@ type RepositoryPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RepositoryPolicy is the Schema for the RepositoryPolicys API. Provides an Elastic Container Registry Repository Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecrpublic/v1beta1/zz_repository_types.go b/apis/ecrpublic/v1beta1/zz_repository_types.go index e0b1957a97..cb0d3b563e 100755 --- a/apis/ecrpublic/v1beta1/zz_repository_types.go +++ b/apis/ecrpublic/v1beta1/zz_repository_types.go @@ -177,6 +177,7 @@ type RepositoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Repository is the Schema for the Repositorys API. Provides a Public Elastic Container Registry Repository. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecrpublic/v1beta1/zz_repositorypolicy_types.go b/apis/ecrpublic/v1beta1/zz_repositorypolicy_types.go index 0454397267..a11ced3790 100755 --- a/apis/ecrpublic/v1beta1/zz_repositorypolicy_types.go +++ b/apis/ecrpublic/v1beta1/zz_repositorypolicy_types.go @@ -98,6 +98,7 @@ type RepositoryPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RepositoryPolicy is the Schema for the RepositoryPolicys API. Provides an Elastic Container Registry Public Repository Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_accountsettingdefault_types.go b/apis/ecs/v1beta1/zz_accountsettingdefault_types.go index 67d7a4b40a..3b72c90c85 100755 --- a/apis/ecs/v1beta1/zz_accountsettingdefault_types.go +++ b/apis/ecs/v1beta1/zz_accountsettingdefault_types.go @@ -81,6 +81,7 @@ type AccountSettingDefaultStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccountSettingDefault is the Schema for the AccountSettingDefaults API. Provides an ECS Default account setting. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_capacityprovider_types.go b/apis/ecs/v1beta1/zz_capacityprovider_types.go index d7daff13cb..7f3e9f51dc 100755 --- a/apis/ecs/v1beta1/zz_capacityprovider_types.go +++ b/apis/ecs/v1beta1/zz_capacityprovider_types.go @@ -207,6 +207,7 @@ type CapacityProviderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CapacityProvider is the Schema for the CapacityProviders API. Provides an ECS cluster capacity provider. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_cluster_types.go b/apis/ecs/v1beta1/zz_cluster_types.go index ff2e3fb4dc..1f200b0de8 100755 --- a/apis/ecs/v1beta1/zz_cluster_types.go +++ b/apis/ecs/v1beta1/zz_cluster_types.go @@ -274,6 +274,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides an ECS cluster. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_clustercapacityproviders_types.go b/apis/ecs/v1beta1/zz_clustercapacityproviders_types.go index 1b7f8b09b6..843b42d8f3 100755 --- a/apis/ecs/v1beta1/zz_clustercapacityproviders_types.go +++ b/apis/ecs/v1beta1/zz_clustercapacityproviders_types.go @@ -149,6 +149,7 @@ type ClusterCapacityProvidersStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterCapacityProviders is the Schema for the ClusterCapacityProviderss API. Provides an ECS cluster capacity providers resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_service_types.go b/apis/ecs/v1beta1/zz_service_types.go index d0354fcbb7..314a19e175 100755 --- a/apis/ecs/v1beta1/zz_service_types.go +++ b/apis/ecs/v1beta1/zz_service_types.go @@ -994,6 +994,7 @@ type ServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Service is the Schema for the Services API. Provides an ECS service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ecs/v1beta1/zz_taskdefinition_types.go b/apis/ecs/v1beta1/zz_taskdefinition_types.go index ea79131555..1df82f47c3 100755 --- a/apis/ecs/v1beta1/zz_taskdefinition_types.go +++ b/apis/ecs/v1beta1/zz_taskdefinition_types.go @@ -708,6 +708,7 @@ type TaskDefinitionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TaskDefinition is the Schema for the TaskDefinitions API. Manages a revision of an ECS task definition. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_accesspoint_types.go b/apis/efs/v1beta1/zz_accesspoint_types.go index 49281affd0..83ab5bbdec 100755 --- a/apis/efs/v1beta1/zz_accesspoint_types.go +++ b/apis/efs/v1beta1/zz_accesspoint_types.go @@ -243,6 +243,7 @@ type AccessPointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccessPoint is the Schema for the AccessPoints API. Provides an Elastic File System (EFS) access point. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_backuppolicy_types.go b/apis/efs/v1beta1/zz_backuppolicy_types.go index 423be6d530..7f3740e24d 100755 --- a/apis/efs/v1beta1/zz_backuppolicy_types.go +++ b/apis/efs/v1beta1/zz_backuppolicy_types.go @@ -116,6 +116,7 @@ type BackupPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BackupPolicy is the Schema for the BackupPolicys API. Provides an Elastic File System (EFS) Backup Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_filesystem_types.go b/apis/efs/v1beta1/zz_filesystem_types.go index 2163c8556a..10dee9a377 100755 --- a/apis/efs/v1beta1/zz_filesystem_types.go +++ b/apis/efs/v1beta1/zz_filesystem_types.go @@ -253,6 +253,7 @@ type FileSystemStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FileSystem is the Schema for the FileSystems API. Provides an Elastic File System (EFS) File System resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_filesystempolicy_types.go b/apis/efs/v1beta1/zz_filesystempolicy_types.go index 1bed38be20..3c579a33f2 100755 --- a/apis/efs/v1beta1/zz_filesystempolicy_types.go +++ b/apis/efs/v1beta1/zz_filesystempolicy_types.go @@ -107,6 +107,7 @@ type FileSystemPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FileSystemPolicy is the Schema for the FileSystemPolicys API. Provides an Elastic File System (EFS) File System Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_mounttarget_types.go b/apis/efs/v1beta1/zz_mounttarget_types.go index adb75f2db0..6ec412443d 100755 --- a/apis/efs/v1beta1/zz_mounttarget_types.go +++ b/apis/efs/v1beta1/zz_mounttarget_types.go @@ -183,6 +183,7 @@ type MountTargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MountTarget is the Schema for the MountTargets API. Provides an Elastic File System (EFS) mount target. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/efs/v1beta1/zz_replicationconfiguration_types.go b/apis/efs/v1beta1/zz_replicationconfiguration_types.go index 8f20f12c11..bdaeb3f9c2 100755 --- a/apis/efs/v1beta1/zz_replicationconfiguration_types.go +++ b/apis/efs/v1beta1/zz_replicationconfiguration_types.go @@ -153,6 +153,7 @@ type ReplicationConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicationConfiguration is the Schema for the ReplicationConfigurations API. Provides an Elastic File System (EFS) Replication Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_addon_types.go b/apis/eks/v1beta1/zz_addon_types.go index cee41db810..4d96a17f3e 100755 --- a/apis/eks/v1beta1/zz_addon_types.go +++ b/apis/eks/v1beta1/zz_addon_types.go @@ -234,6 +234,7 @@ type AddonStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Addon is the Schema for the Addons API. Manages an EKS add-on // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_cluster_types.go b/apis/eks/v1beta1/zz_cluster_types.go index 9b8453117f..9fec9ae6ad 100755 --- a/apis/eks/v1beta1/zz_cluster_types.go +++ b/apis/eks/v1beta1/zz_cluster_types.go @@ -513,6 +513,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Manages an EKS Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_fargateprofile_types.go b/apis/eks/v1beta1/zz_fargateprofile_types.go index 808739ef96..d053c8b7ee 100755 --- a/apis/eks/v1beta1/zz_fargateprofile_types.go +++ b/apis/eks/v1beta1/zz_fargateprofile_types.go @@ -217,6 +217,7 @@ type FargateProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FargateProfile is the Schema for the FargateProfiles API. Manages an EKS Fargate Profile // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_identityproviderconfig_types.go b/apis/eks/v1beta1/zz_identityproviderconfig_types.go index 2455a687e2..dcdd0cc0c9 100755 --- a/apis/eks/v1beta1/zz_identityproviderconfig_types.go +++ b/apis/eks/v1beta1/zz_identityproviderconfig_types.go @@ -202,6 +202,7 @@ type IdentityProviderConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IdentityProviderConfig is the Schema for the IdentityProviderConfigs API. Manages an EKS Identity Provider Configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_nodegroup_types.go b/apis/eks/v1beta1/zz_nodegroup_types.go index a5b3add4d3..04a676ef42 100755 --- a/apis/eks/v1beta1/zz_nodegroup_types.go +++ b/apis/eks/v1beta1/zz_nodegroup_types.go @@ -547,6 +547,7 @@ type NodeGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NodeGroup is the Schema for the NodeGroups API. Manages an EKS Node Group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/eks/v1beta1/zz_podidentityassociation_types.go b/apis/eks/v1beta1/zz_podidentityassociation_types.go index 94e5186309..75b3364e0b 100755 --- a/apis/eks/v1beta1/zz_podidentityassociation_types.go +++ b/apis/eks/v1beta1/zz_podidentityassociation_types.go @@ -159,6 +159,7 @@ type PodIdentityAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PodIdentityAssociation is the Schema for the PodIdentityAssociations API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta1/zz_cluster_types.go b/apis/elasticache/v1beta1/zz_cluster_types.go index 3cd708683b..1ce55c2f7b 100755 --- a/apis/elasticache/v1beta1/zz_cluster_types.go +++ b/apis/elasticache/v1beta1/zz_cluster_types.go @@ -117,7 +117,7 @@ type ClusterInitParameters struct { PreferredOutpostArn *string `json:"preferredOutpostArn,omitempty" tf:"preferred_outpost_arn,omitempty"` // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.ReplicationGroup + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta2.ReplicationGroup // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() ReplicationGroupID *string `json:"replicationGroupId,omitempty" tf:"replication_group_id,omitempty"` @@ -399,7 +399,7 @@ type ClusterParameters struct { Region *string `json:"region" tf:"-"` // ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.ReplicationGroup + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta2.ReplicationGroup // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID() // +kubebuilder:validation:Optional ReplicationGroupID *string `json:"replicationGroupId,omitempty" tf:"replication_group_id,omitempty"` @@ -541,6 +541,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides an ElastiCache Cluster resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta1/zz_generated.conversion_hubs.go b/apis/elasticache/v1beta1/zz_generated.conversion_hubs.go index d2a8c35f29..d5917d660b 100755 --- a/apis/elasticache/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/elasticache/v1beta1/zz_generated.conversion_hubs.go @@ -16,9 +16,6 @@ func (tr *Cluster) Hub() {} // Hub marks this type as a conversion hub. func (tr *ParameterGroup) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *ReplicationGroup) Hub() {} - // Hub marks this type as a conversion hub. func (tr *SubnetGroup) Hub() {} diff --git a/apis/elasticache/v1beta1/zz_generated.conversion_spokes.go b/apis/elasticache/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..a335d5b9ef --- /dev/null +++ b/apis/elasticache/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this ReplicationGroup to the hub type. +func (tr *ReplicationGroup) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the ReplicationGroup type. +func (tr *ReplicationGroup) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/elasticache/v1beta1/zz_generated.deepcopy.go b/apis/elasticache/v1beta1/zz_generated.deepcopy.go index 0707a2a0ab..9fd194adc9 100644 --- a/apis/elasticache/v1beta1/zz_generated.deepcopy.go +++ b/apis/elasticache/v1beta1/zz_generated.deepcopy.go @@ -444,6 +444,81 @@ func (in *ClusterList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterModeInitParameters) DeepCopyInto(out *ClusterModeInitParameters) { + *out = *in + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterModeInitParameters. +func (in *ClusterModeInitParameters) DeepCopy() *ClusterModeInitParameters { + if in == nil { + return nil + } + out := new(ClusterModeInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterModeObservation) DeepCopyInto(out *ClusterModeObservation) { + *out = *in + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterModeObservation. +func (in *ClusterModeObservation) DeepCopy() *ClusterModeObservation { + if in == nil { + return nil + } + out := new(ClusterModeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterModeParameters) DeepCopyInto(out *ClusterModeParameters) { + *out = *in + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterModeParameters. +func (in *ClusterModeParameters) DeepCopy() *ClusterModeParameters { + if in == nil { + return nil + } + out := new(ClusterModeParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = *in @@ -1450,11 +1525,6 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(bool) **out = **in } - if in.AuthTokenUpdateStrategy != nil { - in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy - *out = new(string) - **out = **in - } if in.AutoMinorVersionUpgrade != nil { in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade *out = new(string) @@ -1465,6 +1535,24 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(bool) **out = **in } + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ClusterMode != nil { + in, out := &in.ClusterMode, &out.ClusterMode + *out = make([]ClusterModeInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.DataTieringEnabled != nil { in, out := &in.DataTieringEnabled, &out.DataTieringEnabled *out = new(bool) @@ -1495,11 +1583,6 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(string) **out = **in } - if in.IPDiscovery != nil { - in, out := &in.IPDiscovery, &out.IPDiscovery - *out = new(string) - **out = **in - } if in.KMSKeyID != nil { in, out := &in.KMSKeyID, &out.KMSKeyID *out = new(string) @@ -1532,11 +1615,6 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(bool) **out = **in } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } if in.NodeType != nil { in, out := &in.NodeType, &out.NodeType *out = new(string) @@ -1557,6 +1635,11 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(float64) **out = **in } + if in.NumberCacheClusters != nil { + in, out := &in.NumberCacheClusters, &out.NumberCacheClusters + *out = new(float64) + **out = **in + } if in.ParameterGroupName != nil { in, out := &in.ParameterGroupName, &out.ParameterGroupName *out = new(string) @@ -1583,6 +1666,11 @@ func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInit *out = new(float64) **out = **in } + if in.ReplicationGroupDescription != nil { + in, out := &in.ReplicationGroupDescription, &out.ReplicationGroupDescription + *out = new(string) + **out = **in + } if in.SecurityGroupIDRefs != nil { in, out := &in.SecurityGroupIDRefs, &out.SecurityGroupIDRefs *out = make([]v1.Reference, len(*in)) @@ -1857,11 +1945,6 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(bool) **out = **in } - if in.AuthTokenUpdateStrategy != nil { - in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy - *out = new(string) - **out = **in - } if in.AutoMinorVersionUpgrade != nil { in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade *out = new(string) @@ -1872,11 +1955,29 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(bool) **out = **in } + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.ClusterEnabled != nil { in, out := &in.ClusterEnabled, &out.ClusterEnabled *out = new(bool) **out = **in } + if in.ClusterMode != nil { + in, out := &in.ClusterMode, &out.ClusterMode + *out = make([]ClusterModeObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.ConfigurationEndpointAddress != nil { in, out := &in.ConfigurationEndpointAddress, &out.ConfigurationEndpointAddress *out = new(string) @@ -1922,11 +2023,6 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(string) **out = **in } - if in.IPDiscovery != nil { - in, out := &in.IPDiscovery, &out.IPDiscovery - *out = new(string) - **out = **in - } if in.KMSKeyID != nil { in, out := &in.KMSKeyID, &out.KMSKeyID *out = new(string) @@ -1960,11 +2056,6 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(bool) **out = **in } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } if in.NodeType != nil { in, out := &in.NodeType, &out.NodeType *out = new(string) @@ -1985,6 +2076,11 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(float64) **out = **in } + if in.NumberCacheClusters != nil { + in, out := &in.NumberCacheClusters, &out.NumberCacheClusters + *out = new(float64) + **out = **in + } if in.ParameterGroupName != nil { in, out := &in.ParameterGroupName, &out.ParameterGroupName *out = new(string) @@ -2021,6 +2117,11 @@ func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObserva *out = new(float64) **out = **in } + if in.ReplicationGroupDescription != nil { + in, out := &in.ReplicationGroupDescription, &out.ReplicationGroupDescription + *out = new(string) + **out = **in + } if in.SecurityGroupIds != nil { in, out := &in.SecurityGroupIds, &out.SecurityGroupIds *out = make([]*string, len(*in)) @@ -2152,11 +2253,6 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(v1.SecretKeySelector) **out = **in } - if in.AuthTokenUpdateStrategy != nil { - in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy - *out = new(string) - **out = **in - } if in.AutoMinorVersionUpgrade != nil { in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade *out = new(string) @@ -2167,6 +2263,24 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(bool) **out = **in } + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ClusterMode != nil { + in, out := &in.ClusterMode, &out.ClusterMode + *out = make([]ClusterModeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.DataTieringEnabled != nil { in, out := &in.DataTieringEnabled, &out.DataTieringEnabled *out = new(bool) @@ -2197,11 +2311,6 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(string) **out = **in } - if in.IPDiscovery != nil { - in, out := &in.IPDiscovery, &out.IPDiscovery - *out = new(string) - **out = **in - } if in.KMSKeyID != nil { in, out := &in.KMSKeyID, &out.KMSKeyID *out = new(string) @@ -2234,11 +2343,6 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(bool) **out = **in } - if in.NetworkType != nil { - in, out := &in.NetworkType, &out.NetworkType - *out = new(string) - **out = **in - } if in.NodeType != nil { in, out := &in.NodeType, &out.NodeType *out = new(string) @@ -2259,6 +2363,11 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(float64) **out = **in } + if in.NumberCacheClusters != nil { + in, out := &in.NumberCacheClusters, &out.NumberCacheClusters + *out = new(float64) + **out = **in + } if in.ParameterGroupName != nil { in, out := &in.ParameterGroupName, &out.ParameterGroupName *out = new(string) @@ -2290,6 +2399,11 @@ func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParamete *out = new(float64) **out = **in } + if in.ReplicationGroupDescription != nil { + in, out := &in.ReplicationGroupDescription, &out.ReplicationGroupDescription + *out = new(string) + **out = **in + } if in.SecurityGroupIDRefs != nil { in, out := &in.SecurityGroupIDRefs, &out.SecurityGroupIDRefs *out = make([]v1.Reference, len(*in)) diff --git a/apis/elasticache/v1beta1/zz_generated.resolvers.go b/apis/elasticache/v1beta1/zz_generated.resolvers.go index d70e1daa28..81c5119407 100644 --- a/apis/elasticache/v1beta1/zz_generated.resolvers.go +++ b/apis/elasticache/v1beta1/zz_generated.resolvers.go @@ -47,7 +47,7 @@ func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.ForProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.ParameterGroupNameRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta1", "ReplicationGroup", "ReplicationGroupList") + m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta2", "ReplicationGroup", "ReplicationGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -123,7 +123,7 @@ func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error mg.Spec.InitProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.ParameterGroupNameRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta1", "ReplicationGroup", "ReplicationGroupList") + m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta2", "ReplicationGroup", "ReplicationGroupList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/elasticache/v1beta1/zz_parametergroup_types.go b/apis/elasticache/v1beta1/zz_parametergroup_types.go index 215d05b488..d4b46bb8df 100755 --- a/apis/elasticache/v1beta1/zz_parametergroup_types.go +++ b/apis/elasticache/v1beta1/zz_parametergroup_types.go @@ -148,6 +148,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Provides an ElastiCache parameter group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta1/zz_replicationgroup_types.go b/apis/elasticache/v1beta1/zz_replicationgroup_types.go index 2693efd436..ecd66d082f 100755 --- a/apis/elasticache/v1beta1/zz_replicationgroup_types.go +++ b/apis/elasticache/v1beta1/zz_replicationgroup_types.go @@ -17,6 +17,44 @@ import ( v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" ) +type ClusterModeInitParameters struct { + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` +} + +type ClusterModeObservation struct { + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` +} + +type ClusterModeParameters struct { + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + // +kubebuilder:validation:Optional + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + // +kubebuilder:validation:Optional + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` +} + type ReplicationGroupInitParameters struct { // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false. @@ -25,9 +63,6 @@ type ReplicationGroupInitParameters struct { // Whether to enable encryption at rest. AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"` - // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. - AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` - // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. // Only supported for engine type "redis" and if the engine version is 6 or higher. // Defaults to true. @@ -36,6 +71,13 @@ type ReplicationGroupInitParameters struct { // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false. AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered. + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + + // Create a native Redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter cluster-enabled set to true. + ClusterMode []ClusterModeInitParameters `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"` + // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"` @@ -46,22 +88,18 @@ type ReplicationGroupInitParameters struct { Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` // Version number of the cache engine to be used for the cache clusters in this replication group. - // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. - // If the version is 6, the major and minor version can be set, e.g., 6.2, + // If the version is 6 or higher, the major and minor version can be set, e.g., 6.2, // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. // Otherwise, specify the full version desired, e.g., 5.0.6. - // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + // The actual engine version used is returned in the attribute engine_version_actual, see Attributes Reference below. EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` - // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter (or the num_node_groups parameter of the deprecated cluster_mode block) cannot be set. GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` - // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. - IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` - // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` @@ -83,9 +121,6 @@ type ReplicationGroupInitParameters struct { // Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false. MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` - // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` @@ -99,6 +134,9 @@ type ReplicationGroupInitParameters struct { // Changing this number will trigger a resizing operation before other settings modifications. NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + // Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_cache_clusters, num_node_groups, or the deprecated cluster_mode. Defaults to 1. + NumberCacheClusters *float64 `json:"numberCacheClusters,omitempty" tf:"number_cache_clusters,omitempty"` + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` @@ -113,6 +151,9 @@ type ReplicationGroupInitParameters struct { // Valid values are 0 to 5. ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` + // created description for the replication group. Must not be empty. + ReplicationGroupDescription *string `json:"replicationGroupDescription,omitempty" tf:"replication_group_description,omitempty"` + // References to SecurityGroup in ec2 to populate securityGroupIds. // +kubebuilder:validation:Optional SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"` @@ -121,14 +162,14 @@ type ReplicationGroupInitParameters struct { // +kubebuilder:validation:Optional SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"` - // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup // +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs // +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector // +listType=set SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` - // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // List of cache security group names to associate with this replication group. // +listType=set SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` @@ -229,9 +270,6 @@ type ReplicationGroupObservation struct { // Whether to enable encryption at rest. AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"` - // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. - AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` - // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. // Only supported for engine type "redis" and if the engine version is 6 or higher. // Defaults to true. @@ -240,9 +278,16 @@ type ReplicationGroupObservation struct { // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false. AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered. + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + // Indicates if cluster mode is enabled. ClusterEnabled *bool `json:"clusterEnabled,omitempty" tf:"cluster_enabled,omitempty"` + // Create a native Redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter cluster-enabled set to true. + ClusterMode []ClusterModeObservation `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"` + // Address of the replication group configuration endpoint when cluster mode is enabled. ConfigurationEndpointAddress *string `json:"configurationEndpointAddress,omitempty" tf:"configuration_endpoint_address,omitempty"` @@ -256,11 +301,10 @@ type ReplicationGroupObservation struct { Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` // Version number of the cache engine to be used for the cache clusters in this replication group. - // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. - // If the version is 6, the major and minor version can be set, e.g., 6.2, + // If the version is 6 or higher, the major and minor version can be set, e.g., 6.2, // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. // Otherwise, specify the full version desired, e.g., 5.0.6. - // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + // The actual engine version used is returned in the attribute engine_version_actual, see Attributes Reference below. EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` // Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. @@ -269,15 +313,12 @@ type ReplicationGroupObservation struct { // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` - // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter (or the num_node_groups parameter of the deprecated cluster_mode block) cannot be set. GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` // ID of the ElastiCache Replication Group. ID *string `json:"id,omitempty" tf:"id,omitempty"` - // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. - IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` - // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` @@ -294,9 +335,6 @@ type ReplicationGroupObservation struct { // Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false. MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` - // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` @@ -310,6 +348,9 @@ type ReplicationGroupObservation struct { // Changing this number will trigger a resizing operation before other settings modifications. NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + // Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_cache_clusters, num_node_groups, or the deprecated cluster_mode. Defaults to 1. + NumberCacheClusters *float64 `json:"numberCacheClusters,omitempty" tf:"number_cache_clusters,omitempty"` + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` @@ -330,11 +371,14 @@ type ReplicationGroupObservation struct { // Valid values are 0 to 5. ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` - // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // created description for the replication group. Must not be empty. + ReplicationGroupDescription *string `json:"replicationGroupDescription,omitempty" tf:"replication_group_description,omitempty"` + + // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud // +listType=set SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` - // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // List of cache security group names to associate with this replication group. // +listType=set SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` @@ -384,10 +428,6 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional AuthTokenSecretRef *v1.SecretKeySelector `json:"authTokenSecretRef,omitempty" tf:"-"` - // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. - // +kubebuilder:validation:Optional - AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` - // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. // Only supported for engine type "redis" and if the engine version is 6 or higher. // Defaults to true. @@ -398,6 +438,15 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered. + // +kubebuilder:validation:Optional + // +listType=set + AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"` + + // Create a native Redis cluster. automatic_failover_enabled must be set to true. Cluster Mode documented below. Only 1 cluster_mode block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter cluster-enabled set to true. + // +kubebuilder:validation:Optional + ClusterMode []ClusterModeParameters `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"` + // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. // +kubebuilder:validation:Optional DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"` @@ -411,11 +460,10 @@ type ReplicationGroupParameters struct { Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` // Version number of the cache engine to be used for the cache clusters in this replication group. - // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. - // If the version is 6, the major and minor version can be set, e.g., 6.2, + // If the version is 6 or higher, the major and minor version can be set, e.g., 6.2, // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. // Otherwise, specify the full version desired, e.g., 5.0.6. - // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + // The actual engine version used is returned in the attribute engine_version_actual, see Attributes Reference below. // +kubebuilder:validation:Optional EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` @@ -423,14 +471,10 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` - // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter (or the num_node_groups parameter of the deprecated cluster_mode block) cannot be set. // +kubebuilder:validation:Optional GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` - // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. - // +kubebuilder:validation:Optional - IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` - // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key // +kubebuilder:validation:Optional @@ -456,10 +500,6 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` - // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. - // +kubebuilder:validation:Optional - NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` - // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. // +kubebuilder:validation:Optional NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` @@ -477,6 +517,10 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + // Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with num_cache_clusters, num_node_groups, or the deprecated cluster_mode. Defaults to 1. + // +kubebuilder:validation:Optional + NumberCacheClusters *float64 `json:"numberCacheClusters,omitempty" tf:"number_cache_clusters,omitempty"` + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. // +kubebuilder:validation:Optional ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` @@ -500,6 +544,10 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` + // created description for the replication group. Must not be empty. + // +kubebuilder:validation:Optional + ReplicationGroupDescription *string `json:"replicationGroupDescription,omitempty" tf:"replication_group_description,omitempty"` + // References to SecurityGroup in ec2 to populate securityGroupIds. // +kubebuilder:validation:Optional SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"` @@ -508,7 +556,7 @@ type ReplicationGroupParameters struct { // +kubebuilder:validation:Optional SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"` - // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup // +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs // +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector @@ -516,7 +564,7 @@ type ReplicationGroupParameters struct { // +listType=set SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` - // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // List of cache security group names to associate with this replication group. // +kubebuilder:validation:Optional // +listType=set SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` diff --git a/apis/elasticache/v1beta1/zz_subnetgroup_types.go b/apis/elasticache/v1beta1/zz_subnetgroup_types.go index d2559e6c47..b461b9dfe0 100755 --- a/apis/elasticache/v1beta1/zz_subnetgroup_types.go +++ b/apis/elasticache/v1beta1/zz_subnetgroup_types.go @@ -121,6 +121,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides an ElastiCache Subnet Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta1/zz_user_types.go b/apis/elasticache/v1beta1/zz_user_types.go index 7d96f60593..9b33da9409 100755 --- a/apis/elasticache/v1beta1/zz_user_types.go +++ b/apis/elasticache/v1beta1/zz_user_types.go @@ -155,6 +155,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides an ElastiCache user. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta1/zz_usergroup_types.go b/apis/elasticache/v1beta1/zz_usergroup_types.go index fa26372e30..c8ca77f912 100755 --- a/apis/elasticache/v1beta1/zz_usergroup_types.go +++ b/apis/elasticache/v1beta1/zz_usergroup_types.go @@ -124,6 +124,7 @@ type UserGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserGroup is the Schema for the UserGroups API. Provides an ElastiCache user group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticache/v1beta2/zz_generated.conversion_hubs.go b/apis/elasticache/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..6073a66780 --- /dev/null +++ b/apis/elasticache/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *ReplicationGroup) Hub() {} diff --git a/apis/elasticache/v1beta2/zz_generated.deepcopy.go b/apis/elasticache/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..3f499b1ff4 --- /dev/null +++ b/apis/elasticache/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,1048 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogDeliveryConfigurationInitParameters) DeepCopyInto(out *LogDeliveryConfigurationInitParameters) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.DestinationType != nil { + in, out := &in.DestinationType, &out.DestinationType + *out = new(string) + **out = **in + } + if in.LogFormat != nil { + in, out := &in.LogFormat, &out.LogFormat + *out = new(string) + **out = **in + } + if in.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogDeliveryConfigurationInitParameters. +func (in *LogDeliveryConfigurationInitParameters) DeepCopy() *LogDeliveryConfigurationInitParameters { + if in == nil { + return nil + } + out := new(LogDeliveryConfigurationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogDeliveryConfigurationObservation) DeepCopyInto(out *LogDeliveryConfigurationObservation) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.DestinationType != nil { + in, out := &in.DestinationType, &out.DestinationType + *out = new(string) + **out = **in + } + if in.LogFormat != nil { + in, out := &in.LogFormat, &out.LogFormat + *out = new(string) + **out = **in + } + if in.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogDeliveryConfigurationObservation. +func (in *LogDeliveryConfigurationObservation) DeepCopy() *LogDeliveryConfigurationObservation { + if in == nil { + return nil + } + out := new(LogDeliveryConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogDeliveryConfigurationParameters) DeepCopyInto(out *LogDeliveryConfigurationParameters) { + *out = *in + if in.Destination != nil { + in, out := &in.Destination, &out.Destination + *out = new(string) + **out = **in + } + if in.DestinationType != nil { + in, out := &in.DestinationType, &out.DestinationType + *out = new(string) + **out = **in + } + if in.LogFormat != nil { + in, out := &in.LogFormat, &out.LogFormat + *out = new(string) + **out = **in + } + if in.LogType != nil { + in, out := &in.LogType, &out.LogType + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogDeliveryConfigurationParameters. +func (in *LogDeliveryConfigurationParameters) DeepCopy() *LogDeliveryConfigurationParameters { + if in == nil { + return nil + } + out := new(LogDeliveryConfigurationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroup) DeepCopyInto(out *ReplicationGroup) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroup. +func (in *ReplicationGroup) DeepCopy() *ReplicationGroup { + if in == nil { + return nil + } + out := new(ReplicationGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ReplicationGroup) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupInitParameters) DeepCopyInto(out *ReplicationGroupInitParameters) { + *out = *in + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.AtRestEncryptionEnabled != nil { + in, out := &in.AtRestEncryptionEnabled, &out.AtRestEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.AuthTokenUpdateStrategy != nil { + in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy + *out = new(string) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(string) + **out = **in + } + if in.AutomaticFailoverEnabled != nil { + in, out := &in.AutomaticFailoverEnabled, &out.AutomaticFailoverEnabled + *out = new(bool) + **out = **in + } + if in.DataTieringEnabled != nil { + in, out := &in.DataTieringEnabled, &out.DataTieringEnabled + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.GlobalReplicationGroupID != nil { + in, out := &in.GlobalReplicationGroupID, &out.GlobalReplicationGroupID + *out = new(string) + **out = **in + } + if in.IPDiscovery != nil { + in, out := &in.IPDiscovery, &out.IPDiscovery + *out = new(string) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.KMSKeyIDRef != nil { + in, out := &in.KMSKeyIDRef, &out.KMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyIDSelector != nil { + in, out := &in.KMSKeyIDSelector, &out.KMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LogDeliveryConfiguration != nil { + in, out := &in.LogDeliveryConfiguration, &out.LogDeliveryConfiguration + *out = make([]LogDeliveryConfigurationInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.MultiAzEnabled != nil { + in, out := &in.MultiAzEnabled, &out.MultiAzEnabled + *out = new(bool) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.NodeType != nil { + in, out := &in.NodeType, &out.NodeType + *out = new(string) + **out = **in + } + if in.NotificationTopicArn != nil { + in, out := &in.NotificationTopicArn, &out.NotificationTopicArn + *out = new(string) + **out = **in + } + if in.NumCacheClusters != nil { + in, out := &in.NumCacheClusters, &out.NumCacheClusters + *out = new(float64) + **out = **in + } + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PreferredCacheClusterAzs != nil { + in, out := &in.PreferredCacheClusterAzs, &out.PreferredCacheClusterAzs + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } + if in.SecurityGroupIDRefs != nil { + in, out := &in.SecurityGroupIDRefs, &out.SecurityGroupIDRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityGroupIDSelector != nil { + in, out := &in.SecurityGroupIDSelector, &out.SecurityGroupIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.SecurityGroupIds != nil { + in, out := &in.SecurityGroupIds, &out.SecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotArns != nil { + in, out := &in.SnapshotArns, &out.SnapshotArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotName != nil { + in, out := &in.SnapshotName, &out.SnapshotName + *out = new(string) + **out = **in + } + if in.SnapshotRetentionLimit != nil { + in, out := &in.SnapshotRetentionLimit, &out.SnapshotRetentionLimit + *out = new(float64) + **out = **in + } + if in.SnapshotWindow != nil { + in, out := &in.SnapshotWindow, &out.SnapshotWindow + *out = new(string) + **out = **in + } + if in.SubnetGroupName != nil { + in, out := &in.SubnetGroupName, &out.SubnetGroupName + *out = new(string) + **out = **in + } + if in.SubnetGroupNameRef != nil { + in, out := &in.SubnetGroupNameRef, &out.SubnetGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetGroupNameSelector != nil { + in, out := &in.SubnetGroupNameSelector, &out.SubnetGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TransitEncryptionEnabled != nil { + in, out := &in.TransitEncryptionEnabled, &out.TransitEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.UserGroupIds != nil { + in, out := &in.UserGroupIds, &out.UserGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupInitParameters. +func (in *ReplicationGroupInitParameters) DeepCopy() *ReplicationGroupInitParameters { + if in == nil { + return nil + } + out := new(ReplicationGroupInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupList) DeepCopyInto(out *ReplicationGroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ReplicationGroup, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupList. +func (in *ReplicationGroupList) DeepCopy() *ReplicationGroupList { + if in == nil { + return nil + } + out := new(ReplicationGroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ReplicationGroupList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupObservation) DeepCopyInto(out *ReplicationGroupObservation) { + *out = *in + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.AtRestEncryptionEnabled != nil { + in, out := &in.AtRestEncryptionEnabled, &out.AtRestEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.AuthTokenUpdateStrategy != nil { + in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy + *out = new(string) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(string) + **out = **in + } + if in.AutomaticFailoverEnabled != nil { + in, out := &in.AutomaticFailoverEnabled, &out.AutomaticFailoverEnabled + *out = new(bool) + **out = **in + } + if in.ClusterEnabled != nil { + in, out := &in.ClusterEnabled, &out.ClusterEnabled + *out = new(bool) + **out = **in + } + if in.ConfigurationEndpointAddress != nil { + in, out := &in.ConfigurationEndpointAddress, &out.ConfigurationEndpointAddress + *out = new(string) + **out = **in + } + if in.DataTieringEnabled != nil { + in, out := &in.DataTieringEnabled, &out.DataTieringEnabled + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.EngineVersionActual != nil { + in, out := &in.EngineVersionActual, &out.EngineVersionActual + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.GlobalReplicationGroupID != nil { + in, out := &in.GlobalReplicationGroupID, &out.GlobalReplicationGroupID + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.IPDiscovery != nil { + in, out := &in.IPDiscovery, &out.IPDiscovery + *out = new(string) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.LogDeliveryConfiguration != nil { + in, out := &in.LogDeliveryConfiguration, &out.LogDeliveryConfiguration + *out = make([]LogDeliveryConfigurationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.MemberClusters != nil { + in, out := &in.MemberClusters, &out.MemberClusters + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.MultiAzEnabled != nil { + in, out := &in.MultiAzEnabled, &out.MultiAzEnabled + *out = new(bool) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.NodeType != nil { + in, out := &in.NodeType, &out.NodeType + *out = new(string) + **out = **in + } + if in.NotificationTopicArn != nil { + in, out := &in.NotificationTopicArn, &out.NotificationTopicArn + *out = new(string) + **out = **in + } + if in.NumCacheClusters != nil { + in, out := &in.NumCacheClusters, &out.NumCacheClusters + *out = new(float64) + **out = **in + } + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PreferredCacheClusterAzs != nil { + in, out := &in.PreferredCacheClusterAzs, &out.PreferredCacheClusterAzs + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.PrimaryEndpointAddress != nil { + in, out := &in.PrimaryEndpointAddress, &out.PrimaryEndpointAddress + *out = new(string) + **out = **in + } + if in.ReaderEndpointAddress != nil { + in, out := &in.ReaderEndpointAddress, &out.ReaderEndpointAddress + *out = new(string) + **out = **in + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } + if in.SecurityGroupIds != nil { + in, out := &in.SecurityGroupIds, &out.SecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotArns != nil { + in, out := &in.SnapshotArns, &out.SnapshotArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotName != nil { + in, out := &in.SnapshotName, &out.SnapshotName + *out = new(string) + **out = **in + } + if in.SnapshotRetentionLimit != nil { + in, out := &in.SnapshotRetentionLimit, &out.SnapshotRetentionLimit + *out = new(float64) + **out = **in + } + if in.SnapshotWindow != nil { + in, out := &in.SnapshotWindow, &out.SnapshotWindow + *out = new(string) + **out = **in + } + if in.SubnetGroupName != nil { + in, out := &in.SubnetGroupName, &out.SubnetGroupName + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TransitEncryptionEnabled != nil { + in, out := &in.TransitEncryptionEnabled, &out.TransitEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.UserGroupIds != nil { + in, out := &in.UserGroupIds, &out.UserGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupObservation. +func (in *ReplicationGroupObservation) DeepCopy() *ReplicationGroupObservation { + if in == nil { + return nil + } + out := new(ReplicationGroupObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupParameters) DeepCopyInto(out *ReplicationGroupParameters) { + *out = *in + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.AtRestEncryptionEnabled != nil { + in, out := &in.AtRestEncryptionEnabled, &out.AtRestEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.AuthTokenSecretRef != nil { + in, out := &in.AuthTokenSecretRef, &out.AuthTokenSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.AuthTokenUpdateStrategy != nil { + in, out := &in.AuthTokenUpdateStrategy, &out.AuthTokenUpdateStrategy + *out = new(string) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(string) + **out = **in + } + if in.AutomaticFailoverEnabled != nil { + in, out := &in.AutomaticFailoverEnabled, &out.AutomaticFailoverEnabled + *out = new(bool) + **out = **in + } + if in.DataTieringEnabled != nil { + in, out := &in.DataTieringEnabled, &out.DataTieringEnabled + *out = new(bool) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.GlobalReplicationGroupID != nil { + in, out := &in.GlobalReplicationGroupID, &out.GlobalReplicationGroupID + *out = new(string) + **out = **in + } + if in.IPDiscovery != nil { + in, out := &in.IPDiscovery, &out.IPDiscovery + *out = new(string) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.KMSKeyIDRef != nil { + in, out := &in.KMSKeyIDRef, &out.KMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyIDSelector != nil { + in, out := &in.KMSKeyIDSelector, &out.KMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LogDeliveryConfiguration != nil { + in, out := &in.LogDeliveryConfiguration, &out.LogDeliveryConfiguration + *out = make([]LogDeliveryConfigurationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.MultiAzEnabled != nil { + in, out := &in.MultiAzEnabled, &out.MultiAzEnabled + *out = new(bool) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.NodeType != nil { + in, out := &in.NodeType, &out.NodeType + *out = new(string) + **out = **in + } + if in.NotificationTopicArn != nil { + in, out := &in.NotificationTopicArn, &out.NotificationTopicArn + *out = new(string) + **out = **in + } + if in.NumCacheClusters != nil { + in, out := &in.NumCacheClusters, &out.NumCacheClusters + *out = new(float64) + **out = **in + } + if in.NumNodeGroups != nil { + in, out := &in.NumNodeGroups, &out.NumNodeGroups + *out = new(float64) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PreferredCacheClusterAzs != nil { + in, out := &in.PreferredCacheClusterAzs, &out.PreferredCacheClusterAzs + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ReplicasPerNodeGroup != nil { + in, out := &in.ReplicasPerNodeGroup, &out.ReplicasPerNodeGroup + *out = new(float64) + **out = **in + } + if in.SecurityGroupIDRefs != nil { + in, out := &in.SecurityGroupIDRefs, &out.SecurityGroupIDRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityGroupIDSelector != nil { + in, out := &in.SecurityGroupIDSelector, &out.SecurityGroupIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.SecurityGroupIds != nil { + in, out := &in.SecurityGroupIds, &out.SecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotArns != nil { + in, out := &in.SnapshotArns, &out.SnapshotArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SnapshotName != nil { + in, out := &in.SnapshotName, &out.SnapshotName + *out = new(string) + **out = **in + } + if in.SnapshotRetentionLimit != nil { + in, out := &in.SnapshotRetentionLimit, &out.SnapshotRetentionLimit + *out = new(float64) + **out = **in + } + if in.SnapshotWindow != nil { + in, out := &in.SnapshotWindow, &out.SnapshotWindow + *out = new(string) + **out = **in + } + if in.SubnetGroupName != nil { + in, out := &in.SubnetGroupName, &out.SubnetGroupName + *out = new(string) + **out = **in + } + if in.SubnetGroupNameRef != nil { + in, out := &in.SubnetGroupNameRef, &out.SubnetGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.SubnetGroupNameSelector != nil { + in, out := &in.SubnetGroupNameSelector, &out.SubnetGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TransitEncryptionEnabled != nil { + in, out := &in.TransitEncryptionEnabled, &out.TransitEncryptionEnabled + *out = new(bool) + **out = **in + } + if in.UserGroupIds != nil { + in, out := &in.UserGroupIds, &out.UserGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupParameters. +func (in *ReplicationGroupParameters) DeepCopy() *ReplicationGroupParameters { + if in == nil { + return nil + } + out := new(ReplicationGroupParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupSpec) DeepCopyInto(out *ReplicationGroupSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupSpec. +func (in *ReplicationGroupSpec) DeepCopy() *ReplicationGroupSpec { + if in == nil { + return nil + } + out := new(ReplicationGroupSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ReplicationGroupStatus) DeepCopyInto(out *ReplicationGroupStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicationGroupStatus. +func (in *ReplicationGroupStatus) DeepCopy() *ReplicationGroupStatus { + if in == nil { + return nil + } + out := new(ReplicationGroupStatus) + in.DeepCopyInto(out) + return out +} diff --git a/apis/elasticache/v1beta2/zz_generated.managed.go b/apis/elasticache/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..5d00f6c07c --- /dev/null +++ b/apis/elasticache/v1beta2/zz_generated.managed.go @@ -0,0 +1,68 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this ReplicationGroup. +func (mg *ReplicationGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this ReplicationGroup. +func (mg *ReplicationGroup) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this ReplicationGroup. +func (mg *ReplicationGroup) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this ReplicationGroup. +func (mg *ReplicationGroup) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this ReplicationGroup. +func (mg *ReplicationGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this ReplicationGroup. +func (mg *ReplicationGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this ReplicationGroup. +func (mg *ReplicationGroup) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this ReplicationGroup. +func (mg *ReplicationGroup) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this ReplicationGroup. +func (mg *ReplicationGroup) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this ReplicationGroup. +func (mg *ReplicationGroup) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this ReplicationGroup. +func (mg *ReplicationGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this ReplicationGroup. +func (mg *ReplicationGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/elasticache/v1beta2/zz_generated.managedlist.go b/apis/elasticache/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..a02730de77 --- /dev/null +++ b/apis/elasticache/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,17 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ReplicationGroupList. +func (l *ReplicationGroupList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/elasticache/v1beta2/zz_generated.resolvers.go b/apis/elasticache/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..8646b035a6 --- /dev/null +++ b/apis/elasticache/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,144 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + apisresolver "github.com/upbound/provider-aws/internal/apis" + client "sigs.k8s.io/controller-runtime/pkg/client" +) + +func (mg *ReplicationGroup) ResolveReferences( // ResolveReferences of this ReplicationGroup. + ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.KMSKeyID), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.KMSKeyIDRef, + Selector: mg.Spec.ForProvider.KMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.KMSKeyID") + } + mg.Spec.ForProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.KMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.SecurityGroupIds), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.SecurityGroupIDRefs, + Selector: mg.Spec.ForProvider.SecurityGroupIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.SecurityGroupIds") + } + mg.Spec.ForProvider.SecurityGroupIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.SecurityGroupIDRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta1", "SubnetGroup", "SubnetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.SubnetGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.SubnetGroupNameRef, + Selector: mg.Spec.ForProvider.SubnetGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.SubnetGroupName") + } + mg.Spec.ForProvider.SubnetGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.SubnetGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.KMSKeyID), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.KMSKeyIDRef, + Selector: mg.Spec.InitProvider.KMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.KMSKeyID") + } + mg.Spec.InitProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.KMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.SecurityGroupIds), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.SecurityGroupIDRefs, + Selector: mg.Spec.InitProvider.SecurityGroupIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SecurityGroupIds") + } + mg.Spec.InitProvider.SecurityGroupIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.SecurityGroupIDRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("elasticache.aws.upbound.io", "v1beta1", "SubnetGroup", "SubnetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.SubnetGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.SubnetGroupNameRef, + Selector: mg.Spec.InitProvider.SubnetGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.SubnetGroupName") + } + mg.Spec.InitProvider.SubnetGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.SubnetGroupNameRef = rsp.ResolvedReference + + return nil +} diff --git a/apis/elasticache/v1beta2/zz_groupversion_info.go b/apis/elasticache/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..53b7c0b52a --- /dev/null +++ b/apis/elasticache/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=elasticache.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "elasticache.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/elasticache/v1beta2/zz_replicationgroup_terraformed.go b/apis/elasticache/v1beta2/zz_replicationgroup_terraformed.go new file mode 100755 index 0000000000..f78157bb3a --- /dev/null +++ b/apis/elasticache/v1beta2/zz_replicationgroup_terraformed.go @@ -0,0 +1,136 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this ReplicationGroup +func (mg *ReplicationGroup) GetTerraformResourceType() string { + return "aws_elasticache_replication_group" +} + +// GetConnectionDetailsMapping for this ReplicationGroup +func (tr *ReplicationGroup) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"auth_token": "spec.forProvider.authTokenSecretRef"} +} + +// GetObservation of this ReplicationGroup +func (tr *ReplicationGroup) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this ReplicationGroup +func (tr *ReplicationGroup) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this ReplicationGroup +func (tr *ReplicationGroup) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this ReplicationGroup +func (tr *ReplicationGroup) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this ReplicationGroup +func (tr *ReplicationGroup) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this ReplicationGroup +func (tr *ReplicationGroup) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this ReplicationGroup +func (tr *ReplicationGroup) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this ReplicationGroup using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *ReplicationGroup) LateInitialize(attrs []byte) (bool, error) { + params := &ReplicationGroupParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + opts = append(opts, resource.WithNameFilter("Description")) + opts = append(opts, resource.WithNameFilter("NumCacheClusters")) + opts = append(opts, resource.WithNameFilter("NumNodeGroups")) + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *ReplicationGroup) GetTerraformSchemaVersion() int { + return 2 +} diff --git a/apis/elasticache/v1beta2/zz_replicationgroup_types.go b/apis/elasticache/v1beta2/zz_replicationgroup_types.go new file mode 100755 index 0000000000..149aa90a86 --- /dev/null +++ b/apis/elasticache/v1beta2/zz_replicationgroup_types.go @@ -0,0 +1,628 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 LogDeliveryConfigurationInitParameters struct { + + // Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource. + Destination *string `json:"destination,omitempty" tf:"destination,omitempty"` + + // For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose. + DestinationType *string `json:"destinationType,omitempty" tf:"destination_type,omitempty"` + + // Valid values are json or text + LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"` + + // Valid values are slow-log or engine-log. Max 1 of each. + LogType *string `json:"logType,omitempty" tf:"log_type,omitempty"` +} + +type LogDeliveryConfigurationObservation struct { + + // Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource. + Destination *string `json:"destination,omitempty" tf:"destination,omitempty"` + + // For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose. + DestinationType *string `json:"destinationType,omitempty" tf:"destination_type,omitempty"` + + // Valid values are json or text + LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"` + + // Valid values are slow-log or engine-log. Max 1 of each. + LogType *string `json:"logType,omitempty" tf:"log_type,omitempty"` +} + +type LogDeliveryConfigurationParameters struct { + + // Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource. + // +kubebuilder:validation:Optional + Destination *string `json:"destination" tf:"destination,omitempty"` + + // For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose. + // +kubebuilder:validation:Optional + DestinationType *string `json:"destinationType" tf:"destination_type,omitempty"` + + // Valid values are json or text + // +kubebuilder:validation:Optional + LogFormat *string `json:"logFormat" tf:"log_format,omitempty"` + + // Valid values are slow-log or engine-log. Max 1 of each. + // +kubebuilder:validation:Optional + LogType *string `json:"logType" tf:"log_type,omitempty"` +} + +type ReplicationGroupInitParameters struct { + + // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false. + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // Whether to enable encryption at rest. + AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"` + + // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. + AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` + + // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. + // Only supported for engine type "redis" and if the engine version is 6 or higher. + // Defaults to true. + AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false. + AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + + // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. + DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"` + + // created description for the replication group. Must not be empty. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the cache engine to be used for the clusters in this replication group. The only valid value is redis. + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // Version number of the cache engine to be used for the cache clusters in this replication group. + // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. + // If the version is 6, the major and minor version can be set, e.g., 6.2, + // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. + // Otherwise, specify the full version desired, e.g., 5.0.6. + // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` + + // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. + IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` + + // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // Reference to a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` + + // Specifies the destination and format of Redis SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details. + LogDeliveryConfiguration []LogDeliveryConfigurationInitParameters `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"` + + // ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00 + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false. + MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` + + // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. + NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` + + // east-1:012345678999:my_sns_topic + NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"` + + // 00#. + NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"` + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // – Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating. + PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,omitempty"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` + + // References to SecurityGroup in ec2 to populate securityGroupIds. + // +kubebuilder:validation:Optional + SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate securityGroupIds. + // +kubebuilder:validation:Optional + SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"` + + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs + // +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector + // +listType=set + SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` + + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + + // – List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. + // +listType=set + SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"` + + // Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource. + SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"` + + // Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes + SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"` + + // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00 + SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"` + + // Name of the cache subnet group to be used for the replication group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.SubnetGroup + SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"` + + // Reference to a SubnetGroup in elasticache to populate subnetGroupName. + // +kubebuilder:validation:Optional + SubnetGroupNameRef *v1.Reference `json:"subnetGroupNameRef,omitempty" tf:"-"` + + // Selector for a SubnetGroup in elasticache to populate subnetGroupName. + // +kubebuilder:validation:Optional + SubnetGroupNameSelector *v1.Selector `json:"subnetGroupNameSelector,omitempty" tf:"-"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Whether to enable encryption in transit. + TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"` + + // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. + // +listType=set + UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"` +} + +type ReplicationGroupObservation struct { + + // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false. + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // ARN of the created ElastiCache Replication Group. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Whether to enable encryption at rest. + AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"` + + // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. + AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` + + // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. + // Only supported for engine type "redis" and if the engine version is 6 or higher. + // Defaults to true. + AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false. + AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + + // Indicates if cluster mode is enabled. + ClusterEnabled *bool `json:"clusterEnabled,omitempty" tf:"cluster_enabled,omitempty"` + + // Address of the replication group configuration endpoint when cluster mode is enabled. + ConfigurationEndpointAddress *string `json:"configurationEndpointAddress,omitempty" tf:"configuration_endpoint_address,omitempty"` + + // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. + DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"` + + // created description for the replication group. Must not be empty. + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the cache engine to be used for the clusters in this replication group. The only valid value is redis. + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // Version number of the cache engine to be used for the cache clusters in this replication group. + // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. + // If the version is 6, the major and minor version can be set, e.g., 6.2, + // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. + // Otherwise, specify the full version desired, e.g., 5.0.6. + // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine. + EngineVersionActual *string `json:"engineVersionActual,omitempty" tf:"engine_version_actual,omitempty"` + + // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` + + // ID of the ElastiCache Replication Group. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. + IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` + + // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // Specifies the destination and format of Redis SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details. + LogDeliveryConfiguration []LogDeliveryConfigurationObservation `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"` + + // ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00 + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Identifiers of all the nodes that are part of this replication group. + // +listType=set + MemberClusters []*string `json:"memberClusters,omitempty" tf:"member_clusters,omitempty"` + + // Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false. + MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` + + // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. + NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` + + // east-1:012345678999:my_sns_topic + NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"` + + // 00#. + NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"` + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // – Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating. + PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,omitempty"` + + // (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled. + PrimaryEndpointAddress *string `json:"primaryEndpointAddress,omitempty" tf:"primary_endpoint_address,omitempty"` + + // (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. + ReaderEndpointAddress *string `json:"readerEndpointAddress,omitempty" tf:"reader_endpoint_address,omitempty"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` + + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +listType=set + SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` + + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + + // – List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. + // +listType=set + SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"` + + // Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource. + SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"` + + // Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes + SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"` + + // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00 + SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"` + + // Name of the cache subnet group to be used for the replication group. + SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` + + // Whether to enable encryption in transit. + TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"` + + // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. + // +listType=set + UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"` +} + +type ReplicationGroupParameters struct { + + // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false. + // +kubebuilder:validation:Optional + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // Whether to enable encryption at rest. + // +kubebuilder:validation:Optional + AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"` + + // Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true. + // +kubebuilder:validation:Optional + AuthTokenSecretRef *v1.SecretKeySelector `json:"authTokenSecretRef,omitempty" tf:"-"` + + // Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE. + // +kubebuilder:validation:Optional + AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"` + + // Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. + // Only supported for engine type "redis" and if the engine version is 6 or higher. + // Defaults to true. + // +kubebuilder:validation:Optional + AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false. + // +kubebuilder:validation:Optional + AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"` + + // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. + // +kubebuilder:validation:Optional + DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"` + + // created description for the replication group. Must not be empty. + // +kubebuilder:validation:Optional + Description *string `json:"description,omitempty" tf:"description,omitempty"` + + // Name of the cache engine to be used for the clusters in this replication group. The only valid value is redis. + // +kubebuilder:validation:Optional + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // Version number of the cache engine to be used for the cache clusters in this replication group. + // If the version is 7 or higher, the major and minor version should be set, e.g., 7.2. + // If the version is 6, the major and minor version can be set, e.g., 6.2, + // or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x. + // Otherwise, specify the full version desired, e.g., 5.0.6. + // The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below. + // +kubebuilder:validation:Optional + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. + // +kubebuilder:validation:Optional + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set. + // +kubebuilder:validation:Optional + GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"` + + // The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6. + // +kubebuilder:validation:Optional + IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"` + + // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +kubebuilder:validation:Optional + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // Reference to a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` + + // Specifies the destination and format of Redis SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details. + // +kubebuilder:validation:Optional + LogDeliveryConfiguration []LogDeliveryConfigurationParameters `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"` + + // ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00 + // +kubebuilder:validation:Optional + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Specifies whether to enable Multi-AZ Support for the replication group. If true, automatic_failover_enabled must also be enabled. Defaults to false. + // +kubebuilder:validation:Optional + MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"` + + // The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack. + // +kubebuilder:validation:Optional + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Instance class to be used. See AWS documentation for information on supported node types and guidance on selecting node types. Required unless global_replication_group_id is set. Cannot be set if global_replication_group_id is set. + // +kubebuilder:validation:Optional + NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"` + + // east-1:012345678999:my_sns_topic + // +kubebuilder:validation:Optional + NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"` + + // 00#. + // +kubebuilder:validation:Optional + NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"` + + // Number of node groups (shards) for this Redis replication group. + // Changing this number will trigger a resizing operation before other settings modifications. + // +kubebuilder:validation:Optional + NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"` + + // Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true. + // +kubebuilder:validation:Optional + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // – Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. + // +kubebuilder:validation:Optional + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating. + // +kubebuilder:validation:Optional + PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,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:"-"` + + // Number of replica nodes in each node group. + // Changing this number will trigger a resizing operation before other settings modifications. + // Valid values are 0 to 5. + // +kubebuilder:validation:Optional + ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"` + + // References to SecurityGroup in ec2 to populate securityGroupIds. + // +kubebuilder:validation:Optional + SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate securityGroupIds. + // +kubebuilder:validation:Optional + SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"` + + // IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs + // +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector + // +kubebuilder:validation:Optional + // +listType=set + SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"` + + // Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud. + // +kubebuilder:validation:Optional + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + + // – List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. + // +kubebuilder:validation:Optional + // +listType=set + SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"` + + // Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource. + // +kubebuilder:validation:Optional + SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"` + + // Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes + // +kubebuilder:validation:Optional + SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"` + + // Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00 + // +kubebuilder:validation:Optional + SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"` + + // Name of the cache subnet group to be used for the replication group. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.SubnetGroup + // +kubebuilder:validation:Optional + SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"` + + // Reference to a SubnetGroup in elasticache to populate subnetGroupName. + // +kubebuilder:validation:Optional + SubnetGroupNameRef *v1.Reference `json:"subnetGroupNameRef,omitempty" tf:"-"` + + // Selector for a SubnetGroup in elasticache to populate subnetGroupName. + // +kubebuilder:validation:Optional + SubnetGroupNameSelector *v1.Selector `json:"subnetGroupNameSelector,omitempty" tf:"-"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Whether to enable encryption in transit. + // +kubebuilder:validation:Optional + TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"` + + // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. + // +kubebuilder:validation:Optional + // +listType=set + UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"` +} + +// ReplicationGroupSpec defines the desired state of ReplicationGroup +type ReplicationGroupSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ReplicationGroupParameters `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 ReplicationGroupInitParameters `json:"initProvider,omitempty"` +} + +// ReplicationGroupStatus defines the observed state of ReplicationGroup. +type ReplicationGroupStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ReplicationGroupObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// ReplicationGroup is the Schema for the ReplicationGroups API. Provides an ElastiCache Replication Group resource. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type ReplicationGroup struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ReplicationGroupSpec `json:"spec"` + Status ReplicationGroupStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ReplicationGroupList contains a list of ReplicationGroups +type ReplicationGroupList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ReplicationGroup `json:"items"` +} + +// Repository type metadata. +var ( + ReplicationGroup_Kind = "ReplicationGroup" + ReplicationGroup_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ReplicationGroup_Kind}.String() + ReplicationGroup_KindAPIVersion = ReplicationGroup_Kind + "." + CRDGroupVersion.String() + ReplicationGroup_GroupVersionKind = CRDGroupVersion.WithKind(ReplicationGroup_Kind) +) + +func init() { + SchemeBuilder.Register(&ReplicationGroup{}, &ReplicationGroupList{}) +} diff --git a/apis/elasticbeanstalk/v1beta1/zz_application_types.go b/apis/elasticbeanstalk/v1beta1/zz_application_types.go index 79e7de0984..0eee4c698d 100755 --- a/apis/elasticbeanstalk/v1beta1/zz_application_types.go +++ b/apis/elasticbeanstalk/v1beta1/zz_application_types.go @@ -162,6 +162,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Provides an Elastic Beanstalk Application Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticbeanstalk/v1beta1/zz_applicationversion_types.go b/apis/elasticbeanstalk/v1beta1/zz_applicationversion_types.go index 6467351e2e..7e4b04fe0e 100755 --- a/apis/elasticbeanstalk/v1beta1/zz_applicationversion_types.go +++ b/apis/elasticbeanstalk/v1beta1/zz_applicationversion_types.go @@ -168,6 +168,7 @@ type ApplicationVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ApplicationVersion is the Schema for the ApplicationVersions API. Provides an Elastic Beanstalk Application Version Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticbeanstalk/v1beta1/zz_configurationtemplate_types.go b/apis/elasticbeanstalk/v1beta1/zz_configurationtemplate_types.go index 276aee3846..9eec0e5ae9 100755 --- a/apis/elasticbeanstalk/v1beta1/zz_configurationtemplate_types.go +++ b/apis/elasticbeanstalk/v1beta1/zz_configurationtemplate_types.go @@ -184,6 +184,7 @@ type ConfigurationTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationTemplate is the Schema for the ConfigurationTemplates API. Provides an Elastic Beanstalk Configuration Template // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticsearch/v1beta1/zz_domain_types.go b/apis/elasticsearch/v1beta1/zz_domain_types.go index ef4da6b95d..8dbe07634d 100755 --- a/apis/elasticsearch/v1beta1/zz_domain_types.go +++ b/apis/elasticsearch/v1beta1/zz_domain_types.go @@ -901,6 +901,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticsearch/v1beta1/zz_domainpolicy_types.go b/apis/elasticsearch/v1beta1/zz_domainpolicy_types.go index 2209df652a..784e071acf 100755 --- a/apis/elasticsearch/v1beta1/zz_domainpolicy_types.go +++ b/apis/elasticsearch/v1beta1/zz_domainpolicy_types.go @@ -96,6 +96,7 @@ type DomainPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainPolicy is the Schema for the DomainPolicys API. Provides an Elasticsearch Domain Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elasticsearch/v1beta1/zz_domainsamloptions_types.go b/apis/elasticsearch/v1beta1/zz_domainsamloptions_types.go index 4849d8547f..23a0fe0305 100755 --- a/apis/elasticsearch/v1beta1/zz_domainsamloptions_types.go +++ b/apis/elasticsearch/v1beta1/zz_domainsamloptions_types.go @@ -171,6 +171,7 @@ type DomainSAMLOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainSAMLOptions is the Schema for the DomainSAMLOptionss API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elastictranscoder/v1beta1/zz_pipeline_types.go b/apis/elastictranscoder/v1beta1/zz_pipeline_types.go index 2cda0e19a8..9b2f68cc25 100755 --- a/apis/elastictranscoder/v1beta1/zz_pipeline_types.go +++ b/apis/elastictranscoder/v1beta1/zz_pipeline_types.go @@ -427,6 +427,7 @@ type PipelineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Pipeline is the Schema for the Pipelines API. Provides an Elastic Transcoder pipeline resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elastictranscoder/v1beta1/zz_preset_types.go b/apis/elastictranscoder/v1beta1/zz_preset_types.go index 90412a131b..48a227c9ca 100755 --- a/apis/elastictranscoder/v1beta1/zz_preset_types.go +++ b/apis/elastictranscoder/v1beta1/zz_preset_types.go @@ -607,6 +607,7 @@ type PresetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Preset is the Schema for the Presets API. Provides an Elastic Transcoder preset resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_appcookiestickinesspolicy_types.go b/apis/elb/v1beta1/zz_appcookiestickinesspolicy_types.go index 12e61bd615..0947094cbd 100755 --- a/apis/elb/v1beta1/zz_appcookiestickinesspolicy_types.go +++ b/apis/elb/v1beta1/zz_appcookiestickinesspolicy_types.go @@ -98,6 +98,7 @@ type AppCookieStickinessPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AppCookieStickinessPolicy is the Schema for the AppCookieStickinessPolicys API. Provides an application cookie stickiness policy, which allows an ELB to wed its stickiness cookie to a cookie generated by your application. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_attachment_types.go b/apis/elb/v1beta1/zz_attachment_types.go index ea4aadcc1c..2151cbd731 100755 --- a/apis/elb/v1beta1/zz_attachment_types.go +++ b/apis/elb/v1beta1/zz_attachment_types.go @@ -114,6 +114,7 @@ type AttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Attachment is the Schema for the Attachments API. Provides an Elastic Load Balancer Attachment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_backendserverpolicy_types.go b/apis/elb/v1beta1/zz_backendserverpolicy_types.go index 10122075a3..35c3d4956f 100755 --- a/apis/elb/v1beta1/zz_backendserverpolicy_types.go +++ b/apis/elb/v1beta1/zz_backendserverpolicy_types.go @@ -110,6 +110,7 @@ type BackendServerPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BackendServerPolicy is the Schema for the BackendServerPolicys API. Attaches a load balancer policy to an ELB backend server. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_elb_types.go b/apis/elb/v1beta1/zz_elb_types.go index 6a20cd9bf7..bf01e7cc27 100755 --- a/apis/elb/v1beta1/zz_elb_types.go +++ b/apis/elb/v1beta1/zz_elb_types.go @@ -466,6 +466,7 @@ type ELBStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ELB is the Schema for the ELBs API. Provides an Elastic Load Balancer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_lbcookiestickinesspolicy_types.go b/apis/elb/v1beta1/zz_lbcookiestickinesspolicy_types.go index 8e4f4e9991..aeb714e6a0 100755 --- a/apis/elb/v1beta1/zz_lbcookiestickinesspolicy_types.go +++ b/apis/elb/v1beta1/zz_lbcookiestickinesspolicy_types.go @@ -131,6 +131,7 @@ type LBCookieStickinessPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBCookieStickinessPolicy is the Schema for the LBCookieStickinessPolicys API. Provides a load balancer cookie stickiness policy, which allows an ELB to control the sticky session lifetime of the browser. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_lbsslnegotiationpolicy_types.go b/apis/elb/v1beta1/zz_lbsslnegotiationpolicy_types.go index 213014d6f2..08c9ee0013 100755 --- a/apis/elb/v1beta1/zz_lbsslnegotiationpolicy_types.go +++ b/apis/elb/v1beta1/zz_lbsslnegotiationpolicy_types.go @@ -170,6 +170,7 @@ type LBSSLNegotiationPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBSSLNegotiationPolicy is the Schema for the LBSSLNegotiationPolicys API. Provides a load balancer SSL negotiation policy, which allows an ELB to control which ciphers and protocols are supported during SSL negotiations between a client and a load balancer. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_listenerpolicy_types.go b/apis/elb/v1beta1/zz_listenerpolicy_types.go index 4aea1e7e32..f70d1a630c 100755 --- a/apis/elb/v1beta1/zz_listenerpolicy_types.go +++ b/apis/elb/v1beta1/zz_listenerpolicy_types.go @@ -123,6 +123,7 @@ type ListenerPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ListenerPolicy is the Schema for the ListenerPolicys API. Attaches a load balancer policy to an ELB Listener. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_policy_types.go b/apis/elb/v1beta1/zz_policy_types.go index b7a222487c..7d034d8214 100755 --- a/apis/elb/v1beta1/zz_policy_types.go +++ b/apis/elb/v1beta1/zz_policy_types.go @@ -158,6 +158,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides a load balancer policy, which can be attached to an ELB listener or backend server. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elb/v1beta1/zz_proxyprotocolpolicy_types.go b/apis/elb/v1beta1/zz_proxyprotocolpolicy_types.go index ace7cf38ec..4675e71350 100755 --- a/apis/elb/v1beta1/zz_proxyprotocolpolicy_types.go +++ b/apis/elb/v1beta1/zz_proxyprotocolpolicy_types.go @@ -106,6 +106,7 @@ type ProxyProtocolPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProxyProtocolPolicy is the Schema for the ProxyProtocolPolicys API. Provides a proxy protocol policy, which allows an ELB to carry a client connection information to a backend. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lb_types.go b/apis/elbv2/v1beta1/zz_lb_types.go index 45fe08f01b..3af493f8cf 100755 --- a/apis/elbv2/v1beta1/zz_lb_types.go +++ b/apis/elbv2/v1beta1/zz_lb_types.go @@ -540,6 +540,7 @@ type LBStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LB is the Schema for the LBs API. Provides a Load Balancer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lblistener_types.go b/apis/elbv2/v1beta1/zz_lblistener_types.go index 72ddacab76..c06058ab90 100755 --- a/apis/elbv2/v1beta1/zz_lblistener_types.go +++ b/apis/elbv2/v1beta1/zz_lblistener_types.go @@ -744,6 +744,7 @@ type LBListenerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBListener is the Schema for the LBListeners API. Provides a Load Balancer Listener resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lblistenercertificate_types.go b/apis/elbv2/v1beta1/zz_lblistenercertificate_types.go index ddb6e35ead..e637775a20 100755 --- a/apis/elbv2/v1beta1/zz_lblistenercertificate_types.go +++ b/apis/elbv2/v1beta1/zz_lblistenercertificate_types.go @@ -119,6 +119,7 @@ type LBListenerCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBListenerCertificate is the Schema for the LBListenerCertificates API. Provides a Load Balancer Listener Certificate resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lblistenerrule_types.go b/apis/elbv2/v1beta1/zz_lblistenerrule_types.go index eca8ecb872..8fd734ee5d 100755 --- a/apis/elbv2/v1beta1/zz_lblistenerrule_types.go +++ b/apis/elbv2/v1beta1/zz_lblistenerrule_types.go @@ -946,6 +946,7 @@ type LBListenerRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBListenerRule is the Schema for the LBListenerRules API. Provides a Load Balancer Listener Rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lbtargetgroup_types.go b/apis/elbv2/v1beta1/zz_lbtargetgroup_types.go index 6a1d3cec05..1e23b0d328 100755 --- a/apis/elbv2/v1beta1/zz_lbtargetgroup_types.go +++ b/apis/elbv2/v1beta1/zz_lbtargetgroup_types.go @@ -519,6 +519,7 @@ type LBTargetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBTargetGroup is the Schema for the LBTargetGroups API. Provides a Target Group resource for use with Load Balancers. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/elbv2/v1beta1/zz_lbtargetgroupattachment_types.go b/apis/elbv2/v1beta1/zz_lbtargetgroupattachment_types.go index 6b7c04789b..b4a4e5b3cc 100755 --- a/apis/elbv2/v1beta1/zz_lbtargetgroupattachment_types.go +++ b/apis/elbv2/v1beta1/zz_lbtargetgroupattachment_types.go @@ -117,6 +117,7 @@ type LBTargetGroupAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBTargetGroupAttachment is the Schema for the LBTargetGroupAttachments API. Provides the ability to register instances and containers with a LB target group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/emr/v1beta1/zz_securityconfiguration_types.go b/apis/emr/v1beta1/zz_securityconfiguration_types.go index 7f31ac2255..82f9be5acb 100755 --- a/apis/emr/v1beta1/zz_securityconfiguration_types.go +++ b/apis/emr/v1beta1/zz_securityconfiguration_types.go @@ -72,6 +72,7 @@ type SecurityConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityConfiguration is the Schema for the SecurityConfigurations API. Provides a resource to manage AWS EMR Security Configurations // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/emrserverless/v1beta1/zz_application_types.go b/apis/emrserverless/v1beta1/zz_application_types.go index 15398d7b51..f12264cd7b 100755 --- a/apis/emrserverless/v1beta1/zz_application_types.go +++ b/apis/emrserverless/v1beta1/zz_application_types.go @@ -417,6 +417,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Manages an EMR Serverless Application // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/evidently/v1beta1/zz_feature_types.go b/apis/evidently/v1beta1/zz_feature_types.go index ff5ff809e4..a835e9abc8 100755 --- a/apis/evidently/v1beta1/zz_feature_types.go +++ b/apis/evidently/v1beta1/zz_feature_types.go @@ -257,6 +257,7 @@ type FeatureStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Feature is the Schema for the Features API. Provides a CloudWatch Evidently Feature resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/evidently/v1beta1/zz_project_types.go b/apis/evidently/v1beta1/zz_project_types.go index ebc48947ec..f157af5714 100755 --- a/apis/evidently/v1beta1/zz_project_types.go +++ b/apis/evidently/v1beta1/zz_project_types.go @@ -210,6 +210,7 @@ type ProjectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Project is the Schema for the Projects API. Provides a CloudWatch Evidently Project resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/evidently/v1beta1/zz_segment_types.go b/apis/evidently/v1beta1/zz_segment_types.go index 3a3caec4d1..97331b4d45 100755 --- a/apis/evidently/v1beta1/zz_segment_types.go +++ b/apis/evidently/v1beta1/zz_segment_types.go @@ -111,6 +111,7 @@ type SegmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Segment is the Schema for the Segments API. Provides a CloudWatch Evidently Segment resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/firehose/v1beta1/zz_deliverystream_types.go b/apis/firehose/v1beta1/zz_deliverystream_types.go index b1f6e9e83d..7a82fcaaf0 100755 --- a/apis/firehose/v1beta1/zz_deliverystream_types.go +++ b/apis/firehose/v1beta1/zz_deliverystream_types.go @@ -4506,6 +4506,7 @@ type DeliveryStreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeliveryStream is the Schema for the DeliveryStreams API. Provides a AWS Kinesis Firehose Delivery Stream // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fis/v1beta1/zz_experimenttemplate_types.go b/apis/fis/v1beta1/zz_experimenttemplate_types.go index 9587854be2..908e8f09fa 100755 --- a/apis/fis/v1beta1/zz_experimenttemplate_types.go +++ b/apis/fis/v1beta1/zz_experimenttemplate_types.go @@ -547,6 +547,7 @@ type ExperimentTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ExperimentTemplate is the Schema for the ExperimentTemplates API. Provides an FIS Experiment Template. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_backup_types.go b/apis/fsx/v1beta1/zz_backup_types.go index 46847e4be9..21a1f172bb 100755 --- a/apis/fsx/v1beta1/zz_backup_types.go +++ b/apis/fsx/v1beta1/zz_backup_types.go @@ -128,6 +128,7 @@ type BackupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Backup is the Schema for the Backups API. Manages a FSx Backup. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_datarepositoryassociation_types.go b/apis/fsx/v1beta1/zz_datarepositoryassociation_types.go index 808db1d231..77f165f47f 100755 --- a/apis/fsx/v1beta1/zz_datarepositoryassociation_types.go +++ b/apis/fsx/v1beta1/zz_datarepositoryassociation_types.go @@ -242,6 +242,7 @@ type DataRepositoryAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataRepositoryAssociation is the Schema for the DataRepositoryAssociations API. Manages a FSx for Lustre Data Repository Association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_lustrefilesystem_types.go b/apis/fsx/v1beta1/zz_lustrefilesystem_types.go index 08e59e942e..b4fb0f165b 100755 --- a/apis/fsx/v1beta1/zz_lustrefilesystem_types.go +++ b/apis/fsx/v1beta1/zz_lustrefilesystem_types.go @@ -430,6 +430,7 @@ type LustreFileSystemStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LustreFileSystem is the Schema for the LustreFileSystems API. Manages a FSx Lustre File System. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_ontapfilesystem_types.go b/apis/fsx/v1beta1/zz_ontapfilesystem_types.go index 28fcb45abd..ea7817469c 100755 --- a/apis/fsx/v1beta1/zz_ontapfilesystem_types.go +++ b/apis/fsx/v1beta1/zz_ontapfilesystem_types.go @@ -402,6 +402,7 @@ type OntapFileSystemStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OntapFileSystem is the Schema for the OntapFileSystems API. Manages an Amazon FSx for NetApp ONTAP file system. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_ontapstoragevirtualmachine_types.go b/apis/fsx/v1beta1/zz_ontapstoragevirtualmachine_types.go index 8614e846cd..2d5d7336e5 100755 --- a/apis/fsx/v1beta1/zz_ontapstoragevirtualmachine_types.go +++ b/apis/fsx/v1beta1/zz_ontapstoragevirtualmachine_types.go @@ -331,6 +331,7 @@ type OntapStorageVirtualMachineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OntapStorageVirtualMachine is the Schema for the OntapStorageVirtualMachines API. Manages a FSx Storage Virtual Machine. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/fsx/v1beta1/zz_windowsfilesystem_types.go b/apis/fsx/v1beta1/zz_windowsfilesystem_types.go index a420680a3e..4b91d9b3d3 100755 --- a/apis/fsx/v1beta1/zz_windowsfilesystem_types.go +++ b/apis/fsx/v1beta1/zz_windowsfilesystem_types.go @@ -512,6 +512,7 @@ type WindowsFileSystemStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // WindowsFileSystem is the Schema for the WindowsFileSystems API. Manages a FSx Windows File System. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/gamelift/v1beta1/zz_alias_types.go b/apis/gamelift/v1beta1/zz_alias_types.go index 6cc01fbd10..416a6ec22c 100755 --- a/apis/gamelift/v1beta1/zz_alias_types.go +++ b/apis/gamelift/v1beta1/zz_alias_types.go @@ -148,6 +148,7 @@ type AliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Alias is the Schema for the Aliass API. Provides a GameLift Alias resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/gamelift/v1beta1/zz_build_types.go b/apis/gamelift/v1beta1/zz_build_types.go index 485534893d..9ebe88e477 100755 --- a/apis/gamelift/v1beta1/zz_build_types.go +++ b/apis/gamelift/v1beta1/zz_build_types.go @@ -226,6 +226,7 @@ type BuildStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Build is the Schema for the Builds API. Provides a GameLift Build resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/gamelift/v1beta1/zz_fleet_types.go b/apis/gamelift/v1beta1/zz_fleet_types.go index c15310f92a..9fc6cb2fa4 100755 --- a/apis/gamelift/v1beta1/zz_fleet_types.go +++ b/apis/gamelift/v1beta1/zz_fleet_types.go @@ -433,6 +433,7 @@ type FleetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Fleet is the Schema for the Fleets API. Provides a GameLift Fleet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/gamelift/v1beta1/zz_gamesessionqueue_types.go b/apis/gamelift/v1beta1/zz_gamesessionqueue_types.go index 86caa162da..323c0cce3f 100755 --- a/apis/gamelift/v1beta1/zz_gamesessionqueue_types.go +++ b/apis/gamelift/v1beta1/zz_gamesessionqueue_types.go @@ -177,6 +177,7 @@ type GameSessionQueueStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GameSessionQueue is the Schema for the GameSessionQueues API. Provides a GameLift Game Session Queue resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/gamelift/v1beta1/zz_script_types.go b/apis/gamelift/v1beta1/zz_script_types.go index eba1005d1e..99292a27e3 100755 --- a/apis/gamelift/v1beta1/zz_script_types.go +++ b/apis/gamelift/v1beta1/zz_script_types.go @@ -226,6 +226,7 @@ type ScriptStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Script is the Schema for the Scripts API. Provides a GameLift Script resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glacier/v1beta1/zz_vault_types.go b/apis/glacier/v1beta1/zz_vault_types.go index bd344a9314..387da7d81f 100755 --- a/apis/glacier/v1beta1/zz_vault_types.go +++ b/apis/glacier/v1beta1/zz_vault_types.go @@ -156,6 +156,7 @@ type VaultStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Vault is the Schema for the Vaults API. Provides a Glacier Vault. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glacier/v1beta1/zz_vaultlock_types.go b/apis/glacier/v1beta1/zz_vaultlock_types.go index 0a996917ed..2834fc6e91 100755 --- a/apis/glacier/v1beta1/zz_vaultlock_types.go +++ b/apis/glacier/v1beta1/zz_vaultlock_types.go @@ -117,6 +117,7 @@ type VaultLockStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VaultLock is the Schema for the VaultLocks API. Manages a Glacier Vault Lock. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/globalaccelerator/v1beta1/zz_accelerator_types.go b/apis/globalaccelerator/v1beta1/zz_accelerator_types.go index 78e105e68f..a61fd0488b 100755 --- a/apis/globalaccelerator/v1beta1/zz_accelerator_types.go +++ b/apis/globalaccelerator/v1beta1/zz_accelerator_types.go @@ -194,6 +194,7 @@ type AcceleratorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Accelerator is the Schema for the Accelerators API. Provides a Global Accelerator accelerator. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/globalaccelerator/v1beta1/zz_endpointgroup_types.go b/apis/globalaccelerator/v1beta1/zz_endpointgroup_types.go index a525a74e52..b4421ff9d2 100755 --- a/apis/globalaccelerator/v1beta1/zz_endpointgroup_types.go +++ b/apis/globalaccelerator/v1beta1/zz_endpointgroup_types.go @@ -248,6 +248,7 @@ type EndpointGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EndpointGroup is the Schema for the EndpointGroups API. Provides a Global Accelerator endpoint group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/globalaccelerator/v1beta1/zz_listener_types.go b/apis/globalaccelerator/v1beta1/zz_listener_types.go index a74eb9ab23..ed659f5597 100755 --- a/apis/globalaccelerator/v1beta1/zz_listener_types.go +++ b/apis/globalaccelerator/v1beta1/zz_listener_types.go @@ -146,6 +146,7 @@ type ListenerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Listener is the Schema for the Listeners API. Provides a Global Accelerator listener. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_catalogdatabase_types.go b/apis/glue/v1beta1/zz_catalogdatabase_types.go index 85f986d8d8..29e2ba0388 100755 --- a/apis/glue/v1beta1/zz_catalogdatabase_types.go +++ b/apis/glue/v1beta1/zz_catalogdatabase_types.go @@ -224,6 +224,7 @@ type CatalogDatabaseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CatalogDatabase is the Schema for the CatalogDatabases API. Provides a Glue Catalog Database. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_catalogtable_types.go b/apis/glue/v1beta1/zz_catalogtable_types.go index f065e7bc6a..ba252b8c97 100755 --- a/apis/glue/v1beta1/zz_catalogtable_types.go +++ b/apis/glue/v1beta1/zz_catalogtable_types.go @@ -744,6 +744,7 @@ type CatalogTableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CatalogTable is the Schema for the CatalogTables API. Provides a Glue Catalog Table. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_classifier_types.go b/apis/glue/v1beta1/zz_classifier_types.go index e2e03daf4e..afcf7d4a14 100755 --- a/apis/glue/v1beta1/zz_classifier_types.go +++ b/apis/glue/v1beta1/zz_classifier_types.go @@ -275,6 +275,7 @@ type ClassifierStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Classifier is the Schema for the Classifiers API. Provides an Glue Classifier resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_connection_types.go b/apis/glue/v1beta1/zz_connection_types.go index 1a6c73bdee..73cd8170b0 100755 --- a/apis/glue/v1beta1/zz_connection_types.go +++ b/apis/glue/v1beta1/zz_connection_types.go @@ -212,6 +212,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Provides an Glue Connection resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_crawler_types.go b/apis/glue/v1beta1/zz_crawler_types.go index 2f655f4400..b6eb1dd2a4 100755 --- a/apis/glue/v1beta1/zz_crawler_types.go +++ b/apis/glue/v1beta1/zz_crawler_types.go @@ -878,6 +878,7 @@ type CrawlerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Crawler is the Schema for the Crawlers API. Manages a Glue Crawler // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_datacatalogencryptionsettings_types.go b/apis/glue/v1beta1/zz_datacatalogencryptionsettings_types.go index 8c876129b6..f9adca73ce 100755 --- a/apis/glue/v1beta1/zz_datacatalogencryptionsettings_types.go +++ b/apis/glue/v1beta1/zz_datacatalogencryptionsettings_types.go @@ -206,6 +206,7 @@ type DataCatalogEncryptionSettingsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataCatalogEncryptionSettings is the Schema for the DataCatalogEncryptionSettingss API. Provides a Glue Data Catalog Encryption Settings resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_job_types.go b/apis/glue/v1beta1/zz_job_types.go index 34f0524d27..bee9d1e5c4 100755 --- a/apis/glue/v1beta1/zz_job_types.go +++ b/apis/glue/v1beta1/zz_job_types.go @@ -352,6 +352,7 @@ type JobStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Job is the Schema for the Jobs API. Provides an Glue Job resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_registry_types.go b/apis/glue/v1beta1/zz_registry_types.go index 5c7f899b4e..ab15f7f34c 100755 --- a/apis/glue/v1beta1/zz_registry_types.go +++ b/apis/glue/v1beta1/zz_registry_types.go @@ -89,6 +89,7 @@ type RegistryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Registry is the Schema for the Registrys API. Provides a Glue Registry resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_resourcepolicy_types.go b/apis/glue/v1beta1/zz_resourcepolicy_types.go index 8d6517f063..8faa3eee28 100755 --- a/apis/glue/v1beta1/zz_resourcepolicy_types.go +++ b/apis/glue/v1beta1/zz_resourcepolicy_types.go @@ -78,6 +78,7 @@ type ResourcePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourcePolicy is the Schema for the ResourcePolicys API. Provides a resource to configure the aws glue resource policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_schema_types.go b/apis/glue/v1beta1/zz_schema_types.go index 0fe280bb65..cf90c1dc0b 100755 --- a/apis/glue/v1beta1/zz_schema_types.go +++ b/apis/glue/v1beta1/zz_schema_types.go @@ -171,6 +171,7 @@ type SchemaStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Schema is the Schema for the Schemas API. Provides a Glue Schema resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_securityconfiguration_types.go b/apis/glue/v1beta1/zz_securityconfiguration_types.go index 799e6e1074..17472c6a80 100755 --- a/apis/glue/v1beta1/zz_securityconfiguration_types.go +++ b/apis/glue/v1beta1/zz_securityconfiguration_types.go @@ -247,6 +247,7 @@ type SecurityConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecurityConfiguration is the Schema for the SecurityConfigurations API. Manages a Glue Security Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_trigger_types.go b/apis/glue/v1beta1/zz_trigger_types.go index 2d4ccbdae5..0b059a04c3 100755 --- a/apis/glue/v1beta1/zz_trigger_types.go +++ b/apis/glue/v1beta1/zz_trigger_types.go @@ -452,6 +452,7 @@ type TriggerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Trigger is the Schema for the Triggers API. Manages a Glue Trigger resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_userdefinedfunction_types.go b/apis/glue/v1beta1/zz_userdefinedfunction_types.go index 7e8fc39028..878804d6c2 100755 --- a/apis/glue/v1beta1/zz_userdefinedfunction_types.go +++ b/apis/glue/v1beta1/zz_userdefinedfunction_types.go @@ -157,6 +157,7 @@ type UserDefinedFunctionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserDefinedFunction is the Schema for the UserDefinedFunctions API. Provides a Glue User Defined Function. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/glue/v1beta1/zz_workflow_types.go b/apis/glue/v1beta1/zz_workflow_types.go index e2d91231b1..a9132932fb 100755 --- a/apis/glue/v1beta1/zz_workflow_types.go +++ b/apis/glue/v1beta1/zz_workflow_types.go @@ -112,6 +112,7 @@ type WorkflowStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workflow is the Schema for the Workflows API. Provides a Glue Workflow resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/grafana/v1beta1/zz_licenseassociation_types.go b/apis/grafana/v1beta1/zz_licenseassociation_types.go index b0001c3c14..65a7c052d6 100755 --- a/apis/grafana/v1beta1/zz_licenseassociation_types.go +++ b/apis/grafana/v1beta1/zz_licenseassociation_types.go @@ -104,6 +104,7 @@ type LicenseAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LicenseAssociation is the Schema for the LicenseAssociations API. Provides an Amazon Managed Grafana workspace license association resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/grafana/v1beta1/zz_roleassociation_types.go b/apis/grafana/v1beta1/zz_roleassociation_types.go index e09f29009c..5c26a3006d 100755 --- a/apis/grafana/v1beta1/zz_roleassociation_types.go +++ b/apis/grafana/v1beta1/zz_roleassociation_types.go @@ -122,6 +122,7 @@ type RoleAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RoleAssociation is the Schema for the RoleAssociations API. Provides an Amazon Managed Grafana workspace role association resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/grafana/v1beta1/zz_workspace_types.go b/apis/grafana/v1beta1/zz_workspace_types.go index cf86eebff9..92514f7c2b 100755 --- a/apis/grafana/v1beta1/zz_workspace_types.go +++ b/apis/grafana/v1beta1/zz_workspace_types.go @@ -323,6 +323,7 @@ type WorkspaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workspace is the Schema for the Workspaces API. Provides an Amazon Managed Grafana workspace resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/grafana/v1beta1/zz_workspaceapikey_types.go b/apis/grafana/v1beta1/zz_workspaceapikey_types.go index 4b64f55325..938cc80631 100755 --- a/apis/grafana/v1beta1/zz_workspaceapikey_types.go +++ b/apis/grafana/v1beta1/zz_workspaceapikey_types.go @@ -117,6 +117,7 @@ type WorkspaceAPIKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // WorkspaceAPIKey is the Schema for the WorkspaceAPIKeys API. Creates a Grafana API key for the workspace. This key can be used to authenticate requests sent to the workspace's HTTP API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/grafana/v1beta1/zz_workspacesamlconfiguration_types.go b/apis/grafana/v1beta1/zz_workspacesamlconfiguration_types.go index 57bb6d8141..8eb1f6b887 100755 --- a/apis/grafana/v1beta1/zz_workspacesamlconfiguration_types.go +++ b/apis/grafana/v1beta1/zz_workspacesamlconfiguration_types.go @@ -209,6 +209,7 @@ type WorkspaceSAMLConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // WorkspaceSAMLConfiguration is the Schema for the WorkspaceSAMLConfigurations API. Provides an Amazon Managed Grafana workspace SAML configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/guardduty/v1beta1/zz_detector_types.go b/apis/guardduty/v1beta1/zz_detector_types.go index ece1701849..be1568797f 100755 --- a/apis/guardduty/v1beta1/zz_detector_types.go +++ b/apis/guardduty/v1beta1/zz_detector_types.go @@ -292,6 +292,7 @@ type DetectorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Detector is the Schema for the Detectors API. Provides a resource to manage an Amazon GuardDuty detector // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/guardduty/v1beta1/zz_filter_types.go b/apis/guardduty/v1beta1/zz_filter_types.go index 5c08070da8..14ff9ce930 100755 --- a/apis/guardduty/v1beta1/zz_filter_types.go +++ b/apis/guardduty/v1beta1/zz_filter_types.go @@ -229,6 +229,7 @@ type FilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Filter is the Schema for the Filters API. Provides a resource to manage a GuardDuty filter // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/guardduty/v1beta1/zz_member_types.go b/apis/guardduty/v1beta1/zz_member_types.go index 030300fb75..2fbb80a0c2 100755 --- a/apis/guardduty/v1beta1/zz_member_types.go +++ b/apis/guardduty/v1beta1/zz_member_types.go @@ -162,6 +162,7 @@ type MemberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Member is the Schema for the Members API. Provides a resource to manage a GuardDuty member // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_accesskey_types.go b/apis/iam/v1beta1/zz_accesskey_types.go index c5874c4fc7..e703980f6b 100755 --- a/apis/iam/v1beta1/zz_accesskey_types.go +++ b/apis/iam/v1beta1/zz_accesskey_types.go @@ -114,6 +114,7 @@ type AccessKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccessKey is the Schema for the AccessKeys API. Provides an IAM access key. This is a set of credentials that allow API requests to be made as an IAM user. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_accountalias_types.go b/apis/iam/v1beta1/zz_accountalias_types.go index 38d2b0874e..37c8932bef 100755 --- a/apis/iam/v1beta1/zz_accountalias_types.go +++ b/apis/iam/v1beta1/zz_accountalias_types.go @@ -52,6 +52,7 @@ type AccountAliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccountAlias is the Schema for the AccountAliass API. Manages the account alias for the AWS Account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_accountpasswordpolicy_types.go b/apis/iam/v1beta1/zz_accountpasswordpolicy_types.go index d4f2a590cc..56c0eb76d5 100755 --- a/apis/iam/v1beta1/zz_accountpasswordpolicy_types.go +++ b/apis/iam/v1beta1/zz_accountpasswordpolicy_types.go @@ -146,6 +146,7 @@ type AccountPasswordPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccountPasswordPolicy is the Schema for the AccountPasswordPolicys API. Manages Password Policy for the AWS Account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_group_types.go b/apis/iam/v1beta1/zz_group_types.go index 4b779ffa10..be3aab59ee 100755 --- a/apis/iam/v1beta1/zz_group_types.go +++ b/apis/iam/v1beta1/zz_group_types.go @@ -70,6 +70,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. Provides an IAM group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_groupmembership_types.go b/apis/iam/v1beta1/zz_groupmembership_types.go index 50def32437..ed8167bc87 100755 --- a/apis/iam/v1beta1/zz_groupmembership_types.go +++ b/apis/iam/v1beta1/zz_groupmembership_types.go @@ -126,6 +126,7 @@ type GroupMembershipStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GroupMembership is the Schema for the GroupMemberships API. Provides a top level resource to manage IAM Group membership for IAM Users. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_grouppolicyattachment_types.go b/apis/iam/v1beta1/zz_grouppolicyattachment_types.go index 97035b12aa..34ab25d9a8 100755 --- a/apis/iam/v1beta1/zz_grouppolicyattachment_types.go +++ b/apis/iam/v1beta1/zz_grouppolicyattachment_types.go @@ -111,6 +111,7 @@ type GroupPolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GroupPolicyAttachment is the Schema for the GroupPolicyAttachments API. Attaches a Managed IAM Policy to an IAM group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_instanceprofile_types.go b/apis/iam/v1beta1/zz_instanceprofile_types.go index 319cb826e0..6bb6cfcd06 100755 --- a/apis/iam/v1beta1/zz_instanceprofile_types.go +++ b/apis/iam/v1beta1/zz_instanceprofile_types.go @@ -118,6 +118,7 @@ type InstanceProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceProfile is the Schema for the InstanceProfiles API. Provides an IAM instance profile. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_openidconnectprovider_types.go b/apis/iam/v1beta1/zz_openidconnectprovider_types.go index 6d031bf7fd..9a99b439ac 100755 --- a/apis/iam/v1beta1/zz_openidconnectprovider_types.go +++ b/apis/iam/v1beta1/zz_openidconnectprovider_types.go @@ -106,6 +106,7 @@ type OpenIDConnectProviderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OpenIDConnectProvider is the Schema for the OpenIDConnectProviders API. Provides an IAM OpenID Connect provider. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_policy_types.go b/apis/iam/v1beta1/zz_policy_types.go index 4a9397821d..24e4863bb7 100755 --- a/apis/iam/v1beta1/zz_policy_types.go +++ b/apis/iam/v1beta1/zz_policy_types.go @@ -110,6 +110,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides an IAM policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_role_types.go b/apis/iam/v1beta1/zz_role_types.go index 6d13a1e3ab..08012ee54a 100755 --- a/apis/iam/v1beta1/zz_role_types.go +++ b/apis/iam/v1beta1/zz_role_types.go @@ -192,6 +192,7 @@ type RoleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Role is the Schema for the Roles API. Provides an IAM role. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_rolepolicy_types.go b/apis/iam/v1beta1/zz_rolepolicy_types.go index 4ef5c66c97..41b24f9a50 100755 --- a/apis/iam/v1beta1/zz_rolepolicy_types.go +++ b/apis/iam/v1beta1/zz_rolepolicy_types.go @@ -81,6 +81,7 @@ type RolePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RolePolicy is the Schema for the RolePolicys API. Provides an IAM role policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_rolepolicyattachment_types.go b/apis/iam/v1beta1/zz_rolepolicyattachment_types.go index 5308297345..fc606b2af1 100755 --- a/apis/iam/v1beta1/zz_rolepolicyattachment_types.go +++ b/apis/iam/v1beta1/zz_rolepolicyattachment_types.go @@ -110,6 +110,7 @@ type RolePolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RolePolicyAttachment is the Schema for the RolePolicyAttachments API. Attaches a Managed IAM Policy to an IAM role // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_samlprovider_types.go b/apis/iam/v1beta1/zz_samlprovider_types.go index 1b452924ad..9d61914c17 100755 --- a/apis/iam/v1beta1/zz_samlprovider_types.go +++ b/apis/iam/v1beta1/zz_samlprovider_types.go @@ -86,6 +86,7 @@ type SAMLProviderStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SAMLProvider is the Schema for the SAMLProviders API. Provides an IAM SAML provider. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_servercertificate_types.go b/apis/iam/v1beta1/zz_servercertificate_types.go index d09fd5b055..6a2886455f 100755 --- a/apis/iam/v1beta1/zz_servercertificate_types.go +++ b/apis/iam/v1beta1/zz_servercertificate_types.go @@ -126,6 +126,7 @@ type ServerCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServerCertificate is the Schema for the ServerCertificates API. Provides an IAM Server Certificate // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_servicelinkedrole_types.go b/apis/iam/v1beta1/zz_servicelinkedrole_types.go index ba2e63363d..2c8dee5335 100755 --- a/apis/iam/v1beta1/zz_servicelinkedrole_types.go +++ b/apis/iam/v1beta1/zz_servicelinkedrole_types.go @@ -116,6 +116,7 @@ type ServiceLinkedRoleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServiceLinkedRole is the Schema for the ServiceLinkedRoles API. Provides an IAM service-linked role. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_servicespecificcredential_types.go b/apis/iam/v1beta1/zz_servicespecificcredential_types.go index 01b5522d02..4acd29dbf3 100755 --- a/apis/iam/v1beta1/zz_servicespecificcredential_types.go +++ b/apis/iam/v1beta1/zz_servicespecificcredential_types.go @@ -108,6 +108,7 @@ type ServiceSpecificCredentialStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServiceSpecificCredential is the Schema for the ServiceSpecificCredentials API. Provides an IAM Service Specific Credential. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_signingcertificate_types.go b/apis/iam/v1beta1/zz_signingcertificate_types.go index e4c423f3df..063728b2c4 100755 --- a/apis/iam/v1beta1/zz_signingcertificate_types.go +++ b/apis/iam/v1beta1/zz_signingcertificate_types.go @@ -87,6 +87,7 @@ type SigningCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SigningCertificate is the Schema for the SigningCertificates API. Provides an IAM Signing Certificate // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_user_types.go b/apis/iam/v1beta1/zz_user_types.go index fa035550ea..bc129a1f08 100755 --- a/apis/iam/v1beta1/zz_user_types.go +++ b/apis/iam/v1beta1/zz_user_types.go @@ -116,6 +116,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides an IAM user. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_usergroupmembership_types.go b/apis/iam/v1beta1/zz_usergroupmembership_types.go index af119baa8e..452979965a 100755 --- a/apis/iam/v1beta1/zz_usergroupmembership_types.go +++ b/apis/iam/v1beta1/zz_usergroupmembership_types.go @@ -116,6 +116,7 @@ type UserGroupMembershipStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserGroupMembership is the Schema for the UserGroupMemberships API. Provides a resource for adding an IAM User to IAM Groups without conflicting with itself. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_userloginprofile_types.go b/apis/iam/v1beta1/zz_userloginprofile_types.go index 1be693c8bd..d2c1408a6a 100755 --- a/apis/iam/v1beta1/zz_userloginprofile_types.go +++ b/apis/iam/v1beta1/zz_userloginprofile_types.go @@ -120,6 +120,7 @@ type UserLoginProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserLoginProfile is the Schema for the UserLoginProfiles API. Manages an IAM User Login Profile // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_userpolicyattachment_types.go b/apis/iam/v1beta1/zz_userpolicyattachment_types.go index e5b05e77ca..709b0d28e7 100755 --- a/apis/iam/v1beta1/zz_userpolicyattachment_types.go +++ b/apis/iam/v1beta1/zz_userpolicyattachment_types.go @@ -110,6 +110,7 @@ type UserPolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserPolicyAttachment is the Schema for the UserPolicyAttachments API. Attaches a Managed IAM Policy to an IAM user // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_usersshkey_types.go b/apis/iam/v1beta1/zz_usersshkey_types.go index 81c007677f..ed5b64b01f 100755 --- a/apis/iam/v1beta1/zz_usersshkey_types.go +++ b/apis/iam/v1beta1/zz_usersshkey_types.go @@ -117,6 +117,7 @@ type UserSSHKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserSSHKey is the Schema for the UserSSHKeys API. Uploads an SSH public key and associates it with the specified IAM user. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iam/v1beta1/zz_virtualmfadevice_types.go b/apis/iam/v1beta1/zz_virtualmfadevice_types.go index fa5bb45240..607023fb6f 100755 --- a/apis/iam/v1beta1/zz_virtualmfadevice_types.go +++ b/apis/iam/v1beta1/zz_virtualmfadevice_types.go @@ -105,6 +105,7 @@ type VirtualMfaDeviceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VirtualMfaDevice is the Schema for the VirtualMfaDevices API. Provides an IAM Virtual MFA Device // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/identitystore/v1beta1/zz_group_types.go b/apis/identitystore/v1beta1/zz_group_types.go index cd2e1c6988..94d67c0ab6 100755 --- a/apis/identitystore/v1beta1/zz_group_types.go +++ b/apis/identitystore/v1beta1/zz_group_types.go @@ -104,6 +104,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/identitystore/v1beta1/zz_groupmembership_types.go b/apis/identitystore/v1beta1/zz_groupmembership_types.go index c5e3e2efd0..126ab0ce91 100755 --- a/apis/identitystore/v1beta1/zz_groupmembership_types.go +++ b/apis/identitystore/v1beta1/zz_groupmembership_types.go @@ -128,6 +128,7 @@ type GroupMembershipStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GroupMembership is the Schema for the GroupMemberships API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/identitystore/v1beta1/zz_user_types.go b/apis/identitystore/v1beta1/zz_user_types.go index 883ed08cae..53e1ed7330 100755 --- a/apis/identitystore/v1beta1/zz_user_types.go +++ b/apis/identitystore/v1beta1/zz_user_types.go @@ -451,6 +451,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_component_types.go b/apis/imagebuilder/v1beta1/zz_component_types.go index ab0f6027d4..647e803163 100755 --- a/apis/imagebuilder/v1beta1/zz_component_types.go +++ b/apis/imagebuilder/v1beta1/zz_component_types.go @@ -211,6 +211,7 @@ type ComponentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Component is the Schema for the Components API. Manage an Image Builder Component // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_containerrecipe_types.go b/apis/imagebuilder/v1beta1/zz_containerrecipe_types.go index c58910ef69..9478410582 100755 --- a/apis/imagebuilder/v1beta1/zz_containerrecipe_types.go +++ b/apis/imagebuilder/v1beta1/zz_containerrecipe_types.go @@ -530,6 +530,7 @@ type ContainerRecipeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContainerRecipe is the Schema for the ContainerRecipes API. Manage an Image Builder Container Recipe // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_distributionconfiguration_types.go b/apis/imagebuilder/v1beta1/zz_distributionconfiguration_types.go index 38b38b783c..2b95610c76 100755 --- a/apis/imagebuilder/v1beta1/zz_distributionconfiguration_types.go +++ b/apis/imagebuilder/v1beta1/zz_distributionconfiguration_types.go @@ -547,6 +547,7 @@ type DistributionConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DistributionConfiguration is the Schema for the DistributionConfigurations API. Manage an Image Builder Distribution Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_image_types.go b/apis/imagebuilder/v1beta1/zz_image_types.go index 631d4f6748..dcb9b52a54 100755 --- a/apis/imagebuilder/v1beta1/zz_image_types.go +++ b/apis/imagebuilder/v1beta1/zz_image_types.go @@ -372,6 +372,7 @@ type ImageStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Image is the Schema for the Images API. Manages an Image Builder Image // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_imagepipeline_types.go b/apis/imagebuilder/v1beta1/zz_imagepipeline_types.go index b74376a0e4..cd655ca5a0 100755 --- a/apis/imagebuilder/v1beta1/zz_imagepipeline_types.go +++ b/apis/imagebuilder/v1beta1/zz_imagepipeline_types.go @@ -372,6 +372,7 @@ type ImagePipelineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ImagePipeline is the Schema for the ImagePipelines API. Manages an Image Builder Image Pipeline // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_imagerecipe_types.go b/apis/imagebuilder/v1beta1/zz_imagerecipe_types.go index 9fe9989710..94833a5863 100755 --- a/apis/imagebuilder/v1beta1/zz_imagerecipe_types.go +++ b/apis/imagebuilder/v1beta1/zz_imagerecipe_types.go @@ -412,6 +412,7 @@ type ImageRecipeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ImageRecipe is the Schema for the ImageRecipes API. Manage an Image Builder Image Recipe // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/imagebuilder/v1beta1/zz_infrastructureconfiguration_types.go b/apis/imagebuilder/v1beta1/zz_infrastructureconfiguration_types.go index 0974ce48ae..f93a94aa51 100755 --- a/apis/imagebuilder/v1beta1/zz_infrastructureconfiguration_types.go +++ b/apis/imagebuilder/v1beta1/zz_infrastructureconfiguration_types.go @@ -405,6 +405,7 @@ type InfrastructureConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InfrastructureConfiguration is the Schema for the InfrastructureConfigurations API. Manages an Image Builder Infrastructure Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/inspector/v1beta1/zz_assessmenttarget_types.go b/apis/inspector/v1beta1/zz_assessmenttarget_types.go index d30b6dbb6c..24d6864cc1 100755 --- a/apis/inspector/v1beta1/zz_assessmenttarget_types.go +++ b/apis/inspector/v1beta1/zz_assessmenttarget_types.go @@ -101,6 +101,7 @@ type AssessmentTargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AssessmentTarget is the Schema for the AssessmentTargets API. Provides an Inspector Classic Assessment Target. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/inspector/v1beta1/zz_assessmenttemplate_types.go b/apis/inspector/v1beta1/zz_assessmenttemplate_types.go index e471816d79..89d9c63571 100755 --- a/apis/inspector/v1beta1/zz_assessmenttemplate_types.go +++ b/apis/inspector/v1beta1/zz_assessmenttemplate_types.go @@ -200,6 +200,7 @@ type AssessmentTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AssessmentTemplate is the Schema for the AssessmentTemplates API. Provides an Inspector Classic Assessment Template. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/inspector/v1beta1/zz_resourcegroup_types.go b/apis/inspector/v1beta1/zz_resourcegroup_types.go index f11693ac03..acbc7e469e 100755 --- a/apis/inspector/v1beta1/zz_resourcegroup_types.go +++ b/apis/inspector/v1beta1/zz_resourcegroup_types.go @@ -74,6 +74,7 @@ type ResourceGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceGroup is the Schema for the ResourceGroups API. Provides an Amazon Inspector Classic Resource Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/inspector2/v1beta1/zz_enabler_types.go b/apis/inspector2/v1beta1/zz_enabler_types.go index 43f649a17a..6ca4b250ca 100755 --- a/apis/inspector2/v1beta1/zz_enabler_types.go +++ b/apis/inspector2/v1beta1/zz_enabler_types.go @@ -93,6 +93,7 @@ type EnablerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Enabler is the Schema for the Enablers API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_certificate_types.go b/apis/iot/v1beta1/zz_certificate_types.go index 69ff7e2aeb..4e252b5678 100755 --- a/apis/iot/v1beta1/zz_certificate_types.go +++ b/apis/iot/v1beta1/zz_certificate_types.go @@ -109,6 +109,7 @@ type CertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. Creates and manages an AWS IoT certificate. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_indexingconfiguration_types.go b/apis/iot/v1beta1/zz_indexingconfiguration_types.go index c9273efb5d..16cee4db0f 100755 --- a/apis/iot/v1beta1/zz_indexingconfiguration_types.go +++ b/apis/iot/v1beta1/zz_indexingconfiguration_types.go @@ -333,6 +333,7 @@ type IndexingConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IndexingConfiguration is the Schema for the IndexingConfigurations API. Managing IoT Thing indexing. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_loggingoptions_types.go b/apis/iot/v1beta1/zz_loggingoptions_types.go index 5cef58a9ee..dbbe7e8d46 100755 --- a/apis/iot/v1beta1/zz_loggingoptions_types.go +++ b/apis/iot/v1beta1/zz_loggingoptions_types.go @@ -108,6 +108,7 @@ type LoggingOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LoggingOptions is the Schema for the LoggingOptionss API. Provides a resource to manage default logging options. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_policy_types.go b/apis/iot/v1beta1/zz_policy_types.go index 58da81e1b1..cc9108d17d 100755 --- a/apis/iot/v1beta1/zz_policy_types.go +++ b/apis/iot/v1beta1/zz_policy_types.go @@ -74,6 +74,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides an IoT policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_policyattachment_types.go b/apis/iot/v1beta1/zz_policyattachment_types.go index 92c91147eb..be31768e0b 100755 --- a/apis/iot/v1beta1/zz_policyattachment_types.go +++ b/apis/iot/v1beta1/zz_policyattachment_types.go @@ -115,6 +115,7 @@ type PolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PolicyAttachment is the Schema for the PolicyAttachments API. Provides an IoT policy attachment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_provisioningtemplate_types.go b/apis/iot/v1beta1/zz_provisioningtemplate_types.go index 032b9b23be..f5c90e7149 100755 --- a/apis/iot/v1beta1/zz_provisioningtemplate_types.go +++ b/apis/iot/v1beta1/zz_provisioningtemplate_types.go @@ -190,6 +190,7 @@ type ProvisioningTemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProvisioningTemplate is the Schema for the ProvisioningTemplates API. Manages an IoT fleet provisioning template. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_rolealias_types.go b/apis/iot/v1beta1/zz_rolealias_types.go index 6c7cd8522e..9e23422136 100755 --- a/apis/iot/v1beta1/zz_rolealias_types.go +++ b/apis/iot/v1beta1/zz_rolealias_types.go @@ -111,6 +111,7 @@ type RoleAliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RoleAlias is the Schema for the RoleAliass API. Provides an IoT role alias. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_thing_types.go b/apis/iot/v1beta1/zz_thing_types.go index de40f88264..2aaebba303 100755 --- a/apis/iot/v1beta1/zz_thing_types.go +++ b/apis/iot/v1beta1/zz_thing_types.go @@ -90,6 +90,7 @@ type ThingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Thing is the Schema for the Things API. Creates and manages an AWS IoT Thing. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_thinggroup_types.go b/apis/iot/v1beta1/zz_thinggroup_types.go index 084fd477e2..542f4cb209 100755 --- a/apis/iot/v1beta1/zz_thinggroup_types.go +++ b/apis/iot/v1beta1/zz_thinggroup_types.go @@ -202,6 +202,7 @@ type ThingGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ThingGroup is the Schema for the ThingGroups API. Manages an AWS IoT Thing Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_thinggroupmembership_types.go b/apis/iot/v1beta1/zz_thinggroupmembership_types.go index 250c7f2e5d..41b4d6e2a8 100755 --- a/apis/iot/v1beta1/zz_thinggroupmembership_types.go +++ b/apis/iot/v1beta1/zz_thinggroupmembership_types.go @@ -89,6 +89,7 @@ type ThingGroupMembershipStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ThingGroupMembership is the Schema for the ThingGroupMemberships API. Adds an IoT Thing to an IoT Thing Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_thingprincipalattachment_types.go b/apis/iot/v1beta1/zz_thingprincipalattachment_types.go index 491ad5bc83..769d125ca9 100755 --- a/apis/iot/v1beta1/zz_thingprincipalattachment_types.go +++ b/apis/iot/v1beta1/zz_thingprincipalattachment_types.go @@ -115,6 +115,7 @@ type ThingPrincipalAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ThingPrincipalAttachment is the Schema for the ThingPrincipalAttachments API. Provides AWS IoT Thing Principal attachment. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_thingtype_types.go b/apis/iot/v1beta1/zz_thingtype_types.go index 3bd1c247a4..490c5aafb6 100755 --- a/apis/iot/v1beta1/zz_thingtype_types.go +++ b/apis/iot/v1beta1/zz_thingtype_types.go @@ -140,6 +140,7 @@ type ThingTypeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ThingType is the Schema for the ThingTypes API. Creates and manages an AWS IoT Thing Type. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_topicrule_types.go b/apis/iot/v1beta1/zz_topicrule_types.go index 775d4a971a..34c1590bef 100755 --- a/apis/iot/v1beta1/zz_topicrule_types.go +++ b/apis/iot/v1beta1/zz_topicrule_types.go @@ -2579,6 +2579,7 @@ type TopicRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TopicRule is the Schema for the TopicRules API. Creates and manages an AWS IoT topic rule // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/iot/v1beta1/zz_topicruledestination_types.go b/apis/iot/v1beta1/zz_topicruledestination_types.go index ee46f76499..4fcac2f6bb 100755 --- a/apis/iot/v1beta1/zz_topicruledestination_types.go +++ b/apis/iot/v1beta1/zz_topicruledestination_types.go @@ -220,6 +220,7 @@ type TopicRuleDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TopicRuleDestination is the Schema for the TopicRuleDestinations API. Creates and manages an AWS IoT topic rule destination // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ivs/v1beta1/zz_channel_types.go b/apis/ivs/v1beta1/zz_channel_types.go index d4166f535d..a501a02452 100755 --- a/apis/ivs/v1beta1/zz_channel_types.go +++ b/apis/ivs/v1beta1/zz_channel_types.go @@ -134,6 +134,7 @@ type ChannelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Channel is the Schema for the Channels API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ivs/v1beta1/zz_recordingconfiguration_types.go b/apis/ivs/v1beta1/zz_recordingconfiguration_types.go index 03748ac18a..38742bf951 100755 --- a/apis/ivs/v1beta1/zz_recordingconfiguration_types.go +++ b/apis/ivs/v1beta1/zz_recordingconfiguration_types.go @@ -188,6 +188,7 @@ type RecordingConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RecordingConfiguration is the Schema for the RecordingConfigurations API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kafka/v1beta1/zz_cluster_types.go b/apis/kafka/v1beta1/zz_cluster_types.go index b47f7d329c..aa4c25270a 100755 --- a/apis/kafka/v1beta1/zz_cluster_types.go +++ b/apis/kafka/v1beta1/zz_cluster_types.go @@ -66,6 +66,9 @@ type BrokerNodeGroupInfoInitParameters struct { // Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible (documentation). ConnectivityInfo []ConnectivityInfoInitParameters `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + // The size in GiB of the EBS volume for the data drive on each broker node. + EBSVolumeSize *float64 `json:"ebsVolumeSize,omitempty" tf:"ebs_volume_size,omitempty"` + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` @@ -98,6 +101,9 @@ type BrokerNodeGroupInfoObservation struct { // Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible (documentation). ConnectivityInfo []ConnectivityInfoObservation `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + // The size in GiB of the EBS volume for the data drive on each broker node. + EBSVolumeSize *float64 `json:"ebsVolumeSize,omitempty" tf:"ebs_volume_size,omitempty"` + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` @@ -133,6 +139,10 @@ type BrokerNodeGroupInfoParameters struct { // +kubebuilder:validation:Optional ConnectivityInfo []ConnectivityInfoParameters `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + // The size in GiB of the EBS volume for the data drive on each broker node. + // +kubebuilder:validation:Optional + EBSVolumeSize *float64 `json:"ebsVolumeSize,omitempty" tf:"ebs_volume_size,omitempty"` + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) // +kubebuilder:validation:Optional InstanceType *string `json:"instanceType" tf:"instance_type,omitempty"` @@ -158,60 +168,41 @@ type BrokerNodeGroupInfoParameters struct { type ClientAuthenticationInitParameters struct { - // SASL authentication type details for VPC connectivity. See below. + // Configuration block for specifying SASL client authentication. See below. Sasl []SaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` - // Enables TLS authentication for VPC connectivity. - TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` + // Configuration block for specifying TLS client authentication. See below. + TLS []TLSInitParameters `json:"tls,omitempty" tf:"tls,omitempty"` + + // Enables unauthenticated access. + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` } type ClientAuthenticationObservation struct { - // SASL authentication type details for VPC connectivity. See below. + // Configuration block for specifying SASL client authentication. See below. Sasl []SaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` - // Enables TLS authentication for VPC connectivity. - TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` + // Configuration block for specifying TLS client authentication. See below. + TLS []TLSObservation `json:"tls,omitempty" tf:"tls,omitempty"` + + // Enables unauthenticated access. + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` } type ClientAuthenticationParameters struct { - // SASL authentication type details for VPC connectivity. See below. + // Configuration block for specifying SASL client authentication. See below. // +kubebuilder:validation:Optional Sasl []SaslParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` - // Enables TLS authentication for VPC connectivity. - // +kubebuilder:validation:Optional - TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` -} - -type ClientAuthenticationSaslInitParameters struct { - - // Enables SASL/IAM authentication for VPC connectivity. - IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` - - // Enables SASL/SCRAM authentication for VPC connectivity. - Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` -} - -type ClientAuthenticationSaslObservation struct { - - // Enables SASL/IAM authentication for VPC connectivity. - IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` - - // Enables SASL/SCRAM authentication for VPC connectivity. - Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` -} - -type ClientAuthenticationSaslParameters struct { - - // Enables SASL/IAM authentication for VPC connectivity. + // Configuration block for specifying TLS client authentication. See below. // +kubebuilder:validation:Optional - IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + TLS []TLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` - // Enables SASL/SCRAM authentication for VPC connectivity. + // Enables unauthenticated access. // +kubebuilder:validation:Optional - Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` } type CloudwatchLogsInitParameters struct { @@ -261,52 +252,13 @@ type CloudwatchLogsParameters struct { LogGroupSelector *v1.Selector `json:"logGroupSelector,omitempty" tf:"-"` } -type ClusterClientAuthenticationInitParameters struct { - - // SASL authentication type details for VPC connectivity. See below. - Sasl []ClientAuthenticationSaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` - - // Enables TLS authentication for VPC connectivity. - TLS []TLSInitParameters `json:"tls,omitempty" tf:"tls,omitempty"` - - // Enables unauthenticated access. - Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` -} - -type ClusterClientAuthenticationObservation struct { - - // SASL authentication type details for VPC connectivity. See below. - Sasl []ClientAuthenticationSaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` - - // Enables TLS authentication for VPC connectivity. - TLS []TLSObservation `json:"tls,omitempty" tf:"tls,omitempty"` - - // Enables unauthenticated access. - Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` -} - -type ClusterClientAuthenticationParameters struct { - - // SASL authentication type details for VPC connectivity. See below. - // +kubebuilder:validation:Optional - Sasl []ClientAuthenticationSaslParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` - - // Enables TLS authentication for VPC connectivity. - // +kubebuilder:validation:Optional - TLS []TLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` - - // Enables unauthenticated access. - // +kubebuilder:validation:Optional - Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` -} - type ClusterInitParameters struct { // Configuration block for the broker nodes of the Kafka cluster. BrokerNodeGroupInfo []BrokerNodeGroupInfoInitParameters `json:"brokerNodeGroupInfo,omitempty" tf:"broker_node_group_info,omitempty"` // Configuration block for specifying a client authentication. See below. - ClientAuthentication []ClusterClientAuthenticationInitParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + ClientAuthentication []ClientAuthenticationInitParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` // Name of the MSK cluster. ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` @@ -366,27 +318,15 @@ type ClusterObservation struct { // One or more DNS names (or IP addresses) and TLS port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. BootstrapBrokersTLS *string `json:"bootstrapBrokersTls,omitempty" tf:"bootstrap_brokers_tls,omitempty"` - // A string containing one or more DNS names (or IP addresses) and SASL IAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. - BootstrapBrokersVPCConnectivitySaslIAM *string `json:"bootstrapBrokersVpcConnectivitySaslIam,omitempty" tf:"bootstrap_brokers_vpc_connectivity_sasl_iam,omitempty"` - - // A string containing one or more DNS names (or IP addresses) and SASL SCRAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. - BootstrapBrokersVPCConnectivitySaslScram *string `json:"bootstrapBrokersVpcConnectivitySaslScram,omitempty" tf:"bootstrap_brokers_vpc_connectivity_sasl_scram,omitempty"` - - // A string containing one or more DNS names (or IP addresses) and TLS port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. - BootstrapBrokersVPCConnectivityTLS *string `json:"bootstrapBrokersVpcConnectivityTls,omitempty" tf:"bootstrap_brokers_vpc_connectivity_tls,omitempty"` - // Configuration block for the broker nodes of the Kafka cluster. BrokerNodeGroupInfo []BrokerNodeGroupInfoObservation `json:"brokerNodeGroupInfo,omitempty" tf:"broker_node_group_info,omitempty"` // Configuration block for specifying a client authentication. See below. - ClientAuthentication []ClusterClientAuthenticationObservation `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + ClientAuthentication []ClientAuthenticationObservation `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` // Name of the MSK cluster. ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` - // UUID of the MSK cluster, for use in IAM policies. - ClusterUUID *string `json:"clusterUuid,omitempty" tf:"cluster_uuid,omitempty"` - // Configuration block for specifying a MSK Configuration to attach to Kafka brokers. See below. ConfigurationInfo []ConfigurationInfoObservation `json:"configurationInfo,omitempty" tf:"configuration_info,omitempty"` @@ -439,7 +379,7 @@ type ClusterParameters struct { // Configuration block for specifying a client authentication. See below. // +kubebuilder:validation:Optional - ClientAuthentication []ClusterClientAuthenticationParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + ClientAuthentication []ClientAuthenticationParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` // Name of the MSK cluster. // +kubebuilder:validation:Optional @@ -541,18 +481,12 @@ type ConnectivityInfoInitParameters struct { // Access control settings for brokers. See below. PublicAccess []PublicAccessInitParameters `json:"publicAccess,omitempty" tf:"public_access,omitempty"` - - // VPC connectivity access control for brokers. See below. - VPCConnectivity []VPCConnectivityInitParameters `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` } type ConnectivityInfoObservation struct { // Access control settings for brokers. See below. PublicAccess []PublicAccessObservation `json:"publicAccess,omitempty" tf:"public_access,omitempty"` - - // VPC connectivity access control for brokers. See below. - VPCConnectivity []VPCConnectivityObservation `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` } type ConnectivityInfoParameters struct { @@ -560,10 +494,6 @@ type ConnectivityInfoParameters struct { // Access control settings for brokers. See below. // +kubebuilder:validation:Optional PublicAccess []PublicAccessParameters `json:"publicAccess,omitempty" tf:"public_access,omitempty"` - - // VPC connectivity access control for brokers. See below. - // +kubebuilder:validation:Optional - VPCConnectivity []VPCConnectivityParameters `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` } type EBSStorageInfoInitParameters struct { @@ -858,19 +788,19 @@ type ProvisionedThroughputParameters struct { type PublicAccessInitParameters struct { - // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + // Public access type. Valida values: DISABLED, SERVICE_PROVIDED_EIPS. Type *string `json:"type,omitempty" tf:"type,omitempty"` } type PublicAccessObservation struct { - // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + // Public access type. Valida values: DISABLED, SERVICE_PROVIDED_EIPS. Type *string `json:"type,omitempty" tf:"type,omitempty"` } type PublicAccessParameters struct { - // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + // Public access type. Valida values: DISABLED, SERVICE_PROVIDED_EIPS. // +kubebuilder:validation:Optional Type *string `json:"type,omitempty" tf:"type,omitempty"` } @@ -934,29 +864,29 @@ type S3Parameters struct { type SaslInitParameters struct { - // Enables SASL/IAM authentication for VPC connectivity. + // Enables IAM client authentication. Defaults to false. IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` - // Enables SASL/SCRAM authentication for VPC connectivity. + // Enables SCRAM client authentication via AWS Secrets Manager. Defaults to false. Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` } type SaslObservation struct { - // Enables SASL/IAM authentication for VPC connectivity. + // Enables IAM client authentication. Defaults to false. IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` - // Enables SASL/SCRAM authentication for VPC connectivity. + // Enables SCRAM client authentication via AWS Secrets Manager. Defaults to false. Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` } type SaslParameters struct { - // Enables SASL/IAM authentication for VPC connectivity. + // Enables IAM client authentication. Defaults to false. // +kubebuilder:validation:Optional IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` - // Enables SASL/SCRAM authentication for VPC connectivity. + // Enables SCRAM client authentication via AWS Secrets Manager. Defaults to false. // +kubebuilder:validation:Optional Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` } @@ -1002,25 +932,6 @@ type TLSParameters struct { CertificateAuthorityArns []*string `json:"certificateAuthorityArns,omitempty" tf:"certificate_authority_arns,omitempty"` } -type VPCConnectivityInitParameters struct { - - // Configuration block for specifying a client authentication. See below. - ClientAuthentication []ClientAuthenticationInitParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` -} - -type VPCConnectivityObservation struct { - - // Configuration block for specifying a client authentication. See below. - ClientAuthentication []ClientAuthenticationObservation `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` -} - -type VPCConnectivityParameters struct { - - // Configuration block for specifying a client authentication. See below. - // +kubebuilder:validation:Optional - ClientAuthentication []ClientAuthenticationParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` -} - // ClusterSpec defines the desired state of Cluster type ClusterSpec struct { v1.ResourceSpec `json:",inline"` diff --git a/apis/kafka/v1beta1/zz_configuration_types.go b/apis/kafka/v1beta1/zz_configuration_types.go index d1e6144242..348d773d63 100755 --- a/apis/kafka/v1beta1/zz_configuration_types.go +++ b/apis/kafka/v1beta1/zz_configuration_types.go @@ -107,6 +107,7 @@ type ConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Configuration is the Schema for the Configurations API. provider resource for managing an amazon managed streaming for kafka configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kafka/v1beta1/zz_generated.conversion_hubs.go b/apis/kafka/v1beta1/zz_generated.conversion_hubs.go index 241a2d3816..3633074ff4 100755 --- a/apis/kafka/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/kafka/v1beta1/zz_generated.conversion_hubs.go @@ -10,9 +10,6 @@ Copyright 2022 Upbound Inc. package v1beta1 -// Hub marks this type as a conversion hub. -func (tr *Cluster) Hub() {} - // Hub marks this type as a conversion hub. func (tr *Configuration) Hub() {} diff --git a/apis/kafka/v1beta1/zz_generated.conversion_spokes.go b/apis/kafka/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..5784000168 --- /dev/null +++ b/apis/kafka/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this Cluster to the hub type. +func (tr *Cluster) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the Cluster type. +func (tr *Cluster) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/kafka/v1beta1/zz_generated.deepcopy.go b/apis/kafka/v1beta1/zz_generated.deepcopy.go index 56e4929f61..b25f4b2c0f 100644 --- a/apis/kafka/v1beta1/zz_generated.deepcopy.go +++ b/apis/kafka/v1beta1/zz_generated.deepcopy.go @@ -159,6 +159,11 @@ func (in *BrokerNodeGroupInfoInitParameters) DeepCopyInto(out *BrokerNodeGroupIn (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.EBSVolumeSize != nil { + in, out := &in.EBSVolumeSize, &out.EBSVolumeSize + *out = new(float64) + **out = **in + } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType *out = new(string) @@ -232,6 +237,11 @@ func (in *BrokerNodeGroupInfoObservation) DeepCopyInto(out *BrokerNodeGroupInfoO (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.EBSVolumeSize != nil { + in, out := &in.EBSVolumeSize, &out.EBSVolumeSize + *out = new(float64) + **out = **in + } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType *out = new(string) @@ -305,6 +315,11 @@ func (in *BrokerNodeGroupInfoParameters) DeepCopyInto(out *BrokerNodeGroupInfoPa (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.EBSVolumeSize != nil { + in, out := &in.EBSVolumeSize, &out.EBSVolumeSize + *out = new(float64) + **out = **in + } if in.InstanceType != nil { in, out := &in.InstanceType, &out.InstanceType *out = new(string) @@ -364,6 +379,13 @@ func (in *ClientAuthenticationInitParameters) DeepCopyInto(out *ClientAuthentica } if in.TLS != nil { in, out := &in.TLS, &out.TLS + *out = make([]TLSInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated *out = new(bool) **out = **in } @@ -391,6 +413,13 @@ func (in *ClientAuthenticationObservation) DeepCopyInto(out *ClientAuthenticatio } if in.TLS != nil { in, out := &in.TLS, &out.TLS + *out = make([]TLSObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated *out = new(bool) **out = **in } @@ -418,6 +447,13 @@ func (in *ClientAuthenticationParameters) DeepCopyInto(out *ClientAuthentication } if in.TLS != nil { in, out := &in.TLS, &out.TLS + *out = make([]TLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated *out = new(bool) **out = **in } @@ -438,13 +474,10 @@ func (in *ClientAuthenticationSaslInitParameters) DeepCopyInto(out *ClientAuthen *out = *in if in.IAM != nil { in, out := &in.IAM, &out.IAM - *out = new(bool) - **out = **in - } - if in.Scram != nil { - in, out := &in.Scram, &out.Scram - *out = new(bool) - **out = **in + *out = make([]IAMInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -463,13 +496,10 @@ func (in *ClientAuthenticationSaslObservation) DeepCopyInto(out *ClientAuthentic *out = *in if in.IAM != nil { in, out := &in.IAM, &out.IAM - *out = new(bool) - **out = **in - } - if in.Scram != nil { - in, out := &in.Scram, &out.Scram - *out = new(bool) - **out = **in + *out = make([]IAMObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -488,13 +518,10 @@ func (in *ClientAuthenticationSaslParameters) DeepCopyInto(out *ClientAuthentica *out = *in if in.IAM != nil { in, out := &in.IAM, &out.IAM - *out = new(bool) - **out = **in - } - if in.Scram != nil { - in, out := &in.Scram, &out.Scram - *out = new(bool) - **out = **in + *out = make([]IAMParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } } @@ -630,108 +657,6 @@ func (in *Cluster) DeepCopyObject() runtime.Object { return nil } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterClientAuthenticationInitParameters) DeepCopyInto(out *ClusterClientAuthenticationInitParameters) { - *out = *in - if in.Sasl != nil { - in, out := &in.Sasl, &out.Sasl - *out = make([]ClientAuthenticationSaslInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS - *out = make([]TLSInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Unauthenticated != nil { - in, out := &in.Unauthenticated, &out.Unauthenticated - *out = new(bool) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationInitParameters. -func (in *ClusterClientAuthenticationInitParameters) DeepCopy() *ClusterClientAuthenticationInitParameters { - if in == nil { - return nil - } - out := new(ClusterClientAuthenticationInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterClientAuthenticationObservation) DeepCopyInto(out *ClusterClientAuthenticationObservation) { - *out = *in - if in.Sasl != nil { - in, out := &in.Sasl, &out.Sasl - *out = make([]ClientAuthenticationSaslObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS - *out = make([]TLSObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Unauthenticated != nil { - in, out := &in.Unauthenticated, &out.Unauthenticated - *out = new(bool) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationObservation. -func (in *ClusterClientAuthenticationObservation) DeepCopy() *ClusterClientAuthenticationObservation { - if in == nil { - return nil - } - out := new(ClusterClientAuthenticationObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ClusterClientAuthenticationParameters) DeepCopyInto(out *ClusterClientAuthenticationParameters) { - *out = *in - if in.Sasl != nil { - in, out := &in.Sasl, &out.Sasl - *out = make([]ClientAuthenticationSaslParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.TLS != nil { - in, out := &in.TLS, &out.TLS - *out = make([]TLSParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Unauthenticated != nil { - in, out := &in.Unauthenticated, &out.Unauthenticated - *out = new(bool) - **out = **in - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationParameters. -func (in *ClusterClientAuthenticationParameters) DeepCopy() *ClusterClientAuthenticationParameters { - if in == nil { - return nil - } - out := new(ClusterClientAuthenticationParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { *out = *in @@ -744,7 +669,7 @@ func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { } if in.ClientAuthentication != nil { in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClusterClientAuthenticationInitParameters, len(*in)) + *out = make([]ClientAuthenticationInitParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -905,21 +830,6 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } - if in.BootstrapBrokersVPCConnectivitySaslIAM != nil { - in, out := &in.BootstrapBrokersVPCConnectivitySaslIAM, &out.BootstrapBrokersVPCConnectivitySaslIAM - *out = new(string) - **out = **in - } - if in.BootstrapBrokersVPCConnectivitySaslScram != nil { - in, out := &in.BootstrapBrokersVPCConnectivitySaslScram, &out.BootstrapBrokersVPCConnectivitySaslScram - *out = new(string) - **out = **in - } - if in.BootstrapBrokersVPCConnectivityTLS != nil { - in, out := &in.BootstrapBrokersVPCConnectivityTLS, &out.BootstrapBrokersVPCConnectivityTLS - *out = new(string) - **out = **in - } if in.BrokerNodeGroupInfo != nil { in, out := &in.BrokerNodeGroupInfo, &out.BrokerNodeGroupInfo *out = make([]BrokerNodeGroupInfoObservation, len(*in)) @@ -929,7 +839,7 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { } if in.ClientAuthentication != nil { in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClusterClientAuthenticationObservation, len(*in)) + *out = make([]ClientAuthenticationObservation, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -939,11 +849,6 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } - if in.ClusterUUID != nil { - in, out := &in.ClusterUUID, &out.ClusterUUID - *out = new(string) - **out = **in - } if in.ConfigurationInfo != nil { in, out := &in.ConfigurationInfo, &out.ConfigurationInfo *out = make([]ConfigurationInfoObservation, len(*in)) @@ -1068,7 +973,7 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { } if in.ClientAuthentication != nil { in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClusterClientAuthenticationParameters, len(*in)) + *out = make([]ClientAuthenticationParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -1536,13 +1441,6 @@ func (in *ConnectivityInfoInitParameters) DeepCopyInto(out *ConnectivityInfoInit (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.VPCConnectivity != nil { - in, out := &in.VPCConnectivity, &out.VPCConnectivity - *out = make([]VPCConnectivityInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoInitParameters. @@ -1565,13 +1463,6 @@ func (in *ConnectivityInfoObservation) DeepCopyInto(out *ConnectivityInfoObserva (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.VPCConnectivity != nil { - in, out := &in.VPCConnectivity, &out.VPCConnectivity - *out = make([]VPCConnectivityObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoObservation. @@ -1594,13 +1485,6 @@ func (in *ConnectivityInfoParameters) DeepCopyInto(out *ConnectivityInfoParamete (*in)[i].DeepCopyInto(&(*out)[i]) } } - if in.VPCConnectivity != nil { - in, out := &in.VPCConnectivity, &out.VPCConnectivity - *out = make([]VPCConnectivityParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoParameters. @@ -2957,7 +2841,7 @@ func (in *ServerlessClusterClientAuthenticationInitParameters) DeepCopyInto(out *out = *in if in.Sasl != nil { in, out := &in.Sasl, &out.Sasl - *out = make([]ServerlessClusterClientAuthenticationSaslInitParameters, len(*in)) + *out = make([]ClientAuthenticationSaslInitParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -2979,7 +2863,7 @@ func (in *ServerlessClusterClientAuthenticationObservation) DeepCopyInto(out *Se *out = *in if in.Sasl != nil { in, out := &in.Sasl, &out.Sasl - *out = make([]ServerlessClusterClientAuthenticationSaslObservation, len(*in)) + *out = make([]ClientAuthenticationSaslObservation, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -3001,7 +2885,7 @@ func (in *ServerlessClusterClientAuthenticationParameters) DeepCopyInto(out *Ser *out = *in if in.Sasl != nil { in, out := &in.Sasl, &out.Sasl - *out = make([]ServerlessClusterClientAuthenticationSaslParameters, len(*in)) + *out = make([]ClientAuthenticationSaslParameters, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -3018,72 +2902,6 @@ func (in *ServerlessClusterClientAuthenticationParameters) DeepCopy() *Serverles return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServerlessClusterClientAuthenticationSaslInitParameters) DeepCopyInto(out *ServerlessClusterClientAuthenticationSaslInitParameters) { - *out = *in - if in.IAM != nil { - in, out := &in.IAM, &out.IAM - *out = make([]IAMInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessClusterClientAuthenticationSaslInitParameters. -func (in *ServerlessClusterClientAuthenticationSaslInitParameters) DeepCopy() *ServerlessClusterClientAuthenticationSaslInitParameters { - if in == nil { - return nil - } - out := new(ServerlessClusterClientAuthenticationSaslInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServerlessClusterClientAuthenticationSaslObservation) DeepCopyInto(out *ServerlessClusterClientAuthenticationSaslObservation) { - *out = *in - if in.IAM != nil { - in, out := &in.IAM, &out.IAM - *out = make([]IAMObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessClusterClientAuthenticationSaslObservation. -func (in *ServerlessClusterClientAuthenticationSaslObservation) DeepCopy() *ServerlessClusterClientAuthenticationSaslObservation { - if in == nil { - return nil - } - out := new(ServerlessClusterClientAuthenticationSaslObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ServerlessClusterClientAuthenticationSaslParameters) DeepCopyInto(out *ServerlessClusterClientAuthenticationSaslParameters) { - *out = *in - if in.IAM != nil { - in, out := &in.IAM, &out.IAM - *out = make([]IAMParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerlessClusterClientAuthenticationSaslParameters. -func (in *ServerlessClusterClientAuthenticationSaslParameters) DeepCopy() *ServerlessClusterClientAuthenticationSaslParameters { - if in == nil { - return nil - } - out := new(ServerlessClusterClientAuthenticationSaslParameters) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServerlessClusterInitParameters) DeepCopyInto(out *ServerlessClusterInitParameters) { *out = *in @@ -3639,69 +3457,3 @@ func (in *VPCConfigParameters) DeepCopy() *VPCConfigParameters { in.DeepCopyInto(out) return out } - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VPCConnectivityInitParameters) DeepCopyInto(out *VPCConnectivityInitParameters) { - *out = *in - if in.ClientAuthentication != nil { - in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClientAuthenticationInitParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityInitParameters. -func (in *VPCConnectivityInitParameters) DeepCopy() *VPCConnectivityInitParameters { - if in == nil { - return nil - } - out := new(VPCConnectivityInitParameters) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VPCConnectivityObservation) DeepCopyInto(out *VPCConnectivityObservation) { - *out = *in - if in.ClientAuthentication != nil { - in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClientAuthenticationObservation, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityObservation. -func (in *VPCConnectivityObservation) DeepCopy() *VPCConnectivityObservation { - if in == nil { - return nil - } - out := new(VPCConnectivityObservation) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *VPCConnectivityParameters) DeepCopyInto(out *VPCConnectivityParameters) { - *out = *in - if in.ClientAuthentication != nil { - in, out := &in.ClientAuthentication, &out.ClientAuthentication - *out = make([]ClientAuthenticationParameters, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityParameters. -func (in *VPCConnectivityParameters) DeepCopy() *VPCConnectivityParameters { - if in == nil { - return nil - } - out := new(VPCConnectivityParameters) - in.DeepCopyInto(out) - return out -} diff --git a/apis/kafka/v1beta1/zz_generated.resolvers.go b/apis/kafka/v1beta1/zz_generated.resolvers.go index eb9a39f52e..3f5a81009b 100644 --- a/apis/kafka/v1beta1/zz_generated.resolvers.go +++ b/apis/kafka/v1beta1/zz_generated.resolvers.go @@ -361,7 +361,7 @@ func (mg *ScramSecretAssociation) ResolveReferences(ctx context.Context, c clien var mrsp reference.MultiResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta1", "Cluster", "ClusterList") + m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta2", "Cluster", "ClusterList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -399,7 +399,7 @@ func (mg *ScramSecretAssociation) ResolveReferences(ctx context.Context, c clien mg.Spec.ForProvider.SecretArnList = reference.ToPtrValues(mrsp.ResolvedValues) mg.Spec.ForProvider.SecretArnRefs = mrsp.ResolvedReferences { - m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta1", "Cluster", "ClusterList") + m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta2", "Cluster", "ClusterList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/kafka/v1beta1/zz_scramsecretassociation_types.go b/apis/kafka/v1beta1/zz_scramsecretassociation_types.go index a0065d2eb4..d700357bea 100755 --- a/apis/kafka/v1beta1/zz_scramsecretassociation_types.go +++ b/apis/kafka/v1beta1/zz_scramsecretassociation_types.go @@ -20,7 +20,7 @@ import ( type ScramSecretAssociationInitParameters struct { // Amazon Resource Name (ARN) of the MSK cluster. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta1.Cluster + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta2.Cluster // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) ClusterArn *string `json:"clusterArn,omitempty" tf:"cluster_arn,omitempty"` @@ -64,7 +64,7 @@ type ScramSecretAssociationObservation struct { type ScramSecretAssociationParameters struct { // Amazon Resource Name (ARN) of the MSK cluster. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta1.Cluster + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta2.Cluster // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) // +kubebuilder:validation:Optional ClusterArn *string `json:"clusterArn,omitempty" tf:"cluster_arn,omitempty"` @@ -124,6 +124,7 @@ type ScramSecretAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ScramSecretAssociation is the Schema for the ScramSecretAssociations API. Associates SCRAM secrets with a Managed Streaming for Kafka (MSK) cluster. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kafka/v1beta1/zz_serverlesscluster_types.go b/apis/kafka/v1beta1/zz_serverlesscluster_types.go index 4fbe3827a4..57f1e6b0a6 100755 --- a/apis/kafka/v1beta1/zz_serverlesscluster_types.go +++ b/apis/kafka/v1beta1/zz_serverlesscluster_types.go @@ -17,6 +17,25 @@ import ( v1 "github.com/crossplane/crossplane-runtime/apis/common/v1" ) +type ClientAuthenticationSaslInitParameters struct { + + // Details for client authentication using IAM. See below. + IAM []IAMInitParameters `json:"iam,omitempty" tf:"iam,omitempty"` +} + +type ClientAuthenticationSaslObservation struct { + + // Details for client authentication using IAM. See below. + IAM []IAMObservation `json:"iam,omitempty" tf:"iam,omitempty"` +} + +type ClientAuthenticationSaslParameters struct { + + // Details for client authentication using IAM. See below. + // +kubebuilder:validation:Optional + IAM []IAMParameters `json:"iam" tf:"iam,omitempty"` +} + type IAMInitParameters struct { // Whether SASL/IAM authentication is enabled or not. @@ -39,39 +58,20 @@ type IAMParameters struct { type ServerlessClusterClientAuthenticationInitParameters struct { // Details for client authentication using SASL. See below. - Sasl []ServerlessClusterClientAuthenticationSaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` + Sasl []ClientAuthenticationSaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` } type ServerlessClusterClientAuthenticationObservation struct { // Details for client authentication using SASL. See below. - Sasl []ServerlessClusterClientAuthenticationSaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` + Sasl []ClientAuthenticationSaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` } type ServerlessClusterClientAuthenticationParameters struct { // Details for client authentication using SASL. See below. // +kubebuilder:validation:Optional - Sasl []ServerlessClusterClientAuthenticationSaslParameters `json:"sasl" tf:"sasl,omitempty"` -} - -type ServerlessClusterClientAuthenticationSaslInitParameters struct { - - // Details for client authentication using IAM. See below. - IAM []IAMInitParameters `json:"iam,omitempty" tf:"iam,omitempty"` -} - -type ServerlessClusterClientAuthenticationSaslObservation struct { - - // Details for client authentication using IAM. See below. - IAM []IAMObservation `json:"iam,omitempty" tf:"iam,omitempty"` -} - -type ServerlessClusterClientAuthenticationSaslParameters struct { - - // Details for client authentication using IAM. See below. - // +kubebuilder:validation:Optional - IAM []IAMParameters `json:"iam" tf:"iam,omitempty"` + Sasl []ClientAuthenticationSaslParameters `json:"sasl" tf:"sasl,omitempty"` } type ServerlessClusterInitParameters struct { @@ -247,6 +247,7 @@ type ServerlessClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServerlessCluster is the Schema for the ServerlessClusters API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kafka/v1beta2/zz_cluster_terraformed.go b/apis/kafka/v1beta2/zz_cluster_terraformed.go new file mode 100755 index 0000000000..3ebf3e9e8a --- /dev/null +++ b/apis/kafka/v1beta2/zz_cluster_terraformed.go @@ -0,0 +1,133 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Cluster +func (mg *Cluster) GetTerraformResourceType() string { + return "aws_msk_cluster" +} + +// GetConnectionDetailsMapping for this Cluster +func (tr *Cluster) GetConnectionDetailsMapping() map[string]string { + return nil +} + +// GetObservation of this Cluster +func (tr *Cluster) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Cluster +func (tr *Cluster) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Cluster +func (tr *Cluster) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Cluster +func (tr *Cluster) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Cluster +func (tr *Cluster) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Cluster +func (tr *Cluster) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Cluster +func (tr *Cluster) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Cluster using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Cluster) LateInitialize(attrs []byte) (bool, error) { + params := &ClusterParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Cluster) GetTerraformSchemaVersion() int { + return 0 +} diff --git a/apis/kafka/v1beta2/zz_cluster_types.go b/apis/kafka/v1beta2/zz_cluster_types.go new file mode 100755 index 0000000000..6aaae5e3b5 --- /dev/null +++ b/apis/kafka/v1beta2/zz_cluster_types.go @@ -0,0 +1,1087 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 BrokerLogsInitParameters struct { + CloudwatchLogs []CloudwatchLogsInitParameters `json:"cloudwatchLogs,omitempty" tf:"cloudwatch_logs,omitempty"` + + Firehose []FirehoseInitParameters `json:"firehose,omitempty" tf:"firehose,omitempty"` + + S3 []S3InitParameters `json:"s3,omitempty" tf:"s3,omitempty"` +} + +type BrokerLogsObservation struct { + CloudwatchLogs []CloudwatchLogsObservation `json:"cloudwatchLogs,omitempty" tf:"cloudwatch_logs,omitempty"` + + Firehose []FirehoseObservation `json:"firehose,omitempty" tf:"firehose,omitempty"` + + S3 []S3Observation `json:"s3,omitempty" tf:"s3,omitempty"` +} + +type BrokerLogsParameters struct { + + // +kubebuilder:validation:Optional + CloudwatchLogs []CloudwatchLogsParameters `json:"cloudwatchLogs,omitempty" tf:"cloudwatch_logs,omitempty"` + + // +kubebuilder:validation:Optional + Firehose []FirehoseParameters `json:"firehose,omitempty" tf:"firehose,omitempty"` + + // +kubebuilder:validation:Optional + S3 []S3Parameters `json:"s3,omitempty" tf:"s3,omitempty"` +} + +type BrokerNodeGroupInfoInitParameters struct { + + // The distribution of broker nodes across availability zones (documentation). Currently the only valid value is DEFAULT. + AzDistribution *string `json:"azDistribution,omitempty" tf:"az_distribution,omitempty"` + + // A list of subnets to connect to in client VPC (documentation). + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet + // +listType=set + ClientSubnets []*string `json:"clientSubnets,omitempty" tf:"client_subnets,omitempty"` + + // References to Subnet in ec2 to populate clientSubnets. + // +kubebuilder:validation:Optional + ClientSubnetsRefs []v1.Reference `json:"clientSubnetsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in ec2 to populate clientSubnets. + // +kubebuilder:validation:Optional + ClientSubnetsSelector *v1.Selector `json:"clientSubnetsSelector,omitempty" tf:"-"` + + // Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible (documentation). + ConnectivityInfo []ConnectivityInfoInitParameters `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +listType=set + SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"` + + // References to SecurityGroup in ec2 to populate securityGroups. + // +kubebuilder:validation:Optional + SecurityGroupsRefs []v1.Reference `json:"securityGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate securityGroups. + // +kubebuilder:validation:Optional + SecurityGroupsSelector *v1.Selector `json:"securityGroupsSelector,omitempty" tf:"-"` + + // A block that contains information about storage volumes attached to MSK broker nodes. See below. + StorageInfo []StorageInfoInitParameters `json:"storageInfo,omitempty" tf:"storage_info,omitempty"` +} + +type BrokerNodeGroupInfoObservation struct { + + // The distribution of broker nodes across availability zones (documentation). Currently the only valid value is DEFAULT. + AzDistribution *string `json:"azDistribution,omitempty" tf:"az_distribution,omitempty"` + + // A list of subnets to connect to in client VPC (documentation). + // +listType=set + ClientSubnets []*string `json:"clientSubnets,omitempty" tf:"client_subnets,omitempty"` + + // Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible (documentation). + ConnectivityInfo []ConnectivityInfoObservation `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) + InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"` + + // A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster. + // +listType=set + SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"` + + // A block that contains information about storage volumes attached to MSK broker nodes. See below. + StorageInfo []StorageInfoObservation `json:"storageInfo,omitempty" tf:"storage_info,omitempty"` +} + +type BrokerNodeGroupInfoParameters struct { + + // The distribution of broker nodes across availability zones (documentation). Currently the only valid value is DEFAULT. + // +kubebuilder:validation:Optional + AzDistribution *string `json:"azDistribution,omitempty" tf:"az_distribution,omitempty"` + + // A list of subnets to connect to in client VPC (documentation). + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet + // +kubebuilder:validation:Optional + // +listType=set + ClientSubnets []*string `json:"clientSubnets,omitempty" tf:"client_subnets,omitempty"` + + // References to Subnet in ec2 to populate clientSubnets. + // +kubebuilder:validation:Optional + ClientSubnetsRefs []v1.Reference `json:"clientSubnetsRefs,omitempty" tf:"-"` + + // Selector for a list of Subnet in ec2 to populate clientSubnets. + // +kubebuilder:validation:Optional + ClientSubnetsSelector *v1.Selector `json:"clientSubnetsSelector,omitempty" tf:"-"` + + // Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible (documentation). + // +kubebuilder:validation:Optional + ConnectivityInfo []ConnectivityInfoParameters `json:"connectivityInfo,omitempty" tf:"connectivity_info,omitempty"` + + // Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. (Pricing info) + // +kubebuilder:validation:Optional + InstanceType *string `json:"instanceType" tf:"instance_type,omitempty"` + + // A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +kubebuilder:validation:Optional + // +listType=set + SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"` + + // References to SecurityGroup in ec2 to populate securityGroups. + // +kubebuilder:validation:Optional + SecurityGroupsRefs []v1.Reference `json:"securityGroupsRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate securityGroups. + // +kubebuilder:validation:Optional + SecurityGroupsSelector *v1.Selector `json:"securityGroupsSelector,omitempty" tf:"-"` + + // A block that contains information about storage volumes attached to MSK broker nodes. See below. + // +kubebuilder:validation:Optional + StorageInfo []StorageInfoParameters `json:"storageInfo,omitempty" tf:"storage_info,omitempty"` +} + +type ClientAuthenticationInitParameters struct { + + // SASL authentication type details for VPC connectivity. See below. + Sasl []SaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type ClientAuthenticationObservation struct { + + // SASL authentication type details for VPC connectivity. See below. + Sasl []SaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type ClientAuthenticationParameters struct { + + // SASL authentication type details for VPC connectivity. See below. + // +kubebuilder:validation:Optional + Sasl []SaslParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + // +kubebuilder:validation:Optional + TLS *bool `json:"tls,omitempty" tf:"tls,omitempty"` +} + +type ClientAuthenticationSaslInitParameters struct { + + // Enables SASL/IAM authentication for VPC connectivity. + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type ClientAuthenticationSaslObservation struct { + + // Enables SASL/IAM authentication for VPC connectivity. + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type ClientAuthenticationSaslParameters struct { + + // Enables SASL/IAM authentication for VPC connectivity. + // +kubebuilder:validation:Optional + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + // +kubebuilder:validation:Optional + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type CloudwatchLogsInitParameters struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Name of the Cloudwatch Log Group to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/cloudwatchlogs/v1beta1.Group + LogGroup *string `json:"logGroup,omitempty" tf:"log_group,omitempty"` + + // Reference to a Group in cloudwatchlogs to populate logGroup. + // +kubebuilder:validation:Optional + LogGroupRef *v1.Reference `json:"logGroupRef,omitempty" tf:"-"` + + // Selector for a Group in cloudwatchlogs to populate logGroup. + // +kubebuilder:validation:Optional + LogGroupSelector *v1.Selector `json:"logGroupSelector,omitempty" tf:"-"` +} + +type CloudwatchLogsObservation struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Name of the Cloudwatch Log Group to deliver logs to. + LogGroup *string `json:"logGroup,omitempty" tf:"log_group,omitempty"` +} + +type CloudwatchLogsParameters struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled" tf:"enabled,omitempty"` + + // Name of the Cloudwatch Log Group to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/cloudwatchlogs/v1beta1.Group + // +kubebuilder:validation:Optional + LogGroup *string `json:"logGroup,omitempty" tf:"log_group,omitempty"` + + // Reference to a Group in cloudwatchlogs to populate logGroup. + // +kubebuilder:validation:Optional + LogGroupRef *v1.Reference `json:"logGroupRef,omitempty" tf:"-"` + + // Selector for a Group in cloudwatchlogs to populate logGroup. + // +kubebuilder:validation:Optional + LogGroupSelector *v1.Selector `json:"logGroupSelector,omitempty" tf:"-"` +} + +type ClusterClientAuthenticationInitParameters struct { + + // SASL authentication type details for VPC connectivity. See below. + Sasl []ClientAuthenticationSaslInitParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + TLS []TLSInitParameters `json:"tls,omitempty" tf:"tls,omitempty"` + + // Enables unauthenticated access. + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` +} + +type ClusterClientAuthenticationObservation struct { + + // SASL authentication type details for VPC connectivity. See below. + Sasl []ClientAuthenticationSaslObservation `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + TLS []TLSObservation `json:"tls,omitempty" tf:"tls,omitempty"` + + // Enables unauthenticated access. + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` +} + +type ClusterClientAuthenticationParameters struct { + + // SASL authentication type details for VPC connectivity. See below. + // +kubebuilder:validation:Optional + Sasl []ClientAuthenticationSaslParameters `json:"sasl,omitempty" tf:"sasl,omitempty"` + + // Enables TLS authentication for VPC connectivity. + // +kubebuilder:validation:Optional + TLS []TLSParameters `json:"tls,omitempty" tf:"tls,omitempty"` + + // Enables unauthenticated access. + // +kubebuilder:validation:Optional + Unauthenticated *bool `json:"unauthenticated,omitempty" tf:"unauthenticated,omitempty"` +} + +type ClusterInitParameters struct { + + // Configuration block for the broker nodes of the Kafka cluster. + BrokerNodeGroupInfo []BrokerNodeGroupInfoInitParameters `json:"brokerNodeGroupInfo,omitempty" tf:"broker_node_group_info,omitempty"` + + // Configuration block for specifying a client authentication. See below. + ClientAuthentication []ClusterClientAuthenticationInitParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + + // Name of the MSK cluster. + ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` + + // Configuration block for specifying a MSK Configuration to attach to Kafka brokers. See below. + ConfigurationInfo []ConfigurationInfoInitParameters `json:"configurationInfo,omitempty" tf:"configuration_info,omitempty"` + + // Configuration block for specifying encryption. See below. + EncryptionInfo []EncryptionInfoInitParameters `json:"encryptionInfo,omitempty" tf:"encryption_info,omitempty"` + + // Specify the desired enhanced MSK CloudWatch monitoring level. See Monitoring Amazon MSK with Amazon CloudWatch + EnhancedMonitoring *string `json:"enhancedMonitoring,omitempty" tf:"enhanced_monitoring,omitempty"` + + // Specify the desired Kafka software version. + KafkaVersion *string `json:"kafkaVersion,omitempty" tf:"kafka_version,omitempty"` + + // Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See below. + LoggingInfo []LoggingInfoInitParameters `json:"loggingInfo,omitempty" tf:"logging_info,omitempty"` + + // The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets. + NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes,omitempty" tf:"number_of_broker_nodes,omitempty"` + + // Configuration block for JMX and Node monitoring for the MSK cluster. See below. + OpenMonitoring []OpenMonitoringInitParameters `json:"openMonitoring,omitempty" tf:"open_monitoring,omitempty"` + + // Controls storage mode for supported storage tiers. Valid values are: LOCAL or TIERED. + StorageMode *string `json:"storageMode,omitempty" tf:"storage_mode,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type ClusterObservation struct { + + // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Comma separated list of one or more hostname:port pairs of kafka brokers suitable to bootstrap connectivity to the kafka cluster. Contains a value if encryption_info.0.encryption_in_transit.0.client_broker is set to PLAINTEXT or TLS_PLAINTEXT. The resource sorts values alphabetically. AWS may not always return all endpoints so this value is not guaranteed to be stable across applies. + BootstrapBrokers *string `json:"bootstrapBrokers,omitempty" tf:"bootstrap_brokers,omitempty"` + + // One or more DNS names (or IP addresses) and SASL IAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersPublicSaslIAM *string `json:"bootstrapBrokersPublicSaslIam,omitempty" tf:"bootstrap_brokers_public_sasl_iam,omitempty"` + + // One or more DNS names (or IP addresses) and SASL SCRAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersPublicSaslScram *string `json:"bootstrapBrokersPublicSaslScram,omitempty" tf:"bootstrap_brokers_public_sasl_scram,omitempty"` + + // One or more DNS names (or IP addresses) and TLS port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS and broker_node_group_info.0.connectivity_info.0.public_access.0.type is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all other requirements for public access. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersPublicTLS *string `json:"bootstrapBrokersPublicTls,omitempty" tf:"bootstrap_brokers_public_tls,omitempty"` + + // One or more DNS names (or IP addresses) and SASL IAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam is set to true. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersSaslIAM *string `json:"bootstrapBrokersSaslIam,omitempty" tf:"bootstrap_brokers_sasl_iam,omitempty"` + + // One or more DNS names (or IP addresses) and SASL SCRAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram is set to true. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersSaslScram *string `json:"bootstrapBrokersSaslScram,omitempty" tf:"bootstrap_brokers_sasl_scram,omitempty"` + + // One or more DNS names (or IP addresses) and TLS port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094. This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker is set to TLS_PLAINTEXT or TLS. The resource sorts the list alphabetically. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersTLS *string `json:"bootstrapBrokersTls,omitempty" tf:"bootstrap_brokers_tls,omitempty"` + + // A string containing one or more DNS names (or IP addresses) and SASL IAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersVPCConnectivitySaslIAM *string `json:"bootstrapBrokersVpcConnectivitySaslIam,omitempty" tf:"bootstrap_brokers_vpc_connectivity_sasl_iam,omitempty"` + + // A string containing one or more DNS names (or IP addresses) and SASL SCRAM port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersVPCConnectivitySaslScram *string `json:"bootstrapBrokersVpcConnectivitySaslScram,omitempty" tf:"bootstrap_brokers_vpc_connectivity_sasl_scram,omitempty"` + + // A string containing one or more DNS names (or IP addresses) and TLS port pairs for VPC connectivity. AWS may not always return all endpoints so the values may not be stable across applies. + BootstrapBrokersVPCConnectivityTLS *string `json:"bootstrapBrokersVpcConnectivityTls,omitempty" tf:"bootstrap_brokers_vpc_connectivity_tls,omitempty"` + + // Configuration block for the broker nodes of the Kafka cluster. + BrokerNodeGroupInfo []BrokerNodeGroupInfoObservation `json:"brokerNodeGroupInfo,omitempty" tf:"broker_node_group_info,omitempty"` + + // Configuration block for specifying a client authentication. See below. + ClientAuthentication []ClusterClientAuthenticationObservation `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + + // Name of the MSK cluster. + ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` + + // UUID of the MSK cluster, for use in IAM policies. + ClusterUUID *string `json:"clusterUuid,omitempty" tf:"cluster_uuid,omitempty"` + + // Configuration block for specifying a MSK Configuration to attach to Kafka brokers. See below. + ConfigurationInfo []ConfigurationInfoObservation `json:"configurationInfo,omitempty" tf:"configuration_info,omitempty"` + + // Current version of the MSK Cluster used for updates, e.g., K13V1IB3VIYZZH + CurrentVersion *string `json:"currentVersion,omitempty" tf:"current_version,omitempty"` + + // Configuration block for specifying encryption. See below. + EncryptionInfo []EncryptionInfoObservation `json:"encryptionInfo,omitempty" tf:"encryption_info,omitempty"` + + // Specify the desired enhanced MSK CloudWatch monitoring level. See Monitoring Amazon MSK with Amazon CloudWatch + EnhancedMonitoring *string `json:"enhancedMonitoring,omitempty" tf:"enhanced_monitoring,omitempty"` + + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Specify the desired Kafka software version. + KafkaVersion *string `json:"kafkaVersion,omitempty" tf:"kafka_version,omitempty"` + + // Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See below. + LoggingInfo []LoggingInfoObservation `json:"loggingInfo,omitempty" tf:"logging_info,omitempty"` + + // The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets. + NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes,omitempty" tf:"number_of_broker_nodes,omitempty"` + + // Configuration block for JMX and Node monitoring for the MSK cluster. See below. + OpenMonitoring []OpenMonitoringObservation `json:"openMonitoring,omitempty" tf:"open_monitoring,omitempty"` + + // Controls storage mode for supported storage tiers. Valid values are: LOCAL or TIERED. + StorageMode *string `json:"storageMode,omitempty" tf:"storage_mode,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` + + // A comma separated list of one or more hostname:port pairs to use to connect to the Apache Zookeeper cluster. The returned values are sorted alphabetically. The AWS API may not return all endpoints, so this value is not guaranteed to be stable across applies. + ZookeeperConnectString *string `json:"zookeeperConnectString,omitempty" tf:"zookeeper_connect_string,omitempty"` + + // A comma separated list of one or more hostname:port pairs to use to connect to the Apache Zookeeper cluster via TLS. The returned values are sorted alphabetically. The AWS API may not return all endpoints, so this value is not guaranteed to be stable across applies. + ZookeeperConnectStringTLS *string `json:"zookeeperConnectStringTls,omitempty" tf:"zookeeper_connect_string_tls,omitempty"` +} + +type ClusterParameters struct { + + // Configuration block for the broker nodes of the Kafka cluster. + // +kubebuilder:validation:Optional + BrokerNodeGroupInfo []BrokerNodeGroupInfoParameters `json:"brokerNodeGroupInfo,omitempty" tf:"broker_node_group_info,omitempty"` + + // Configuration block for specifying a client authentication. See below. + // +kubebuilder:validation:Optional + ClientAuthentication []ClusterClientAuthenticationParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` + + // Name of the MSK cluster. + // +kubebuilder:validation:Optional + ClusterName *string `json:"clusterName,omitempty" tf:"cluster_name,omitempty"` + + // Configuration block for specifying a MSK Configuration to attach to Kafka brokers. See below. + // +kubebuilder:validation:Optional + ConfigurationInfo []ConfigurationInfoParameters `json:"configurationInfo,omitempty" tf:"configuration_info,omitempty"` + + // Configuration block for specifying encryption. See below. + // +kubebuilder:validation:Optional + EncryptionInfo []EncryptionInfoParameters `json:"encryptionInfo,omitempty" tf:"encryption_info,omitempty"` + + // Specify the desired enhanced MSK CloudWatch monitoring level. See Monitoring Amazon MSK with Amazon CloudWatch + // +kubebuilder:validation:Optional + EnhancedMonitoring *string `json:"enhancedMonitoring,omitempty" tf:"enhanced_monitoring,omitempty"` + + // Specify the desired Kafka software version. + // +kubebuilder:validation:Optional + KafkaVersion *string `json:"kafkaVersion,omitempty" tf:"kafka_version,omitempty"` + + // Configuration block for streaming broker logs to Cloudwatch/S3/Kinesis Firehose. See below. + // +kubebuilder:validation:Optional + LoggingInfo []LoggingInfoParameters `json:"loggingInfo,omitempty" tf:"logging_info,omitempty"` + + // The desired total number of broker nodes in the kafka cluster. It must be a multiple of the number of specified client subnets. + // +kubebuilder:validation:Optional + NumberOfBrokerNodes *float64 `json:"numberOfBrokerNodes,omitempty" tf:"number_of_broker_nodes,omitempty"` + + // Configuration block for JMX and Node monitoring for the MSK cluster. See below. + // +kubebuilder:validation:Optional + OpenMonitoring []OpenMonitoringParameters `json:"openMonitoring,omitempty" tf:"open_monitoring,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:"-"` + + // Controls storage mode for supported storage tiers. Valid values are: LOCAL or TIERED. + // +kubebuilder:validation:Optional + StorageMode *string `json:"storageMode,omitempty" tf:"storage_mode,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` +} + +type ConfigurationInfoInitParameters struct { + + // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta1.Configuration + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Reference to a Configuration in kafka to populate arn. + // +kubebuilder:validation:Optional + ArnRef *v1.Reference `json:"arnRef,omitempty" tf:"-"` + + // Selector for a Configuration in kafka to populate arn. + // +kubebuilder:validation:Optional + ArnSelector *v1.Selector `json:"arnSelector,omitempty" tf:"-"` + + // Revision of the MSK Configuration to use in the cluster. + Revision *float64 `json:"revision,omitempty" tf:"revision,omitempty"` +} + +type ConfigurationInfoObservation struct { + + // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Revision of the MSK Configuration to use in the cluster. + Revision *float64 `json:"revision,omitempty" tf:"revision,omitempty"` +} + +type ConfigurationInfoParameters struct { + + // Amazon Resource Name (ARN) of the MSK Configuration to use in the cluster. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kafka/v1beta1.Configuration + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Reference to a Configuration in kafka to populate arn. + // +kubebuilder:validation:Optional + ArnRef *v1.Reference `json:"arnRef,omitempty" tf:"-"` + + // Selector for a Configuration in kafka to populate arn. + // +kubebuilder:validation:Optional + ArnSelector *v1.Selector `json:"arnSelector,omitempty" tf:"-"` + + // Revision of the MSK Configuration to use in the cluster. + // +kubebuilder:validation:Optional + Revision *float64 `json:"revision" tf:"revision,omitempty"` +} + +type ConnectivityInfoInitParameters struct { + + // Access control settings for brokers. See below. + PublicAccess []PublicAccessInitParameters `json:"publicAccess,omitempty" tf:"public_access,omitempty"` + + // VPC connectivity access control for brokers. See below. + VPCConnectivity []VPCConnectivityInitParameters `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` +} + +type ConnectivityInfoObservation struct { + + // Access control settings for brokers. See below. + PublicAccess []PublicAccessObservation `json:"publicAccess,omitempty" tf:"public_access,omitempty"` + + // VPC connectivity access control for brokers. See below. + VPCConnectivity []VPCConnectivityObservation `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` +} + +type ConnectivityInfoParameters struct { + + // Access control settings for brokers. See below. + // +kubebuilder:validation:Optional + PublicAccess []PublicAccessParameters `json:"publicAccess,omitempty" tf:"public_access,omitempty"` + + // VPC connectivity access control for brokers. See below. + // +kubebuilder:validation:Optional + VPCConnectivity []VPCConnectivityParameters `json:"vpcConnectivity,omitempty" tf:"vpc_connectivity,omitempty"` +} + +type EBSStorageInfoInitParameters struct { + + // A block that contains EBS volume provisioned throughput information. To provision storage throughput, you must choose broker type kafka.m5.4xlarge or larger. See below. + ProvisionedThroughput []ProvisionedThroughputInitParameters `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"` + + // The size in GiB of the EBS volume for the data drive on each broker node. Minimum value of 1 and maximum value of 16384. + VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"` +} + +type EBSStorageInfoObservation struct { + + // A block that contains EBS volume provisioned throughput information. To provision storage throughput, you must choose broker type kafka.m5.4xlarge or larger. See below. + ProvisionedThroughput []ProvisionedThroughputObservation `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"` + + // The size in GiB of the EBS volume for the data drive on each broker node. Minimum value of 1 and maximum value of 16384. + VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"` +} + +type EBSStorageInfoParameters struct { + + // A block that contains EBS volume provisioned throughput information. To provision storage throughput, you must choose broker type kafka.m5.4xlarge or larger. See below. + // +kubebuilder:validation:Optional + ProvisionedThroughput []ProvisionedThroughputParameters `json:"provisionedThroughput,omitempty" tf:"provisioned_throughput,omitempty"` + + // The size in GiB of the EBS volume for the data drive on each broker node. Minimum value of 1 and maximum value of 16384. + // +kubebuilder:validation:Optional + VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"` +} + +type EncryptionInTransitInitParameters struct { + + // Encryption setting for data in transit between clients and brokers. Valid values: TLS, TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS. + ClientBroker *string `json:"clientBroker,omitempty" tf:"client_broker,omitempty"` + + // Whether data communication among broker nodes is encrypted. Default value: true. + InCluster *bool `json:"inCluster,omitempty" tf:"in_cluster,omitempty"` +} + +type EncryptionInTransitObservation struct { + + // Encryption setting for data in transit between clients and brokers. Valid values: TLS, TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS. + ClientBroker *string `json:"clientBroker,omitempty" tf:"client_broker,omitempty"` + + // Whether data communication among broker nodes is encrypted. Default value: true. + InCluster *bool `json:"inCluster,omitempty" tf:"in_cluster,omitempty"` +} + +type EncryptionInTransitParameters struct { + + // Encryption setting for data in transit between clients and brokers. Valid values: TLS, TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS. + // +kubebuilder:validation:Optional + ClientBroker *string `json:"clientBroker,omitempty" tf:"client_broker,omitempty"` + + // Whether data communication among broker nodes is encrypted. Default value: true. + // +kubebuilder:validation:Optional + InCluster *bool `json:"inCluster,omitempty" tf:"in_cluster,omitempty"` +} + +type EncryptionInfoInitParameters struct { + + // The ARN of the KMS key used for encryption at rest of the broker data volumes. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + EncryptionAtRestKMSKeyArn *string `json:"encryptionAtRestKmsKeyArn,omitempty" tf:"encryption_at_rest_kms_key_arn,omitempty"` + + // Reference to a Key in kms to populate encryptionAtRestKmsKeyArn. + // +kubebuilder:validation:Optional + EncryptionAtRestKMSKeyArnRef *v1.Reference `json:"encryptionAtRestKmsKeyArnRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate encryptionAtRestKmsKeyArn. + // +kubebuilder:validation:Optional + EncryptionAtRestKMSKeyArnSelector *v1.Selector `json:"encryptionAtRestKmsKeyArnSelector,omitempty" tf:"-"` + + // Configuration block to specify encryption in transit. See below. + EncryptionInTransit []EncryptionInTransitInitParameters `json:"encryptionInTransit,omitempty" tf:"encryption_in_transit,omitempty"` +} + +type EncryptionInfoObservation struct { + + // The ARN of the KMS key used for encryption at rest of the broker data volumes. + EncryptionAtRestKMSKeyArn *string `json:"encryptionAtRestKmsKeyArn,omitempty" tf:"encryption_at_rest_kms_key_arn,omitempty"` + + // Configuration block to specify encryption in transit. See below. + EncryptionInTransit []EncryptionInTransitObservation `json:"encryptionInTransit,omitempty" tf:"encryption_in_transit,omitempty"` +} + +type EncryptionInfoParameters struct { + + // The ARN of the KMS key used for encryption at rest of the broker data volumes. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + EncryptionAtRestKMSKeyArn *string `json:"encryptionAtRestKmsKeyArn,omitempty" tf:"encryption_at_rest_kms_key_arn,omitempty"` + + // Reference to a Key in kms to populate encryptionAtRestKmsKeyArn. + // +kubebuilder:validation:Optional + EncryptionAtRestKMSKeyArnRef *v1.Reference `json:"encryptionAtRestKmsKeyArnRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate encryptionAtRestKmsKeyArn. + // +kubebuilder:validation:Optional + EncryptionAtRestKMSKeyArnSelector *v1.Selector `json:"encryptionAtRestKmsKeyArnSelector,omitempty" tf:"-"` + + // Configuration block to specify encryption in transit. See below. + // +kubebuilder:validation:Optional + EncryptionInTransit []EncryptionInTransitParameters `json:"encryptionInTransit,omitempty" tf:"encryption_in_transit,omitempty"` +} + +type FirehoseInitParameters struct { + + // Name of the Kinesis Data Firehose delivery stream to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/firehose/v1beta1.DeliveryStream + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + DeliveryStream *string `json:"deliveryStream,omitempty" tf:"delivery_stream,omitempty"` + + // Reference to a DeliveryStream in firehose to populate deliveryStream. + // +kubebuilder:validation:Optional + DeliveryStreamRef *v1.Reference `json:"deliveryStreamRef,omitempty" tf:"-"` + + // Selector for a DeliveryStream in firehose to populate deliveryStream. + // +kubebuilder:validation:Optional + DeliveryStreamSelector *v1.Selector `json:"deliveryStreamSelector,omitempty" tf:"-"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type FirehoseObservation struct { + + // Name of the Kinesis Data Firehose delivery stream to deliver logs to. + DeliveryStream *string `json:"deliveryStream,omitempty" tf:"delivery_stream,omitempty"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type FirehoseParameters struct { + + // Name of the Kinesis Data Firehose delivery stream to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/firehose/v1beta1.DeliveryStream + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false) + // +kubebuilder:validation:Optional + DeliveryStream *string `json:"deliveryStream,omitempty" tf:"delivery_stream,omitempty"` + + // Reference to a DeliveryStream in firehose to populate deliveryStream. + // +kubebuilder:validation:Optional + DeliveryStreamRef *v1.Reference `json:"deliveryStreamRef,omitempty" tf:"-"` + + // Selector for a DeliveryStream in firehose to populate deliveryStream. + // +kubebuilder:validation:Optional + DeliveryStreamSelector *v1.Selector `json:"deliveryStreamSelector,omitempty" tf:"-"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled" tf:"enabled,omitempty"` +} + +type JmxExporterInitParameters struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + EnabledInBroker *bool `json:"enabledInBroker,omitempty" tf:"enabled_in_broker,omitempty"` +} + +type JmxExporterObservation struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + EnabledInBroker *bool `json:"enabledInBroker,omitempty" tf:"enabled_in_broker,omitempty"` +} + +type JmxExporterParameters struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + // +kubebuilder:validation:Optional + EnabledInBroker *bool `json:"enabledInBroker" tf:"enabled_in_broker,omitempty"` +} + +type LoggingInfoInitParameters struct { + + // Configuration block for Broker Logs settings for logging info. See below. + BrokerLogs []BrokerLogsInitParameters `json:"brokerLogs,omitempty" tf:"broker_logs,omitempty"` +} + +type LoggingInfoObservation struct { + + // Configuration block for Broker Logs settings for logging info. See below. + BrokerLogs []BrokerLogsObservation `json:"brokerLogs,omitempty" tf:"broker_logs,omitempty"` +} + +type LoggingInfoParameters struct { + + // Configuration block for Broker Logs settings for logging info. See below. + // +kubebuilder:validation:Optional + BrokerLogs []BrokerLogsParameters `json:"brokerLogs" tf:"broker_logs,omitempty"` +} + +type NodeExporterInitParameters struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + EnabledInBroker *bool `json:"enabledInBroker,omitempty" tf:"enabled_in_broker,omitempty"` +} + +type NodeExporterObservation struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + EnabledInBroker *bool `json:"enabledInBroker,omitempty" tf:"enabled_in_broker,omitempty"` +} + +type NodeExporterParameters struct { + + // Indicates whether you want to enable or disable the JMX Exporter. + // +kubebuilder:validation:Optional + EnabledInBroker *bool `json:"enabledInBroker" tf:"enabled_in_broker,omitempty"` +} + +type OpenMonitoringInitParameters struct { + + // Configuration block for Prometheus settings for open monitoring. See below. + Prometheus []PrometheusInitParameters `json:"prometheus,omitempty" tf:"prometheus,omitempty"` +} + +type OpenMonitoringObservation struct { + + // Configuration block for Prometheus settings for open monitoring. See below. + Prometheus []PrometheusObservation `json:"prometheus,omitempty" tf:"prometheus,omitempty"` +} + +type OpenMonitoringParameters struct { + + // Configuration block for Prometheus settings for open monitoring. See below. + // +kubebuilder:validation:Optional + Prometheus []PrometheusParameters `json:"prometheus" tf:"prometheus,omitempty"` +} + +type PrometheusInitParameters struct { + + // Configuration block for JMX Exporter. See below. + JmxExporter []JmxExporterInitParameters `json:"jmxExporter,omitempty" tf:"jmx_exporter,omitempty"` + + // Configuration block for Node Exporter. See below. + NodeExporter []NodeExporterInitParameters `json:"nodeExporter,omitempty" tf:"node_exporter,omitempty"` +} + +type PrometheusObservation struct { + + // Configuration block for JMX Exporter. See below. + JmxExporter []JmxExporterObservation `json:"jmxExporter,omitempty" tf:"jmx_exporter,omitempty"` + + // Configuration block for Node Exporter. See below. + NodeExporter []NodeExporterObservation `json:"nodeExporter,omitempty" tf:"node_exporter,omitempty"` +} + +type PrometheusParameters struct { + + // Configuration block for JMX Exporter. See below. + // +kubebuilder:validation:Optional + JmxExporter []JmxExporterParameters `json:"jmxExporter,omitempty" tf:"jmx_exporter,omitempty"` + + // Configuration block for Node Exporter. See below. + // +kubebuilder:validation:Optional + NodeExporter []NodeExporterParameters `json:"nodeExporter,omitempty" tf:"node_exporter,omitempty"` +} + +type ProvisionedThroughputInitParameters struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second. The minimum value is 250. The maximum value varies between broker type. You can refer to the valid values for the maximum volume throughput at the following documentation on throughput bottlenecks + VolumeThroughput *float64 `json:"volumeThroughput,omitempty" tf:"volume_throughput,omitempty"` +} + +type ProvisionedThroughputObservation struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second. The minimum value is 250. The maximum value varies between broker type. You can refer to the valid values for the maximum volume throughput at the following documentation on throughput bottlenecks + VolumeThroughput *float64 `json:"volumeThroughput,omitempty" tf:"volume_throughput,omitempty"` +} + +type ProvisionedThroughputParameters struct { + + // Controls whether provisioned throughput is enabled or not. Default value: false. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second. The minimum value is 250. The maximum value varies between broker type. You can refer to the valid values for the maximum volume throughput at the following documentation on throughput bottlenecks + // +kubebuilder:validation:Optional + VolumeThroughput *float64 `json:"volumeThroughput,omitempty" tf:"volume_throughput,omitempty"` +} + +type PublicAccessInitParameters struct { + + // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type PublicAccessObservation struct { + + // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type PublicAccessParameters struct { + + // Public access type. Valid values: DISABLED, SERVICE_PROVIDED_EIPS. + // +kubebuilder:validation:Optional + Type *string `json:"type,omitempty" tf:"type,omitempty"` +} + +type S3InitParameters struct { + + // Name of the S3 bucket to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/s3/v1beta1.Bucket + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in s3 to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in s3 to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Prefix to append to the folder name. + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + +type S3Observation struct { + + // Name of the S3 bucket to deliver logs to. + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` + + // Prefix to append to the folder name. + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + +type S3Parameters struct { + + // Name of the S3 bucket to deliver logs to. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/s3/v1beta1.Bucket + // +kubebuilder:validation:Optional + Bucket *string `json:"bucket,omitempty" tf:"bucket,omitempty"` + + // Reference to a Bucket in s3 to populate bucket. + // +kubebuilder:validation:Optional + BucketRef *v1.Reference `json:"bucketRef,omitempty" tf:"-"` + + // Selector for a Bucket in s3 to populate bucket. + // +kubebuilder:validation:Optional + BucketSelector *v1.Selector `json:"bucketSelector,omitempty" tf:"-"` + + // Controls whether provisioned throughput is enabled or not. Default value: false. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled" tf:"enabled,omitempty"` + + // Prefix to append to the folder name. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + +type SaslInitParameters struct { + + // Enables SASL/IAM authentication for VPC connectivity. + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type SaslObservation struct { + + // Enables SASL/IAM authentication for VPC connectivity. + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type SaslParameters struct { + + // Enables SASL/IAM authentication for VPC connectivity. + // +kubebuilder:validation:Optional + IAM *bool `json:"iam,omitempty" tf:"iam,omitempty"` + + // Enables SASL/SCRAM authentication for VPC connectivity. + // +kubebuilder:validation:Optional + Scram *bool `json:"scram,omitempty" tf:"scram,omitempty"` +} + +type StorageInfoInitParameters struct { + + // A block that contains EBS volume information. See below. + EBSStorageInfo []EBSStorageInfoInitParameters `json:"ebsStorageInfo,omitempty" tf:"ebs_storage_info,omitempty"` +} + +type StorageInfoObservation struct { + + // A block that contains EBS volume information. See below. + EBSStorageInfo []EBSStorageInfoObservation `json:"ebsStorageInfo,omitempty" tf:"ebs_storage_info,omitempty"` +} + +type StorageInfoParameters struct { + + // A block that contains EBS volume information. See below. + // +kubebuilder:validation:Optional + EBSStorageInfo []EBSStorageInfoParameters `json:"ebsStorageInfo,omitempty" tf:"ebs_storage_info,omitempty"` +} + +type TLSInitParameters struct { + + // List of ACM Certificate Authority Amazon Resource Names (ARNs). + // +listType=set + CertificateAuthorityArns []*string `json:"certificateAuthorityArns,omitempty" tf:"certificate_authority_arns,omitempty"` +} + +type TLSObservation struct { + + // List of ACM Certificate Authority Amazon Resource Names (ARNs). + // +listType=set + CertificateAuthorityArns []*string `json:"certificateAuthorityArns,omitempty" tf:"certificate_authority_arns,omitempty"` +} + +type TLSParameters struct { + + // List of ACM Certificate Authority Amazon Resource Names (ARNs). + // +kubebuilder:validation:Optional + // +listType=set + CertificateAuthorityArns []*string `json:"certificateAuthorityArns,omitempty" tf:"certificate_authority_arns,omitempty"` +} + +type VPCConnectivityInitParameters struct { + + // Configuration block for specifying a client authentication. See below. + ClientAuthentication []ClientAuthenticationInitParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` +} + +type VPCConnectivityObservation struct { + + // Configuration block for specifying a client authentication. See below. + ClientAuthentication []ClientAuthenticationObservation `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` +} + +type VPCConnectivityParameters struct { + + // Configuration block for specifying a client authentication. See below. + // +kubebuilder:validation:Optional + ClientAuthentication []ClientAuthenticationParameters `json:"clientAuthentication,omitempty" tf:"client_authentication,omitempty"` +} + +// ClusterSpec defines the desired state of Cluster +type ClusterSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider ClusterParameters `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 ClusterInitParameters `json:"initProvider,omitempty"` +} + +// ClusterStatus defines the observed state of Cluster. +type ClusterStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider ClusterObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Cluster is the Schema for the Clusters API. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type Cluster 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.brokerNodeGroupInfo) || (has(self.initProvider) && has(self.initProvider.brokerNodeGroupInfo))",message="spec.forProvider.brokerNodeGroupInfo is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.clusterName) || (has(self.initProvider) && has(self.initProvider.clusterName))",message="spec.forProvider.clusterName is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.kafkaVersion) || (has(self.initProvider) && has(self.initProvider.kafkaVersion))",message="spec.forProvider.kafkaVersion is a required parameter" + // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.numberOfBrokerNodes) || (has(self.initProvider) && has(self.initProvider.numberOfBrokerNodes))",message="spec.forProvider.numberOfBrokerNodes is a required parameter" + Spec ClusterSpec `json:"spec"` + Status ClusterStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// ClusterList contains a list of Clusters +type ClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Cluster `json:"items"` +} + +// Repository type metadata. +var ( + Cluster_Kind = "Cluster" + Cluster_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String() + Cluster_KindAPIVersion = Cluster_Kind + "." + CRDGroupVersion.String() + Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind) +) + +func init() { + SchemeBuilder.Register(&Cluster{}, &ClusterList{}) +} diff --git a/apis/kafka/v1beta2/zz_generated.conversion_hubs.go b/apis/kafka/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..c9ac7154fd --- /dev/null +++ b/apis/kafka/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *Cluster) Hub() {} diff --git a/apis/kafka/v1beta2/zz_generated.deepcopy.go b/apis/kafka/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..d91327eb60 --- /dev/null +++ b/apis/kafka/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,2598 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerLogsInitParameters) DeepCopyInto(out *BrokerLogsInitParameters) { + *out = *in + if in.CloudwatchLogs != nil { + in, out := &in.CloudwatchLogs, &out.CloudwatchLogs + *out = make([]CloudwatchLogsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Firehose != nil { + in, out := &in.Firehose, &out.Firehose + *out = make([]FirehoseInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3 != nil { + in, out := &in.S3, &out.S3 + *out = make([]S3InitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerLogsInitParameters. +func (in *BrokerLogsInitParameters) DeepCopy() *BrokerLogsInitParameters { + if in == nil { + return nil + } + out := new(BrokerLogsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerLogsObservation) DeepCopyInto(out *BrokerLogsObservation) { + *out = *in + if in.CloudwatchLogs != nil { + in, out := &in.CloudwatchLogs, &out.CloudwatchLogs + *out = make([]CloudwatchLogsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Firehose != nil { + in, out := &in.Firehose, &out.Firehose + *out = make([]FirehoseObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3 != nil { + in, out := &in.S3, &out.S3 + *out = make([]S3Observation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerLogsObservation. +func (in *BrokerLogsObservation) DeepCopy() *BrokerLogsObservation { + if in == nil { + return nil + } + out := new(BrokerLogsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerLogsParameters) DeepCopyInto(out *BrokerLogsParameters) { + *out = *in + if in.CloudwatchLogs != nil { + in, out := &in.CloudwatchLogs, &out.CloudwatchLogs + *out = make([]CloudwatchLogsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Firehose != nil { + in, out := &in.Firehose, &out.Firehose + *out = make([]FirehoseParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3 != nil { + in, out := &in.S3, &out.S3 + *out = make([]S3Parameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerLogsParameters. +func (in *BrokerLogsParameters) DeepCopy() *BrokerLogsParameters { + if in == nil { + return nil + } + out := new(BrokerLogsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerNodeGroupInfoInitParameters) DeepCopyInto(out *BrokerNodeGroupInfoInitParameters) { + *out = *in + if in.AzDistribution != nil { + in, out := &in.AzDistribution, &out.AzDistribution + *out = new(string) + **out = **in + } + if in.ClientSubnets != nil { + in, out := &in.ClientSubnets, &out.ClientSubnets + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ClientSubnetsRefs != nil { + in, out := &in.ClientSubnetsRefs, &out.ClientSubnetsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClientSubnetsSelector != nil { + in, out := &in.ClientSubnetsSelector, &out.ClientSubnetsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ConnectivityInfo != nil { + in, out := &in.ConnectivityInfo, &out.ConnectivityInfo + *out = make([]ConnectivityInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.SecurityGroups != nil { + in, out := &in.SecurityGroups, &out.SecurityGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SecurityGroupsRefs != nil { + in, out := &in.SecurityGroupsRefs, &out.SecurityGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityGroupsSelector != nil { + in, out := &in.SecurityGroupsSelector, &out.SecurityGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.StorageInfo != nil { + in, out := &in.StorageInfo, &out.StorageInfo + *out = make([]StorageInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerNodeGroupInfoInitParameters. +func (in *BrokerNodeGroupInfoInitParameters) DeepCopy() *BrokerNodeGroupInfoInitParameters { + if in == nil { + return nil + } + out := new(BrokerNodeGroupInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerNodeGroupInfoObservation) DeepCopyInto(out *BrokerNodeGroupInfoObservation) { + *out = *in + if in.AzDistribution != nil { + in, out := &in.AzDistribution, &out.AzDistribution + *out = new(string) + **out = **in + } + if in.ClientSubnets != nil { + in, out := &in.ClientSubnets, &out.ClientSubnets + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ConnectivityInfo != nil { + in, out := &in.ConnectivityInfo, &out.ConnectivityInfo + *out = make([]ConnectivityInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.SecurityGroups != nil { + in, out := &in.SecurityGroups, &out.SecurityGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.StorageInfo != nil { + in, out := &in.StorageInfo, &out.StorageInfo + *out = make([]StorageInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerNodeGroupInfoObservation. +func (in *BrokerNodeGroupInfoObservation) DeepCopy() *BrokerNodeGroupInfoObservation { + if in == nil { + return nil + } + out := new(BrokerNodeGroupInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerNodeGroupInfoParameters) DeepCopyInto(out *BrokerNodeGroupInfoParameters) { + *out = *in + if in.AzDistribution != nil { + in, out := &in.AzDistribution, &out.AzDistribution + *out = new(string) + **out = **in + } + if in.ClientSubnets != nil { + in, out := &in.ClientSubnets, &out.ClientSubnets + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ClientSubnetsRefs != nil { + in, out := &in.ClientSubnetsRefs, &out.ClientSubnetsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClientSubnetsSelector != nil { + in, out := &in.ClientSubnetsSelector, &out.ClientSubnetsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.ConnectivityInfo != nil { + in, out := &in.ConnectivityInfo, &out.ConnectivityInfo + *out = make([]ConnectivityInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.InstanceType != nil { + in, out := &in.InstanceType, &out.InstanceType + *out = new(string) + **out = **in + } + if in.SecurityGroups != nil { + in, out := &in.SecurityGroups, &out.SecurityGroups + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.SecurityGroupsRefs != nil { + in, out := &in.SecurityGroupsRefs, &out.SecurityGroupsRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SecurityGroupsSelector != nil { + in, out := &in.SecurityGroupsSelector, &out.SecurityGroupsSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.StorageInfo != nil { + in, out := &in.StorageInfo, &out.StorageInfo + *out = make([]StorageInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerNodeGroupInfoParameters. +func (in *BrokerNodeGroupInfoParameters) DeepCopy() *BrokerNodeGroupInfoParameters { + if in == nil { + return nil + } + out := new(BrokerNodeGroupInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationInitParameters) DeepCopyInto(out *ClientAuthenticationInitParameters) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]SaslInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationInitParameters. +func (in *ClientAuthenticationInitParameters) DeepCopy() *ClientAuthenticationInitParameters { + if in == nil { + return nil + } + out := new(ClientAuthenticationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationObservation) DeepCopyInto(out *ClientAuthenticationObservation) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]SaslObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationObservation. +func (in *ClientAuthenticationObservation) DeepCopy() *ClientAuthenticationObservation { + if in == nil { + return nil + } + out := new(ClientAuthenticationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationParameters) DeepCopyInto(out *ClientAuthenticationParameters) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]SaslParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationParameters. +func (in *ClientAuthenticationParameters) DeepCopy() *ClientAuthenticationParameters { + if in == nil { + return nil + } + out := new(ClientAuthenticationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationSaslInitParameters) DeepCopyInto(out *ClientAuthenticationSaslInitParameters) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationSaslInitParameters. +func (in *ClientAuthenticationSaslInitParameters) DeepCopy() *ClientAuthenticationSaslInitParameters { + if in == nil { + return nil + } + out := new(ClientAuthenticationSaslInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationSaslObservation) DeepCopyInto(out *ClientAuthenticationSaslObservation) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationSaslObservation. +func (in *ClientAuthenticationSaslObservation) DeepCopy() *ClientAuthenticationSaslObservation { + if in == nil { + return nil + } + out := new(ClientAuthenticationSaslObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientAuthenticationSaslParameters) DeepCopyInto(out *ClientAuthenticationSaslParameters) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientAuthenticationSaslParameters. +func (in *ClientAuthenticationSaslParameters) DeepCopy() *ClientAuthenticationSaslParameters { + if in == nil { + return nil + } + out := new(ClientAuthenticationSaslParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsInitParameters) DeepCopyInto(out *CloudwatchLogsInitParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.LogGroup != nil { + in, out := &in.LogGroup, &out.LogGroup + *out = new(string) + **out = **in + } + if in.LogGroupRef != nil { + in, out := &in.LogGroupRef, &out.LogGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LogGroupSelector != nil { + in, out := &in.LogGroupSelector, &out.LogGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsInitParameters. +func (in *CloudwatchLogsInitParameters) DeepCopy() *CloudwatchLogsInitParameters { + if in == nil { + return nil + } + out := new(CloudwatchLogsInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsObservation) DeepCopyInto(out *CloudwatchLogsObservation) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.LogGroup != nil { + in, out := &in.LogGroup, &out.LogGroup + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsObservation. +func (in *CloudwatchLogsObservation) DeepCopy() *CloudwatchLogsObservation { + if in == nil { + return nil + } + out := new(CloudwatchLogsObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsParameters) DeepCopyInto(out *CloudwatchLogsParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.LogGroup != nil { + in, out := &in.LogGroup, &out.LogGroup + *out = new(string) + **out = **in + } + if in.LogGroupRef != nil { + in, out := &in.LogGroupRef, &out.LogGroupRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.LogGroupSelector != nil { + in, out := &in.LogGroupSelector, &out.LogGroupSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsParameters. +func (in *CloudwatchLogsParameters) DeepCopy() *CloudwatchLogsParameters { + if in == nil { + return nil + } + out := new(CloudwatchLogsParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Cluster) DeepCopyInto(out *Cluster) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster. +func (in *Cluster) DeepCopy() *Cluster { + if in == nil { + return nil + } + out := new(Cluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Cluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterClientAuthenticationInitParameters) DeepCopyInto(out *ClusterClientAuthenticationInitParameters) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]ClientAuthenticationSaslInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]TLSInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationInitParameters. +func (in *ClusterClientAuthenticationInitParameters) DeepCopy() *ClusterClientAuthenticationInitParameters { + if in == nil { + return nil + } + out := new(ClusterClientAuthenticationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterClientAuthenticationObservation) DeepCopyInto(out *ClusterClientAuthenticationObservation) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]ClientAuthenticationSaslObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]TLSObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationObservation. +func (in *ClusterClientAuthenticationObservation) DeepCopy() *ClusterClientAuthenticationObservation { + if in == nil { + return nil + } + out := new(ClusterClientAuthenticationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterClientAuthenticationParameters) DeepCopyInto(out *ClusterClientAuthenticationParameters) { + *out = *in + if in.Sasl != nil { + in, out := &in.Sasl, &out.Sasl + *out = make([]ClientAuthenticationSaslParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = make([]TLSParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Unauthenticated != nil { + in, out := &in.Unauthenticated, &out.Unauthenticated + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClientAuthenticationParameters. +func (in *ClusterClientAuthenticationParameters) DeepCopy() *ClusterClientAuthenticationParameters { + if in == nil { + return nil + } + out := new(ClusterClientAuthenticationParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters) { + *out = *in + if in.BrokerNodeGroupInfo != nil { + in, out := &in.BrokerNodeGroupInfo, &out.BrokerNodeGroupInfo + *out = make([]BrokerNodeGroupInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClusterClientAuthenticationInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.ConfigurationInfo != nil { + in, out := &in.ConfigurationInfo, &out.ConfigurationInfo + *out = make([]ConfigurationInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EncryptionInfo != nil { + in, out := &in.EncryptionInfo, &out.EncryptionInfo + *out = make([]EncryptionInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnhancedMonitoring != nil { + in, out := &in.EnhancedMonitoring, &out.EnhancedMonitoring + *out = new(string) + **out = **in + } + if in.KafkaVersion != nil { + in, out := &in.KafkaVersion, &out.KafkaVersion + *out = new(string) + **out = **in + } + if in.LoggingInfo != nil { + in, out := &in.LoggingInfo, &out.LoggingInfo + *out = make([]LoggingInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NumberOfBrokerNodes != nil { + in, out := &in.NumberOfBrokerNodes, &out.NumberOfBrokerNodes + *out = new(float64) + **out = **in + } + if in.OpenMonitoring != nil { + in, out := &in.OpenMonitoring, &out.OpenMonitoring + *out = make([]OpenMonitoringInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageMode != nil { + in, out := &in.StorageMode, &out.StorageMode + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInitParameters. +func (in *ClusterInitParameters) DeepCopy() *ClusterInitParameters { + if in == nil { + return nil + } + out := new(ClusterInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterList) DeepCopyInto(out *ClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Cluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList. +func (in *ClusterList) DeepCopy() *ClusterList { + if in == nil { + return nil + } + out := new(ClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.BootstrapBrokers != nil { + in, out := &in.BootstrapBrokers, &out.BootstrapBrokers + *out = new(string) + **out = **in + } + if in.BootstrapBrokersPublicSaslIAM != nil { + in, out := &in.BootstrapBrokersPublicSaslIAM, &out.BootstrapBrokersPublicSaslIAM + *out = new(string) + **out = **in + } + if in.BootstrapBrokersPublicSaslScram != nil { + in, out := &in.BootstrapBrokersPublicSaslScram, &out.BootstrapBrokersPublicSaslScram + *out = new(string) + **out = **in + } + if in.BootstrapBrokersPublicTLS != nil { + in, out := &in.BootstrapBrokersPublicTLS, &out.BootstrapBrokersPublicTLS + *out = new(string) + **out = **in + } + if in.BootstrapBrokersSaslIAM != nil { + in, out := &in.BootstrapBrokersSaslIAM, &out.BootstrapBrokersSaslIAM + *out = new(string) + **out = **in + } + if in.BootstrapBrokersSaslScram != nil { + in, out := &in.BootstrapBrokersSaslScram, &out.BootstrapBrokersSaslScram + *out = new(string) + **out = **in + } + if in.BootstrapBrokersTLS != nil { + in, out := &in.BootstrapBrokersTLS, &out.BootstrapBrokersTLS + *out = new(string) + **out = **in + } + if in.BootstrapBrokersVPCConnectivitySaslIAM != nil { + in, out := &in.BootstrapBrokersVPCConnectivitySaslIAM, &out.BootstrapBrokersVPCConnectivitySaslIAM + *out = new(string) + **out = **in + } + if in.BootstrapBrokersVPCConnectivitySaslScram != nil { + in, out := &in.BootstrapBrokersVPCConnectivitySaslScram, &out.BootstrapBrokersVPCConnectivitySaslScram + *out = new(string) + **out = **in + } + if in.BootstrapBrokersVPCConnectivityTLS != nil { + in, out := &in.BootstrapBrokersVPCConnectivityTLS, &out.BootstrapBrokersVPCConnectivityTLS + *out = new(string) + **out = **in + } + if in.BrokerNodeGroupInfo != nil { + in, out := &in.BrokerNodeGroupInfo, &out.BrokerNodeGroupInfo + *out = make([]BrokerNodeGroupInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClusterClientAuthenticationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.ClusterUUID != nil { + in, out := &in.ClusterUUID, &out.ClusterUUID + *out = new(string) + **out = **in + } + if in.ConfigurationInfo != nil { + in, out := &in.ConfigurationInfo, &out.ConfigurationInfo + *out = make([]ConfigurationInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentVersion != nil { + in, out := &in.CurrentVersion, &out.CurrentVersion + *out = new(string) + **out = **in + } + if in.EncryptionInfo != nil { + in, out := &in.EncryptionInfo, &out.EncryptionInfo + *out = make([]EncryptionInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnhancedMonitoring != nil { + in, out := &in.EnhancedMonitoring, &out.EnhancedMonitoring + *out = new(string) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.KafkaVersion != nil { + in, out := &in.KafkaVersion, &out.KafkaVersion + *out = new(string) + **out = **in + } + if in.LoggingInfo != nil { + in, out := &in.LoggingInfo, &out.LoggingInfo + *out = make([]LoggingInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NumberOfBrokerNodes != nil { + in, out := &in.NumberOfBrokerNodes, &out.NumberOfBrokerNodes + *out = new(float64) + **out = **in + } + if in.OpenMonitoring != nil { + in, out := &in.OpenMonitoring, &out.OpenMonitoring + *out = make([]OpenMonitoringObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.StorageMode != nil { + in, out := &in.StorageMode, &out.StorageMode + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.ZookeeperConnectString != nil { + in, out := &in.ZookeeperConnectString, &out.ZookeeperConnectString + *out = new(string) + **out = **in + } + if in.ZookeeperConnectStringTLS != nil { + in, out := &in.ZookeeperConnectStringTLS, &out.ZookeeperConnectStringTLS + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterObservation. +func (in *ClusterObservation) DeepCopy() *ClusterObservation { + if in == nil { + return nil + } + out := new(ClusterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { + *out = *in + if in.BrokerNodeGroupInfo != nil { + in, out := &in.BrokerNodeGroupInfo, &out.BrokerNodeGroupInfo + *out = make([]BrokerNodeGroupInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClusterClientAuthenticationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ClusterName != nil { + in, out := &in.ClusterName, &out.ClusterName + *out = new(string) + **out = **in + } + if in.ConfigurationInfo != nil { + in, out := &in.ConfigurationInfo, &out.ConfigurationInfo + *out = make([]ConfigurationInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EncryptionInfo != nil { + in, out := &in.EncryptionInfo, &out.EncryptionInfo + *out = make([]EncryptionInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnhancedMonitoring != nil { + in, out := &in.EnhancedMonitoring, &out.EnhancedMonitoring + *out = new(string) + **out = **in + } + if in.KafkaVersion != nil { + in, out := &in.KafkaVersion, &out.KafkaVersion + *out = new(string) + **out = **in + } + if in.LoggingInfo != nil { + in, out := &in.LoggingInfo, &out.LoggingInfo + *out = make([]LoggingInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NumberOfBrokerNodes != nil { + in, out := &in.NumberOfBrokerNodes, &out.NumberOfBrokerNodes + *out = new(float64) + **out = **in + } + if in.OpenMonitoring != nil { + in, out := &in.OpenMonitoring, &out.OpenMonitoring + *out = make([]OpenMonitoringParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.StorageMode != nil { + in, out := &in.StorageMode, &out.StorageMode + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterParameters. +func (in *ClusterParameters) DeepCopy() *ClusterParameters { + if in == nil { + return nil + } + out := new(ClusterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec. +func (in *ClusterSpec) DeepCopy() *ClusterSpec { + if in == nil { + return nil + } + out := new(ClusterSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus. +func (in *ClusterStatus) DeepCopy() *ClusterStatus { + if in == nil { + return nil + } + out := new(ClusterStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigurationInfoInitParameters) DeepCopyInto(out *ConfigurationInfoInitParameters) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.ArnRef != nil { + in, out := &in.ArnRef, &out.ArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ArnSelector != nil { + in, out := &in.ArnSelector, &out.ArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationInfoInitParameters. +func (in *ConfigurationInfoInitParameters) DeepCopy() *ConfigurationInfoInitParameters { + if in == nil { + return nil + } + out := new(ConfigurationInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigurationInfoObservation) DeepCopyInto(out *ConfigurationInfoObservation) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationInfoObservation. +func (in *ConfigurationInfoObservation) DeepCopy() *ConfigurationInfoObservation { + if in == nil { + return nil + } + out := new(ConfigurationInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigurationInfoParameters) DeepCopyInto(out *ConfigurationInfoParameters) { + *out = *in + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.ArnRef != nil { + in, out := &in.ArnRef, &out.ArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ArnSelector != nil { + in, out := &in.ArnSelector, &out.ArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationInfoParameters. +func (in *ConfigurationInfoParameters) DeepCopy() *ConfigurationInfoParameters { + if in == nil { + return nil + } + out := new(ConfigurationInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityInfoInitParameters) DeepCopyInto(out *ConnectivityInfoInitParameters) { + *out = *in + if in.PublicAccess != nil { + in, out := &in.PublicAccess, &out.PublicAccess + *out = make([]PublicAccessInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCConnectivity != nil { + in, out := &in.VPCConnectivity, &out.VPCConnectivity + *out = make([]VPCConnectivityInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoInitParameters. +func (in *ConnectivityInfoInitParameters) DeepCopy() *ConnectivityInfoInitParameters { + if in == nil { + return nil + } + out := new(ConnectivityInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityInfoObservation) DeepCopyInto(out *ConnectivityInfoObservation) { + *out = *in + if in.PublicAccess != nil { + in, out := &in.PublicAccess, &out.PublicAccess + *out = make([]PublicAccessObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCConnectivity != nil { + in, out := &in.VPCConnectivity, &out.VPCConnectivity + *out = make([]VPCConnectivityObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoObservation. +func (in *ConnectivityInfoObservation) DeepCopy() *ConnectivityInfoObservation { + if in == nil { + return nil + } + out := new(ConnectivityInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConnectivityInfoParameters) DeepCopyInto(out *ConnectivityInfoParameters) { + *out = *in + if in.PublicAccess != nil { + in, out := &in.PublicAccess, &out.PublicAccess + *out = make([]PublicAccessParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCConnectivity != nil { + in, out := &in.VPCConnectivity, &out.VPCConnectivity + *out = make([]VPCConnectivityParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectivityInfoParameters. +func (in *ConnectivityInfoParameters) DeepCopy() *ConnectivityInfoParameters { + if in == nil { + return nil + } + out := new(ConnectivityInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EBSStorageInfoInitParameters) DeepCopyInto(out *EBSStorageInfoInitParameters) { + *out = *in + if in.ProvisionedThroughput != nil { + in, out := &in.ProvisionedThroughput, &out.ProvisionedThroughput + *out = make([]ProvisionedThroughputInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VolumeSize != nil { + in, out := &in.VolumeSize, &out.VolumeSize + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSStorageInfoInitParameters. +func (in *EBSStorageInfoInitParameters) DeepCopy() *EBSStorageInfoInitParameters { + if in == nil { + return nil + } + out := new(EBSStorageInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EBSStorageInfoObservation) DeepCopyInto(out *EBSStorageInfoObservation) { + *out = *in + if in.ProvisionedThroughput != nil { + in, out := &in.ProvisionedThroughput, &out.ProvisionedThroughput + *out = make([]ProvisionedThroughputObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VolumeSize != nil { + in, out := &in.VolumeSize, &out.VolumeSize + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSStorageInfoObservation. +func (in *EBSStorageInfoObservation) DeepCopy() *EBSStorageInfoObservation { + if in == nil { + return nil + } + out := new(EBSStorageInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EBSStorageInfoParameters) DeepCopyInto(out *EBSStorageInfoParameters) { + *out = *in + if in.ProvisionedThroughput != nil { + in, out := &in.ProvisionedThroughput, &out.ProvisionedThroughput + *out = make([]ProvisionedThroughputParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VolumeSize != nil { + in, out := &in.VolumeSize, &out.VolumeSize + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EBSStorageInfoParameters. +func (in *EBSStorageInfoParameters) DeepCopy() *EBSStorageInfoParameters { + if in == nil { + return nil + } + out := new(EBSStorageInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInTransitInitParameters) DeepCopyInto(out *EncryptionInTransitInitParameters) { + *out = *in + if in.ClientBroker != nil { + in, out := &in.ClientBroker, &out.ClientBroker + *out = new(string) + **out = **in + } + if in.InCluster != nil { + in, out := &in.InCluster, &out.InCluster + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInTransitInitParameters. +func (in *EncryptionInTransitInitParameters) DeepCopy() *EncryptionInTransitInitParameters { + if in == nil { + return nil + } + out := new(EncryptionInTransitInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInTransitObservation) DeepCopyInto(out *EncryptionInTransitObservation) { + *out = *in + if in.ClientBroker != nil { + in, out := &in.ClientBroker, &out.ClientBroker + *out = new(string) + **out = **in + } + if in.InCluster != nil { + in, out := &in.InCluster, &out.InCluster + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInTransitObservation. +func (in *EncryptionInTransitObservation) DeepCopy() *EncryptionInTransitObservation { + if in == nil { + return nil + } + out := new(EncryptionInTransitObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInTransitParameters) DeepCopyInto(out *EncryptionInTransitParameters) { + *out = *in + if in.ClientBroker != nil { + in, out := &in.ClientBroker, &out.ClientBroker + *out = new(string) + **out = **in + } + if in.InCluster != nil { + in, out := &in.InCluster, &out.InCluster + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInTransitParameters. +func (in *EncryptionInTransitParameters) DeepCopy() *EncryptionInTransitParameters { + if in == nil { + return nil + } + out := new(EncryptionInTransitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInfoInitParameters) DeepCopyInto(out *EncryptionInfoInitParameters) { + *out = *in + if in.EncryptionAtRestKMSKeyArn != nil { + in, out := &in.EncryptionAtRestKMSKeyArn, &out.EncryptionAtRestKMSKeyArn + *out = new(string) + **out = **in + } + if in.EncryptionAtRestKMSKeyArnRef != nil { + in, out := &in.EncryptionAtRestKMSKeyArnRef, &out.EncryptionAtRestKMSKeyArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EncryptionAtRestKMSKeyArnSelector != nil { + in, out := &in.EncryptionAtRestKMSKeyArnSelector, &out.EncryptionAtRestKMSKeyArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.EncryptionInTransit != nil { + in, out := &in.EncryptionInTransit, &out.EncryptionInTransit + *out = make([]EncryptionInTransitInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInfoInitParameters. +func (in *EncryptionInfoInitParameters) DeepCopy() *EncryptionInfoInitParameters { + if in == nil { + return nil + } + out := new(EncryptionInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInfoObservation) DeepCopyInto(out *EncryptionInfoObservation) { + *out = *in + if in.EncryptionAtRestKMSKeyArn != nil { + in, out := &in.EncryptionAtRestKMSKeyArn, &out.EncryptionAtRestKMSKeyArn + *out = new(string) + **out = **in + } + if in.EncryptionInTransit != nil { + in, out := &in.EncryptionInTransit, &out.EncryptionInTransit + *out = make([]EncryptionInTransitObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInfoObservation. +func (in *EncryptionInfoObservation) DeepCopy() *EncryptionInfoObservation { + if in == nil { + return nil + } + out := new(EncryptionInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EncryptionInfoParameters) DeepCopyInto(out *EncryptionInfoParameters) { + *out = *in + if in.EncryptionAtRestKMSKeyArn != nil { + in, out := &in.EncryptionAtRestKMSKeyArn, &out.EncryptionAtRestKMSKeyArn + *out = new(string) + **out = **in + } + if in.EncryptionAtRestKMSKeyArnRef != nil { + in, out := &in.EncryptionAtRestKMSKeyArnRef, &out.EncryptionAtRestKMSKeyArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.EncryptionAtRestKMSKeyArnSelector != nil { + in, out := &in.EncryptionAtRestKMSKeyArnSelector, &out.EncryptionAtRestKMSKeyArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.EncryptionInTransit != nil { + in, out := &in.EncryptionInTransit, &out.EncryptionInTransit + *out = make([]EncryptionInTransitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionInfoParameters. +func (in *EncryptionInfoParameters) DeepCopy() *EncryptionInfoParameters { + if in == nil { + return nil + } + out := new(EncryptionInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseInitParameters) DeepCopyInto(out *FirehoseInitParameters) { + *out = *in + if in.DeliveryStream != nil { + in, out := &in.DeliveryStream, &out.DeliveryStream + *out = new(string) + **out = **in + } + if in.DeliveryStreamRef != nil { + in, out := &in.DeliveryStreamRef, &out.DeliveryStreamRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DeliveryStreamSelector != nil { + in, out := &in.DeliveryStreamSelector, &out.DeliveryStreamSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseInitParameters. +func (in *FirehoseInitParameters) DeepCopy() *FirehoseInitParameters { + if in == nil { + return nil + } + out := new(FirehoseInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseObservation) DeepCopyInto(out *FirehoseObservation) { + *out = *in + if in.DeliveryStream != nil { + in, out := &in.DeliveryStream, &out.DeliveryStream + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseObservation. +func (in *FirehoseObservation) DeepCopy() *FirehoseObservation { + if in == nil { + return nil + } + out := new(FirehoseObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseParameters) DeepCopyInto(out *FirehoseParameters) { + *out = *in + if in.DeliveryStream != nil { + in, out := &in.DeliveryStream, &out.DeliveryStream + *out = new(string) + **out = **in + } + if in.DeliveryStreamRef != nil { + in, out := &in.DeliveryStreamRef, &out.DeliveryStreamRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DeliveryStreamSelector != nil { + in, out := &in.DeliveryStreamSelector, &out.DeliveryStreamSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseParameters. +func (in *FirehoseParameters) DeepCopy() *FirehoseParameters { + if in == nil { + return nil + } + out := new(FirehoseParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JmxExporterInitParameters) DeepCopyInto(out *JmxExporterInitParameters) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JmxExporterInitParameters. +func (in *JmxExporterInitParameters) DeepCopy() *JmxExporterInitParameters { + if in == nil { + return nil + } + out := new(JmxExporterInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JmxExporterObservation) DeepCopyInto(out *JmxExporterObservation) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JmxExporterObservation. +func (in *JmxExporterObservation) DeepCopy() *JmxExporterObservation { + if in == nil { + return nil + } + out := new(JmxExporterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JmxExporterParameters) DeepCopyInto(out *JmxExporterParameters) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JmxExporterParameters. +func (in *JmxExporterParameters) DeepCopy() *JmxExporterParameters { + if in == nil { + return nil + } + out := new(JmxExporterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingInfoInitParameters) DeepCopyInto(out *LoggingInfoInitParameters) { + *out = *in + if in.BrokerLogs != nil { + in, out := &in.BrokerLogs, &out.BrokerLogs + *out = make([]BrokerLogsInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingInfoInitParameters. +func (in *LoggingInfoInitParameters) DeepCopy() *LoggingInfoInitParameters { + if in == nil { + return nil + } + out := new(LoggingInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingInfoObservation) DeepCopyInto(out *LoggingInfoObservation) { + *out = *in + if in.BrokerLogs != nil { + in, out := &in.BrokerLogs, &out.BrokerLogs + *out = make([]BrokerLogsObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingInfoObservation. +func (in *LoggingInfoObservation) DeepCopy() *LoggingInfoObservation { + if in == nil { + return nil + } + out := new(LoggingInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingInfoParameters) DeepCopyInto(out *LoggingInfoParameters) { + *out = *in + if in.BrokerLogs != nil { + in, out := &in.BrokerLogs, &out.BrokerLogs + *out = make([]BrokerLogsParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingInfoParameters. +func (in *LoggingInfoParameters) DeepCopy() *LoggingInfoParameters { + if in == nil { + return nil + } + out := new(LoggingInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeExporterInitParameters) DeepCopyInto(out *NodeExporterInitParameters) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeExporterInitParameters. +func (in *NodeExporterInitParameters) DeepCopy() *NodeExporterInitParameters { + if in == nil { + return nil + } + out := new(NodeExporterInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeExporterObservation) DeepCopyInto(out *NodeExporterObservation) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeExporterObservation. +func (in *NodeExporterObservation) DeepCopy() *NodeExporterObservation { + if in == nil { + return nil + } + out := new(NodeExporterObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeExporterParameters) DeepCopyInto(out *NodeExporterParameters) { + *out = *in + if in.EnabledInBroker != nil { + in, out := &in.EnabledInBroker, &out.EnabledInBroker + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeExporterParameters. +func (in *NodeExporterParameters) DeepCopy() *NodeExporterParameters { + if in == nil { + return nil + } + out := new(NodeExporterParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenMonitoringInitParameters) DeepCopyInto(out *OpenMonitoringInitParameters) { + *out = *in + if in.Prometheus != nil { + in, out := &in.Prometheus, &out.Prometheus + *out = make([]PrometheusInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenMonitoringInitParameters. +func (in *OpenMonitoringInitParameters) DeepCopy() *OpenMonitoringInitParameters { + if in == nil { + return nil + } + out := new(OpenMonitoringInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenMonitoringObservation) DeepCopyInto(out *OpenMonitoringObservation) { + *out = *in + if in.Prometheus != nil { + in, out := &in.Prometheus, &out.Prometheus + *out = make([]PrometheusObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenMonitoringObservation. +func (in *OpenMonitoringObservation) DeepCopy() *OpenMonitoringObservation { + if in == nil { + return nil + } + out := new(OpenMonitoringObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenMonitoringParameters) DeepCopyInto(out *OpenMonitoringParameters) { + *out = *in + if in.Prometheus != nil { + in, out := &in.Prometheus, &out.Prometheus + *out = make([]PrometheusParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenMonitoringParameters. +func (in *OpenMonitoringParameters) DeepCopy() *OpenMonitoringParameters { + if in == nil { + return nil + } + out := new(OpenMonitoringParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrometheusInitParameters) DeepCopyInto(out *PrometheusInitParameters) { + *out = *in + if in.JmxExporter != nil { + in, out := &in.JmxExporter, &out.JmxExporter + *out = make([]JmxExporterInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeExporter != nil { + in, out := &in.NodeExporter, &out.NodeExporter + *out = make([]NodeExporterInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusInitParameters. +func (in *PrometheusInitParameters) DeepCopy() *PrometheusInitParameters { + if in == nil { + return nil + } + out := new(PrometheusInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrometheusObservation) DeepCopyInto(out *PrometheusObservation) { + *out = *in + if in.JmxExporter != nil { + in, out := &in.JmxExporter, &out.JmxExporter + *out = make([]JmxExporterObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeExporter != nil { + in, out := &in.NodeExporter, &out.NodeExporter + *out = make([]NodeExporterObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusObservation. +func (in *PrometheusObservation) DeepCopy() *PrometheusObservation { + if in == nil { + return nil + } + out := new(PrometheusObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrometheusParameters) DeepCopyInto(out *PrometheusParameters) { + *out = *in + if in.JmxExporter != nil { + in, out := &in.JmxExporter, &out.JmxExporter + *out = make([]JmxExporterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NodeExporter != nil { + in, out := &in.NodeExporter, &out.NodeExporter + *out = make([]NodeExporterParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusParameters. +func (in *PrometheusParameters) DeepCopy() *PrometheusParameters { + if in == nil { + return nil + } + out := new(PrometheusParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProvisionedThroughputInitParameters) DeepCopyInto(out *ProvisionedThroughputInitParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.VolumeThroughput != nil { + in, out := &in.VolumeThroughput, &out.VolumeThroughput + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisionedThroughputInitParameters. +func (in *ProvisionedThroughputInitParameters) DeepCopy() *ProvisionedThroughputInitParameters { + if in == nil { + return nil + } + out := new(ProvisionedThroughputInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProvisionedThroughputObservation) DeepCopyInto(out *ProvisionedThroughputObservation) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.VolumeThroughput != nil { + in, out := &in.VolumeThroughput, &out.VolumeThroughput + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisionedThroughputObservation. +func (in *ProvisionedThroughputObservation) DeepCopy() *ProvisionedThroughputObservation { + if in == nil { + return nil + } + out := new(ProvisionedThroughputObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProvisionedThroughputParameters) DeepCopyInto(out *ProvisionedThroughputParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.VolumeThroughput != nil { + in, out := &in.VolumeThroughput, &out.VolumeThroughput + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProvisionedThroughputParameters. +func (in *ProvisionedThroughputParameters) DeepCopy() *ProvisionedThroughputParameters { + if in == nil { + return nil + } + out := new(ProvisionedThroughputParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicAccessInitParameters) DeepCopyInto(out *PublicAccessInitParameters) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicAccessInitParameters. +func (in *PublicAccessInitParameters) DeepCopy() *PublicAccessInitParameters { + if in == nil { + return nil + } + out := new(PublicAccessInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicAccessObservation) DeepCopyInto(out *PublicAccessObservation) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicAccessObservation. +func (in *PublicAccessObservation) DeepCopy() *PublicAccessObservation { + if in == nil { + return nil + } + out := new(PublicAccessObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PublicAccessParameters) DeepCopyInto(out *PublicAccessParameters) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicAccessParameters. +func (in *PublicAccessParameters) DeepCopy() *PublicAccessParameters { + if in == nil { + return nil + } + out := new(PublicAccessParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3InitParameters) DeepCopyInto(out *S3InitParameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3InitParameters. +func (in *S3InitParameters) DeepCopy() *S3InitParameters { + if in == nil { + return nil + } + out := new(S3InitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3Observation) DeepCopyInto(out *S3Observation) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Observation. +func (in *S3Observation) DeepCopy() *S3Observation { + if in == nil { + return nil + } + out := new(S3Observation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3Parameters) DeepCopyInto(out *S3Parameters) { + *out = *in + if in.Bucket != nil { + in, out := &in.Bucket, &out.Bucket + *out = new(string) + **out = **in + } + if in.BucketRef != nil { + in, out := &in.BucketRef, &out.BucketRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.BucketSelector != nil { + in, out := &in.BucketSelector, &out.BucketSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Prefix != nil { + in, out := &in.Prefix, &out.Prefix + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Parameters. +func (in *S3Parameters) DeepCopy() *S3Parameters { + if in == nil { + return nil + } + out := new(S3Parameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaslInitParameters) DeepCopyInto(out *SaslInitParameters) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaslInitParameters. +func (in *SaslInitParameters) DeepCopy() *SaslInitParameters { + if in == nil { + return nil + } + out := new(SaslInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaslObservation) DeepCopyInto(out *SaslObservation) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaslObservation. +func (in *SaslObservation) DeepCopy() *SaslObservation { + if in == nil { + return nil + } + out := new(SaslObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SaslParameters) DeepCopyInto(out *SaslParameters) { + *out = *in + if in.IAM != nil { + in, out := &in.IAM, &out.IAM + *out = new(bool) + **out = **in + } + if in.Scram != nil { + in, out := &in.Scram, &out.Scram + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SaslParameters. +func (in *SaslParameters) DeepCopy() *SaslParameters { + if in == nil { + return nil + } + out := new(SaslParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageInfoInitParameters) DeepCopyInto(out *StorageInfoInitParameters) { + *out = *in + if in.EBSStorageInfo != nil { + in, out := &in.EBSStorageInfo, &out.EBSStorageInfo + *out = make([]EBSStorageInfoInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageInfoInitParameters. +func (in *StorageInfoInitParameters) DeepCopy() *StorageInfoInitParameters { + if in == nil { + return nil + } + out := new(StorageInfoInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageInfoObservation) DeepCopyInto(out *StorageInfoObservation) { + *out = *in + if in.EBSStorageInfo != nil { + in, out := &in.EBSStorageInfo, &out.EBSStorageInfo + *out = make([]EBSStorageInfoObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageInfoObservation. +func (in *StorageInfoObservation) DeepCopy() *StorageInfoObservation { + if in == nil { + return nil + } + out := new(StorageInfoObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StorageInfoParameters) DeepCopyInto(out *StorageInfoParameters) { + *out = *in + if in.EBSStorageInfo != nil { + in, out := &in.EBSStorageInfo, &out.EBSStorageInfo + *out = make([]EBSStorageInfoParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageInfoParameters. +func (in *StorageInfoParameters) DeepCopy() *StorageInfoParameters { + if in == nil { + return nil + } + out := new(StorageInfoParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSInitParameters) DeepCopyInto(out *TLSInitParameters) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSInitParameters. +func (in *TLSInitParameters) DeepCopy() *TLSInitParameters { + if in == nil { + return nil + } + out := new(TLSInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSObservation) DeepCopyInto(out *TLSObservation) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSObservation. +func (in *TLSObservation) DeepCopy() *TLSObservation { + if in == nil { + return nil + } + out := new(TLSObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSParameters) DeepCopyInto(out *TLSParameters) { + *out = *in + if in.CertificateAuthorityArns != nil { + in, out := &in.CertificateAuthorityArns, &out.CertificateAuthorityArns + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSParameters. +func (in *TLSParameters) DeepCopy() *TLSParameters { + if in == nil { + return nil + } + out := new(TLSParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCConnectivityInitParameters) DeepCopyInto(out *VPCConnectivityInitParameters) { + *out = *in + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClientAuthenticationInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityInitParameters. +func (in *VPCConnectivityInitParameters) DeepCopy() *VPCConnectivityInitParameters { + if in == nil { + return nil + } + out := new(VPCConnectivityInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCConnectivityObservation) DeepCopyInto(out *VPCConnectivityObservation) { + *out = *in + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClientAuthenticationObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityObservation. +func (in *VPCConnectivityObservation) DeepCopy() *VPCConnectivityObservation { + if in == nil { + return nil + } + out := new(VPCConnectivityObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPCConnectivityParameters) DeepCopyInto(out *VPCConnectivityParameters) { + *out = *in + if in.ClientAuthentication != nil { + in, out := &in.ClientAuthentication, &out.ClientAuthentication + *out = make([]ClientAuthenticationParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCConnectivityParameters. +func (in *VPCConnectivityParameters) DeepCopy() *VPCConnectivityParameters { + if in == nil { + return nil + } + out := new(VPCConnectivityParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/kafka/v1beta2/zz_generated.managed.go b/apis/kafka/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..b2aa90e19e --- /dev/null +++ b/apis/kafka/v1beta2/zz_generated.managed.go @@ -0,0 +1,68 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Cluster. +func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Cluster. +func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Cluster. +func (mg *Cluster) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Cluster. +func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Cluster. +func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Cluster. +func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Cluster. +func (mg *Cluster) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Cluster. +func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Cluster. +func (mg *Cluster) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Cluster. +func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Cluster. +func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Cluster. +func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/kafka/v1beta2/zz_generated.managedlist.go b/apis/kafka/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..1a2ed8b05f --- /dev/null +++ b/apis/kafka/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,17 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this ClusterList. +func (l *ClusterList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/kafka/v1beta2/zz_generated.resolvers.go b/apis/kafka/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..2fbc99c8aa --- /dev/null +++ b/apis/kafka/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,352 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + common "github.com/upbound/provider-aws/config/common" + client "sigs.k8s.io/controller-runtime/pkg/client" + + // ResolveReferences of this Cluster. + apisresolver "github.com/upbound/provider-aws/internal/apis" +) + +func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse + var err error + + for i3 := 0; i3 < len(mg.Spec.ForProvider.BrokerNodeGroupInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnets), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnetsRefs, + Selector: mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnetsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnets") + } + mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnets = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].ClientSubnetsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.BrokerNodeGroupInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroups), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroupsRefs, + Selector: mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroups") + } + mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.BrokerNodeGroupInfo[i3].SecurityGroupsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.ConfigurationInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta1", "Configuration", "ConfigurationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ConfigurationInfo[i3].Arn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.ConfigurationInfo[i3].ArnRef, + Selector: mg.Spec.ForProvider.ConfigurationInfo[i3].ArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ConfigurationInfo[i3].Arn") + } + mg.Spec.ForProvider.ConfigurationInfo[i3].Arn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ConfigurationInfo[i3].ArnRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.EncryptionInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnRef, + Selector: mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn") + } + mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs); i5++ { + { + m, l, err = apisresolver.GetManagedResource("cloudwatchlogs.aws.upbound.io", "v1beta1", "Group", "GroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupRef, + Selector: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup") + } + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose); i5++ { + { + m, l, err = apisresolver.GetManagedResource("firehose.aws.upbound.io", "v1beta1", "DeliveryStream", "DeliveryStreamList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamRef, + Selector: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream") + } + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.ForProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3); i5++ { + { + m, l, err = apisresolver.GetManagedResource("s3.aws.upbound.io", "v1beta1", "Bucket", "BucketList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketRef, + Selector: mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket") + } + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BrokerNodeGroupInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "Subnet", "SubnetList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnets), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnetsRefs, + Selector: mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnetsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnets") + } + mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnets = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].ClientSubnetsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.BrokerNodeGroupInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroups), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroupsRefs, + Selector: mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroupsSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroups") + } + mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroups = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.BrokerNodeGroupInfo[i3].SecurityGroupsRefs = mrsp.ResolvedReferences + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.ConfigurationInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("kafka.aws.upbound.io", "v1beta1", "Configuration", "ConfigurationList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ConfigurationInfo[i3].Arn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.ConfigurationInfo[i3].ArnRef, + Selector: mg.Spec.InitProvider.ConfigurationInfo[i3].ArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ConfigurationInfo[i3].Arn") + } + mg.Spec.InitProvider.ConfigurationInfo[i3].Arn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ConfigurationInfo[i3].ArnRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.EncryptionInfo); i3++ { + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnRef, + Selector: mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn") + } + mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.EncryptionInfo[i3].EncryptionAtRestKMSKeyArnRef = rsp.ResolvedReference + + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs); i5++ { + { + m, l, err = apisresolver.GetManagedResource("cloudwatchlogs.aws.upbound.io", "v1beta1", "Group", "GroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupRef, + Selector: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup") + } + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroup = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].CloudwatchLogs[i5].LogGroupRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose); i5++ { + { + m, l, err = apisresolver.GetManagedResource("firehose.aws.upbound.io", "v1beta1", "DeliveryStream", "DeliveryStreamList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream), + Extract: resource.ExtractParamPath("name", false), + Reference: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamRef, + Selector: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream") + } + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStream = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].Firehose[i5].DeliveryStreamRef = rsp.ResolvedReference + + } + } + } + for i3 := 0; i3 < len(mg.Spec.InitProvider.LoggingInfo); i3++ { + for i4 := 0; i4 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs); i4++ { + for i5 := 0; i5 < len(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3); i5++ { + { + m, l, err = apisresolver.GetManagedResource("s3.aws.upbound.io", "v1beta1", "Bucket", "BucketList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketRef, + Selector: mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket") + } + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].Bucket = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.LoggingInfo[i3].BrokerLogs[i4].S3[i5].BucketRef = rsp.ResolvedReference + + } + } + } + + return nil +} diff --git a/apis/kafka/v1beta2/zz_groupversion_info.go b/apis/kafka/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..5be450e150 --- /dev/null +++ b/apis/kafka/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=kafka.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "kafka.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/kendra/v1beta1/zz_datasource_types.go b/apis/kendra/v1beta1/zz_datasource_types.go index 8ceeb96d80..e8bef57f2b 100755 --- a/apis/kendra/v1beta1/zz_datasource_types.go +++ b/apis/kendra/v1beta1/zz_datasource_types.go @@ -1232,6 +1232,7 @@ type DataSourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataSource is the Schema for the DataSources API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kendra/v1beta1/zz_experience_types.go b/apis/kendra/v1beta1/zz_experience_types.go index 915ef84d6e..a5a0c9cd5b 100755 --- a/apis/kendra/v1beta1/zz_experience_types.go +++ b/apis/kendra/v1beta1/zz_experience_types.go @@ -269,6 +269,7 @@ type ExperienceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Experience is the Schema for the Experiences API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kendra/v1beta1/zz_index_types.go b/apis/kendra/v1beta1/zz_index_types.go index 4dedf14c6b..5c71e2fa3c 100755 --- a/apis/kendra/v1beta1/zz_index_types.go +++ b/apis/kendra/v1beta1/zz_index_types.go @@ -620,6 +620,7 @@ type IndexStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Index is the Schema for the Indexs API. Provides an Amazon Kendra Index resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kendra/v1beta1/zz_querysuggestionsblocklist_types.go b/apis/kendra/v1beta1/zz_querysuggestionsblocklist_types.go index 37e88808ff..213e1ab595 100755 --- a/apis/kendra/v1beta1/zz_querysuggestionsblocklist_types.go +++ b/apis/kendra/v1beta1/zz_querysuggestionsblocklist_types.go @@ -222,6 +222,7 @@ type QuerySuggestionsBlockListStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // QuerySuggestionsBlockList is the Schema for the QuerySuggestionsBlockLists API. provider resource for managing an aws kendra block list used for query suggestions for an index // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kendra/v1beta1/zz_thesaurus_types.go b/apis/kendra/v1beta1/zz_thesaurus_types.go index ad8aded31c..9292870f8a 100755 --- a/apis/kendra/v1beta1/zz_thesaurus_types.go +++ b/apis/kendra/v1beta1/zz_thesaurus_types.go @@ -244,6 +244,7 @@ type ThesaurusStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Thesaurus is the Schema for the Thesauruss API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/keyspaces/v1beta1/zz_keyspace_types.go b/apis/keyspaces/v1beta1/zz_keyspace_types.go index e254d61774..c5eb4f5c03 100755 --- a/apis/keyspaces/v1beta1/zz_keyspace_types.go +++ b/apis/keyspaces/v1beta1/zz_keyspace_types.go @@ -79,6 +79,7 @@ type KeyspaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Keyspace is the Schema for the Keyspaces API. Provides a Keyspaces Keyspace. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/keyspaces/v1beta1/zz_table_types.go b/apis/keyspaces/v1beta1/zz_table_types.go index 6c09b02006..89404a51a9 100755 --- a/apis/keyspaces/v1beta1/zz_table_types.go +++ b/apis/keyspaces/v1beta1/zz_table_types.go @@ -485,6 +485,7 @@ type TableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Table is the Schema for the Tables API. Provides a Keyspaces Table. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesis/v1beta1/zz_stream_types.go b/apis/kinesis/v1beta1/zz_stream_types.go index d5c186c35d..ae7bb52ecc 100755 --- a/apis/kinesis/v1beta1/zz_stream_types.go +++ b/apis/kinesis/v1beta1/zz_stream_types.go @@ -192,6 +192,7 @@ type StreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stream is the Schema for the Streams API. Provides a AWS Kinesis Stream // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesis/v1beta1/zz_streamconsumer_types.go b/apis/kinesis/v1beta1/zz_streamconsumer_types.go index dec99fe009..90abb0092e 100755 --- a/apis/kinesis/v1beta1/zz_streamconsumer_types.go +++ b/apis/kinesis/v1beta1/zz_streamconsumer_types.go @@ -105,6 +105,7 @@ type StreamConsumerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StreamConsumer is the Schema for the StreamConsumers API. Manages a Kinesis Stream Consumer. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesisanalytics/v1beta1/zz_application_types.go b/apis/kinesisanalytics/v1beta1/zz_application_types.go index 7ea825f273..ed453b977f 100755 --- a/apis/kinesisanalytics/v1beta1/zz_application_types.go +++ b/apis/kinesisanalytics/v1beta1/zz_application_types.go @@ -1204,6 +1204,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Provides a AWS Kinesis Analytics Application // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesisanalyticsv2/v1beta1/zz_application_types.go b/apis/kinesisanalyticsv2/v1beta1/zz_application_types.go index b329356484..65b8e4eee4 100755 --- a/apis/kinesisanalyticsv2/v1beta1/zz_application_types.go +++ b/apis/kinesisanalyticsv2/v1beta1/zz_application_types.go @@ -1699,6 +1699,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Manages a Kinesis Analytics v2 Application. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesisanalyticsv2/v1beta1/zz_applicationsnapshot_types.go b/apis/kinesisanalyticsv2/v1beta1/zz_applicationsnapshot_types.go index 34501cdb9e..b47ccc8a3b 100755 --- a/apis/kinesisanalyticsv2/v1beta1/zz_applicationsnapshot_types.go +++ b/apis/kinesisanalyticsv2/v1beta1/zz_applicationsnapshot_types.go @@ -93,6 +93,7 @@ type ApplicationSnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ApplicationSnapshot is the Schema for the ApplicationSnapshots API. Manages a Kinesis Analytics v2 Application Snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kinesisvideo/v1beta1/zz_stream_types.go b/apis/kinesisvideo/v1beta1/zz_stream_types.go index 98335ed490..97db84f725 100755 --- a/apis/kinesisvideo/v1beta1/zz_stream_types.go +++ b/apis/kinesisvideo/v1beta1/zz_stream_types.go @@ -156,6 +156,7 @@ type StreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stream is the Schema for the Streams API. Provides a AWS Kinesis Video Stream // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_alias_types.go b/apis/kms/v1beta1/zz_alias_types.go index b7e347910c..5366dad515 100755 --- a/apis/kms/v1beta1/zz_alias_types.go +++ b/apis/kms/v1beta1/zz_alias_types.go @@ -92,6 +92,7 @@ type AliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Alias is the Schema for the Aliass API. Provides a display name for a customer master key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_ciphertext_types.go b/apis/kms/v1beta1/zz_ciphertext_types.go index 95a7a8d0fa..7d33b5c63e 100755 --- a/apis/kms/v1beta1/zz_ciphertext_types.go +++ b/apis/kms/v1beta1/zz_ciphertext_types.go @@ -106,6 +106,7 @@ type CiphertextStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Ciphertext is the Schema for the Ciphertexts API. Provides ciphertext encrypted using a KMS key // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_externalkey_types.go b/apis/kms/v1beta1/zz_externalkey_types.go index 888b9a8a48..f9a8ab6866 100755 --- a/apis/kms/v1beta1/zz_externalkey_types.go +++ b/apis/kms/v1beta1/zz_externalkey_types.go @@ -162,6 +162,7 @@ type ExternalKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ExternalKey is the Schema for the ExternalKeys API. Manages a single-Region or multi-Region primary KMS key that uses external key material. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_grant_types.go b/apis/kms/v1beta1/zz_grant_types.go index f1820d08f0..3cdd6b5efa 100755 --- a/apis/kms/v1beta1/zz_grant_types.go +++ b/apis/kms/v1beta1/zz_grant_types.go @@ -228,6 +228,7 @@ type GrantStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Grant is the Schema for the Grants API. Provides a resource-based access control mechanism for KMS Customer Master Keys. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_key_types.go b/apis/kms/v1beta1/zz_key_types.go index 5b9875ba62..6e15fa9e5d 100755 --- a/apis/kms/v1beta1/zz_key_types.go +++ b/apis/kms/v1beta1/zz_key_types.go @@ -202,6 +202,7 @@ type KeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Key is the Schema for the Keys API. Manages a single-Region or multi-Region primary KMS key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_replicaexternalkey_types.go b/apis/kms/v1beta1/zz_replicaexternalkey_types.go index f8cfec3d1d..cd2054c112 100755 --- a/apis/kms/v1beta1/zz_replicaexternalkey_types.go +++ b/apis/kms/v1beta1/zz_replicaexternalkey_types.go @@ -196,6 +196,7 @@ type ReplicaExternalKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicaExternalKey is the Schema for the ReplicaExternalKeys API. Manages a KMS multi-Region replica key that uses external key material. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/kms/v1beta1/zz_replicakey_types.go b/apis/kms/v1beta1/zz_replicakey_types.go index 4be29444c9..45f328ec2e 100755 --- a/apis/kms/v1beta1/zz_replicakey_types.go +++ b/apis/kms/v1beta1/zz_replicakey_types.go @@ -182,6 +182,7 @@ type ReplicaKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReplicaKey is the Schema for the ReplicaKeys API. Manages a KMS multi-Region replica key. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lakeformation/v1beta1/zz_datalakesettings_types.go b/apis/lakeformation/v1beta1/zz_datalakesettings_types.go index 1a3b6ac7e3..ff91d73768 100755 --- a/apis/lakeformation/v1beta1/zz_datalakesettings_types.go +++ b/apis/lakeformation/v1beta1/zz_datalakesettings_types.go @@ -221,6 +221,7 @@ type DataLakeSettingsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DataLakeSettings is the Schema for the DataLakeSettingss API. Manages data lake administrators and default database and table permissions // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lakeformation/v1beta1/zz_permissions_types.go b/apis/lakeformation/v1beta1/zz_permissions_types.go index 6b0fc35f70..dfb8f0c534 100755 --- a/apis/lakeformation/v1beta1/zz_permissions_types.go +++ b/apis/lakeformation/v1beta1/zz_permissions_types.go @@ -519,6 +519,7 @@ type PermissionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Permissions is the Schema for the Permissionss API. Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lakeformation/v1beta1/zz_resource_types.go b/apis/lakeformation/v1beta1/zz_resource_types.go index 51347b220a..205c435a11 100755 --- a/apis/lakeformation/v1beta1/zz_resource_types.go +++ b/apis/lakeformation/v1beta1/zz_resource_types.go @@ -101,6 +101,7 @@ type ResourceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Resource is the Schema for the Resources API. Registers a Lake Formation resource as managed by the Data Catalog. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_alias_types.go b/apis/lambda/v1beta1/zz_alias_types.go index 33e0fd2272..4ce8d3ee48 100755 --- a/apis/lambda/v1beta1/zz_alias_types.go +++ b/apis/lambda/v1beta1/zz_alias_types.go @@ -132,6 +132,7 @@ type AliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Alias is the Schema for the Aliass API. Creates a Lambda function alias. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_codesigningconfig_types.go b/apis/lambda/v1beta1/zz_codesigningconfig_types.go index 7cd220e8bf..d26dd6729b 100755 --- a/apis/lambda/v1beta1/zz_codesigningconfig_types.go +++ b/apis/lambda/v1beta1/zz_codesigningconfig_types.go @@ -158,6 +158,7 @@ type CodeSigningConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CodeSigningConfig is the Schema for the CodeSigningConfigs API. Provides a Lambda Code Signing Config resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_eventsourcemapping_types.go b/apis/lambda/v1beta1/zz_eventsourcemapping_types.go index e110247d32..28a94c0a09 100755 --- a/apis/lambda/v1beta1/zz_eventsourcemapping_types.go +++ b/apis/lambda/v1beta1/zz_eventsourcemapping_types.go @@ -555,6 +555,7 @@ type EventSourceMappingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSourceMapping is the Schema for the EventSourceMappings API. Provides a Lambda event source mapping. This allows Lambda functions to get events from Kinesis, DynamoDB, SQS, Amazon MQ and Managed Streaming for Apache Kafka (MSK). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_function_types.go b/apis/lambda/v1beta1/zz_function_types.go index a73284ae1b..199aa3cbca 100755 --- a/apis/lambda/v1beta1/zz_function_types.go +++ b/apis/lambda/v1beta1/zz_function_types.go @@ -751,6 +751,7 @@ type FunctionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Function is the Schema for the Functions API. Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS, enabling serverless backend solutions. The Lambda Function itself includes source code and runtime configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_functioneventinvokeconfig_types.go b/apis/lambda/v1beta1/zz_functioneventinvokeconfig_types.go index 83d35c1fbd..55b3efa84f 100755 --- a/apis/lambda/v1beta1/zz_functioneventinvokeconfig_types.go +++ b/apis/lambda/v1beta1/zz_functioneventinvokeconfig_types.go @@ -216,6 +216,7 @@ type FunctionEventInvokeConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FunctionEventInvokeConfig is the Schema for the FunctionEventInvokeConfigs API. Manages an asynchronous invocation configuration for a Lambda Function or Alias. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_functionurl_types.go b/apis/lambda/v1beta1/zz_functionurl_types.go index 5a985d2bf8..c9944784bf 100755 --- a/apis/lambda/v1beta1/zz_functionurl_types.go +++ b/apis/lambda/v1beta1/zz_functionurl_types.go @@ -216,6 +216,7 @@ type FunctionURLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FunctionURL is the Schema for the FunctionURLs API. Provides a Lambda function URL resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_invocation_types.go b/apis/lambda/v1beta1/zz_invocation_types.go index 3037375f5c..b83929fc3d 100755 --- a/apis/lambda/v1beta1/zz_invocation_types.go +++ b/apis/lambda/v1beta1/zz_invocation_types.go @@ -142,6 +142,7 @@ type InvocationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Invocation is the Schema for the Invocations API. Invoke AWS Lambda Function // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_layerversion_types.go b/apis/lambda/v1beta1/zz_layerversion_types.go index e05a6728b1..5fe28cb7de 100755 --- a/apis/lambda/v1beta1/zz_layerversion_types.go +++ b/apis/lambda/v1beta1/zz_layerversion_types.go @@ -195,6 +195,7 @@ type LayerVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LayerVersion is the Schema for the LayerVersions API. Provides a Lambda Layer Version resource. Lambda Layers allow you to reuse shared bits of code across multiple lambda functions. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_layerversionpermission_types.go b/apis/lambda/v1beta1/zz_layerversionpermission_types.go index 555256e99c..c8d40828c1 100755 --- a/apis/lambda/v1beta1/zz_layerversionpermission_types.go +++ b/apis/lambda/v1beta1/zz_layerversionpermission_types.go @@ -135,6 +135,7 @@ type LayerVersionPermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LayerVersionPermission is the Schema for the LayerVersionPermissions API. Provides a Lambda Layer Version Permission resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_permission_types.go b/apis/lambda/v1beta1/zz_permission_types.go index d5de03bb8d..d6ab21be04 100755 --- a/apis/lambda/v1beta1/zz_permission_types.go +++ b/apis/lambda/v1beta1/zz_permission_types.go @@ -216,6 +216,7 @@ type PermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Permission is the Schema for the Permissions API. Creates a Lambda function permission. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lambda/v1beta1/zz_provisionedconcurrencyconfig_types.go b/apis/lambda/v1beta1/zz_provisionedconcurrencyconfig_types.go index 14beab0abe..139596bf87 100755 --- a/apis/lambda/v1beta1/zz_provisionedconcurrencyconfig_types.go +++ b/apis/lambda/v1beta1/zz_provisionedconcurrencyconfig_types.go @@ -99,6 +99,7 @@ type ProvisionedConcurrencyConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProvisionedConcurrencyConfig is the Schema for the ProvisionedConcurrencyConfigs API. Manages a Lambda Provisioned Concurrency Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lexmodels/v1beta1/zz_bot_types.go b/apis/lexmodels/v1beta1/zz_bot_types.go index 45cfc1402b..13088f39ef 100755 --- a/apis/lexmodels/v1beta1/zz_bot_types.go +++ b/apis/lexmodels/v1beta1/zz_bot_types.go @@ -417,6 +417,7 @@ type BotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Bot is the Schema for the Bots API. Provides an Amazon Lex bot resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lexmodels/v1beta1/zz_botalias_types.go b/apis/lexmodels/v1beta1/zz_botalias_types.go index 57b2a4cdbf..ef00b91761 100755 --- a/apis/lexmodels/v1beta1/zz_botalias_types.go +++ b/apis/lexmodels/v1beta1/zz_botalias_types.go @@ -191,6 +191,7 @@ type BotAliasStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BotAlias is the Schema for the BotAliass API. Provides an Amazon Lex Bot Alias resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lexmodels/v1beta1/zz_intent_types.go b/apis/lexmodels/v1beta1/zz_intent_types.go index bf005214e1..d06bb61a6b 100755 --- a/apis/lexmodels/v1beta1/zz_intent_types.go +++ b/apis/lexmodels/v1beta1/zz_intent_types.go @@ -1047,6 +1047,7 @@ type IntentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Intent is the Schema for the Intents API. Provides an Amazon Lex intent resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lexmodels/v1beta1/zz_slottype_types.go b/apis/lexmodels/v1beta1/zz_slottype_types.go index 27daba75e1..c888928c3f 100755 --- a/apis/lexmodels/v1beta1/zz_slottype_types.go +++ b/apis/lexmodels/v1beta1/zz_slottype_types.go @@ -164,6 +164,7 @@ type SlotTypeStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SlotType is the Schema for the SlotTypes API. Provides details about a specific Amazon Lex Slot Type // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/licensemanager/v1beta1/zz_association_types.go b/apis/licensemanager/v1beta1/zz_association_types.go index 48e60fea38..5f00742cc2 100755 --- a/apis/licensemanager/v1beta1/zz_association_types.go +++ b/apis/licensemanager/v1beta1/zz_association_types.go @@ -119,6 +119,7 @@ type AssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Association is the Schema for the Associations API. Provides a License Manager association resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/licensemanager/v1beta1/zz_licenseconfiguration_types.go b/apis/licensemanager/v1beta1/zz_licenseconfiguration_types.go index cb53f6f11f..6cf920cf8d 100755 --- a/apis/licensemanager/v1beta1/zz_licenseconfiguration_types.go +++ b/apis/licensemanager/v1beta1/zz_licenseconfiguration_types.go @@ -142,6 +142,7 @@ type LicenseConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LicenseConfiguration is the Schema for the LicenseConfigurations API. Provides a License Manager license configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_bucket_types.go b/apis/lightsail/v1beta1/zz_bucket_types.go index b01f277624..f9b7a8baa6 100755 --- a/apis/lightsail/v1beta1/zz_bucket_types.go +++ b/apis/lightsail/v1beta1/zz_bucket_types.go @@ -115,6 +115,7 @@ type BucketStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Bucket is the Schema for the Buckets API. Provides a lightsail bucket // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_certificate_types.go b/apis/lightsail/v1beta1/zz_certificate_types.go index 882701525b..66e0e0d4a0 100755 --- a/apis/lightsail/v1beta1/zz_certificate_types.go +++ b/apis/lightsail/v1beta1/zz_certificate_types.go @@ -127,6 +127,7 @@ type CertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Certificate is the Schema for the Certificates API. Provides a lightsail certificate // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_containerservice_types.go b/apis/lightsail/v1beta1/zz_containerservice_types.go index c9e289225b..519442d13e 100755 --- a/apis/lightsail/v1beta1/zz_containerservice_types.go +++ b/apis/lightsail/v1beta1/zz_containerservice_types.go @@ -264,6 +264,7 @@ type ContainerServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContainerService is the Schema for the ContainerServices API. Provides a resource to manage Lightsail container service // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_disk_types.go b/apis/lightsail/v1beta1/zz_disk_types.go index 4b47e0a7ff..9b8762f0b5 100755 --- a/apis/lightsail/v1beta1/zz_disk_types.go +++ b/apis/lightsail/v1beta1/zz_disk_types.go @@ -105,6 +105,7 @@ type DiskStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Disk is the Schema for the Disks API. Provides a Lightsail Disk resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_diskattachment_types.go b/apis/lightsail/v1beta1/zz_diskattachment_types.go index 2cce2b185a..691d7f0d68 100755 --- a/apis/lightsail/v1beta1/zz_diskattachment_types.go +++ b/apis/lightsail/v1beta1/zz_diskattachment_types.go @@ -125,6 +125,7 @@ type DiskAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DiskAttachment is the Schema for the DiskAttachments API. Attaches a Lightsail disk to a Lightsail Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_domain_types.go b/apis/lightsail/v1beta1/zz_domain_types.go index fad97c05ef..5543e4541f 100755 --- a/apis/lightsail/v1beta1/zz_domain_types.go +++ b/apis/lightsail/v1beta1/zz_domain_types.go @@ -72,6 +72,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. Provides an Lightsail Domain // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_domainentry_types.go b/apis/lightsail/v1beta1/zz_domainentry_types.go index f549317aa0..94ab8b08e9 100755 --- a/apis/lightsail/v1beta1/zz_domainentry_types.go +++ b/apis/lightsail/v1beta1/zz_domainentry_types.go @@ -103,6 +103,7 @@ type DomainEntryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainEntry is the Schema for the DomainEntrys API. Provides an Lightsail Domain Entry // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_instance_types.go b/apis/lightsail/v1beta1/zz_instance_types.go index ccf2d1dd65..19575d9401 100755 --- a/apis/lightsail/v1beta1/zz_instance_types.go +++ b/apis/lightsail/v1beta1/zz_instance_types.go @@ -233,6 +233,7 @@ type InstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Instance is the Schema for the Instances API. Provides an Lightsail Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_instancepublicports_types.go b/apis/lightsail/v1beta1/zz_instancepublicports_types.go index 7ac6f5175e..6293a11f58 100755 --- a/apis/lightsail/v1beta1/zz_instancepublicports_types.go +++ b/apis/lightsail/v1beta1/zz_instancepublicports_types.go @@ -172,6 +172,7 @@ type InstancePublicPortsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstancePublicPorts is the Schema for the InstancePublicPortss API. Provides an Lightsail Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_keypair_types.go b/apis/lightsail/v1beta1/zz_keypair_types.go index d87bcdf238..5d40eb05fb 100755 --- a/apis/lightsail/v1beta1/zz_keypair_types.go +++ b/apis/lightsail/v1beta1/zz_keypair_types.go @@ -120,6 +120,7 @@ type KeyPairStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // KeyPair is the Schema for the KeyPairs API. Provides an Lightsail Key Pair // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_lb_types.go b/apis/lightsail/v1beta1/zz_lb_types.go index 476a2ca9c0..817aa19804 100755 --- a/apis/lightsail/v1beta1/zz_lb_types.go +++ b/apis/lightsail/v1beta1/zz_lb_types.go @@ -121,6 +121,7 @@ type LBStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LB is the Schema for the LBs API. Provides a Lightsail Load Balancer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_lbattachment_types.go b/apis/lightsail/v1beta1/zz_lbattachment_types.go index 7c0e9eb069..ab2fc54cf1 100755 --- a/apis/lightsail/v1beta1/zz_lbattachment_types.go +++ b/apis/lightsail/v1beta1/zz_lbattachment_types.go @@ -115,6 +115,7 @@ type LBAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBAttachment is the Schema for the LBAttachments API. Attaches a Lightsail Instance to a Lightsail Load Balancer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_lbcertificate_types.go b/apis/lightsail/v1beta1/zz_lbcertificate_types.go index d750cb2861..8e15a3a0ad 100755 --- a/apis/lightsail/v1beta1/zz_lbcertificate_types.go +++ b/apis/lightsail/v1beta1/zz_lbcertificate_types.go @@ -128,6 +128,7 @@ type LBCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBCertificate is the Schema for the LBCertificates API. Provides a Lightsail Load Balancer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_lbstickinesspolicy_types.go b/apis/lightsail/v1beta1/zz_lbstickinesspolicy_types.go index 90f11bbce5..88952432b8 100755 --- a/apis/lightsail/v1beta1/zz_lbstickinesspolicy_types.go +++ b/apis/lightsail/v1beta1/zz_lbstickinesspolicy_types.go @@ -79,6 +79,7 @@ type LBStickinessPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LBStickinessPolicy is the Schema for the LBStickinessPolicys API. Configures Session Stickiness for a Lightsail Load Balancer // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_staticip_types.go b/apis/lightsail/v1beta1/zz_staticip_types.go index 32e069e746..7c0b634a78 100755 --- a/apis/lightsail/v1beta1/zz_staticip_types.go +++ b/apis/lightsail/v1beta1/zz_staticip_types.go @@ -77,6 +77,7 @@ type StaticIPStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StaticIP is the Schema for the StaticIPs API. Provides an Lightsail Static IP // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/lightsail/v1beta1/zz_staticipattachment_types.go b/apis/lightsail/v1beta1/zz_staticipattachment_types.go index 60679046ef..1d9390c7f7 100755 --- a/apis/lightsail/v1beta1/zz_staticipattachment_types.go +++ b/apis/lightsail/v1beta1/zz_staticipattachment_types.go @@ -120,6 +120,7 @@ type StaticIPAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StaticIPAttachment is the Schema for the StaticIPAttachments API. Provides an Lightsail Static IP Attachment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/location/v1beta1/zz_geofencecollection_types.go b/apis/location/v1beta1/zz_geofencecollection_types.go index 3a7d633207..82ce84ee94 100755 --- a/apis/location/v1beta1/zz_geofencecollection_types.go +++ b/apis/location/v1beta1/zz_geofencecollection_types.go @@ -121,6 +121,7 @@ type GeofenceCollectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GeofenceCollection is the Schema for the GeofenceCollections API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/location/v1beta1/zz_placeindex_types.go b/apis/location/v1beta1/zz_placeindex_types.go index 79906b360c..6c75a6de07 100755 --- a/apis/location/v1beta1/zz_placeindex_types.go +++ b/apis/location/v1beta1/zz_placeindex_types.go @@ -133,6 +133,7 @@ type PlaceIndexStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PlaceIndex is the Schema for the PlaceIndexs API. Provides a Location Service Place Index. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/location/v1beta1/zz_routecalculator_types.go b/apis/location/v1beta1/zz_routecalculator_types.go index 2431d14c01..1407158e39 100755 --- a/apis/location/v1beta1/zz_routecalculator_types.go +++ b/apis/location/v1beta1/zz_routecalculator_types.go @@ -104,6 +104,7 @@ type RouteCalculatorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RouteCalculator is the Schema for the RouteCalculators API. Provides a Location Service Route Calculator. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/location/v1beta1/zz_tracker_types.go b/apis/location/v1beta1/zz_tracker_types.go index 7a29d7971e..49f65b2d41 100755 --- a/apis/location/v1beta1/zz_tracker_types.go +++ b/apis/location/v1beta1/zz_tracker_types.go @@ -132,6 +132,7 @@ type TrackerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Tracker is the Schema for the Trackers API. Provides a Location Service Tracker. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/location/v1beta1/zz_trackerassociation_types.go b/apis/location/v1beta1/zz_trackerassociation_types.go index 533ad1386b..50a21a49db 100755 --- a/apis/location/v1beta1/zz_trackerassociation_types.go +++ b/apis/location/v1beta1/zz_trackerassociation_types.go @@ -116,6 +116,7 @@ type TrackerAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TrackerAssociation is the Schema for the TrackerAssociations API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_account_types.go b/apis/macie2/v1beta1/zz_account_types.go index 9a3415e3ec..58b4867481 100755 --- a/apis/macie2/v1beta1/zz_account_types.go +++ b/apis/macie2/v1beta1/zz_account_types.go @@ -88,6 +88,7 @@ type AccountStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Account is the Schema for the Accounts API. Provides a resource to manage Amazon Macie on an AWS Account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_classificationjob_types.go b/apis/macie2/v1beta1/zz_classificationjob_types.go index 3be949c55d..25fd2f3e6e 100755 --- a/apis/macie2/v1beta1/zz_classificationjob_types.go +++ b/apis/macie2/v1beta1/zz_classificationjob_types.go @@ -975,6 +975,7 @@ type ClassificationJobStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClassificationJob is the Schema for the ClassificationJobs API. Provides a resource to manage an AWS Macie Classification Job. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_customdataidentifier_types.go b/apis/macie2/v1beta1/zz_customdataidentifier_types.go index defe54bf93..af15f7bf68 100755 --- a/apis/macie2/v1beta1/zz_customdataidentifier_types.go +++ b/apis/macie2/v1beta1/zz_customdataidentifier_types.go @@ -147,6 +147,7 @@ type CustomDataIdentifierStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomDataIdentifier is the Schema for the CustomDataIdentifiers API. Provides a resource to manage an AWS Macie Custom Data Identifier. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_findingsfilter_types.go b/apis/macie2/v1beta1/zz_findingsfilter_types.go index 45db7b7e85..9fe0b684ba 100755 --- a/apis/macie2/v1beta1/zz_findingsfilter_types.go +++ b/apis/macie2/v1beta1/zz_findingsfilter_types.go @@ -245,6 +245,7 @@ type FindingsFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FindingsFilter is the Schema for the FindingsFilters API. Provides a resource to manage an Amazon Macie Findings Filter. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_invitationaccepter_types.go b/apis/macie2/v1beta1/zz_invitationaccepter_types.go index d59d8ca9e1..6d00d2427f 100755 --- a/apis/macie2/v1beta1/zz_invitationaccepter_types.go +++ b/apis/macie2/v1beta1/zz_invitationaccepter_types.go @@ -72,6 +72,7 @@ type InvitationAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InvitationAccepter is the Schema for the InvitationAccepters API. Provides a resource to manage an Amazon Macie Invitation Accepter. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/macie2/v1beta1/zz_member_types.go b/apis/macie2/v1beta1/zz_member_types.go index 1adc72df82..b358c157ea 100755 --- a/apis/macie2/v1beta1/zz_member_types.go +++ b/apis/macie2/v1beta1/zz_member_types.go @@ -153,6 +153,7 @@ type MemberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Member is the Schema for the Members API. Provides a resource to manage an Amazon Macie Member. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mediaconvert/v1beta1/zz_queue_types.go b/apis/mediaconvert/v1beta1/zz_queue_types.go index 4a11c8e2b9..a7fc7f9b30 100755 --- a/apis/mediaconvert/v1beta1/zz_queue_types.go +++ b/apis/mediaconvert/v1beta1/zz_queue_types.go @@ -158,6 +158,7 @@ type QueueStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Queue is the Schema for the Queues API. Provides an AWS Elemental MediaConvert Queue. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/medialive/v1beta1/zz_channel_types.go b/apis/medialive/v1beta1/zz_channel_types.go index 3dc6882ef1..1b9b0dd395 100755 --- a/apis/medialive/v1beta1/zz_channel_types.go +++ b/apis/medialive/v1beta1/zz_channel_types.go @@ -8091,6 +8091,7 @@ type ChannelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Channel is the Schema for the Channels API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/medialive/v1beta1/zz_input_types.go b/apis/medialive/v1beta1/zz_input_types.go index 84aab57649..f59dd0f3ed 100755 --- a/apis/medialive/v1beta1/zz_input_types.go +++ b/apis/medialive/v1beta1/zz_input_types.go @@ -325,6 +325,7 @@ type InputStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Input is the Schema for the Inputs API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/medialive/v1beta1/zz_inputsecuritygroup_types.go b/apis/medialive/v1beta1/zz_inputsecuritygroup_types.go index cfd8d1e94d..1dc35401e5 100755 --- a/apis/medialive/v1beta1/zz_inputsecuritygroup_types.go +++ b/apis/medialive/v1beta1/zz_inputsecuritygroup_types.go @@ -110,6 +110,7 @@ type InputSecurityGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InputSecurityGroup is the Schema for the InputSecurityGroups API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/medialive/v1beta1/zz_multiplex_types.go b/apis/medialive/v1beta1/zz_multiplex_types.go index ff1f6975a4..d7a1460ce6 100755 --- a/apis/medialive/v1beta1/zz_multiplex_types.go +++ b/apis/medialive/v1beta1/zz_multiplex_types.go @@ -166,6 +166,7 @@ type MultiplexStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Multiplex is the Schema for the Multiplexs API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mediapackage/v1beta1/zz_channel_types.go b/apis/mediapackage/v1beta1/zz_channel_types.go index a7dd213b00..855bfb2f29 100755 --- a/apis/mediapackage/v1beta1/zz_channel_types.go +++ b/apis/mediapackage/v1beta1/zz_channel_types.go @@ -132,6 +132,7 @@ type ChannelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Channel is the Schema for the Channels API. Provides an AWS Elemental MediaPackage Channel. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mediastore/v1beta1/zz_container_types.go b/apis/mediastore/v1beta1/zz_container_types.go index 3f0a467af8..a38833f807 100755 --- a/apis/mediastore/v1beta1/zz_container_types.go +++ b/apis/mediastore/v1beta1/zz_container_types.go @@ -81,6 +81,7 @@ type ContainerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Container is the Schema for the Containers API. Provides a MediaStore Container. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mediastore/v1beta1/zz_containerpolicy_types.go b/apis/mediastore/v1beta1/zz_containerpolicy_types.go index e919af58c3..a09de07b9f 100755 --- a/apis/mediastore/v1beta1/zz_containerpolicy_types.go +++ b/apis/mediastore/v1beta1/zz_containerpolicy_types.go @@ -96,6 +96,7 @@ type ContainerPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ContainerPolicy is the Schema for the ContainerPolicys API. Provides a MediaStore Container Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/memorydb/v1beta1/zz_acl_types.go b/apis/memorydb/v1beta1/zz_acl_types.go index 8309e59ab7..f78f273402 100755 --- a/apis/memorydb/v1beta1/zz_acl_types.go +++ b/apis/memorydb/v1beta1/zz_acl_types.go @@ -95,6 +95,7 @@ type ACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ACL is the Schema for the ACLs API. Provides a MemoryDB ACL. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/memorydb/v1beta1/zz_cluster_types.go b/apis/memorydb/v1beta1/zz_cluster_types.go index 4ccd45b67f..ce535da99b 100755 --- a/apis/memorydb/v1beta1/zz_cluster_types.go +++ b/apis/memorydb/v1beta1/zz_cluster_types.go @@ -431,6 +431,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides a MemoryDB Cluster. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/memorydb/v1beta1/zz_parametergroup_types.go b/apis/memorydb/v1beta1/zz_parametergroup_types.go index 1ae50d85f7..08320da211 100755 --- a/apis/memorydb/v1beta1/zz_parametergroup_types.go +++ b/apis/memorydb/v1beta1/zz_parametergroup_types.go @@ -138,6 +138,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Provides a MemoryDB Parameter Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/memorydb/v1beta1/zz_snapshot_types.go b/apis/memorydb/v1beta1/zz_snapshot_types.go index 33ad6bad71..893011fd17 100755 --- a/apis/memorydb/v1beta1/zz_snapshot_types.go +++ b/apis/memorydb/v1beta1/zz_snapshot_types.go @@ -189,6 +189,7 @@ type SnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Snapshot is the Schema for the Snapshots API. Provides a MemoryDB Snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/memorydb/v1beta1/zz_subnetgroup_types.go b/apis/memorydb/v1beta1/zz_subnetgroup_types.go index bc8a23b142..c5ddce5c3e 100755 --- a/apis/memorydb/v1beta1/zz_subnetgroup_types.go +++ b/apis/memorydb/v1beta1/zz_subnetgroup_types.go @@ -127,6 +127,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides a MemoryDB Subnet Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mq/v1beta1/zz_broker_types.go b/apis/mq/v1beta1/zz_broker_types.go index c3050655fc..7186086794 100755 --- a/apis/mq/v1beta1/zz_broker_types.go +++ b/apis/mq/v1beta1/zz_broker_types.go @@ -645,6 +645,7 @@ type BrokerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Broker is the Schema for the Brokers API. Provides an MQ Broker Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/mq/v1beta1/zz_configuration_types.go b/apis/mq/v1beta1/zz_configuration_types.go index 559b840664..c1a91db583 100755 --- a/apis/mq/v1beta1/zz_configuration_types.go +++ b/apis/mq/v1beta1/zz_configuration_types.go @@ -142,6 +142,7 @@ type ConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Configuration is the Schema for the Configurations API. Provides an MQ configuration Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_cluster_types.go b/apis/neptune/v1beta1/zz_cluster_types.go index b0b22deeca..ce382b3778 100755 --- a/apis/neptune/v1beta1/zz_cluster_types.go +++ b/apis/neptune/v1beta1/zz_cluster_types.go @@ -530,6 +530,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides an Neptune Cluster Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_clusterendpoint_types.go b/apis/neptune/v1beta1/zz_clusterendpoint_types.go index a9eb7b55b4..b5bb7f145e 100755 --- a/apis/neptune/v1beta1/zz_clusterendpoint_types.go +++ b/apis/neptune/v1beta1/zz_clusterendpoint_types.go @@ -146,6 +146,7 @@ type ClusterEndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterEndpoint is the Schema for the ClusterEndpoints API. Provides an Neptune Cluster Endpoint Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_clusterinstance_types.go b/apis/neptune/v1beta1/zz_clusterinstance_types.go index 755bb2b828..835c734961 100755 --- a/apis/neptune/v1beta1/zz_clusterinstance_types.go +++ b/apis/neptune/v1beta1/zz_clusterinstance_types.go @@ -297,6 +297,7 @@ type ClusterInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterInstance is the Schema for the ClusterInstances API. Provides an Neptune Cluster Resource Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_clusterparametergroup_types.go b/apis/neptune/v1beta1/zz_clusterparametergroup_types.go index aa3f433017..ed6c924813 100755 --- a/apis/neptune/v1beta1/zz_clusterparametergroup_types.go +++ b/apis/neptune/v1beta1/zz_clusterparametergroup_types.go @@ -148,6 +148,7 @@ type ClusterParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterParameterGroup is the Schema for the ClusterParameterGroups API. Manages a Neptune Cluster Parameter Group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_clustersnapshot_types.go b/apis/neptune/v1beta1/zz_clustersnapshot_types.go index 521de262bc..a43e96bb4d 100755 --- a/apis/neptune/v1beta1/zz_clustersnapshot_types.go +++ b/apis/neptune/v1beta1/zz_clustersnapshot_types.go @@ -124,6 +124,7 @@ type ClusterSnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages a Neptune database cluster snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_eventsubscription_types.go b/apis/neptune/v1beta1/zz_eventsubscription_types.go index 2a7a7796a3..ccd9fa649a 100755 --- a/apis/neptune/v1beta1/zz_eventsubscription_types.go +++ b/apis/neptune/v1beta1/zz_eventsubscription_types.go @@ -158,6 +158,7 @@ type EventSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSubscription is the Schema for the EventSubscriptions API. Provides a Neptune event subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_globalcluster_types.go b/apis/neptune/v1beta1/zz_globalcluster_types.go index 1579add569..6559e4bab2 100755 --- a/apis/neptune/v1beta1/zz_globalcluster_types.go +++ b/apis/neptune/v1beta1/zz_globalcluster_types.go @@ -155,6 +155,7 @@ type GlobalClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalCluster is the Schema for the GlobalClusters API. Provides an Neptune Global Cluster Resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_parametergroup_types.go b/apis/neptune/v1beta1/zz_parametergroup_types.go index 1ee75666f3..188bdedaa3 100755 --- a/apis/neptune/v1beta1/zz_parametergroup_types.go +++ b/apis/neptune/v1beta1/zz_parametergroup_types.go @@ -148,6 +148,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Manages a Neptune Parameter Group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/neptune/v1beta1/zz_subnetgroup_types.go b/apis/neptune/v1beta1/zz_subnetgroup_types.go index f235b9d48f..8ed2e10c07 100755 --- a/apis/neptune/v1beta1/zz_subnetgroup_types.go +++ b/apis/neptune/v1beta1/zz_subnetgroup_types.go @@ -124,6 +124,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides an Neptune subnet group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkfirewall/v1beta1/zz_firewall_types.go b/apis/networkfirewall/v1beta1/zz_firewall_types.go index 90dc5f6951..9f964a5a38 100755 --- a/apis/networkfirewall/v1beta1/zz_firewall_types.go +++ b/apis/networkfirewall/v1beta1/zz_firewall_types.go @@ -333,6 +333,7 @@ type FirewallStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Firewall is the Schema for the Firewalls API. Provides an AWS Network Firewall Firewall resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkfirewall/v1beta1/zz_firewallpolicy_types.go b/apis/networkfirewall/v1beta1/zz_firewallpolicy_types.go index 5fe8960299..f0d4a1f400 100755 --- a/apis/networkfirewall/v1beta1/zz_firewallpolicy_types.go +++ b/apis/networkfirewall/v1beta1/zz_firewallpolicy_types.go @@ -552,6 +552,7 @@ type FirewallPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FirewallPolicy is the Schema for the FirewallPolicys API. Provides an AWS Network Firewall Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkfirewall/v1beta1/zz_loggingconfiguration_types.go b/apis/networkfirewall/v1beta1/zz_loggingconfiguration_types.go index afb1620637..49d5ff15c5 100755 --- a/apis/networkfirewall/v1beta1/zz_loggingconfiguration_types.go +++ b/apis/networkfirewall/v1beta1/zz_loggingconfiguration_types.go @@ -160,6 +160,7 @@ type LoggingConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LoggingConfiguration is the Schema for the LoggingConfigurations API. Provides an AWS Network Firewall Logging Configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkfirewall/v1beta1/zz_rulegroup_types.go b/apis/networkfirewall/v1beta1/zz_rulegroup_types.go index 5a454576b1..a0487d0a6e 100755 --- a/apis/networkfirewall/v1beta1/zz_rulegroup_types.go +++ b/apis/networkfirewall/v1beta1/zz_rulegroup_types.go @@ -1084,6 +1084,7 @@ type RuleGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RuleGroup is the Schema for the RuleGroups API. Provides an AWS Network Firewall Rule Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_attachmentaccepter_types.go b/apis/networkmanager/v1beta1/zz_attachmentaccepter_types.go index 4b051e721f..9f2fad1c69 100755 --- a/apis/networkmanager/v1beta1/zz_attachmentaccepter_types.go +++ b/apis/networkmanager/v1beta1/zz_attachmentaccepter_types.go @@ -142,6 +142,7 @@ type AttachmentAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AttachmentAccepter is the Schema for the AttachmentAccepters API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_connectattachment_types.go b/apis/networkmanager/v1beta1/zz_connectattachment_types.go index acaf0387da..b78df30aa0 100755 --- a/apis/networkmanager/v1beta1/zz_connectattachment_types.go +++ b/apis/networkmanager/v1beta1/zz_connectattachment_types.go @@ -220,6 +220,7 @@ type ConnectAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConnectAttachment is the Schema for the ConnectAttachments API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_connection_types.go b/apis/networkmanager/v1beta1/zz_connection_types.go index b3a114b518..f2b79f3707 100755 --- a/apis/networkmanager/v1beta1/zz_connection_types.go +++ b/apis/networkmanager/v1beta1/zz_connection_types.go @@ -198,6 +198,7 @@ type ConnectionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Connection is the Schema for the Connections API. Creates a connection between two devices. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_corenetwork_types.go b/apis/networkmanager/v1beta1/zz_corenetwork_types.go index 35392cfcd0..f1b50c53ba 100755 --- a/apis/networkmanager/v1beta1/zz_corenetwork_types.go +++ b/apis/networkmanager/v1beta1/zz_corenetwork_types.go @@ -210,6 +210,7 @@ type CoreNetworkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CoreNetwork is the Schema for the CoreNetworks API. Provides a core network resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_customergatewayassociation_types.go b/apis/networkmanager/v1beta1/zz_customergatewayassociation_types.go index 91c732a94f..12e8c3d681 100755 --- a/apis/networkmanager/v1beta1/zz_customergatewayassociation_types.go +++ b/apis/networkmanager/v1beta1/zz_customergatewayassociation_types.go @@ -132,6 +132,7 @@ type CustomerGatewayAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomerGatewayAssociation is the Schema for the CustomerGatewayAssociations API. Associates a customer gateway with a device and optionally, with a link. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_device_types.go b/apis/networkmanager/v1beta1/zz_device_types.go index 1fb0b066f6..12346f459b 100755 --- a/apis/networkmanager/v1beta1/zz_device_types.go +++ b/apis/networkmanager/v1beta1/zz_device_types.go @@ -276,6 +276,7 @@ type DeviceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Device is the Schema for the Devices API. Creates a device in a global network. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_globalnetwork_types.go b/apis/networkmanager/v1beta1/zz_globalnetwork_types.go index bd1662925b..0b732baec8 100755 --- a/apis/networkmanager/v1beta1/zz_globalnetwork_types.go +++ b/apis/networkmanager/v1beta1/zz_globalnetwork_types.go @@ -88,6 +88,7 @@ type GlobalNetworkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalNetwork is the Schema for the GlobalNetworks API. Provides a global network resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_link_types.go b/apis/networkmanager/v1beta1/zz_link_types.go index 66f2c21dc1..ff996ae2e0 100755 --- a/apis/networkmanager/v1beta1/zz_link_types.go +++ b/apis/networkmanager/v1beta1/zz_link_types.go @@ -205,6 +205,7 @@ type LinkStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Link is the Schema for the Links API. Creates a link for a site. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_linkassociation_types.go b/apis/networkmanager/v1beta1/zz_linkassociation_types.go index 1ddc24cc62..0f5882d3fb 100755 --- a/apis/networkmanager/v1beta1/zz_linkassociation_types.go +++ b/apis/networkmanager/v1beta1/zz_linkassociation_types.go @@ -108,6 +108,7 @@ type LinkAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LinkAssociation is the Schema for the LinkAssociations API. Associates a link to a device. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_site_types.go b/apis/networkmanager/v1beta1/zz_site_types.go index a064406d25..da69a154b9 100755 --- a/apis/networkmanager/v1beta1/zz_site_types.go +++ b/apis/networkmanager/v1beta1/zz_site_types.go @@ -167,6 +167,7 @@ type SiteStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Site is the Schema for the Sites API. Creates a site in a global network. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_transitgatewayconnectpeerassociation_types.go b/apis/networkmanager/v1beta1/zz_transitgatewayconnectpeerassociation_types.go index 32c4f573fc..47bbfab752 100755 --- a/apis/networkmanager/v1beta1/zz_transitgatewayconnectpeerassociation_types.go +++ b/apis/networkmanager/v1beta1/zz_transitgatewayconnectpeerassociation_types.go @@ -132,6 +132,7 @@ type TransitGatewayConnectPeerAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayConnectPeerAssociation is the Schema for the TransitGatewayConnectPeerAssociations API. Associates a transit gateway Connect peer with a device, and optionally, with a link. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_transitgatewayregistration_types.go b/apis/networkmanager/v1beta1/zz_transitgatewayregistration_types.go index 121b30bd43..5bc4613e9a 100755 --- a/apis/networkmanager/v1beta1/zz_transitgatewayregistration_types.go +++ b/apis/networkmanager/v1beta1/zz_transitgatewayregistration_types.go @@ -92,6 +92,7 @@ type TransitGatewayRegistrationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TransitGatewayRegistration is the Schema for the TransitGatewayRegistrations API. Registers a transit gateway to a global network. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/networkmanager/v1beta1/zz_vpcattachment_types.go b/apis/networkmanager/v1beta1/zz_vpcattachment_types.go index 97443a6c34..9c37ff6f83 100755 --- a/apis/networkmanager/v1beta1/zz_vpcattachment_types.go +++ b/apis/networkmanager/v1beta1/zz_vpcattachment_types.go @@ -242,6 +242,7 @@ type VPCAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCAttachment is the Schema for the VPCAttachments API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opensearch/v1beta1/zz_domain_types.go b/apis/opensearch/v1beta1/zz_domain_types.go index 66886b442d..d6ef3905b0 100755 --- a/apis/opensearch/v1beta1/zz_domain_types.go +++ b/apis/opensearch/v1beta1/zz_domain_types.go @@ -1037,6 +1037,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opensearch/v1beta1/zz_domainpolicy_types.go b/apis/opensearch/v1beta1/zz_domainpolicy_types.go index d25164247f..81ffa30513 100755 --- a/apis/opensearch/v1beta1/zz_domainpolicy_types.go +++ b/apis/opensearch/v1beta1/zz_domainpolicy_types.go @@ -96,6 +96,7 @@ type DomainPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainPolicy is the Schema for the DomainPolicys API. Provides an OpenSearch Domain Policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opensearch/v1beta1/zz_domainsamloptions_types.go b/apis/opensearch/v1beta1/zz_domainsamloptions_types.go index a5ca892562..7a167089cd 100755 --- a/apis/opensearch/v1beta1/zz_domainsamloptions_types.go +++ b/apis/opensearch/v1beta1/zz_domainsamloptions_types.go @@ -201,6 +201,7 @@ type DomainSAMLOptionsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainSAMLOptions is the Schema for the DomainSAMLOptionss API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_application_types.go b/apis/opsworks/v1beta1/zz_application_types.go index e3a32c51f0..7e46855c86 100755 --- a/apis/opsworks/v1beta1/zz_application_types.go +++ b/apis/opsworks/v1beta1/zz_application_types.go @@ -373,6 +373,7 @@ type ApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Application is the Schema for the Applications API. Provides an OpsWorks application resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_customlayer_types.go b/apis/opsworks/v1beta1/zz_customlayer_types.go index 333c2a6c6b..74f2866593 100755 --- a/apis/opsworks/v1beta1/zz_customlayer_types.go +++ b/apis/opsworks/v1beta1/zz_customlayer_types.go @@ -756,6 +756,7 @@ type CustomLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomLayer is the Schema for the CustomLayers API. Provides an OpsWorks custom layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_ecsclusterlayer_types.go b/apis/opsworks/v1beta1/zz_ecsclusterlayer_types.go index 4ba7cbcb78..f73e25ccea 100755 --- a/apis/opsworks/v1beta1/zz_ecsclusterlayer_types.go +++ b/apis/opsworks/v1beta1/zz_ecsclusterlayer_types.go @@ -672,6 +672,7 @@ type EcsClusterLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EcsClusterLayer is the Schema for the EcsClusterLayers API. Provides an OpsWorks HAProxy layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_ganglialayer_types.go b/apis/opsworks/v1beta1/zz_ganglialayer_types.go index fc802bb5bb..4118836fbe 100755 --- a/apis/opsworks/v1beta1/zz_ganglialayer_types.go +++ b/apis/opsworks/v1beta1/zz_ganglialayer_types.go @@ -673,6 +673,7 @@ type GangliaLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GangliaLayer is the Schema for the GangliaLayers API. Provides an OpsWorks Ganglia layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_generated.resolvers.go b/apis/opsworks/v1beta1/zz_generated.resolvers.go index 505b347c77..ee74bc4c15 100644 --- a/apis/opsworks/v1beta1/zz_generated.resolvers.go +++ b/apis/opsworks/v1beta1/zz_generated.resolvers.go @@ -1169,7 +1169,7 @@ func (mg *RDSDBInstance) ResolveReferences(ctx context.Context, c client.Reader) var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1207,7 +1207,7 @@ func (mg *RDSDBInstance) ResolveReferences(ctx context.Context, c client.Reader) mg.Spec.ForProvider.StackID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.StackIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/opsworks/v1beta1/zz_haproxylayer_types.go b/apis/opsworks/v1beta1/zz_haproxylayer_types.go index 7a54edd2ca..3d9e9cc293 100755 --- a/apis/opsworks/v1beta1/zz_haproxylayer_types.go +++ b/apis/opsworks/v1beta1/zz_haproxylayer_types.go @@ -703,6 +703,7 @@ type HAProxyLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HAProxyLayer is the Schema for the HAProxyLayers API. Provides an OpsWorks HAProxy layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_instance_types.go b/apis/opsworks/v1beta1/zz_instance_types.go index 1334e368d2..21a675b2c1 100755 --- a/apis/opsworks/v1beta1/zz_instance_types.go +++ b/apis/opsworks/v1beta1/zz_instance_types.go @@ -624,6 +624,7 @@ type InstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Instance is the Schema for the Instances API. Provides an OpsWorks instance resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_javaapplayer_types.go b/apis/opsworks/v1beta1/zz_javaapplayer_types.go index 87c94822fc..0795fce5f5 100755 --- a/apis/opsworks/v1beta1/zz_javaapplayer_types.go +++ b/apis/opsworks/v1beta1/zz_javaapplayer_types.go @@ -693,6 +693,7 @@ type JavaAppLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // JavaAppLayer is the Schema for the JavaAppLayers API. Provides an OpsWorks Java application layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_memcachedlayer_types.go b/apis/opsworks/v1beta1/zz_memcachedlayer_types.go index f6759d80d0..4acb8c8f93 100755 --- a/apis/opsworks/v1beta1/zz_memcachedlayer_types.go +++ b/apis/opsworks/v1beta1/zz_memcachedlayer_types.go @@ -653,6 +653,7 @@ type MemcachedLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MemcachedLayer is the Schema for the MemcachedLayers API. Provides an OpsWorks memcached layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_mysqllayer_types.go b/apis/opsworks/v1beta1/zz_mysqllayer_types.go index bcd0104e49..b951d8ac0f 100755 --- a/apis/opsworks/v1beta1/zz_mysqllayer_types.go +++ b/apis/opsworks/v1beta1/zz_mysqllayer_types.go @@ -663,6 +663,7 @@ type MySQLLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MySQLLayer is the Schema for the MySQLLayers API. Provides an OpsWorks MySQL layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_nodejsapplayer_types.go b/apis/opsworks/v1beta1/zz_nodejsapplayer_types.go index f4236f619c..ce52e8f4d3 100755 --- a/apis/opsworks/v1beta1/zz_nodejsapplayer_types.go +++ b/apis/opsworks/v1beta1/zz_nodejsapplayer_types.go @@ -653,6 +653,7 @@ type NodeJSAppLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NodeJSAppLayer is the Schema for the NodeJSAppLayers API. Provides an OpsWorks NodeJS application layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_permission_types.go b/apis/opsworks/v1beta1/zz_permission_types.go index 26821d76f2..67b334fa48 100755 --- a/apis/opsworks/v1beta1/zz_permission_types.go +++ b/apis/opsworks/v1beta1/zz_permission_types.go @@ -144,6 +144,7 @@ type PermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Permission is the Schema for the Permissions API. Provides an OpsWorks permission resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_phpapplayer_types.go b/apis/opsworks/v1beta1/zz_phpapplayer_types.go index 69d225c236..70f1802010 100755 --- a/apis/opsworks/v1beta1/zz_phpapplayer_types.go +++ b/apis/opsworks/v1beta1/zz_phpapplayer_types.go @@ -643,6 +643,7 @@ type PHPAppLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PHPAppLayer is the Schema for the PHPAppLayers API. Provides an OpsWorks PHP application layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_railsapplayer_types.go b/apis/opsworks/v1beta1/zz_railsapplayer_types.go index 0d0a965585..f8b48529b3 100755 --- a/apis/opsworks/v1beta1/zz_railsapplayer_types.go +++ b/apis/opsworks/v1beta1/zz_railsapplayer_types.go @@ -703,6 +703,7 @@ type RailsAppLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RailsAppLayer is the Schema for the RailsAppLayers API. Provides an OpsWorks Ruby on Rails application layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_rdsdbinstance_types.go b/apis/opsworks/v1beta1/zz_rdsdbinstance_types.go index 4bd7c8623e..dae2c739fa 100755 --- a/apis/opsworks/v1beta1/zz_rdsdbinstance_types.go +++ b/apis/opsworks/v1beta1/zz_rdsdbinstance_types.go @@ -23,7 +23,7 @@ type RDSDBInstanceInitParameters struct { DBUser *string `json:"dbUser,omitempty" tf:"db_user,omitempty"` // The db instance to register for this stack. Changing this will force a new resource. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) RDSDBInstanceArn *string `json:"rdsDbInstanceArn,omitempty" tf:"rds_db_instance_arn,omitempty"` @@ -75,7 +75,7 @@ type RDSDBInstanceParameters struct { DBUser *string `json:"dbUser,omitempty" tf:"db_user,omitempty"` // The db instance to register for this stack. Changing this will force a new resource. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) // +kubebuilder:validation:Optional RDSDBInstanceArn *string `json:"rdsDbInstanceArn,omitempty" tf:"rds_db_instance_arn,omitempty"` @@ -128,6 +128,7 @@ type RDSDBInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RDSDBInstance is the Schema for the RDSDBInstances API. Provides an OpsWorks RDS DB Instance resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_stack_types.go b/apis/opsworks/v1beta1/zz_stack_types.go index 77cb3cee08..74b1d99c05 100755 --- a/apis/opsworks/v1beta1/zz_stack_types.go +++ b/apis/opsworks/v1beta1/zz_stack_types.go @@ -424,6 +424,7 @@ type StackStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stack is the Schema for the Stacks API. Provides an OpsWorks stack resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_staticweblayer_types.go b/apis/opsworks/v1beta1/zz_staticweblayer_types.go index 123907e84c..b74f5d5d8b 100755 --- a/apis/opsworks/v1beta1/zz_staticweblayer_types.go +++ b/apis/opsworks/v1beta1/zz_staticweblayer_types.go @@ -640,6 +640,7 @@ type StaticWebLayerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StaticWebLayer is the Schema for the StaticWebLayers API. Provides an OpsWorks static web server layer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/opsworks/v1beta1/zz_userprofile_types.go b/apis/opsworks/v1beta1/zz_userprofile_types.go index 353636f9f7..482d117d02 100755 --- a/apis/opsworks/v1beta1/zz_userprofile_types.go +++ b/apis/opsworks/v1beta1/zz_userprofile_types.go @@ -114,6 +114,7 @@ type UserProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserProfile is the Schema for the UserProfiles API. Provides an OpsWorks User Profile resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_account_types.go b/apis/organizations/v1beta1/zz_account_types.go index 3c7526adcd..99bf44b9b1 100755 --- a/apis/organizations/v1beta1/zz_account_types.go +++ b/apis/organizations/v1beta1/zz_account_types.go @@ -148,6 +148,7 @@ type AccountStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Account is the Schema for the Accounts API. Provides a resource to create a member account in the current AWS Organization. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_delegatedadministrator_types.go b/apis/organizations/v1beta1/zz_delegatedadministrator_types.go index 68f2c6676c..4390417842 100755 --- a/apis/organizations/v1beta1/zz_delegatedadministrator_types.go +++ b/apis/organizations/v1beta1/zz_delegatedadministrator_types.go @@ -118,6 +118,7 @@ type DelegatedAdministratorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DelegatedAdministrator is the Schema for the DelegatedAdministrators API. Provides a resource to manage an AWS Organizations Delegated Administrator. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_organization_types.go b/apis/organizations/v1beta1/zz_organization_types.go index 516906b297..9ab98879e5 100755 --- a/apis/organizations/v1beta1/zz_organization_types.go +++ b/apis/organizations/v1beta1/zz_organization_types.go @@ -199,6 +199,7 @@ type OrganizationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Organization is the Schema for the Organizations API. Provides a resource to create an organization. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_organizationalunit_types.go b/apis/organizations/v1beta1/zz_organizationalunit_types.go index 172e003b1c..ba38768631 100755 --- a/apis/organizations/v1beta1/zz_organizationalunit_types.go +++ b/apis/organizations/v1beta1/zz_organizationalunit_types.go @@ -123,6 +123,7 @@ type OrganizationalUnitStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OrganizationalUnit is the Schema for the OrganizationalUnits API. Provides a resource to create an organizational unit. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_policy_types.go b/apis/organizations/v1beta1/zz_policy_types.go index 32e0ed74fc..47be453bbe 100755 --- a/apis/organizations/v1beta1/zz_policy_types.go +++ b/apis/organizations/v1beta1/zz_policy_types.go @@ -129,6 +129,7 @@ type PolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Policy is the Schema for the Policys API. Provides a resource to manage an AWS Organizations policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/organizations/v1beta1/zz_policyattachment_types.go b/apis/organizations/v1beta1/zz_policyattachment_types.go index 13dc6c2f7d..30c168869c 100755 --- a/apis/organizations/v1beta1/zz_policyattachment_types.go +++ b/apis/organizations/v1beta1/zz_policyattachment_types.go @@ -107,6 +107,7 @@ type PolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PolicyAttachment is the Schema for the PolicyAttachments API. Provides a resource to attach an AWS Organizations policy to an organization account, root, or unit. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/pinpoint/v1beta1/zz_app_types.go b/apis/pinpoint/v1beta1/zz_app_types.go index ec17f3a806..69c0fc964a 100755 --- a/apis/pinpoint/v1beta1/zz_app_types.go +++ b/apis/pinpoint/v1beta1/zz_app_types.go @@ -238,6 +238,7 @@ type AppStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // App is the Schema for the Apps API. Provides a Pinpoint App resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/pinpoint/v1beta1/zz_smschannel_types.go b/apis/pinpoint/v1beta1/zz_smschannel_types.go index bd0b645026..1f01a2388c 100755 --- a/apis/pinpoint/v1beta1/zz_smschannel_types.go +++ b/apis/pinpoint/v1beta1/zz_smschannel_types.go @@ -124,6 +124,7 @@ type SMSChannelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SMSChannel is the Schema for the SMSChannels API. Use the // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/qldb/v1beta1/zz_ledger_types.go b/apis/qldb/v1beta1/zz_ledger_types.go index 977476cabf..5ba02397a1 100755 --- a/apis/qldb/v1beta1/zz_ledger_types.go +++ b/apis/qldb/v1beta1/zz_ledger_types.go @@ -127,6 +127,7 @@ type LedgerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Ledger is the Schema for the Ledgers API. Provides an QLDB Resource resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/qldb/v1beta1/zz_stream_types.go b/apis/qldb/v1beta1/zz_stream_types.go index e854e43e5a..849b7dec58 100755 --- a/apis/qldb/v1beta1/zz_stream_types.go +++ b/apis/qldb/v1beta1/zz_stream_types.go @@ -228,6 +228,7 @@ type StreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Stream is the Schema for the Streams API. Provides a QLDB Stream resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/quicksight/v1beta1/zz_group_types.go b/apis/quicksight/v1beta1/zz_group_types.go index 158f4ac3f2..132e41735c 100755 --- a/apis/quicksight/v1beta1/zz_group_types.go +++ b/apis/quicksight/v1beta1/zz_group_types.go @@ -101,6 +101,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. Manages a Resource QuickSight Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/quicksight/v1beta1/zz_user_types.go b/apis/quicksight/v1beta1/zz_user_types.go index ae947fc48c..7c770a0034 100755 --- a/apis/quicksight/v1beta1/zz_user_types.go +++ b/apis/quicksight/v1beta1/zz_user_types.go @@ -141,6 +141,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Manages a Resource QuickSight User. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ram/v1beta1/zz_principalassociation_types.go b/apis/ram/v1beta1/zz_principalassociation_types.go index d758e5c774..f518a7faca 100755 --- a/apis/ram/v1beta1/zz_principalassociation_types.go +++ b/apis/ram/v1beta1/zz_principalassociation_types.go @@ -119,6 +119,7 @@ type PrincipalAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PrincipalAssociation is the Schema for the PrincipalAssociations API. Provides a Resource Access Manager (RAM) principal association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ram/v1beta1/zz_resourceassociation_types.go b/apis/ram/v1beta1/zz_resourceassociation_types.go index 405630d885..52cf9bc5fd 100755 --- a/apis/ram/v1beta1/zz_resourceassociation_types.go +++ b/apis/ram/v1beta1/zz_resourceassociation_types.go @@ -99,6 +99,7 @@ type ResourceAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceAssociation is the Schema for the ResourceAssociations API. Manages a Resource Access Manager (RAM) Resource Association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ram/v1beta1/zz_resourceshare_types.go b/apis/ram/v1beta1/zz_resourceshare_types.go index 81c2847b64..081255903a 100755 --- a/apis/ram/v1beta1/zz_resourceshare_types.go +++ b/apis/ram/v1beta1/zz_resourceshare_types.go @@ -112,6 +112,7 @@ type ResourceShareStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceShare is the Schema for the ResourceShares API. Manages a Resource Access Manager (RAM) Resource Share. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ram/v1beta1/zz_resourceshareaccepter_types.go b/apis/ram/v1beta1/zz_resourceshareaccepter_types.go index 6ab3d9d68c..55ba298454 100755 --- a/apis/ram/v1beta1/zz_resourceshareaccepter_types.go +++ b/apis/ram/v1beta1/zz_resourceshareaccepter_types.go @@ -108,6 +108,7 @@ type ResourceShareAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceShareAccepter is the Schema for the ResourceShareAccepters API. Manages accepting a Resource Access Manager (RAM) Resource Share invitation. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_cluster_types.go b/apis/rds/v1beta1/zz_cluster_types.go index fda7224c2d..a187f7a7f0 100755 --- a/apis/rds/v1beta1/zz_cluster_types.go +++ b/apis/rds/v1beta1/zz_cluster_types.go @@ -914,6 +914,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Manages an RDS Aurora Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clusteractivitystream_types.go b/apis/rds/v1beta1/zz_clusteractivitystream_types.go index 44b467c12c..fa288a2b69 100755 --- a/apis/rds/v1beta1/zz_clusteractivitystream_types.go +++ b/apis/rds/v1beta1/zz_clusteractivitystream_types.go @@ -140,6 +140,7 @@ type ClusterActivityStreamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterActivityStream is the Schema for the ClusterActivityStreams API. Manages RDS Aurora Cluster Database Activity Streams // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clusterendpoint_types.go b/apis/rds/v1beta1/zz_clusterendpoint_types.go index 1decf71e35..ffd5f38b25 100755 --- a/apis/rds/v1beta1/zz_clusterendpoint_types.go +++ b/apis/rds/v1beta1/zz_clusterendpoint_types.go @@ -148,6 +148,7 @@ type ClusterEndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterEndpoint is the Schema for the ClusterEndpoints API. Manages an RDS Aurora Cluster Endpoint // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clusterinstance_types.go b/apis/rds/v1beta1/zz_clusterinstance_types.go index 3bd7e8b517..1037a7585c 100755 --- a/apis/rds/v1beta1/zz_clusterinstance_types.go +++ b/apis/rds/v1beta1/zz_clusterinstance_types.go @@ -410,6 +410,7 @@ type ClusterInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterInstance is the Schema for the ClusterInstances API. Provides an RDS Cluster Resource Instance // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clusterparametergroup_types.go b/apis/rds/v1beta1/zz_clusterparametergroup_types.go index 295808e61f..d46bcd3a6c 100755 --- a/apis/rds/v1beta1/zz_clusterparametergroup_types.go +++ b/apis/rds/v1beta1/zz_clusterparametergroup_types.go @@ -154,6 +154,7 @@ type ClusterParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterParameterGroup is the Schema for the ClusterParameterGroups API. Provides an RDS DB cluster parameter group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clusterroleassociation_types.go b/apis/rds/v1beta1/zz_clusterroleassociation_types.go index 8577d56287..9769319f71 100755 --- a/apis/rds/v1beta1/zz_clusterroleassociation_types.go +++ b/apis/rds/v1beta1/zz_clusterroleassociation_types.go @@ -129,6 +129,7 @@ type ClusterRoleAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterRoleAssociation is the Schema for the ClusterRoleAssociations API. Manages a RDS DB Cluster association with an IAM Role. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_clustersnapshot_types.go b/apis/rds/v1beta1/zz_clustersnapshot_types.go index 2f4d09831e..28e7ba7870 100755 --- a/apis/rds/v1beta1/zz_clustersnapshot_types.go +++ b/apis/rds/v1beta1/zz_clustersnapshot_types.go @@ -153,6 +153,7 @@ type ClusterSnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages an RDS database cluster snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_dbinstanceautomatedbackupsreplication_types.go b/apis/rds/v1beta1/zz_dbinstanceautomatedbackupsreplication_types.go index ab458a9c89..7f1ba56adf 100755 --- a/apis/rds/v1beta1/zz_dbinstanceautomatedbackupsreplication_types.go +++ b/apis/rds/v1beta1/zz_dbinstanceautomatedbackupsreplication_types.go @@ -38,7 +38,7 @@ type DBInstanceAutomatedBackupsReplicationInitParameters struct { RetentionPeriod *float64 `json:"retentionPeriod,omitempty" tf:"retention_period,omitempty"` // The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) SourceDBInstanceArn *string `json:"sourceDbInstanceArn,omitempty" tf:"source_db_instance_arn,omitempty"` @@ -98,7 +98,7 @@ type DBInstanceAutomatedBackupsReplicationParameters struct { RetentionPeriod *float64 `json:"retentionPeriod,omitempty" tf:"retention_period,omitempty"` // The Amazon Resource Name (ARN) of the source DB instance for the replicated automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true) // +kubebuilder:validation:Optional SourceDBInstanceArn *string `json:"sourceDbInstanceArn,omitempty" tf:"source_db_instance_arn,omitempty"` @@ -137,6 +137,7 @@ type DBInstanceAutomatedBackupsReplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DBInstanceAutomatedBackupsReplication is the Schema for the DBInstanceAutomatedBackupsReplications API. Enables replication of automated backups to a different AWS Region. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_dbsnapshotcopy_types.go b/apis/rds/v1beta1/zz_dbsnapshotcopy_types.go index 3493a0239c..5a91e39520 100755 --- a/apis/rds/v1beta1/zz_dbsnapshotcopy_types.go +++ b/apis/rds/v1beta1/zz_dbsnapshotcopy_types.go @@ -231,6 +231,7 @@ type DBSnapshotCopyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DBSnapshotCopy is the Schema for the DBSnapshotCopys API. Manages an RDS database instance snapshot copy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_eventsubscription_types.go b/apis/rds/v1beta1/zz_eventsubscription_types.go index 77333109b1..41b9bd1ebb 100755 --- a/apis/rds/v1beta1/zz_eventsubscription_types.go +++ b/apis/rds/v1beta1/zz_eventsubscription_types.go @@ -158,6 +158,7 @@ type EventSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSubscription is the Schema for the EventSubscriptions API. Provides a DB event subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_generated.conversion_hubs.go b/apis/rds/v1beta1/zz_generated.conversion_hubs.go index aa5230defd..eee2a08601 100755 --- a/apis/rds/v1beta1/zz_generated.conversion_hubs.go +++ b/apis/rds/v1beta1/zz_generated.conversion_hubs.go @@ -16,9 +16,6 @@ func (tr *ClusterSnapshot) Hub() {} // Hub marks this type as a conversion hub. func (tr *EventSubscription) Hub() {} -// Hub marks this type as a conversion hub. -func (tr *Instance) Hub() {} - // Hub marks this type as a conversion hub. func (tr *DBInstanceAutomatedBackupsReplication) Hub() {} diff --git a/apis/rds/v1beta1/zz_generated.conversion_spokes.go b/apis/rds/v1beta1/zz_generated.conversion_spokes.go new file mode 100755 index 0000000000..7635c856d6 --- /dev/null +++ b/apis/rds/v1beta1/zz_generated.conversion_spokes.go @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta1 + +import ( + ujconversion "github.com/crossplane/upjet/pkg/controller/conversion" + "github.com/crossplane/upjet/pkg/resource" + "github.com/pkg/errors" + "sigs.k8s.io/controller-runtime/pkg/conversion" +) + +// ConvertTo converts this Instance to the hub type. +func (tr *Instance) ConvertTo(dstRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(dstRaw.(resource.Terraformed), tr); err != nil { + return errors.Wrapf(err, "cannot convert from the spoke version %q to the hub version %q", tr.GetObjectKind().GroupVersionKind().Version, dstRaw.GetObjectKind().GroupVersionKind().Version) + } + return nil +} + +// ConvertFrom converts from the hub type to the Instance type. +func (tr *Instance) ConvertFrom(srcRaw conversion.Hub) error { + if err := ujconversion.RoundTrip(tr, srcRaw.(resource.Terraformed)); err != nil { + return errors.Wrapf(err, "cannot convert from the hub version %q to the spoke version %q", srcRaw.GetObjectKind().GroupVersionKind().Version, tr.GetObjectKind().GroupVersionKind().Version) + } + return nil +} diff --git a/apis/rds/v1beta1/zz_generated.deepcopy.go b/apis/rds/v1beta1/zz_generated.deepcopy.go index 4606a60b2f..77d271b7c7 100644 --- a/apis/rds/v1beta1/zz_generated.deepcopy.go +++ b/apis/rds/v1beta1/zz_generated.deepcopy.go @@ -5457,11 +5457,6 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(float64) **out = **in } - if in.BackupTarget != nil { - in, out := &in.BackupTarget, &out.BackupTarget - *out = new(string) - **out = **in - } if in.BackupWindow != nil { in, out := &in.BackupWindow, &out.BackupWindow *out = new(string) @@ -5570,16 +5565,6 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(bool) **out = **in } - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.IdentifierPrefix != nil { - in, out := &in.IdentifierPrefix, &out.IdentifierPrefix - *out = new(string) - **out = **in - } if in.InstanceClass != nil { in, out := &in.InstanceClass, &out.InstanceClass *out = new(string) @@ -5665,6 +5650,11 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(bool) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } if in.NcharCharacterSetName != nil { in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName *out = new(string) @@ -5685,16 +5675,6 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { *out = new(string) **out = **in } - if in.ParameterGroupNameRef != nil { - in, out := &in.ParameterGroupNameRef, &out.ParameterGroupNameRef - *out = new(v1.Reference) - (*in).DeepCopyInto(*out) - } - if in.ParameterGroupNameSelector != nil { - in, out := &in.ParameterGroupNameSelector, &out.ParameterGroupNameSelector - *out = new(v1.Selector) - (*in).DeepCopyInto(*out) - } if in.PerformanceInsightsEnabled != nil { in, out := &in.PerformanceInsightsEnabled, &out.PerformanceInsightsEnabled *out = new(bool) @@ -5754,6 +5734,17 @@ func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.SkipFinalSnapshot != nil { in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot *out = new(bool) @@ -5915,11 +5906,6 @@ func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { *out = new(float64) **out = **in } - if in.BackupTarget != nil { - in, out := &in.BackupTarget, &out.BackupTarget - *out = new(string) - **out = **in - } if in.BackupWindow != nil { in, out := &in.BackupWindow, &out.BackupWindow *out = new(string) @@ -6038,16 +6024,6 @@ func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { *out = new(string) **out = **in } - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.IdentifierPrefix != nil { - in, out := &in.IdentifierPrefix, &out.IdentifierPrefix - *out = new(string) - **out = **in - } if in.InstanceClass != nil { in, out := &in.InstanceClass, &out.InstanceClass *out = new(string) @@ -6122,6 +6098,11 @@ func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { *out = new(bool) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } if in.NcharCharacterSetName != nil { in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName *out = new(string) @@ -6207,6 +6188,17 @@ func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.SkipFinalSnapshot != nil { in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot *out = new(bool) @@ -6340,11 +6332,6 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { *out = new(float64) **out = **in } - if in.BackupTarget != nil { - in, out := &in.BackupTarget, &out.BackupTarget - *out = new(string) - **out = **in - } if in.BackupWindow != nil { in, out := &in.BackupWindow, &out.BackupWindow *out = new(string) @@ -6453,16 +6440,6 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { *out = new(bool) **out = **in } - if in.Identifier != nil { - in, out := &in.Identifier, &out.Identifier - *out = new(string) - **out = **in - } - if in.IdentifierPrefix != nil { - in, out := &in.IdentifierPrefix, &out.IdentifierPrefix - *out = new(string) - **out = **in - } if in.InstanceClass != nil { in, out := &in.InstanceClass, &out.InstanceClass *out = new(string) @@ -6548,6 +6525,11 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { *out = new(bool) **out = **in } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } if in.NcharCharacterSetName != nil { in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName *out = new(string) @@ -6568,16 +6550,6 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { *out = new(string) **out = **in } - if in.ParameterGroupNameRef != nil { - in, out := &in.ParameterGroupNameRef, &out.ParameterGroupNameRef - *out = new(v1.Reference) - (*in).DeepCopyInto(*out) - } - if in.ParameterGroupNameSelector != nil { - in, out := &in.ParameterGroupNameSelector, &out.ParameterGroupNameSelector - *out = new(v1.Selector) - (*in).DeepCopyInto(*out) - } if in.PasswordSecretRef != nil { in, out := &in.PasswordSecretRef, &out.PasswordSecretRef *out = new(v1.SecretKeySelector) @@ -6647,6 +6619,17 @@ func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.SecurityGroupNames != nil { + in, out := &in.SecurityGroupNames, &out.SecurityGroupNames + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } if in.SkipFinalSnapshot != nil { in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot *out = new(bool) diff --git a/apis/rds/v1beta1/zz_generated.resolvers.go b/apis/rds/v1beta1/zz_generated.resolvers.go index cd5b8ccf0d..f9de728c23 100644 --- a/apis/rds/v1beta1/zz_generated.resolvers.go +++ b/apis/rds/v1beta1/zz_generated.resolvers.go @@ -774,7 +774,7 @@ func (mg *DBInstanceAutomatedBackupsReplication) ResolveReferences(ctx context.C mg.Spec.ForProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.KMSKeyIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -812,7 +812,7 @@ func (mg *DBInstanceAutomatedBackupsReplication) ResolveReferences(ctx context.C mg.Spec.InitProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.KMSKeyIDRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1107,25 +1107,6 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro } mg.Spec.ForProvider.MonitoringRoleArn = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.MonitoringRoleArnRef = rsp.ResolvedReference - { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "ParameterGroup", "ParameterGroupList") - if err != nil { - return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") - } - - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ParameterGroupName), - Extract: reference.ExternalName(), - Reference: mg.Spec.ForProvider.ParameterGroupNameRef, - Selector: mg.Spec.ForProvider.ParameterGroupNameSelector, - To: reference.To{List: l, Managed: m}, - }) - } - if err != nil { - return errors.Wrap(err, "mg.Spec.ForProvider.ParameterGroupName") - } - mg.Spec.ForProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.ForProvider.ParameterGroupNameRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") if err != nil { @@ -1134,7 +1115,7 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ReplicateSourceDB), - Extract: resource.ExtractParamPath("identifier", false), + Extract: reference.ExternalName(), Reference: mg.Spec.ForProvider.ReplicateSourceDBRef, Selector: mg.Spec.ForProvider.ReplicateSourceDBSelector, To: reference.To{List: l, Managed: m}, @@ -1240,25 +1221,6 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro } mg.Spec.InitProvider.MonitoringRoleArn = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.InitProvider.MonitoringRoleArnRef = rsp.ResolvedReference - { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "ParameterGroup", "ParameterGroupList") - if err != nil { - return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") - } - - rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ - CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ParameterGroupName), - Extract: reference.ExternalName(), - Reference: mg.Spec.InitProvider.ParameterGroupNameRef, - Selector: mg.Spec.InitProvider.ParameterGroupNameSelector, - To: reference.To{List: l, Managed: m}, - }) - } - if err != nil { - return errors.Wrap(err, "mg.Spec.InitProvider.ParameterGroupName") - } - mg.Spec.InitProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) - mg.Spec.InitProvider.ParameterGroupNameRef = rsp.ResolvedReference { m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") if err != nil { @@ -1267,7 +1229,7 @@ func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) erro rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ReplicateSourceDB), - Extract: resource.ExtractParamPath("identifier", false), + Extract: reference.ExternalName(), Reference: mg.Spec.InitProvider.ReplicateSourceDBRef, Selector: mg.Spec.InitProvider.ReplicateSourceDBSelector, To: reference.To{List: l, Managed: m}, @@ -1310,7 +1272,7 @@ func (mg *InstanceRoleAssociation) ResolveReferences(ctx context.Context, c clie var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1348,7 +1310,7 @@ func (mg *InstanceRoleAssociation) ResolveReferences(ctx context.Context, c clie mg.Spec.ForProvider.RoleArn = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.RoleArnRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1649,7 +1611,7 @@ func (mg *ProxyTarget) ResolveReferences(ctx context.Context, c client.Reader) e var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1687,7 +1649,7 @@ func (mg *ProxyTarget) ResolveReferences(ctx context.Context, c client.Reader) e mg.Spec.ForProvider.DBProxyName = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DBProxyNameRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1737,7 +1699,7 @@ func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) erro var rsp reference.ResolutionResponse var err error { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } @@ -1756,7 +1718,7 @@ func (mg *Snapshot) ResolveReferences(ctx context.Context, c client.Reader) erro mg.Spec.ForProvider.DBInstanceIdentifier = reference.ToPtrValue(rsp.ResolvedValue) mg.Spec.ForProvider.DBInstanceIdentifierRef = rsp.ResolvedReference { - m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "Instance", "InstanceList") + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") if err != nil { return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") } diff --git a/apis/rds/v1beta1/zz_globalcluster_types.go b/apis/rds/v1beta1/zz_globalcluster_types.go index 7e87b6f0ba..d86f8c14f8 100755 --- a/apis/rds/v1beta1/zz_globalcluster_types.go +++ b/apis/rds/v1beta1/zz_globalcluster_types.go @@ -175,6 +175,7 @@ type GlobalClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GlobalCluster is the Schema for the GlobalClusters API. Manages an RDS Global Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_instance_types.go b/apis/rds/v1beta1/zz_instance_types.go index 9d9e473304..859d992ee7 100755 --- a/apis/rds/v1beta1/zz_instance_types.go +++ b/apis/rds/v1beta1/zz_instance_types.go @@ -19,21 +19,21 @@ import ( type BlueGreenUpdateInitParameters struct { - // Enables low-downtime updates when true. + // Enables [low-downtime updates](#Low-Downtime Updates) when true. // Default is false. Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` } type BlueGreenUpdateObservation struct { - // Enables low-downtime updates when true. + // Enables [low-downtime updates](#Low-Downtime Updates) when true. // Default is false. Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` } type BlueGreenUpdateParameters struct { - // Enables low-downtime updates when true. + // Enables [low-downtime updates](#Low-Downtime Updates) when true. // Default is false. // +kubebuilder:validation:Optional Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` @@ -71,15 +71,12 @@ type InstanceInitParameters struct { // or will use RDS Blue/Green deployments. BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` - // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. - BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` - // The daily time range (in UTC) during which automated backups are created if they are enabled. // Example: "09:46-10:16". Must not overlap with maintenance_window. BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` // Enables low-downtime updates using RDS Blue/Green deployments. - // See blue_green_update below. + // See blue_green_update below BlueGreenUpdate []BlueGreenUpdateInitParameters `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` // The identifier of the CA certificate for the DB instance. @@ -109,7 +106,7 @@ type InstanceInitParameters struct { // with read replicas, it should be specified only if the source database // specifies an instance in another AWS Region. See DBSubnetGroupName in API // action CreateDBInstanceReadReplica - // for additional read replica constraints. + // for additional read replica contraints. // +crossplane:generate:reference:type=SubnetGroup DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` @@ -152,12 +149,6 @@ type InstanceInitParameters struct { // accounts is enabled. IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` - // Required if restore_to_point_in_time is specified. - Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` - - // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. - IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` - // The instance type of the RDS instance. InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` @@ -181,7 +172,7 @@ type InstanceInitParameters struct { // +kubebuilder:validation:Optional KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` - // License model information for this DB instance. Valid values for this field are as follows: + // License model information for this DB instance. LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` // The window to perform maintenance in. @@ -236,6 +227,9 @@ type InstanceInitParameters struct { // Specifies if the RDS instance is multi-AZ MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets // Supported in Amazon RDS. NcharCharacterSetName *string `json:"ncharCharacterSetName,omitempty" tf:"nchar_character_set_name,omitempty"` @@ -246,18 +240,10 @@ type InstanceInitParameters struct { // Name of the DB option group to associate. OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` - // Name of the DB parameter group to associate. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.ParameterGroup + // Name of the DB parameter group to + // associate. ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` - // Reference to a ParameterGroup in rds to populate parameterGroupName. - // +kubebuilder:validation:Optional - ParameterGroupNameRef *v1.Reference `json:"parameterGroupNameRef,omitempty" tf:"-"` - - // Selector for a ParameterGroup in rds to populate parameterGroupName. - // +kubebuilder:validation:Optional - ParameterGroupNameSelector *v1.Selector `json:"parameterGroupNameSelector,omitempty" tf:"-"` - // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty" tf:"performance_insights_enabled,omitempty"` @@ -288,7 +274,6 @@ type InstanceInitParameters struct { // PostgreSQL and MySQL Read Replicas // for more information on using Replication. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance - // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) ReplicateSourceDB *string `json:"replicateSourceDb,omitempty" tf:"replicate_source_db,omitempty"` // Reference to a Instance in rds to populate replicateSourceDb. @@ -305,6 +290,11 @@ type InstanceInitParameters struct { // Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance S3Import []S3ImportInitParameters `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + // List of DB Security Groups to + // associate. Only used for DB Instances on the . + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + // Determines whether a final DB snapshot is // created before the DB instance is deleted. If true is specified, no DBSnapshot // is created. If false is specified, a DB snapshot is created before the DB @@ -401,15 +391,12 @@ type InstanceObservation struct { // or will use RDS Blue/Green deployments. BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` - // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. - BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` - // The daily time range (in UTC) during which automated backups are created if they are enabled. // Example: "09:46-10:16". Must not overlap with maintenance_window. BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` // Enables low-downtime updates using RDS Blue/Green deployments. - // See blue_green_update below. + // See blue_green_update below BlueGreenUpdate []BlueGreenUpdateObservation `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` // The identifier of the CA certificate for the DB instance. @@ -439,7 +426,7 @@ type InstanceObservation struct { // with read replicas, it should be specified only if the source database // specifies an instance in another AWS Region. See DBSubnetGroupName in API // action CreateDBInstanceReadReplica - // for additional read replica constraints. + // for additional read replica contraints. DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true. @@ -483,15 +470,9 @@ type InstanceObservation struct { // accounts is enabled. IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` - // RDS DBI resource ID. + // The RDS instance ID. ID *string `json:"id,omitempty" tf:"id,omitempty"` - // Required if restore_to_point_in_time is specified. - Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` - - // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. - IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` - // The instance type of the RDS instance. InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` @@ -508,7 +489,7 @@ type InstanceObservation struct { // The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore. LatestRestorableTime *string `json:"latestRestorableTime,omitempty" tf:"latest_restorable_time,omitempty"` - // License model information for this DB instance. Valid values for this field are as follows: + // License model information for this DB instance. LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. @@ -549,6 +530,9 @@ type InstanceObservation struct { // Specifies if the RDS instance is multi-AZ MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + Name *string `json:"name,omitempty" tf:"name,omitempty"` + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets // Supported in Amazon RDS. NcharCharacterSetName *string `json:"ncharCharacterSetName,omitempty" tf:"nchar_character_set_name,omitempty"` @@ -559,7 +543,8 @@ type InstanceObservation struct { // Name of the DB option group to associate. OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` - // Name of the DB parameter group to associate. + // Name of the DB parameter group to + // associate. ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` // Specifies whether Performance Insights are enabled. Defaults to false. @@ -604,6 +589,11 @@ type InstanceObservation struct { // Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance S3Import []S3ImportObservation `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + // List of DB Security Groups to + // associate. Only used for DB Instances on the . + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + // Determines whether a final DB snapshot is // created before the DB instance is deleted. If true is specified, no DBSnapshot // is created. If false is specified, a DB snapshot is created before the DB @@ -703,17 +693,13 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` - // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. - // +kubebuilder:validation:Optional - BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` - // The daily time range (in UTC) during which automated backups are created if they are enabled. // Example: "09:46-10:16". Must not overlap with maintenance_window. // +kubebuilder:validation:Optional BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` // Enables low-downtime updates using RDS Blue/Green deployments. - // See blue_green_update below. + // See blue_green_update below // +kubebuilder:validation:Optional BlueGreenUpdate []BlueGreenUpdateParameters `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` @@ -750,7 +736,7 @@ type InstanceParameters struct { // with read replicas, it should be specified only if the source database // specifies an instance in another AWS Region. See DBSubnetGroupName in API // action CreateDBInstanceReadReplica - // for additional read replica constraints. + // for additional read replica contraints. // +crossplane:generate:reference:type=SubnetGroup // +kubebuilder:validation:Optional DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` @@ -803,14 +789,6 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` - // Required if restore_to_point_in_time is specified. - // +kubebuilder:validation:Optional - Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` - - // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. - // +kubebuilder:validation:Optional - IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` - // The instance type of the RDS instance. // +kubebuilder:validation:Optional InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` @@ -837,7 +815,7 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` - // License model information for this DB instance. Valid values for this field are as follows: + // License model information for this DB instance. // +kubebuilder:validation:Optional LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` @@ -900,6 +878,10 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + // +kubebuilder:validation:Optional + Name *string `json:"name,omitempty" tf:"name,omitempty"` + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets // Supported in Amazon RDS. // +kubebuilder:validation:Optional @@ -913,19 +895,11 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` - // Name of the DB parameter group to associate. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.ParameterGroup + // Name of the DB parameter group to + // associate. // +kubebuilder:validation:Optional ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` - // Reference to a ParameterGroup in rds to populate parameterGroupName. - // +kubebuilder:validation:Optional - ParameterGroupNameRef *v1.Reference `json:"parameterGroupNameRef,omitempty" tf:"-"` - - // Selector for a ParameterGroup in rds to populate parameterGroupName. - // +kubebuilder:validation:Optional - ParameterGroupNameSelector *v1.Selector `json:"parameterGroupNameSelector,omitempty" tf:"-"` - // Password for the master DB user. Note that this may show up in // logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true. // Password for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one. @@ -973,7 +947,6 @@ type InstanceParameters struct { // PostgreSQL and MySQL Read Replicas // for more information on using Replication. // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance - // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) // +kubebuilder:validation:Optional ReplicateSourceDB *string `json:"replicateSourceDb,omitempty" tf:"replicate_source_db,omitempty"` @@ -993,6 +966,12 @@ type InstanceParameters struct { // +kubebuilder:validation:Optional S3Import []S3ImportParameters `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + // List of DB Security Groups to + // associate. Only used for DB Instances on the . + // +kubebuilder:validation:Optional + // +listType=set + SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"` + // Determines whether a final DB snapshot is // created before the DB instance is deleted. If true is specified, no DBSnapshot // is created. If false is specified, a DB snapshot is created before the DB diff --git a/apis/rds/v1beta1/zz_instanceroleassociation_types.go b/apis/rds/v1beta1/zz_instanceroleassociation_types.go index 2bc36a55dc..5d832d5af5 100755 --- a/apis/rds/v1beta1/zz_instanceroleassociation_types.go +++ b/apis/rds/v1beta1/zz_instanceroleassociation_types.go @@ -20,7 +20,7 @@ import ( type InstanceRoleAssociationInitParameters struct { // DB Instance Identifier to associate with the IAM Role. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -67,7 +67,7 @@ type InstanceRoleAssociationObservation struct { type InstanceRoleAssociationParameters struct { // DB Instance Identifier to associate with the IAM Role. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) // +kubebuilder:validation:Optional DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -129,6 +129,7 @@ type InstanceRoleAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceRoleAssociation is the Schema for the InstanceRoleAssociations API. Manages an RDS DB Instance association with an IAM Role. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_optiongroup_types.go b/apis/rds/v1beta1/zz_optiongroup_types.go index b41d053c11..a6d61cf613 100755 --- a/apis/rds/v1beta1/zz_optiongroup_types.go +++ b/apis/rds/v1beta1/zz_optiongroup_types.go @@ -223,6 +223,7 @@ type OptionGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // OptionGroup is the Schema for the OptionGroups API. Provides an RDS DB option group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_parametergroup_types.go b/apis/rds/v1beta1/zz_parametergroup_types.go index 39569edf21..825eedcb89 100755 --- a/apis/rds/v1beta1/zz_parametergroup_types.go +++ b/apis/rds/v1beta1/zz_parametergroup_types.go @@ -154,6 +154,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Provides an RDS DB parameter group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_proxy_types.go b/apis/rds/v1beta1/zz_proxy_types.go index e27896358a..b62c32ea87 100755 --- a/apis/rds/v1beta1/zz_proxy_types.go +++ b/apis/rds/v1beta1/zz_proxy_types.go @@ -299,6 +299,7 @@ type ProxyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Proxy is the Schema for the Proxys API. Provides an RDS DB proxy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_proxydefaulttargetgroup_types.go b/apis/rds/v1beta1/zz_proxydefaulttargetgroup_types.go index d041b139e6..5817431907 100755 --- a/apis/rds/v1beta1/zz_proxydefaulttargetgroup_types.go +++ b/apis/rds/v1beta1/zz_proxydefaulttargetgroup_types.go @@ -165,6 +165,7 @@ type ProxyDefaultTargetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProxyDefaultTargetGroup is the Schema for the ProxyDefaultTargetGroups API. Manage an RDS DB proxy default target group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_proxyendpoint_types.go b/apis/rds/v1beta1/zz_proxyendpoint_types.go index 9e5eeb0c3e..3e47651241 100755 --- a/apis/rds/v1beta1/zz_proxyendpoint_types.go +++ b/apis/rds/v1beta1/zz_proxyendpoint_types.go @@ -161,6 +161,7 @@ type ProxyEndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProxyEndpoint is the Schema for the ProxyEndpoints API. Provides an RDS DB proxy endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_proxytarget_types.go b/apis/rds/v1beta1/zz_proxytarget_types.go index 80c44cb154..54a954b7f2 100755 --- a/apis/rds/v1beta1/zz_proxytarget_types.go +++ b/apis/rds/v1beta1/zz_proxytarget_types.go @@ -23,7 +23,7 @@ type ProxyTargetInitParameters struct { DBClusterIdentifier *string `json:"dbClusterIdentifier,omitempty" tf:"db_cluster_identifier,omitempty"` // DB instance identifier. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -94,7 +94,7 @@ type ProxyTargetParameters struct { DBClusterIdentifier *string `json:"dbClusterIdentifier,omitempty" tf:"db_cluster_identifier,omitempty"` // DB instance identifier. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) // +kubebuilder:validation:Optional DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -155,6 +155,7 @@ type ProxyTargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProxyTarget is the Schema for the ProxyTargets API. Provides an RDS DB proxy target resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_snapshot_types.go b/apis/rds/v1beta1/zz_snapshot_types.go index 65e920c20e..d0bb419683 100755 --- a/apis/rds/v1beta1/zz_snapshot_types.go +++ b/apis/rds/v1beta1/zz_snapshot_types.go @@ -20,7 +20,7 @@ import ( type SnapshotInitParameters struct { // The DB Instance Identifier from which to take the snapshot. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -113,7 +113,7 @@ type SnapshotObservation struct { type SnapshotParameters struct { // The DB Instance Identifier from which to take the snapshot. - // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.Instance + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) // +kubebuilder:validation:Optional DBInstanceIdentifier *string `json:"dbInstanceIdentifier,omitempty" tf:"db_instance_identifier,omitempty"` @@ -167,6 +167,7 @@ type SnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Snapshot is the Schema for the Snapshots API. Manages an RDS database instance snapshot. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta1/zz_subnetgroup_types.go b/apis/rds/v1beta1/zz_subnetgroup_types.go index 9ea4dd3d1f..df2d1bc185 100755 --- a/apis/rds/v1beta1/zz_subnetgroup_types.go +++ b/apis/rds/v1beta1/zz_subnetgroup_types.go @@ -131,6 +131,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides an RDS DB subnet group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rds/v1beta2/zz_generated.conversion_hubs.go b/apis/rds/v1beta2/zz_generated.conversion_hubs.go new file mode 100755 index 0000000000..829980b3b4 --- /dev/null +++ b/apis/rds/v1beta2/zz_generated.conversion_hubs.go @@ -0,0 +1,14 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +// Hub marks this type as a conversion hub. +func (tr *Instance) Hub() {} diff --git a/apis/rds/v1beta2/zz_generated.deepcopy.go b/apis/rds/v1beta2/zz_generated.deepcopy.go new file mode 100644 index 0000000000..5c945fb79d --- /dev/null +++ b/apis/rds/v1beta2/zz_generated.deepcopy.go @@ -0,0 +1,1805 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1beta2 + +import ( + "github.com/crossplane/crossplane-runtime/apis/common/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BlueGreenUpdateInitParameters) DeepCopyInto(out *BlueGreenUpdateInitParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueGreenUpdateInitParameters. +func (in *BlueGreenUpdateInitParameters) DeepCopy() *BlueGreenUpdateInitParameters { + if in == nil { + return nil + } + out := new(BlueGreenUpdateInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BlueGreenUpdateObservation) DeepCopyInto(out *BlueGreenUpdateObservation) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueGreenUpdateObservation. +func (in *BlueGreenUpdateObservation) DeepCopy() *BlueGreenUpdateObservation { + if in == nil { + return nil + } + out := new(BlueGreenUpdateObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BlueGreenUpdateParameters) DeepCopyInto(out *BlueGreenUpdateParameters) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlueGreenUpdateParameters. +func (in *BlueGreenUpdateParameters) DeepCopy() *BlueGreenUpdateParameters { + if in == nil { + return nil + } + out := new(BlueGreenUpdateParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Instance) DeepCopyInto(out *Instance) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance. +func (in *Instance) DeepCopy() *Instance { + if in == nil { + return nil + } + out := new(Instance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Instance) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters) { + *out = *in + if in.AllocatedStorage != nil { + in, out := &in.AllocatedStorage, &out.AllocatedStorage + *out = new(float64) + **out = **in + } + if in.AllowMajorVersionUpgrade != nil { + in, out := &in.AllowMajorVersionUpgrade, &out.AllowMajorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.BackupRetentionPeriod != nil { + in, out := &in.BackupRetentionPeriod, &out.BackupRetentionPeriod + *out = new(float64) + **out = **in + } + if in.BackupTarget != nil { + in, out := &in.BackupTarget, &out.BackupTarget + *out = new(string) + **out = **in + } + if in.BackupWindow != nil { + in, out := &in.BackupWindow, &out.BackupWindow + *out = new(string) + **out = **in + } + if in.BlueGreenUpdate != nil { + in, out := &in.BlueGreenUpdate, &out.BlueGreenUpdate + *out = make([]BlueGreenUpdateInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CACertIdentifier != nil { + in, out := &in.CACertIdentifier, &out.CACertIdentifier + *out = new(string) + **out = **in + } + if in.CharacterSetName != nil { + in, out := &in.CharacterSetName, &out.CharacterSetName + *out = new(string) + **out = **in + } + if in.CopyTagsToSnapshot != nil { + in, out := &in.CopyTagsToSnapshot, &out.CopyTagsToSnapshot + *out = new(bool) + **out = **in + } + if in.CustomIAMInstanceProfile != nil { + in, out := &in.CustomIAMInstanceProfile, &out.CustomIAMInstanceProfile + *out = new(string) + **out = **in + } + if in.CustomerOwnedIPEnabled != nil { + in, out := &in.CustomerOwnedIPEnabled, &out.CustomerOwnedIPEnabled + *out = new(bool) + **out = **in + } + if in.DBName != nil { + in, out := &in.DBName, &out.DBName + *out = new(string) + **out = **in + } + if in.DBSubnetGroupName != nil { + in, out := &in.DBSubnetGroupName, &out.DBSubnetGroupName + *out = new(string) + **out = **in + } + if in.DBSubnetGroupNameRef != nil { + in, out := &in.DBSubnetGroupNameRef, &out.DBSubnetGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DBSubnetGroupNameSelector != nil { + in, out := &in.DBSubnetGroupNameSelector, &out.DBSubnetGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.DeleteAutomatedBackups != nil { + in, out := &in.DeleteAutomatedBackups, &out.DeleteAutomatedBackups + *out = new(bool) + **out = **in + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.DomainIAMRoleName != nil { + in, out := &in.DomainIAMRoleName, &out.DomainIAMRoleName + *out = new(string) + **out = **in + } + if in.EnabledCloudwatchLogsExports != nil { + in, out := &in.EnabledCloudwatchLogsExports, &out.EnabledCloudwatchLogsExports + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.IAMDatabaseAuthenticationEnabled != nil { + in, out := &in.IAMDatabaseAuthenticationEnabled, &out.IAMDatabaseAuthenticationEnabled + *out = new(bool) + **out = **in + } + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.IdentifierPrefix != nil { + in, out := &in.IdentifierPrefix, &out.IdentifierPrefix + *out = new(string) + **out = **in + } + if in.InstanceClass != nil { + in, out := &in.InstanceClass, &out.InstanceClass + *out = new(string) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(float64) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.KMSKeyIDRef != nil { + in, out := &in.KMSKeyIDRef, &out.KMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyIDSelector != nil { + in, out := &in.KMSKeyIDSelector, &out.KMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LicenseModel != nil { + in, out := &in.LicenseModel, &out.LicenseModel + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.ManageMasterUserPassword != nil { + in, out := &in.ManageMasterUserPassword, &out.ManageMasterUserPassword + *out = new(bool) + **out = **in + } + if in.MasterUserSecretKMSKeyID != nil { + in, out := &in.MasterUserSecretKMSKeyID, &out.MasterUserSecretKMSKeyID + *out = new(string) + **out = **in + } + if in.MasterUserSecretKMSKeyIDRef != nil { + in, out := &in.MasterUserSecretKMSKeyIDRef, &out.MasterUserSecretKMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MasterUserSecretKMSKeyIDSelector != nil { + in, out := &in.MasterUserSecretKMSKeyIDSelector, &out.MasterUserSecretKMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MaxAllocatedStorage != nil { + in, out := &in.MaxAllocatedStorage, &out.MaxAllocatedStorage + *out = new(float64) + **out = **in + } + if in.MonitoringInterval != nil { + in, out := &in.MonitoringInterval, &out.MonitoringInterval + *out = new(float64) + **out = **in + } + if in.MonitoringRoleArn != nil { + in, out := &in.MonitoringRoleArn, &out.MonitoringRoleArn + *out = new(string) + **out = **in + } + if in.MonitoringRoleArnRef != nil { + in, out := &in.MonitoringRoleArnRef, &out.MonitoringRoleArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MonitoringRoleArnSelector != nil { + in, out := &in.MonitoringRoleArnSelector, &out.MonitoringRoleArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MultiAz != nil { + in, out := &in.MultiAz, &out.MultiAz + *out = new(bool) + **out = **in + } + if in.NcharCharacterSetName != nil { + in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.OptionGroupName != nil { + in, out := &in.OptionGroupName, &out.OptionGroupName + *out = new(string) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.ParameterGroupNameRef != nil { + in, out := &in.ParameterGroupNameRef, &out.ParameterGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ParameterGroupNameSelector != nil { + in, out := &in.ParameterGroupNameSelector, &out.ParameterGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.PerformanceInsightsEnabled != nil { + in, out := &in.PerformanceInsightsEnabled, &out.PerformanceInsightsEnabled + *out = new(bool) + **out = **in + } + if in.PerformanceInsightsKMSKeyID != nil { + in, out := &in.PerformanceInsightsKMSKeyID, &out.PerformanceInsightsKMSKeyID + *out = new(string) + **out = **in + } + if in.PerformanceInsightsRetentionPeriod != nil { + in, out := &in.PerformanceInsightsRetentionPeriod, &out.PerformanceInsightsRetentionPeriod + *out = new(float64) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PubliclyAccessible != nil { + in, out := &in.PubliclyAccessible, &out.PubliclyAccessible + *out = new(bool) + **out = **in + } + if in.ReplicaMode != nil { + in, out := &in.ReplicaMode, &out.ReplicaMode + *out = new(string) + **out = **in + } + if in.ReplicateSourceDB != nil { + in, out := &in.ReplicateSourceDB, &out.ReplicateSourceDB + *out = new(string) + **out = **in + } + if in.ReplicateSourceDBRef != nil { + in, out := &in.ReplicateSourceDBRef, &out.ReplicateSourceDBRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ReplicateSourceDBSelector != nil { + in, out := &in.ReplicateSourceDBSelector, &out.ReplicateSourceDBSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RestoreToPointInTime != nil { + in, out := &in.RestoreToPointInTime, &out.RestoreToPointInTime + *out = make([]RestoreToPointInTimeInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3Import != nil { + in, out := &in.S3Import, &out.S3Import + *out = make([]S3ImportInitParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SkipFinalSnapshot != nil { + in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot + *out = new(bool) + **out = **in + } + if in.SnapshotIdentifier != nil { + in, out := &in.SnapshotIdentifier, &out.SnapshotIdentifier + *out = new(string) + **out = **in + } + if in.StorageEncrypted != nil { + in, out := &in.StorageEncrypted, &out.StorageEncrypted + *out = new(bool) + **out = **in + } + if in.StorageThroughput != nil { + in, out := &in.StorageThroughput, &out.StorageThroughput + *out = new(float64) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.Timezone != nil { + in, out := &in.Timezone, &out.Timezone + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } + if in.VPCSecurityGroupIDRefs != nil { + in, out := &in.VPCSecurityGroupIDRefs, &out.VPCSecurityGroupIDRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCSecurityGroupIDSelector != nil { + in, out := &in.VPCSecurityGroupIDSelector, &out.VPCSecurityGroupIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCSecurityGroupIds != nil { + in, out := &in.VPCSecurityGroupIds, &out.VPCSecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceInitParameters. +func (in *InstanceInitParameters) DeepCopy() *InstanceInitParameters { + if in == nil { + return nil + } + out := new(InstanceInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceList) DeepCopyInto(out *InstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Instance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList. +func (in *InstanceList) DeepCopy() *InstanceList { + if in == nil { + return nil + } + out := new(InstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InstanceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation) { + *out = *in + if in.Address != nil { + in, out := &in.Address, &out.Address + *out = new(string) + **out = **in + } + if in.AllocatedStorage != nil { + in, out := &in.AllocatedStorage, &out.AllocatedStorage + *out = new(float64) + **out = **in + } + if in.AllowMajorVersionUpgrade != nil { + in, out := &in.AllowMajorVersionUpgrade, &out.AllowMajorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.Arn != nil { + in, out := &in.Arn, &out.Arn + *out = new(string) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.BackupRetentionPeriod != nil { + in, out := &in.BackupRetentionPeriod, &out.BackupRetentionPeriod + *out = new(float64) + **out = **in + } + if in.BackupTarget != nil { + in, out := &in.BackupTarget, &out.BackupTarget + *out = new(string) + **out = **in + } + if in.BackupWindow != nil { + in, out := &in.BackupWindow, &out.BackupWindow + *out = new(string) + **out = **in + } + if in.BlueGreenUpdate != nil { + in, out := &in.BlueGreenUpdate, &out.BlueGreenUpdate + *out = make([]BlueGreenUpdateObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CACertIdentifier != nil { + in, out := &in.CACertIdentifier, &out.CACertIdentifier + *out = new(string) + **out = **in + } + if in.CharacterSetName != nil { + in, out := &in.CharacterSetName, &out.CharacterSetName + *out = new(string) + **out = **in + } + if in.CopyTagsToSnapshot != nil { + in, out := &in.CopyTagsToSnapshot, &out.CopyTagsToSnapshot + *out = new(bool) + **out = **in + } + if in.CustomIAMInstanceProfile != nil { + in, out := &in.CustomIAMInstanceProfile, &out.CustomIAMInstanceProfile + *out = new(string) + **out = **in + } + if in.CustomerOwnedIPEnabled != nil { + in, out := &in.CustomerOwnedIPEnabled, &out.CustomerOwnedIPEnabled + *out = new(bool) + **out = **in + } + if in.DBName != nil { + in, out := &in.DBName, &out.DBName + *out = new(string) + **out = **in + } + if in.DBSubnetGroupName != nil { + in, out := &in.DBSubnetGroupName, &out.DBSubnetGroupName + *out = new(string) + **out = **in + } + if in.DeleteAutomatedBackups != nil { + in, out := &in.DeleteAutomatedBackups, &out.DeleteAutomatedBackups + *out = new(bool) + **out = **in + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.DomainIAMRoleName != nil { + in, out := &in.DomainIAMRoleName, &out.DomainIAMRoleName + *out = new(string) + **out = **in + } + if in.EnabledCloudwatchLogsExports != nil { + in, out := &in.EnabledCloudwatchLogsExports, &out.EnabledCloudwatchLogsExports + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Endpoint != nil { + in, out := &in.Endpoint, &out.Endpoint + *out = new(string) + **out = **in + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.EngineVersionActual != nil { + in, out := &in.EngineVersionActual, &out.EngineVersionActual + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.HostedZoneID != nil { + in, out := &in.HostedZoneID, &out.HostedZoneID + *out = new(string) + **out = **in + } + if in.IAMDatabaseAuthenticationEnabled != nil { + in, out := &in.IAMDatabaseAuthenticationEnabled, &out.IAMDatabaseAuthenticationEnabled + *out = new(bool) + **out = **in + } + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.IdentifierPrefix != nil { + in, out := &in.IdentifierPrefix, &out.IdentifierPrefix + *out = new(string) + **out = **in + } + if in.InstanceClass != nil { + in, out := &in.InstanceClass, &out.InstanceClass + *out = new(string) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(float64) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.LatestRestorableTime != nil { + in, out := &in.LatestRestorableTime, &out.LatestRestorableTime + *out = new(string) + **out = **in + } + if in.LicenseModel != nil { + in, out := &in.LicenseModel, &out.LicenseModel + *out = new(string) + **out = **in + } + if in.ListenerEndpoint != nil { + in, out := &in.ListenerEndpoint, &out.ListenerEndpoint + *out = make([]ListenerEndpointObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.ManageMasterUserPassword != nil { + in, out := &in.ManageMasterUserPassword, &out.ManageMasterUserPassword + *out = new(bool) + **out = **in + } + if in.MasterUserSecret != nil { + in, out := &in.MasterUserSecret, &out.MasterUserSecret + *out = make([]MasterUserSecretObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MasterUserSecretKMSKeyID != nil { + in, out := &in.MasterUserSecretKMSKeyID, &out.MasterUserSecretKMSKeyID + *out = new(string) + **out = **in + } + if in.MaxAllocatedStorage != nil { + in, out := &in.MaxAllocatedStorage, &out.MaxAllocatedStorage + *out = new(float64) + **out = **in + } + if in.MonitoringInterval != nil { + in, out := &in.MonitoringInterval, &out.MonitoringInterval + *out = new(float64) + **out = **in + } + if in.MonitoringRoleArn != nil { + in, out := &in.MonitoringRoleArn, &out.MonitoringRoleArn + *out = new(string) + **out = **in + } + if in.MultiAz != nil { + in, out := &in.MultiAz, &out.MultiAz + *out = new(bool) + **out = **in + } + if in.NcharCharacterSetName != nil { + in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.OptionGroupName != nil { + in, out := &in.OptionGroupName, &out.OptionGroupName + *out = new(string) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.PerformanceInsightsEnabled != nil { + in, out := &in.PerformanceInsightsEnabled, &out.PerformanceInsightsEnabled + *out = new(bool) + **out = **in + } + if in.PerformanceInsightsKMSKeyID != nil { + in, out := &in.PerformanceInsightsKMSKeyID, &out.PerformanceInsightsKMSKeyID + *out = new(string) + **out = **in + } + if in.PerformanceInsightsRetentionPeriod != nil { + in, out := &in.PerformanceInsightsRetentionPeriod, &out.PerformanceInsightsRetentionPeriod + *out = new(float64) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PubliclyAccessible != nil { + in, out := &in.PubliclyAccessible, &out.PubliclyAccessible + *out = new(bool) + **out = **in + } + if in.ReplicaMode != nil { + in, out := &in.ReplicaMode, &out.ReplicaMode + *out = new(string) + **out = **in + } + if in.Replicas != nil { + in, out := &in.Replicas, &out.Replicas + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.ReplicateSourceDB != nil { + in, out := &in.ReplicateSourceDB, &out.ReplicateSourceDB + *out = new(string) + **out = **in + } + if in.ResourceID != nil { + in, out := &in.ResourceID, &out.ResourceID + *out = new(string) + **out = **in + } + if in.RestoreToPointInTime != nil { + in, out := &in.RestoreToPointInTime, &out.RestoreToPointInTime + *out = make([]RestoreToPointInTimeObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3Import != nil { + in, out := &in.S3Import, &out.S3Import + *out = make([]S3ImportObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SkipFinalSnapshot != nil { + in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot + *out = new(bool) + **out = **in + } + if in.SnapshotIdentifier != nil { + in, out := &in.SnapshotIdentifier, &out.SnapshotIdentifier + *out = new(string) + **out = **in + } + if in.Status != nil { + in, out := &in.Status, &out.Status + *out = new(string) + **out = **in + } + if in.StorageEncrypted != nil { + in, out := &in.StorageEncrypted, &out.StorageEncrypted + *out = new(bool) + **out = **in + } + if in.StorageThroughput != nil { + in, out := &in.StorageThroughput, &out.StorageThroughput + *out = new(float64) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.TagsAll != nil { + in, out := &in.TagsAll, &out.TagsAll + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.Timezone != nil { + in, out := &in.Timezone, &out.Timezone + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } + if in.VPCSecurityGroupIds != nil { + in, out := &in.VPCSecurityGroupIds, &out.VPCSecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation. +func (in *InstanceObservation) DeepCopy() *InstanceObservation { + if in == nil { + return nil + } + out := new(InstanceObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters) { + *out = *in + if in.AllocatedStorage != nil { + in, out := &in.AllocatedStorage, &out.AllocatedStorage + *out = new(float64) + **out = **in + } + if in.AllowMajorVersionUpgrade != nil { + in, out := &in.AllowMajorVersionUpgrade, &out.AllowMajorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.ApplyImmediately != nil { + in, out := &in.ApplyImmediately, &out.ApplyImmediately + *out = new(bool) + **out = **in + } + if in.AutoGeneratePassword != nil { + in, out := &in.AutoGeneratePassword, &out.AutoGeneratePassword + *out = new(bool) + **out = **in + } + if in.AutoMinorVersionUpgrade != nil { + in, out := &in.AutoMinorVersionUpgrade, &out.AutoMinorVersionUpgrade + *out = new(bool) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.BackupRetentionPeriod != nil { + in, out := &in.BackupRetentionPeriod, &out.BackupRetentionPeriod + *out = new(float64) + **out = **in + } + if in.BackupTarget != nil { + in, out := &in.BackupTarget, &out.BackupTarget + *out = new(string) + **out = **in + } + if in.BackupWindow != nil { + in, out := &in.BackupWindow, &out.BackupWindow + *out = new(string) + **out = **in + } + if in.BlueGreenUpdate != nil { + in, out := &in.BlueGreenUpdate, &out.BlueGreenUpdate + *out = make([]BlueGreenUpdateParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CACertIdentifier != nil { + in, out := &in.CACertIdentifier, &out.CACertIdentifier + *out = new(string) + **out = **in + } + if in.CharacterSetName != nil { + in, out := &in.CharacterSetName, &out.CharacterSetName + *out = new(string) + **out = **in + } + if in.CopyTagsToSnapshot != nil { + in, out := &in.CopyTagsToSnapshot, &out.CopyTagsToSnapshot + *out = new(bool) + **out = **in + } + if in.CustomIAMInstanceProfile != nil { + in, out := &in.CustomIAMInstanceProfile, &out.CustomIAMInstanceProfile + *out = new(string) + **out = **in + } + if in.CustomerOwnedIPEnabled != nil { + in, out := &in.CustomerOwnedIPEnabled, &out.CustomerOwnedIPEnabled + *out = new(bool) + **out = **in + } + if in.DBName != nil { + in, out := &in.DBName, &out.DBName + *out = new(string) + **out = **in + } + if in.DBSubnetGroupName != nil { + in, out := &in.DBSubnetGroupName, &out.DBSubnetGroupName + *out = new(string) + **out = **in + } + if in.DBSubnetGroupNameRef != nil { + in, out := &in.DBSubnetGroupNameRef, &out.DBSubnetGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.DBSubnetGroupNameSelector != nil { + in, out := &in.DBSubnetGroupNameSelector, &out.DBSubnetGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.DeleteAutomatedBackups != nil { + in, out := &in.DeleteAutomatedBackups, &out.DeleteAutomatedBackups + *out = new(bool) + **out = **in + } + if in.DeletionProtection != nil { + in, out := &in.DeletionProtection, &out.DeletionProtection + *out = new(bool) + **out = **in + } + if in.Domain != nil { + in, out := &in.Domain, &out.Domain + *out = new(string) + **out = **in + } + if in.DomainIAMRoleName != nil { + in, out := &in.DomainIAMRoleName, &out.DomainIAMRoleName + *out = new(string) + **out = **in + } + if in.EnabledCloudwatchLogsExports != nil { + in, out := &in.EnabledCloudwatchLogsExports, &out.EnabledCloudwatchLogsExports + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } + if in.Engine != nil { + in, out := &in.Engine, &out.Engine + *out = new(string) + **out = **in + } + if in.EngineVersion != nil { + in, out := &in.EngineVersion, &out.EngineVersion + *out = new(string) + **out = **in + } + if in.FinalSnapshotIdentifier != nil { + in, out := &in.FinalSnapshotIdentifier, &out.FinalSnapshotIdentifier + *out = new(string) + **out = **in + } + if in.IAMDatabaseAuthenticationEnabled != nil { + in, out := &in.IAMDatabaseAuthenticationEnabled, &out.IAMDatabaseAuthenticationEnabled + *out = new(bool) + **out = **in + } + if in.Identifier != nil { + in, out := &in.Identifier, &out.Identifier + *out = new(string) + **out = **in + } + if in.IdentifierPrefix != nil { + in, out := &in.IdentifierPrefix, &out.IdentifierPrefix + *out = new(string) + **out = **in + } + if in.InstanceClass != nil { + in, out := &in.InstanceClass, &out.InstanceClass + *out = new(string) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(float64) + **out = **in + } + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.KMSKeyIDRef != nil { + in, out := &in.KMSKeyIDRef, &out.KMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.KMSKeyIDSelector != nil { + in, out := &in.KMSKeyIDSelector, &out.KMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.LicenseModel != nil { + in, out := &in.LicenseModel, &out.LicenseModel + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(string) + **out = **in + } + if in.ManageMasterUserPassword != nil { + in, out := &in.ManageMasterUserPassword, &out.ManageMasterUserPassword + *out = new(bool) + **out = **in + } + if in.MasterUserSecretKMSKeyID != nil { + in, out := &in.MasterUserSecretKMSKeyID, &out.MasterUserSecretKMSKeyID + *out = new(string) + **out = **in + } + if in.MasterUserSecretKMSKeyIDRef != nil { + in, out := &in.MasterUserSecretKMSKeyIDRef, &out.MasterUserSecretKMSKeyIDRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MasterUserSecretKMSKeyIDSelector != nil { + in, out := &in.MasterUserSecretKMSKeyIDSelector, &out.MasterUserSecretKMSKeyIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MaxAllocatedStorage != nil { + in, out := &in.MaxAllocatedStorage, &out.MaxAllocatedStorage + *out = new(float64) + **out = **in + } + if in.MonitoringInterval != nil { + in, out := &in.MonitoringInterval, &out.MonitoringInterval + *out = new(float64) + **out = **in + } + if in.MonitoringRoleArn != nil { + in, out := &in.MonitoringRoleArn, &out.MonitoringRoleArn + *out = new(string) + **out = **in + } + if in.MonitoringRoleArnRef != nil { + in, out := &in.MonitoringRoleArnRef, &out.MonitoringRoleArnRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.MonitoringRoleArnSelector != nil { + in, out := &in.MonitoringRoleArnSelector, &out.MonitoringRoleArnSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.MultiAz != nil { + in, out := &in.MultiAz, &out.MultiAz + *out = new(bool) + **out = **in + } + if in.NcharCharacterSetName != nil { + in, out := &in.NcharCharacterSetName, &out.NcharCharacterSetName + *out = new(string) + **out = **in + } + if in.NetworkType != nil { + in, out := &in.NetworkType, &out.NetworkType + *out = new(string) + **out = **in + } + if in.OptionGroupName != nil { + in, out := &in.OptionGroupName, &out.OptionGroupName + *out = new(string) + **out = **in + } + if in.ParameterGroupName != nil { + in, out := &in.ParameterGroupName, &out.ParameterGroupName + *out = new(string) + **out = **in + } + if in.ParameterGroupNameRef != nil { + in, out := &in.ParameterGroupNameRef, &out.ParameterGroupNameRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ParameterGroupNameSelector != nil { + in, out := &in.ParameterGroupNameSelector, &out.ParameterGroupNameSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.PasswordSecretRef != nil { + in, out := &in.PasswordSecretRef, &out.PasswordSecretRef + *out = new(v1.SecretKeySelector) + **out = **in + } + if in.PerformanceInsightsEnabled != nil { + in, out := &in.PerformanceInsightsEnabled, &out.PerformanceInsightsEnabled + *out = new(bool) + **out = **in + } + if in.PerformanceInsightsKMSKeyID != nil { + in, out := &in.PerformanceInsightsKMSKeyID, &out.PerformanceInsightsKMSKeyID + *out = new(string) + **out = **in + } + if in.PerformanceInsightsRetentionPeriod != nil { + in, out := &in.PerformanceInsightsRetentionPeriod, &out.PerformanceInsightsRetentionPeriod + *out = new(float64) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } + if in.PubliclyAccessible != nil { + in, out := &in.PubliclyAccessible, &out.PubliclyAccessible + *out = new(bool) + **out = **in + } + if in.Region != nil { + in, out := &in.Region, &out.Region + *out = new(string) + **out = **in + } + if in.ReplicaMode != nil { + in, out := &in.ReplicaMode, &out.ReplicaMode + *out = new(string) + **out = **in + } + if in.ReplicateSourceDB != nil { + in, out := &in.ReplicateSourceDB, &out.ReplicateSourceDB + *out = new(string) + **out = **in + } + if in.ReplicateSourceDBRef != nil { + in, out := &in.ReplicateSourceDBRef, &out.ReplicateSourceDBRef + *out = new(v1.Reference) + (*in).DeepCopyInto(*out) + } + if in.ReplicateSourceDBSelector != nil { + in, out := &in.ReplicateSourceDBSelector, &out.ReplicateSourceDBSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.RestoreToPointInTime != nil { + in, out := &in.RestoreToPointInTime, &out.RestoreToPointInTime + *out = make([]RestoreToPointInTimeParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.S3Import != nil { + in, out := &in.S3Import, &out.S3Import + *out = make([]S3ImportParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SkipFinalSnapshot != nil { + in, out := &in.SkipFinalSnapshot, &out.SkipFinalSnapshot + *out = new(bool) + **out = **in + } + if in.SnapshotIdentifier != nil { + in, out := &in.SnapshotIdentifier, &out.SnapshotIdentifier + *out = new(string) + **out = **in + } + if in.StorageEncrypted != nil { + in, out := &in.StorageEncrypted, &out.StorageEncrypted + *out = new(bool) + **out = **in + } + if in.StorageThroughput != nil { + in, out := &in.StorageThroughput, &out.StorageThroughput + *out = new(float64) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]*string, len(*in)) + for key, val := range *in { + var outVal *string + if val == nil { + (*out)[key] = nil + } else { + inVal := (*in)[key] + in, out := &inVal, &outVal + *out = new(string) + **out = **in + } + (*out)[key] = outVal + } + } + if in.Timezone != nil { + in, out := &in.Timezone, &out.Timezone + *out = new(string) + **out = **in + } + if in.Username != nil { + in, out := &in.Username, &out.Username + *out = new(string) + **out = **in + } + if in.VPCSecurityGroupIDRefs != nil { + in, out := &in.VPCSecurityGroupIDRefs, &out.VPCSecurityGroupIDRefs + *out = make([]v1.Reference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPCSecurityGroupIDSelector != nil { + in, out := &in.VPCSecurityGroupIDSelector, &out.VPCSecurityGroupIDSelector + *out = new(v1.Selector) + (*in).DeepCopyInto(*out) + } + if in.VPCSecurityGroupIds != nil { + in, out := &in.VPCSecurityGroupIds, &out.VPCSecurityGroupIds + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters. +func (in *InstanceParameters) DeepCopy() *InstanceParameters { + if in == nil { + return nil + } + out := new(InstanceParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec) { + *out = *in + in.ResourceSpec.DeepCopyInto(&out.ResourceSpec) + in.ForProvider.DeepCopyInto(&out.ForProvider) + in.InitProvider.DeepCopyInto(&out.InitProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec. +func (in *InstanceSpec) DeepCopy() *InstanceSpec { + if in == nil { + return nil + } + out := new(InstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus) { + *out = *in + in.ResourceStatus.DeepCopyInto(&out.ResourceStatus) + in.AtProvider.DeepCopyInto(&out.AtProvider) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus. +func (in *InstanceStatus) DeepCopy() *InstanceStatus { + if in == nil { + return nil + } + out := new(InstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerEndpointInitParameters) DeepCopyInto(out *ListenerEndpointInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerEndpointInitParameters. +func (in *ListenerEndpointInitParameters) DeepCopy() *ListenerEndpointInitParameters { + if in == nil { + return nil + } + out := new(ListenerEndpointInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerEndpointObservation) DeepCopyInto(out *ListenerEndpointObservation) { + *out = *in + if in.Address != nil { + in, out := &in.Address, &out.Address + *out = new(string) + **out = **in + } + if in.HostedZoneID != nil { + in, out := &in.HostedZoneID, &out.HostedZoneID + *out = new(string) + **out = **in + } + if in.Port != nil { + in, out := &in.Port, &out.Port + *out = new(float64) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerEndpointObservation. +func (in *ListenerEndpointObservation) DeepCopy() *ListenerEndpointObservation { + if in == nil { + return nil + } + out := new(ListenerEndpointObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListenerEndpointParameters) DeepCopyInto(out *ListenerEndpointParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerEndpointParameters. +func (in *ListenerEndpointParameters) DeepCopy() *ListenerEndpointParameters { + if in == nil { + return nil + } + out := new(ListenerEndpointParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterUserSecretInitParameters) DeepCopyInto(out *MasterUserSecretInitParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterUserSecretInitParameters. +func (in *MasterUserSecretInitParameters) DeepCopy() *MasterUserSecretInitParameters { + if in == nil { + return nil + } + out := new(MasterUserSecretInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterUserSecretObservation) DeepCopyInto(out *MasterUserSecretObservation) { + *out = *in + if in.KMSKeyID != nil { + in, out := &in.KMSKeyID, &out.KMSKeyID + *out = new(string) + **out = **in + } + if in.SecretArn != nil { + in, out := &in.SecretArn, &out.SecretArn + *out = new(string) + **out = **in + } + if in.SecretStatus != nil { + in, out := &in.SecretStatus, &out.SecretStatus + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterUserSecretObservation. +func (in *MasterUserSecretObservation) DeepCopy() *MasterUserSecretObservation { + if in == nil { + return nil + } + out := new(MasterUserSecretObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterUserSecretParameters) DeepCopyInto(out *MasterUserSecretParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterUserSecretParameters. +func (in *MasterUserSecretParameters) DeepCopy() *MasterUserSecretParameters { + if in == nil { + return nil + } + out := new(MasterUserSecretParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RestoreToPointInTimeInitParameters) DeepCopyInto(out *RestoreToPointInTimeInitParameters) { + *out = *in + if in.RestoreTime != nil { + in, out := &in.RestoreTime, &out.RestoreTime + *out = new(string) + **out = **in + } + if in.SourceDBInstanceAutomatedBackupsArn != nil { + in, out := &in.SourceDBInstanceAutomatedBackupsArn, &out.SourceDBInstanceAutomatedBackupsArn + *out = new(string) + **out = **in + } + if in.SourceDBInstanceIdentifier != nil { + in, out := &in.SourceDBInstanceIdentifier, &out.SourceDBInstanceIdentifier + *out = new(string) + **out = **in + } + if in.SourceDbiResourceID != nil { + in, out := &in.SourceDbiResourceID, &out.SourceDbiResourceID + *out = new(string) + **out = **in + } + if in.UseLatestRestorableTime != nil { + in, out := &in.UseLatestRestorableTime, &out.UseLatestRestorableTime + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreToPointInTimeInitParameters. +func (in *RestoreToPointInTimeInitParameters) DeepCopy() *RestoreToPointInTimeInitParameters { + if in == nil { + return nil + } + out := new(RestoreToPointInTimeInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RestoreToPointInTimeObservation) DeepCopyInto(out *RestoreToPointInTimeObservation) { + *out = *in + if in.RestoreTime != nil { + in, out := &in.RestoreTime, &out.RestoreTime + *out = new(string) + **out = **in + } + if in.SourceDBInstanceAutomatedBackupsArn != nil { + in, out := &in.SourceDBInstanceAutomatedBackupsArn, &out.SourceDBInstanceAutomatedBackupsArn + *out = new(string) + **out = **in + } + if in.SourceDBInstanceIdentifier != nil { + in, out := &in.SourceDBInstanceIdentifier, &out.SourceDBInstanceIdentifier + *out = new(string) + **out = **in + } + if in.SourceDbiResourceID != nil { + in, out := &in.SourceDbiResourceID, &out.SourceDbiResourceID + *out = new(string) + **out = **in + } + if in.UseLatestRestorableTime != nil { + in, out := &in.UseLatestRestorableTime, &out.UseLatestRestorableTime + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreToPointInTimeObservation. +func (in *RestoreToPointInTimeObservation) DeepCopy() *RestoreToPointInTimeObservation { + if in == nil { + return nil + } + out := new(RestoreToPointInTimeObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RestoreToPointInTimeParameters) DeepCopyInto(out *RestoreToPointInTimeParameters) { + *out = *in + if in.RestoreTime != nil { + in, out := &in.RestoreTime, &out.RestoreTime + *out = new(string) + **out = **in + } + if in.SourceDBInstanceAutomatedBackupsArn != nil { + in, out := &in.SourceDBInstanceAutomatedBackupsArn, &out.SourceDBInstanceAutomatedBackupsArn + *out = new(string) + **out = **in + } + if in.SourceDBInstanceIdentifier != nil { + in, out := &in.SourceDBInstanceIdentifier, &out.SourceDBInstanceIdentifier + *out = new(string) + **out = **in + } + if in.SourceDbiResourceID != nil { + in, out := &in.SourceDbiResourceID, &out.SourceDbiResourceID + *out = new(string) + **out = **in + } + if in.UseLatestRestorableTime != nil { + in, out := &in.UseLatestRestorableTime, &out.UseLatestRestorableTime + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreToPointInTimeParameters. +func (in *RestoreToPointInTimeParameters) DeepCopy() *RestoreToPointInTimeParameters { + if in == nil { + return nil + } + out := new(RestoreToPointInTimeParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3ImportInitParameters) DeepCopyInto(out *S3ImportInitParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketPrefix != nil { + in, out := &in.BucketPrefix, &out.BucketPrefix + *out = new(string) + **out = **in + } + if in.IngestionRole != nil { + in, out := &in.IngestionRole, &out.IngestionRole + *out = new(string) + **out = **in + } + if in.SourceEngine != nil { + in, out := &in.SourceEngine, &out.SourceEngine + *out = new(string) + **out = **in + } + if in.SourceEngineVersion != nil { + in, out := &in.SourceEngineVersion, &out.SourceEngineVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3ImportInitParameters. +func (in *S3ImportInitParameters) DeepCopy() *S3ImportInitParameters { + if in == nil { + return nil + } + out := new(S3ImportInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3ImportObservation) DeepCopyInto(out *S3ImportObservation) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketPrefix != nil { + in, out := &in.BucketPrefix, &out.BucketPrefix + *out = new(string) + **out = **in + } + if in.IngestionRole != nil { + in, out := &in.IngestionRole, &out.IngestionRole + *out = new(string) + **out = **in + } + if in.SourceEngine != nil { + in, out := &in.SourceEngine, &out.SourceEngine + *out = new(string) + **out = **in + } + if in.SourceEngineVersion != nil { + in, out := &in.SourceEngineVersion, &out.SourceEngineVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3ImportObservation. +func (in *S3ImportObservation) DeepCopy() *S3ImportObservation { + if in == nil { + return nil + } + out := new(S3ImportObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3ImportParameters) DeepCopyInto(out *S3ImportParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketPrefix != nil { + in, out := &in.BucketPrefix, &out.BucketPrefix + *out = new(string) + **out = **in + } + if in.IngestionRole != nil { + in, out := &in.IngestionRole, &out.IngestionRole + *out = new(string) + **out = **in + } + if in.SourceEngine != nil { + in, out := &in.SourceEngine, &out.SourceEngine + *out = new(string) + **out = **in + } + if in.SourceEngineVersion != nil { + in, out := &in.SourceEngineVersion, &out.SourceEngineVersion + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3ImportParameters. +func (in *S3ImportParameters) DeepCopy() *S3ImportParameters { + if in == nil { + return nil + } + out := new(S3ImportParameters) + in.DeepCopyInto(out) + return out +} diff --git a/apis/rds/v1beta2/zz_generated.managed.go b/apis/rds/v1beta2/zz_generated.managed.go new file mode 100644 index 0000000000..8a95dd29b4 --- /dev/null +++ b/apis/rds/v1beta2/zz_generated.managed.go @@ -0,0 +1,68 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + +// GetCondition of this Instance. +func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition { + return mg.Status.GetCondition(ct) +} + +// GetDeletionPolicy of this Instance. +func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy { + return mg.Spec.DeletionPolicy +} + +// GetManagementPolicies of this Instance. +func (mg *Instance) GetManagementPolicies() xpv1.ManagementPolicies { + return mg.Spec.ManagementPolicies +} + +// GetProviderConfigReference of this Instance. +func (mg *Instance) GetProviderConfigReference() *xpv1.Reference { + return mg.Spec.ProviderConfigReference +} + +// GetPublishConnectionDetailsTo of this Instance. +func (mg *Instance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo { + return mg.Spec.PublishConnectionDetailsTo +} + +// GetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference { + return mg.Spec.WriteConnectionSecretToReference +} + +// SetConditions of this Instance. +func (mg *Instance) SetConditions(c ...xpv1.Condition) { + mg.Status.SetConditions(c...) +} + +// SetDeletionPolicy of this Instance. +func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy) { + mg.Spec.DeletionPolicy = r +} + +// SetManagementPolicies of this Instance. +func (mg *Instance) SetManagementPolicies(r xpv1.ManagementPolicies) { + mg.Spec.ManagementPolicies = r +} + +// SetProviderConfigReference of this Instance. +func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference) { + mg.Spec.ProviderConfigReference = r +} + +// SetPublishConnectionDetailsTo of this Instance. +func (mg *Instance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo) { + mg.Spec.PublishConnectionDetailsTo = r +} + +// SetWriteConnectionSecretToReference of this Instance. +func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference) { + mg.Spec.WriteConnectionSecretToReference = r +} diff --git a/apis/rds/v1beta2/zz_generated.managedlist.go b/apis/rds/v1beta2/zz_generated.managedlist.go new file mode 100644 index 0000000000..0c8440c59e --- /dev/null +++ b/apis/rds/v1beta2/zz_generated.managedlist.go @@ -0,0 +1,17 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. + +package v1beta2 + +import resource "github.com/crossplane/crossplane-runtime/pkg/resource" + +// GetItems of this InstanceList. +func (l *InstanceList) GetItems() []resource.Managed { + items := make([]resource.Managed, len(l.Items)) + for i := range l.Items { + items[i] = &l.Items[i] + } + return items +} diff --git a/apis/rds/v1beta2/zz_generated.resolvers.go b/apis/rds/v1beta2/zz_generated.resolvers.go new file mode 100644 index 0000000000..bb8c0e8627 --- /dev/null +++ b/apis/rds/v1beta2/zz_generated.resolvers.go @@ -0,0 +1,299 @@ +/* +Copyright 2022 Upbound Inc. +*/ +// Code generated by angryjet. DO NOT EDIT. +// Code transformed by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "context" + reference "github.com/crossplane/crossplane-runtime/pkg/reference" + resource "github.com/crossplane/upjet/pkg/resource" + errors "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + common "github.com/upbound/provider-aws/config/common" + client "sigs.k8s.io/controller-runtime/pkg/client" + + // ResolveReferences of this Instance. + apisresolver "github.com/upbound/provider-aws/internal/apis" +) + +func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) error { + var m xpresource.Managed + var l xpresource.ManagedList + r := reference.NewAPIResolver(c, mg) + + var rsp reference.ResolutionResponse + var mrsp reference.MultiResolutionResponse + var err error + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "SubnetGroup", "SubnetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.DBSubnetGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.DBSubnetGroupNameRef, + Selector: mg.Spec.ForProvider.DBSubnetGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.DBSubnetGroupName") + } + mg.Spec.ForProvider.DBSubnetGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.DBSubnetGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.KMSKeyID), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.KMSKeyIDRef, + Selector: mg.Spec.ForProvider.KMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.KMSKeyID") + } + mg.Spec.ForProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.KMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MasterUserSecretKMSKeyID), + Extract: resource.ExtractParamPath("key_id", true), + Reference: mg.Spec.ForProvider.MasterUserSecretKMSKeyIDRef, + Selector: mg.Spec.ForProvider.MasterUserSecretKMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MasterUserSecretKMSKeyID") + } + mg.Spec.ForProvider.MasterUserSecretKMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MasterUserSecretKMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("iam.aws.upbound.io", "v1beta1", "Role", "RoleList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.MonitoringRoleArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.ForProvider.MonitoringRoleArnRef, + Selector: mg.Spec.ForProvider.MonitoringRoleArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.MonitoringRoleArn") + } + mg.Spec.ForProvider.MonitoringRoleArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.MonitoringRoleArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "ParameterGroup", "ParameterGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ParameterGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.ForProvider.ParameterGroupNameRef, + Selector: mg.Spec.ForProvider.ParameterGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ParameterGroupName") + } + mg.Spec.ForProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ParameterGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.ForProvider.ReplicateSourceDB), + Extract: resource.ExtractParamPath("identifier", false), + Reference: mg.Spec.ForProvider.ReplicateSourceDBRef, + Selector: mg.Spec.ForProvider.ReplicateSourceDBSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.ReplicateSourceDB") + } + mg.Spec.ForProvider.ReplicateSourceDB = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.ForProvider.ReplicateSourceDBRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.ForProvider.VPCSecurityGroupIds), + Extract: reference.ExternalName(), + References: mg.Spec.ForProvider.VPCSecurityGroupIDRefs, + Selector: mg.Spec.ForProvider.VPCSecurityGroupIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.ForProvider.VPCSecurityGroupIds") + } + mg.Spec.ForProvider.VPCSecurityGroupIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.ForProvider.VPCSecurityGroupIDRefs = mrsp.ResolvedReferences + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "SubnetGroup", "SubnetGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.DBSubnetGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.DBSubnetGroupNameRef, + Selector: mg.Spec.InitProvider.DBSubnetGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.DBSubnetGroupName") + } + mg.Spec.InitProvider.DBSubnetGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.DBSubnetGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.KMSKeyID), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.KMSKeyIDRef, + Selector: mg.Spec.InitProvider.KMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.KMSKeyID") + } + mg.Spec.InitProvider.KMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.KMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("kms.aws.upbound.io", "v1beta1", "Key", "KeyList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MasterUserSecretKMSKeyID), + Extract: resource.ExtractParamPath("key_id", true), + Reference: mg.Spec.InitProvider.MasterUserSecretKMSKeyIDRef, + Selector: mg.Spec.InitProvider.MasterUserSecretKMSKeyIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MasterUserSecretKMSKeyID") + } + mg.Spec.InitProvider.MasterUserSecretKMSKeyID = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MasterUserSecretKMSKeyIDRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("iam.aws.upbound.io", "v1beta1", "Role", "RoleList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.MonitoringRoleArn), + Extract: common.ARNExtractor(), + Reference: mg.Spec.InitProvider.MonitoringRoleArnRef, + Selector: mg.Spec.InitProvider.MonitoringRoleArnSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.MonitoringRoleArn") + } + mg.Spec.InitProvider.MonitoringRoleArn = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.MonitoringRoleArnRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta1", "ParameterGroup", "ParameterGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ParameterGroupName), + Extract: reference.ExternalName(), + Reference: mg.Spec.InitProvider.ParameterGroupNameRef, + Selector: mg.Spec.InitProvider.ParameterGroupNameSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ParameterGroupName") + } + mg.Spec.InitProvider.ParameterGroupName = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ParameterGroupNameRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("rds.aws.upbound.io", "v1beta2", "Instance", "InstanceList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + rsp, err = r.Resolve(ctx, reference.ResolutionRequest{ + CurrentValue: reference.FromPtrValue(mg.Spec.InitProvider.ReplicateSourceDB), + Extract: resource.ExtractParamPath("identifier", false), + Reference: mg.Spec.InitProvider.ReplicateSourceDBRef, + Selector: mg.Spec.InitProvider.ReplicateSourceDBSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.ReplicateSourceDB") + } + mg.Spec.InitProvider.ReplicateSourceDB = reference.ToPtrValue(rsp.ResolvedValue) + mg.Spec.InitProvider.ReplicateSourceDBRef = rsp.ResolvedReference + { + m, l, err = apisresolver.GetManagedResource("ec2.aws.upbound.io", "v1beta1", "SecurityGroup", "SecurityGroupList") + if err != nil { + return errors.Wrap(err, "failed to get the reference target managed resource and its list for reference resolution") + } + + mrsp, err = r.ResolveMultiple(ctx, reference.MultiResolutionRequest{ + CurrentValues: reference.FromPtrValues(mg.Spec.InitProvider.VPCSecurityGroupIds), + Extract: reference.ExternalName(), + References: mg.Spec.InitProvider.VPCSecurityGroupIDRefs, + Selector: mg.Spec.InitProvider.VPCSecurityGroupIDSelector, + To: reference.To{List: l, Managed: m}, + }) + } + if err != nil { + return errors.Wrap(err, "mg.Spec.InitProvider.VPCSecurityGroupIds") + } + mg.Spec.InitProvider.VPCSecurityGroupIds = reference.ToPtrValues(mrsp.ResolvedValues) + mg.Spec.InitProvider.VPCSecurityGroupIDRefs = mrsp.ResolvedReferences + + return nil +} diff --git a/apis/rds/v1beta2/zz_groupversion_info.go b/apis/rds/v1beta2/zz_groupversion_info.go new file mode 100755 index 0000000000..4a7cf1b6d5 --- /dev/null +++ b/apis/rds/v1beta2/zz_groupversion_info.go @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +// +kubebuilder:object:generate=true +// +groupName=rds.aws.upbound.io +// +versionName=v1beta2 +package v1beta2 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +// Package type metadata. +const ( + CRDGroup = "rds.aws.upbound.io" + CRDVersion = "v1beta2" +) + +var ( + // CRDGroupVersion is the API Group Version used to register the objects + CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme +) diff --git a/apis/rds/v1beta2/zz_instance_terraformed.go b/apis/rds/v1beta2/zz_instance_terraformed.go new file mode 100755 index 0000000000..324e07dbc5 --- /dev/null +++ b/apis/rds/v1beta2/zz_instance_terraformed.go @@ -0,0 +1,134 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +import ( + "dario.cat/mergo" + "github.com/pkg/errors" + + "github.com/crossplane/upjet/pkg/resource" + "github.com/crossplane/upjet/pkg/resource/json" +) + +// GetTerraformResourceType returns Terraform resource type for this Instance +func (mg *Instance) GetTerraformResourceType() string { + return "aws_db_instance" +} + +// GetConnectionDetailsMapping for this Instance +func (tr *Instance) GetConnectionDetailsMapping() map[string]string { + return map[string]string{"password": "spec.forProvider.passwordSecretRef"} +} + +// GetObservation of this Instance +func (tr *Instance) GetObservation() (map[string]any, error) { + o, err := json.TFParser.Marshal(tr.Status.AtProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(o, &base) +} + +// SetObservation for this Instance +func (tr *Instance) SetObservation(obs map[string]any) error { + p, err := json.TFParser.Marshal(obs) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Status.AtProvider) +} + +// GetID returns ID of underlying Terraform resource of this Instance +func (tr *Instance) GetID() string { + if tr.Status.AtProvider.ID == nil { + return "" + } + return *tr.Status.AtProvider.ID +} + +// GetParameters of this Instance +func (tr *Instance) GetParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.ForProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// SetParameters for this Instance +func (tr *Instance) SetParameters(params map[string]any) error { + p, err := json.TFParser.Marshal(params) + if err != nil { + return err + } + return json.TFParser.Unmarshal(p, &tr.Spec.ForProvider) +} + +// GetInitParameters of this Instance +func (tr *Instance) GetInitParameters() (map[string]any, error) { + p, err := json.TFParser.Marshal(tr.Spec.InitProvider) + if err != nil { + return nil, err + } + base := map[string]any{} + return base, json.TFParser.Unmarshal(p, &base) +} + +// GetInitParameters of this Instance +func (tr *Instance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error) { + params, err := tr.GetParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get parameters for resource '%q'", tr.GetName()) + } + if !shouldMergeInitProvider { + return params, nil + } + + initParams, err := tr.GetInitParameters() + if err != nil { + return nil, errors.Wrapf(err, "cannot get init parameters for resource '%q'", tr.GetName()) + } + + // Note(lsviben): mergo.WithSliceDeepCopy is needed to merge the + // slices from the initProvider to forProvider. As it also sets + // overwrite to true, we need to set it back to false, we don't + // want to overwrite the forProvider fields with the initProvider + // fields. + err = mergo.Merge(¶ms, initParams, mergo.WithSliceDeepCopy, func(c *mergo.Config) { + c.Overwrite = false + }) + if err != nil { + return nil, errors.Wrapf(err, "cannot merge spec.initProvider and spec.forProvider parameters for resource '%q'", tr.GetName()) + } + + return params, nil +} + +// LateInitialize this Instance using its observed tfState. +// returns True if there are any spec changes for the resource. +func (tr *Instance) LateInitialize(attrs []byte) (bool, error) { + params := &InstanceParameters{} + if err := json.TFParser.Unmarshal(attrs, params); err != nil { + return false, errors.Wrap(err, "failed to unmarshal Terraform state parameters for late-initialization") + } + opts := []resource.GenericLateInitializerOption{resource.WithZeroValueJSONOmitEmptyFilter(resource.CNameWildcard)} + opts = append(opts, resource.WithNameFilter("DBName")) + + li := resource.NewGenericLateInitializer(opts...) + return li.LateInitialize(&tr.Spec.ForProvider, params) +} + +// GetTerraformSchemaVersion returns the associated Terraform schema version +func (tr *Instance) GetTerraformSchemaVersion() int { + return 2 +} diff --git a/apis/rds/v1beta2/zz_instance_types.go b/apis/rds/v1beta2/zz_instance_types.go new file mode 100755 index 0000000000..ed67d93d4d --- /dev/null +++ b/apis/rds/v1beta2/zz_instance_types.go @@ -0,0 +1,1278 @@ +// SPDX-FileCopyrightText: 2023 The Crossplane Authors +// +// SPDX-License-Identifier: Apache-2.0 + +/* +Copyright 2022 Upbound Inc. +*/ + +// Code generated by upjet. DO NOT EDIT. + +package v1beta2 + +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 BlueGreenUpdateInitParameters struct { + + // Enables low-downtime updates when true. + // Default is false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type BlueGreenUpdateObservation struct { + + // Enables low-downtime updates when true. + // Default is false. + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type BlueGreenUpdateParameters struct { + + // Enables low-downtime updates when true. + // Default is false. + // +kubebuilder:validation:Optional + Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"` +} + +type InstanceInitParameters struct { + + // The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance. + AllocatedStorage *float64 `json:"allocatedStorage,omitempty" tf:"allocated_storage,omitempty"` + + // Indicates that major version + // upgrades are allowed. Changing this parameter does not result in an outage and + // the change is asynchronously applied as soon as possible. + AllowMajorVersionUpgrade *bool `json:"allowMajorVersionUpgrade,omitempty" tf:"allow_major_version_upgrade,omitempty"` + + // Specifies whether any database modifications + // are applied immediately, or during the next maintenance window. Default is + // false. See Amazon RDS Documentation for more + // information. + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // Indicates that minor engine upgrades + // will be applied automatically to the DB instance during the maintenance window. + // Defaults to true. + AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // The AZ for the RDS instance. + AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"` + + // The days to retain backups for. + // Must be between 0 and 35. + // Default is 0. + // Must be greater than 0 if the database is used as a source for a Read Replica, + // uses low-downtime updates, + // or will use RDS Blue/Green deployments. + BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` + + // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. + BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` + + // The daily time range (in UTC) during which automated backups are created if they are enabled. + // Example: "09:46-10:16". Must not overlap with maintenance_window. + BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` + + // Enables low-downtime updates using RDS Blue/Green deployments. + // See blue_green_update below. + BlueGreenUpdate []BlueGreenUpdateInitParameters `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` + + // The identifier of the CA certificate for the DB instance. + CACertIdentifier *string `json:"caCertIdentifier,omitempty" tf:"ca_cert_identifier,omitempty"` + + // The character set name to use for DB + // encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS + // or Server-Level Collation for Microsoft SQL Server for more information. + CharacterSetName *string `json:"characterSetName,omitempty" tf:"character_set_name,omitempty"` + + // – Copy all Instance tags to snapshots. Default is false. + CopyTagsToSnapshot *bool `json:"copyTagsToSnapshot,omitempty" tf:"copy_tags_to_snapshot,omitempty"` + + // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. + CustomIAMInstanceProfile *string `json:"customIamInstanceProfile,omitempty" tf:"custom_iam_instance_profile,omitempty"` + + // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information. + CustomerOwnedIPEnabled *bool `json:"customerOwnedIpEnabled,omitempty" tf:"customer_owned_ip_enabled,omitempty"` + + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + DBName *string `json:"dbName,omitempty" tf:"db_name,omitempty"` + + // Name of DB subnet group. DB instance will + // be created in the VPC associated with the DB subnet group. If unspecified, will + // be created in the default VPC, or in EC2 Classic, if available. When working + // with read replicas, it should be specified only if the source database + // specifies an instance in another AWS Region. See DBSubnetGroupName in API + // action CreateDBInstanceReadReplica + // for additional read replica constraints. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.SubnetGroup + DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` + + // Reference to a SubnetGroup in rds to populate dbSubnetGroupName. + // +kubebuilder:validation:Optional + DBSubnetGroupNameRef *v1.Reference `json:"dbSubnetGroupNameRef,omitempty" tf:"-"` + + // Selector for a SubnetGroup in rds to populate dbSubnetGroupName. + // +kubebuilder:validation:Optional + DBSubnetGroupNameSelector *v1.Selector `json:"dbSubnetGroupNameSelector,omitempty" tf:"-"` + + // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true. + DeleteAutomatedBackups *bool `json:"deleteAutomatedBackups,omitempty" tf:"delete_automated_backups,omitempty"` + + // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // The ID of the Directory Service Active Directory domain to create the instance in. + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // The name of the IAM role to be used when making API calls to the Directory Service. + DomainIAMRoleName *string `json:"domainIamRoleName,omitempty" tf:"domain_iam_role_name,omitempty"` + + // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace. + // +listType=set + EnabledCloudwatchLogsExports []*string `json:"enabledCloudwatchLogsExports,omitempty" tf:"enabled_cloudwatch_logs_exports,omitempty"` + + // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'. + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // The name of your final DB snapshot + // when this DB instance is deleted. Must be provided if skip_final_snapshot is + // set to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database + // accounts is enabled. + IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` + + // Required if restore_to_point_in_time is specified. + Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` + + // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. + IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` + + // The instance type of the RDS instance. + InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` + + // The amount of provisioned IOPS. Setting this implies a + // storage_type of "io1". Can only be set when storage_type is "io1" or "gp3". + // Cannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold. + // See the RDS User Guide for details. + Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` + + // The ARN for the KMS encryption key. If creating an + // encrypted replica, set this to the destination KMS ARN. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // Reference to a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` + + // License model information for this DB instance. Valid values for this field are as follows: + LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` + + // The window to perform maintenance in. + // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See RDS + // Maintenance Window + // docs + // for more information. + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided. + ManageMasterUserPassword *bool `json:"manageMasterUserPassword,omitempty" tf:"manage_master_user_password,omitempty"` + + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("key_id",true) + MasterUserSecretKMSKeyID *string `json:"masterUserSecretKmsKeyId,omitempty" tf:"master_user_secret_kms_key_id,omitempty"` + + // Reference to a Key in kms to populate masterUserSecretKmsKeyId. + // +kubebuilder:validation:Optional + MasterUserSecretKMSKeyIDRef *v1.Reference `json:"masterUserSecretKmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate masterUserSecretKmsKeyId. + // +kubebuilder:validation:Optional + MasterUserSecretKMSKeyIDSelector *v1.Selector `json:"masterUserSecretKmsKeyIdSelector,omitempty" tf:"-"` + + // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling. + MaxAllocatedStorage *float64 `json:"maxAllocatedStorage,omitempty" tf:"max_allocated_storage,omitempty"` + + // The interval, in seconds, between points + // when Enhanced Monitoring metrics are collected for the DB instance. To disable + // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid + // Values: 0, 1, 5, 10, 15, 30, 60. + MonitoringInterval *float64 `json:"monitoringInterval,omitempty" tf:"monitoring_interval,omitempty"` + + // The ARN for the IAM role that permits RDS + // to send enhanced monitoring metrics to CloudWatch Logs. You can find more + // information on the AWS + // Documentation + // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + MonitoringRoleArn *string `json:"monitoringRoleArn,omitempty" tf:"monitoring_role_arn,omitempty"` + + // Reference to a Role in iam to populate monitoringRoleArn. + // +kubebuilder:validation:Optional + MonitoringRoleArnRef *v1.Reference `json:"monitoringRoleArnRef,omitempty" tf:"-"` + + // Selector for a Role in iam to populate monitoringRoleArn. + // +kubebuilder:validation:Optional + MonitoringRoleArnSelector *v1.Selector `json:"monitoringRoleArnSelector,omitempty" tf:"-"` + + // Specifies if the RDS instance is multi-AZ + MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS. + NcharCharacterSetName *string `json:"ncharCharacterSetName,omitempty" tf:"nchar_character_set_name,omitempty"` + + // The network type of the DB instance. Valid values: IPV4, DUAL. + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Name of the DB option group to associate. + OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` + + // Name of the DB parameter group to associate. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.ParameterGroup + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // Reference to a ParameterGroup in rds to populate parameterGroupName. + // +kubebuilder:validation:Optional + ParameterGroupNameRef *v1.Reference `json:"parameterGroupNameRef,omitempty" tf:"-"` + + // Selector for a ParameterGroup in rds to populate parameterGroupName. + // +kubebuilder:validation:Optional + ParameterGroupNameSelector *v1.Selector `json:"parameterGroupNameSelector,omitempty" tf:"-"` + + // Specifies whether Performance Insights are enabled. Defaults to false. + PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty" tf:"performance_insights_enabled,omitempty"` + + // The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed. + PerformanceInsightsKMSKeyID *string `json:"performanceInsightsKmsKeyId,omitempty" tf:"performance_insights_kms_key_id,omitempty"` + + // Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'. + PerformanceInsightsRetentionPeriod *float64 `json:"performanceInsightsRetentionPeriod,omitempty" tf:"performance_insights_retention_period,omitempty"` + + // The port on which the DB accepts connections. + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Bool to control if instance is publicly + // accessible. Default is false. + PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,omitempty"` + + // Specifies whether the replica is in either mounted or open-read-only mode. This attribute + // is only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information. + ReplicaMode *string `json:"replicaMode,omitempty" tf:"replica_mode,omitempty"` + + // Specifies that this resource is a Replicate + // database, and to use this value as the source database. This correlates to the + // identifier of another Amazon RDS Database to replicate (if replicating within + // a single region) or ARN of the Amazon RDS Database to replicate (if replicating + // cross-region). Note that if you are + // creating a cross-region replica of an encrypted database you will also need to + // specify a kms_key_id. See DB Instance Replication and Working with + // PostgreSQL and MySQL Read Replicas + // for more information on using Replication. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) + ReplicateSourceDB *string `json:"replicateSourceDb,omitempty" tf:"replicate_source_db,omitempty"` + + // Reference to a Instance in rds to populate replicateSourceDb. + // +kubebuilder:validation:Optional + ReplicateSourceDBRef *v1.Reference `json:"replicateSourceDbRef,omitempty" tf:"-"` + + // Selector for a Instance in rds to populate replicateSourceDb. + // +kubebuilder:validation:Optional + ReplicateSourceDBSelector *v1.Selector `json:"replicateSourceDbSelector,omitempty" tf:"-"` + + // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + RestoreToPointInTime []RestoreToPointInTimeInitParameters `json:"restoreToPointInTime,omitempty" tf:"restore_to_point_in_time,omitempty"` + + // Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance + S3Import []S3ImportInitParameters `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + + // Determines whether a final DB snapshot is + // created before the DB instance is deleted. If true is specified, no DBSnapshot + // is created. If false is specified, a DB snapshot is created before the DB + // instance is deleted, using the value from final_snapshot_identifier. Default + // is false. + SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"` + + // Specifies whether or not to create this + // database from a snapshot. This correlates to the snapshot ID you'd find in the + // RDS console, e.g: rds:production-2015-06-26-06-05. + SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"` + + // Specifies whether the DB instance is + // encrypted. Note that if you are creating a cross-region read replica this field + // is ignored and you should instead declare kms_key_id with a valid ARN. The + // default is false if not specified. + StorageEncrypted *bool `json:"storageEncrypted,omitempty" tf:"storage_encrypted,omitempty"` + + // The storage throughput value for the DB instance. Can only be set when storage_type is "gp3". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details. + StorageThroughput *float64 `json:"storageThroughput,omitempty" tf:"storage_throughput,omitempty"` + + // One of "standard" (magnetic), "gp2" (general + // purpose SSD), "gp3" (general purpose SSD that needs iops independently) + // or "io1" (provisioned IOPS SSD). The default is "io1" if iops is specified, + // "gp2" if not. + StorageType *string `json:"storageType,omitempty" tf:"storage_type,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Time zone of the DB instance. timezone is currently + // only supported by Microsoft SQL Server. The timezone can only be set on + // creation. See MSSQL User + // Guide + // for more information. + Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"` + + // Username for the master DB user. Cannot be specified for a replica. + Username *string `json:"username,omitempty" tf:"username,omitempty"` + + // References to SecurityGroup in ec2 to populate vpcSecurityGroupIds. + // +kubebuilder:validation:Optional + VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds. + // +kubebuilder:validation:Optional + VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"` + + // List of VPC security groups to + // associate. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs + // +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector + // +listType=set + VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"` +} + +type InstanceObservation struct { + + // The hostname of the RDS instance. See also endpoint and port. + Address *string `json:"address,omitempty" tf:"address,omitempty"` + + // The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance. + AllocatedStorage *float64 `json:"allocatedStorage,omitempty" tf:"allocated_storage,omitempty"` + + // Indicates that major version + // upgrades are allowed. Changing this parameter does not result in an outage and + // the change is asynchronously applied as soon as possible. + AllowMajorVersionUpgrade *bool `json:"allowMajorVersionUpgrade,omitempty" tf:"allow_major_version_upgrade,omitempty"` + + // Specifies whether any database modifications + // are applied immediately, or during the next maintenance window. Default is + // false. See Amazon RDS Documentation for more + // information. + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // The ARN of the RDS instance. + Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` + + // Indicates that minor engine upgrades + // will be applied automatically to the DB instance during the maintenance window. + // Defaults to true. + AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // The AZ for the RDS instance. + AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"` + + // The days to retain backups for. + // Must be between 0 and 35. + // Default is 0. + // Must be greater than 0 if the database is used as a source for a Read Replica, + // uses low-downtime updates, + // or will use RDS Blue/Green deployments. + BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` + + // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. + BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` + + // The daily time range (in UTC) during which automated backups are created if they are enabled. + // Example: "09:46-10:16". Must not overlap with maintenance_window. + BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` + + // Enables low-downtime updates using RDS Blue/Green deployments. + // See blue_green_update below. + BlueGreenUpdate []BlueGreenUpdateObservation `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` + + // The identifier of the CA certificate for the DB instance. + CACertIdentifier *string `json:"caCertIdentifier,omitempty" tf:"ca_cert_identifier,omitempty"` + + // The character set name to use for DB + // encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS + // or Server-Level Collation for Microsoft SQL Server for more information. + CharacterSetName *string `json:"characterSetName,omitempty" tf:"character_set_name,omitempty"` + + // – Copy all Instance tags to snapshots. Default is false. + CopyTagsToSnapshot *bool `json:"copyTagsToSnapshot,omitempty" tf:"copy_tags_to_snapshot,omitempty"` + + // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. + CustomIAMInstanceProfile *string `json:"customIamInstanceProfile,omitempty" tf:"custom_iam_instance_profile,omitempty"` + + // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information. + CustomerOwnedIPEnabled *bool `json:"customerOwnedIpEnabled,omitempty" tf:"customer_owned_ip_enabled,omitempty"` + + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + DBName *string `json:"dbName,omitempty" tf:"db_name,omitempty"` + + // Name of DB subnet group. DB instance will + // be created in the VPC associated with the DB subnet group. If unspecified, will + // be created in the default VPC, or in EC2 Classic, if available. When working + // with read replicas, it should be specified only if the source database + // specifies an instance in another AWS Region. See DBSubnetGroupName in API + // action CreateDBInstanceReadReplica + // for additional read replica constraints. + DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` + + // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true. + DeleteAutomatedBackups *bool `json:"deleteAutomatedBackups,omitempty" tf:"delete_automated_backups,omitempty"` + + // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // The ID of the Directory Service Active Directory domain to create the instance in. + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // The name of the IAM role to be used when making API calls to the Directory Service. + DomainIAMRoleName *string `json:"domainIamRoleName,omitempty" tf:"domain_iam_role_name,omitempty"` + + // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace. + // +listType=set + EnabledCloudwatchLogsExports []*string `json:"enabledCloudwatchLogsExports,omitempty" tf:"enabled_cloudwatch_logs_exports,omitempty"` + + // The connection endpoint in address:port format. + Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"` + + // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'. + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // The running version of the database. + EngineVersionActual *string `json:"engineVersionActual,omitempty" tf:"engine_version_actual,omitempty"` + + // The name of your final DB snapshot + // when this DB instance is deleted. Must be provided if skip_final_snapshot is + // set to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // The canonical hosted zone ID of the DB instance (to be used + // in a Route 53 Alias record). + HostedZoneID *string `json:"hostedZoneId,omitempty" tf:"hosted_zone_id,omitempty"` + + // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database + // accounts is enabled. + IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` + + // RDS DBI resource ID. + ID *string `json:"id,omitempty" tf:"id,omitempty"` + + // Required if restore_to_point_in_time is specified. + Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` + + // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. + IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` + + // The instance type of the RDS instance. + InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` + + // The amount of provisioned IOPS. Setting this implies a + // storage_type of "io1". Can only be set when storage_type is "io1" or "gp3". + // Cannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold. + // See the RDS User Guide for details. + Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` + + // The ARN for the KMS encryption key. If creating an + // encrypted replica, set this to the destination KMS ARN. + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // The latest time, in UTC RFC3339 format, to which a database can be restored with point-in-time restore. + LatestRestorableTime *string `json:"latestRestorableTime,omitempty" tf:"latest_restorable_time,omitempty"` + + // License model information for this DB instance. Valid values for this field are as follows: + LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` + + // Specifies the listener connection endpoint for SQL Server Always On. See endpoint below. + ListenerEndpoint []ListenerEndpointObservation `json:"listenerEndpoint,omitempty" tf:"listener_endpoint,omitempty"` + + // The window to perform maintenance in. + // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See RDS + // Maintenance Window + // docs + // for more information. + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided. + ManageMasterUserPassword *bool `json:"manageMasterUserPassword,omitempty" tf:"manage_master_user_password,omitempty"` + + // A block that specifies the master user secret. Only available when manage_master_user_password is set to true. Documented below. + MasterUserSecret []MasterUserSecretObservation `json:"masterUserSecret,omitempty" tf:"master_user_secret,omitempty"` + + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKMSKeyID *string `json:"masterUserSecretKmsKeyId,omitempty" tf:"master_user_secret_kms_key_id,omitempty"` + + // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling. + MaxAllocatedStorage *float64 `json:"maxAllocatedStorage,omitempty" tf:"max_allocated_storage,omitempty"` + + // The interval, in seconds, between points + // when Enhanced Monitoring metrics are collected for the DB instance. To disable + // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid + // Values: 0, 1, 5, 10, 15, 30, 60. + MonitoringInterval *float64 `json:"monitoringInterval,omitempty" tf:"monitoring_interval,omitempty"` + + // The ARN for the IAM role that permits RDS + // to send enhanced monitoring metrics to CloudWatch Logs. You can find more + // information on the AWS + // Documentation + // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. + MonitoringRoleArn *string `json:"monitoringRoleArn,omitempty" tf:"monitoring_role_arn,omitempty"` + + // Specifies if the RDS instance is multi-AZ + MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS. + NcharCharacterSetName *string `json:"ncharCharacterSetName,omitempty" tf:"nchar_character_set_name,omitempty"` + + // The network type of the DB instance. Valid values: IPV4, DUAL. + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Name of the DB option group to associate. + OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` + + // Name of the DB parameter group to associate. + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // Specifies whether Performance Insights are enabled. Defaults to false. + PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty" tf:"performance_insights_enabled,omitempty"` + + // The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed. + PerformanceInsightsKMSKeyID *string `json:"performanceInsightsKmsKeyId,omitempty" tf:"performance_insights_kms_key_id,omitempty"` + + // Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'. + PerformanceInsightsRetentionPeriod *float64 `json:"performanceInsightsRetentionPeriod,omitempty" tf:"performance_insights_retention_period,omitempty"` + + // The port on which the DB accepts connections. + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Bool to control if instance is publicly + // accessible. Default is false. + PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,omitempty"` + + // Specifies whether the replica is in either mounted or open-read-only mode. This attribute + // is only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information. + ReplicaMode *string `json:"replicaMode,omitempty" tf:"replica_mode,omitempty"` + + Replicas []*string `json:"replicas,omitempty" tf:"replicas,omitempty"` + + // Specifies that this resource is a Replicate + // database, and to use this value as the source database. This correlates to the + // identifier of another Amazon RDS Database to replicate (if replicating within + // a single region) or ARN of the Amazon RDS Database to replicate (if replicating + // cross-region). Note that if you are + // creating a cross-region replica of an encrypted database you will also need to + // specify a kms_key_id. See DB Instance Replication and Working with + // PostgreSQL and MySQL Read Replicas + // for more information on using Replication. + ReplicateSourceDB *string `json:"replicateSourceDb,omitempty" tf:"replicate_source_db,omitempty"` + + // The RDS Resource ID of this instance. + ResourceID *string `json:"resourceId,omitempty" tf:"resource_id,omitempty"` + + // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + RestoreToPointInTime []RestoreToPointInTimeObservation `json:"restoreToPointInTime,omitempty" tf:"restore_to_point_in_time,omitempty"` + + // Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance + S3Import []S3ImportObservation `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + + // Determines whether a final DB snapshot is + // created before the DB instance is deleted. If true is specified, no DBSnapshot + // is created. If false is specified, a DB snapshot is created before the DB + // instance is deleted, using the value from final_snapshot_identifier. Default + // is false. + SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"` + + // Specifies whether or not to create this + // database from a snapshot. This correlates to the snapshot ID you'd find in the + // RDS console, e.g: rds:production-2015-06-26-06-05. + SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"` + + // The RDS instance status. + Status *string `json:"status,omitempty" tf:"status,omitempty"` + + // Specifies whether the DB instance is + // encrypted. Note that if you are creating a cross-region read replica this field + // is ignored and you should instead declare kms_key_id with a valid ARN. The + // default is false if not specified. + StorageEncrypted *bool `json:"storageEncrypted,omitempty" tf:"storage_encrypted,omitempty"` + + // The storage throughput value for the DB instance. Can only be set when storage_type is "gp3". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details. + StorageThroughput *float64 `json:"storageThroughput,omitempty" tf:"storage_throughput,omitempty"` + + // One of "standard" (magnetic), "gp2" (general + // purpose SSD), "gp3" (general purpose SSD that needs iops independently) + // or "io1" (provisioned IOPS SSD). The default is "io1" if iops is specified, + // "gp2" if not. + StorageType *string `json:"storageType,omitempty" tf:"storage_type,omitempty"` + + // Key-value map of resource tags. + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. + // +mapType=granular + TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` + + // Time zone of the DB instance. timezone is currently + // only supported by Microsoft SQL Server. The timezone can only be set on + // creation. See MSSQL User + // Guide + // for more information. + Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"` + + // Username for the master DB user. Cannot be specified for a replica. + Username *string `json:"username,omitempty" tf:"username,omitempty"` + + // List of VPC security groups to + // associate. + // +listType=set + VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"` +} + +type InstanceParameters struct { + + // The allocated storage in gibibytes. If max_allocated_storage is configured, this argument represents the initial storage allocation and differences from the configuration will be ignored automatically when Storage Autoscaling occurs. If replicate_source_db is set, the value is ignored during the creation of the instance. + // +kubebuilder:validation:Optional + AllocatedStorage *float64 `json:"allocatedStorage,omitempty" tf:"allocated_storage,omitempty"` + + // Indicates that major version + // upgrades are allowed. Changing this parameter does not result in an outage and + // the change is asynchronously applied as soon as possible. + // +kubebuilder:validation:Optional + AllowMajorVersionUpgrade *bool `json:"allowMajorVersionUpgrade,omitempty" tf:"allow_major_version_upgrade,omitempty"` + + // Specifies whether any database modifications + // are applied immediately, or during the next maintenance window. Default is + // false. See Amazon RDS Documentation for more + // information. + // +kubebuilder:validation:Optional + ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"` + + // Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true. + // If true, the password will be auto-generated and stored in the Secret referenced by the passwordSecretRef field. + // +upjet:crd:field:TFTag=- + // +kubebuilder:validation:Optional + AutoGeneratePassword *bool `json:"autoGeneratePassword,omitempty" tf:"-"` + + // Indicates that minor engine upgrades + // will be applied automatically to the DB instance during the maintenance window. + // Defaults to true. + // +kubebuilder:validation:Optional + AutoMinorVersionUpgrade *bool `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"` + + // The AZ for the RDS instance. + // +kubebuilder:validation:Optional + AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"` + + // The days to retain backups for. + // Must be between 0 and 35. + // Default is 0. + // Must be greater than 0 if the database is used as a source for a Read Replica, + // uses low-downtime updates, + // or will use RDS Blue/Green deployments. + // +kubebuilder:validation:Optional + BackupRetentionPeriod *float64 `json:"backupRetentionPeriod,omitempty" tf:"backup_retention_period,omitempty"` + + // Specifies where automated backups and manual snapshots are stored. Possible values are region (default) and outposts. See Working with Amazon RDS on AWS Outposts for more information. + // +kubebuilder:validation:Optional + BackupTarget *string `json:"backupTarget,omitempty" tf:"backup_target,omitempty"` + + // The daily time range (in UTC) during which automated backups are created if they are enabled. + // Example: "09:46-10:16". Must not overlap with maintenance_window. + // +kubebuilder:validation:Optional + BackupWindow *string `json:"backupWindow,omitempty" tf:"backup_window,omitempty"` + + // Enables low-downtime updates using RDS Blue/Green deployments. + // See blue_green_update below. + // +kubebuilder:validation:Optional + BlueGreenUpdate []BlueGreenUpdateParameters `json:"blueGreenUpdate,omitempty" tf:"blue_green_update,omitempty"` + + // The identifier of the CA certificate for the DB instance. + // +kubebuilder:validation:Optional + CACertIdentifier *string `json:"caCertIdentifier,omitempty" tf:"ca_cert_identifier,omitempty"` + + // The character set name to use for DB + // encoding in Oracle and Microsoft SQL instances (collation). This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS + // or Server-Level Collation for Microsoft SQL Server for more information. + // +kubebuilder:validation:Optional + CharacterSetName *string `json:"characterSetName,omitempty" tf:"character_set_name,omitempty"` + + // – Copy all Instance tags to snapshots. Default is false. + // +kubebuilder:validation:Optional + CopyTagsToSnapshot *bool `json:"copyTagsToSnapshot,omitempty" tf:"copy_tags_to_snapshot,omitempty"` + + // The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. + // +kubebuilder:validation:Optional + CustomIAMInstanceProfile *string `json:"customIamInstanceProfile,omitempty" tf:"custom_iam_instance_profile,omitempty"` + + // Indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS on Outposts for more information. + // +kubebuilder:validation:Optional + CustomerOwnedIPEnabled *bool `json:"customerOwnedIpEnabled,omitempty" tf:"customer_owned_ip_enabled,omitempty"` + + // The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines. If you are providing an Oracle db name, it needs to be in all upper case. Cannot be specified for a replica. + // +kubebuilder:validation:Optional + DBName *string `json:"dbName,omitempty" tf:"db_name,omitempty"` + + // Name of DB subnet group. DB instance will + // be created in the VPC associated with the DB subnet group. If unspecified, will + // be created in the default VPC, or in EC2 Classic, if available. When working + // with read replicas, it should be specified only if the source database + // specifies an instance in another AWS Region. See DBSubnetGroupName in API + // action CreateDBInstanceReadReplica + // for additional read replica constraints. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.SubnetGroup + // +kubebuilder:validation:Optional + DBSubnetGroupName *string `json:"dbSubnetGroupName,omitempty" tf:"db_subnet_group_name,omitempty"` + + // Reference to a SubnetGroup in rds to populate dbSubnetGroupName. + // +kubebuilder:validation:Optional + DBSubnetGroupNameRef *v1.Reference `json:"dbSubnetGroupNameRef,omitempty" tf:"-"` + + // Selector for a SubnetGroup in rds to populate dbSubnetGroupName. + // +kubebuilder:validation:Optional + DBSubnetGroupNameSelector *v1.Selector `json:"dbSubnetGroupNameSelector,omitempty" tf:"-"` + + // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is true. + // +kubebuilder:validation:Optional + DeleteAutomatedBackups *bool `json:"deleteAutomatedBackups,omitempty" tf:"delete_automated_backups,omitempty"` + + // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. + // +kubebuilder:validation:Optional + DeletionProtection *bool `json:"deletionProtection,omitempty" tf:"deletion_protection,omitempty"` + + // The ID of the Directory Service Active Directory domain to create the instance in. + // +kubebuilder:validation:Optional + Domain *string `json:"domain,omitempty" tf:"domain,omitempty"` + + // The name of the IAM role to be used when making API calls to the Directory Service. + // +kubebuilder:validation:Optional + DomainIAMRoleName *string `json:"domainIamRoleName,omitempty" tf:"domain_iam_role_name,omitempty"` + + // Set of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine). MySQL and MariaDB: audit, error, general, slowquery. PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: alert, audit, listener, trace. + // +kubebuilder:validation:Optional + // +listType=set + EnabledCloudwatchLogsExports []*string `json:"enabledCloudwatchLogsExports,omitempty" tf:"enabled_cloudwatch_logs_exports,omitempty"` + + // The database engine to use. For supported values, see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine'. For information on the difference between the available Aurora MySQL engines see Comparison in the [Amazon RDS Release Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + // +kubebuilder:validation:Optional + Engine *string `json:"engine,omitempty" tf:"engine,omitempty"` + + // The engine version to use. If `autoMinorVersionUpgrade` is enabled, you can provide a prefix of the version such as 5.7 (for 5.7.10). The actual engine version used is returned in the attribute `status.atProvider.engineVersionActual`. For supported values, see the EngineVersion parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Note that for Amazon Aurora instances the engine version must match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s engine version'. + // +kubebuilder:validation:Optional + EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"` + + // The name of your final DB snapshot + // when this DB instance is deleted. Must be provided if skip_final_snapshot is + // set to false. The value must begin with a letter, only contain alphanumeric characters and hyphens, and not end with a hyphen or contain two consecutive hyphens. Must not be provided when deleting a read replica. + // +kubebuilder:validation:Optional + FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"` + + // Specifies whether mappings of AWS Identity and Access Management (IAM) accounts to database + // accounts is enabled. + // +kubebuilder:validation:Optional + IAMDatabaseAuthenticationEnabled *bool `json:"iamDatabaseAuthenticationEnabled,omitempty" tf:"iam_database_authentication_enabled,omitempty"` + + // Required if restore_to_point_in_time is specified. + // +kubebuilder:validation:Optional + Identifier *string `json:"identifier,omitempty" tf:"identifier,omitempty"` + + // Creates a unique identifier beginning with the specified prefix. Conflicts with identifier. + // +kubebuilder:validation:Optional + IdentifierPrefix *string `json:"identifierPrefix,omitempty" tf:"identifier_prefix,omitempty"` + + // The instance type of the RDS instance. + // +kubebuilder:validation:Optional + InstanceClass *string `json:"instanceClass,omitempty" tf:"instance_class,omitempty"` + + // The amount of provisioned IOPS. Setting this implies a + // storage_type of "io1". Can only be set when storage_type is "io1" or "gp3". + // Cannot be specified for gp3 storage if the allocated_storage value is below a per-engine threshold. + // See the RDS User Guide for details. + // +kubebuilder:validation:Optional + Iops *float64 `json:"iops,omitempty" tf:"iops,omitempty"` + + // The ARN for the KMS encryption key. If creating an + // encrypted replica, set this to the destination KMS ARN. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // Reference to a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate kmsKeyId. + // +kubebuilder:validation:Optional + KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"` + + // License model information for this DB instance. Valid values for this field are as follows: + // +kubebuilder:validation:Optional + LicenseModel *string `json:"licenseModel,omitempty" tf:"license_model,omitempty"` + + // The window to perform maintenance in. + // Syntax: "ddd:hh24:mi-ddd:hh24:mi". Eg: "Mon:00:00-Mon:03:00". See RDS + // Maintenance Window + // docs + // for more information. + // +kubebuilder:validation:Optional + MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"` + + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if password is provided. + // +kubebuilder:validation:Optional + ManageMasterUserPassword *bool `json:"manageMasterUserPassword,omitempty" tf:"manage_master_user_password,omitempty"` + + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("key_id",true) + // +kubebuilder:validation:Optional + MasterUserSecretKMSKeyID *string `json:"masterUserSecretKmsKeyId,omitempty" tf:"master_user_secret_kms_key_id,omitempty"` + + // Reference to a Key in kms to populate masterUserSecretKmsKeyId. + // +kubebuilder:validation:Optional + MasterUserSecretKMSKeyIDRef *v1.Reference `json:"masterUserSecretKmsKeyIdRef,omitempty" tf:"-"` + + // Selector for a Key in kms to populate masterUserSecretKmsKeyId. + // +kubebuilder:validation:Optional + MasterUserSecretKMSKeyIDSelector *v1.Selector `json:"masterUserSecretKmsKeyIdSelector,omitempty" tf:"-"` + + // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to allocated_storage. Must be greater than or equal to allocated_storage or 0 to disable Storage Autoscaling. + // +kubebuilder:validation:Optional + MaxAllocatedStorage *float64 `json:"maxAllocatedStorage,omitempty" tf:"max_allocated_storage,omitempty"` + + // The interval, in seconds, between points + // when Enhanced Monitoring metrics are collected for the DB instance. To disable + // collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid + // Values: 0, 1, 5, 10, 15, 30, 60. + // +kubebuilder:validation:Optional + MonitoringInterval *float64 `json:"monitoringInterval,omitempty" tf:"monitoring_interval,omitempty"` + + // The ARN for the IAM role that permits RDS + // to send enhanced monitoring metrics to CloudWatch Logs. You can find more + // information on the AWS + // Documentation + // what IAM permissions are needed to allow Enhanced Monitoring for RDS Instances. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role + // +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor() + // +kubebuilder:validation:Optional + MonitoringRoleArn *string `json:"monitoringRoleArn,omitempty" tf:"monitoring_role_arn,omitempty"` + + // Reference to a Role in iam to populate monitoringRoleArn. + // +kubebuilder:validation:Optional + MonitoringRoleArnRef *v1.Reference `json:"monitoringRoleArnRef,omitempty" tf:"-"` + + // Selector for a Role in iam to populate monitoringRoleArn. + // +kubebuilder:validation:Optional + MonitoringRoleArnSelector *v1.Selector `json:"monitoringRoleArnSelector,omitempty" tf:"-"` + + // Specifies if the RDS instance is multi-AZ + // +kubebuilder:validation:Optional + MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"` + + // The national character set is used in the NCHAR, NVARCHAR2, and NCLOB data types for Oracle instances. This can't be changed. See Oracle Character Sets + // Supported in Amazon RDS. + // +kubebuilder:validation:Optional + NcharCharacterSetName *string `json:"ncharCharacterSetName,omitempty" tf:"nchar_character_set_name,omitempty"` + + // The network type of the DB instance. Valid values: IPV4, DUAL. + // +kubebuilder:validation:Optional + NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"` + + // Name of the DB option group to associate. + // +kubebuilder:validation:Optional + OptionGroupName *string `json:"optionGroupName,omitempty" tf:"option_group_name,omitempty"` + + // Name of the DB parameter group to associate. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta1.ParameterGroup + // +kubebuilder:validation:Optional + ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"` + + // Reference to a ParameterGroup in rds to populate parameterGroupName. + // +kubebuilder:validation:Optional + ParameterGroupNameRef *v1.Reference `json:"parameterGroupNameRef,omitempty" tf:"-"` + + // Selector for a ParameterGroup in rds to populate parameterGroupName. + // +kubebuilder:validation:Optional + ParameterGroupNameSelector *v1.Selector `json:"parameterGroupNameSelector,omitempty" tf:"-"` + + // Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if manage_master_user_password is set to true. + // Password for the master DB user. If you set autoGeneratePassword to true, the Secret referenced here will be created or updated with generated password if it does not already contain one. + // +kubebuilder:validation:Optional + PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"` + + // Specifies whether Performance Insights are enabled. Defaults to false. + // +kubebuilder:validation:Optional + PerformanceInsightsEnabled *bool `json:"performanceInsightsEnabled,omitempty" tf:"performance_insights_enabled,omitempty"` + + // The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true. Once KMS key is set, it can never be changed. + // +kubebuilder:validation:Optional + PerformanceInsightsKMSKeyID *string `json:"performanceInsightsKmsKeyId,omitempty" tf:"performance_insights_kms_key_id,omitempty"` + + // Amount of time in days to retain Performance Insights data. Valid values are 7, 731 (2 years) or a multiple of 31. When specifying performance_insights_retention_period, performance_insights_enabled needs to be set to true. Defaults to '7'. + // +kubebuilder:validation:Optional + PerformanceInsightsRetentionPeriod *float64 `json:"performanceInsightsRetentionPeriod,omitempty" tf:"performance_insights_retention_period,omitempty"` + + // The port on which the DB accepts connections. + // +kubebuilder:validation:Optional + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` + + // Bool to control if instance is publicly + // accessible. Default is false. + // +kubebuilder:validation:Optional + PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,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:"-"` + + // Specifies whether the replica is in either mounted or open-read-only mode. This attribute + // is only supported by Oracle instances. Oracle replicas operate in open-read-only mode unless otherwise specified. See Working with Oracle Read Replicas for more information. + // +kubebuilder:validation:Optional + ReplicaMode *string `json:"replicaMode,omitempty" tf:"replica_mode,omitempty"` + + // Specifies that this resource is a Replicate + // database, and to use this value as the source database. This correlates to the + // identifier of another Amazon RDS Database to replicate (if replicating within + // a single region) or ARN of the Amazon RDS Database to replicate (if replicating + // cross-region). Note that if you are + // creating a cross-region replica of an encrypted database you will also need to + // specify a kms_key_id. See DB Instance Replication and Working with + // PostgreSQL and MySQL Read Replicas + // for more information on using Replication. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/rds/v1beta2.Instance + // +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("identifier",false) + // +kubebuilder:validation:Optional + ReplicateSourceDB *string `json:"replicateSourceDb,omitempty" tf:"replicate_source_db,omitempty"` + + // Reference to a Instance in rds to populate replicateSourceDb. + // +kubebuilder:validation:Optional + ReplicateSourceDBRef *v1.Reference `json:"replicateSourceDbRef,omitempty" tf:"-"` + + // Selector for a Instance in rds to populate replicateSourceDb. + // +kubebuilder:validation:Optional + ReplicateSourceDBSelector *v1.Selector `json:"replicateSourceDbSelector,omitempty" tf:"-"` + + // A configuration block for restoring a DB instance to an arbitrary point in time. Requires the identifier argument to be set with the name of the new DB instance to be created. See Restore To Point In Time below for details. + // +kubebuilder:validation:Optional + RestoreToPointInTime []RestoreToPointInTimeParameters `json:"restoreToPointInTime,omitempty" tf:"restore_to_point_in_time,omitempty"` + + // Restore from a Percona Xtrabackup in S3. See Importing Data into an Amazon RDS MySQL DB Instance + // +kubebuilder:validation:Optional + S3Import []S3ImportParameters `json:"s3Import,omitempty" tf:"s3_import,omitempty"` + + // Determines whether a final DB snapshot is + // created before the DB instance is deleted. If true is specified, no DBSnapshot + // is created. If false is specified, a DB snapshot is created before the DB + // instance is deleted, using the value from final_snapshot_identifier. Default + // is false. + // +kubebuilder:validation:Optional + SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"` + + // Specifies whether or not to create this + // database from a snapshot. This correlates to the snapshot ID you'd find in the + // RDS console, e.g: rds:production-2015-06-26-06-05. + // +kubebuilder:validation:Optional + SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"` + + // Specifies whether the DB instance is + // encrypted. Note that if you are creating a cross-region read replica this field + // is ignored and you should instead declare kms_key_id with a valid ARN. The + // default is false if not specified. + // +kubebuilder:validation:Optional + StorageEncrypted *bool `json:"storageEncrypted,omitempty" tf:"storage_encrypted,omitempty"` + + // The storage throughput value for the DB instance. Can only be set when storage_type is "gp3". Cannot be specified if the allocated_storage value is below a per-engine threshold. See the RDS User Guide for details. + // +kubebuilder:validation:Optional + StorageThroughput *float64 `json:"storageThroughput,omitempty" tf:"storage_throughput,omitempty"` + + // One of "standard" (magnetic), "gp2" (general + // purpose SSD), "gp3" (general purpose SSD that needs iops independently) + // or "io1" (provisioned IOPS SSD). The default is "io1" if iops is specified, + // "gp2" if not. + // +kubebuilder:validation:Optional + StorageType *string `json:"storageType,omitempty" tf:"storage_type,omitempty"` + + // Key-value map of resource tags. + // +kubebuilder:validation:Optional + // +mapType=granular + Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` + + // Time zone of the DB instance. timezone is currently + // only supported by Microsoft SQL Server. The timezone can only be set on + // creation. See MSSQL User + // Guide + // for more information. + // +kubebuilder:validation:Optional + Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"` + + // Username for the master DB user. Cannot be specified for a replica. + // +kubebuilder:validation:Optional + Username *string `json:"username,omitempty" tf:"username,omitempty"` + + // References to SecurityGroup in ec2 to populate vpcSecurityGroupIds. + // +kubebuilder:validation:Optional + VPCSecurityGroupIDRefs []v1.Reference `json:"vpcSecurityGroupIdRefs,omitempty" tf:"-"` + + // Selector for a list of SecurityGroup in ec2 to populate vpcSecurityGroupIds. + // +kubebuilder:validation:Optional + VPCSecurityGroupIDSelector *v1.Selector `json:"vpcSecurityGroupIdSelector,omitempty" tf:"-"` + + // List of VPC security groups to + // associate. + // +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup + // +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs + // +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector + // +kubebuilder:validation:Optional + // +listType=set + VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"` +} + +type ListenerEndpointInitParameters struct { +} + +type ListenerEndpointObservation struct { + + // The hostname of the RDS instance. See also endpoint and port. + Address *string `json:"address,omitempty" tf:"address,omitempty"` + + // The canonical hosted zone ID of the DB instance (to be used + // in a Route 53 Alias record). + HostedZoneID *string `json:"hostedZoneId,omitempty" tf:"hosted_zone_id,omitempty"` + + // The port on which the DB accepts connections. + Port *float64 `json:"port,omitempty" tf:"port,omitempty"` +} + +type ListenerEndpointParameters struct { +} + +type MasterUserSecretInitParameters struct { +} + +type MasterUserSecretObservation struct { + + // The Amazon Web Services KMS key identifier that is used to encrypt the secret. + KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"` + + // The Amazon Resource Name (ARN) of the secret. + SecretArn *string `json:"secretArn,omitempty" tf:"secret_arn,omitempty"` + + // The status of the secret. Valid Values: creating | active | rotating | impaired. + SecretStatus *string `json:"secretStatus,omitempty" tf:"secret_status,omitempty"` +} + +type MasterUserSecretParameters struct { +} + +type RestoreToPointInTimeInitParameters struct { + + // The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time. + RestoreTime *string `json:"restoreTime,omitempty" tf:"restore_time,omitempty"` + + // The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified. + SourceDBInstanceAutomatedBackupsArn *string `json:"sourceDbInstanceAutomatedBackupsArn,omitempty" tf:"source_db_instance_automated_backups_arn,omitempty"` + + // The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified. + SourceDBInstanceIdentifier *string `json:"sourceDbInstanceIdentifier,omitempty" tf:"source_db_instance_identifier,omitempty"` + + // The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified. + SourceDbiResourceID *string `json:"sourceDbiResourceId,omitempty" tf:"source_dbi_resource_id,omitempty"` + + // A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time. + UseLatestRestorableTime *bool `json:"useLatestRestorableTime,omitempty" tf:"use_latest_restorable_time,omitempty"` +} + +type RestoreToPointInTimeObservation struct { + + // The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time. + RestoreTime *string `json:"restoreTime,omitempty" tf:"restore_time,omitempty"` + + // The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified. + SourceDBInstanceAutomatedBackupsArn *string `json:"sourceDbInstanceAutomatedBackupsArn,omitempty" tf:"source_db_instance_automated_backups_arn,omitempty"` + + // The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified. + SourceDBInstanceIdentifier *string `json:"sourceDbInstanceIdentifier,omitempty" tf:"source_db_instance_identifier,omitempty"` + + // The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified. + SourceDbiResourceID *string `json:"sourceDbiResourceId,omitempty" tf:"source_dbi_resource_id,omitempty"` + + // A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time. + UseLatestRestorableTime *bool `json:"useLatestRestorableTime,omitempty" tf:"use_latest_restorable_time,omitempty"` +} + +type RestoreToPointInTimeParameters struct { + + // The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with use_latest_restorable_time. + // +kubebuilder:validation:Optional + RestoreTime *string `json:"restoreTime,omitempty" tf:"restore_time,omitempty"` + + // The ARN of the automated backup from which to restore. Required if source_db_instance_identifier or source_dbi_resource_id is not specified. + // +kubebuilder:validation:Optional + SourceDBInstanceAutomatedBackupsArn *string `json:"sourceDbInstanceAutomatedBackupsArn,omitempty" tf:"source_db_instance_automated_backups_arn,omitempty"` + + // The identifier of the source DB instance from which to restore. Must match the identifier of an existing DB instance. Required if source_db_instance_automated_backups_arn or source_dbi_resource_id is not specified. + // +kubebuilder:validation:Optional + SourceDBInstanceIdentifier *string `json:"sourceDbInstanceIdentifier,omitempty" tf:"source_db_instance_identifier,omitempty"` + + // The resource ID of the source DB instance from which to restore. Required if source_db_instance_identifier or source_db_instance_automated_backups_arn is not specified. + // +kubebuilder:validation:Optional + SourceDbiResourceID *string `json:"sourceDbiResourceId,omitempty" tf:"source_dbi_resource_id,omitempty"` + + // A boolean value that indicates whether the DB instance is restored from the latest backup time. Defaults to false. Cannot be specified with restore_time. + // +kubebuilder:validation:Optional + UseLatestRestorableTime *bool `json:"useLatestRestorableTime,omitempty" tf:"use_latest_restorable_time,omitempty"` +} + +type S3ImportInitParameters struct { + + // The bucket name where your backup is stored + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Can be blank, but is the path to your backup + BucketPrefix *string `json:"bucketPrefix,omitempty" tf:"bucket_prefix,omitempty"` + + // Role applied to load the data. + IngestionRole *string `json:"ingestionRole,omitempty" tf:"ingestion_role,omitempty"` + + // Source engine for the backup + SourceEngine *string `json:"sourceEngine,omitempty" tf:"source_engine,omitempty"` + + // Version of the source engine used to make the backup + SourceEngineVersion *string `json:"sourceEngineVersion,omitempty" tf:"source_engine_version,omitempty"` +} + +type S3ImportObservation struct { + + // The bucket name where your backup is stored + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Can be blank, but is the path to your backup + BucketPrefix *string `json:"bucketPrefix,omitempty" tf:"bucket_prefix,omitempty"` + + // Role applied to load the data. + IngestionRole *string `json:"ingestionRole,omitempty" tf:"ingestion_role,omitempty"` + + // Source engine for the backup + SourceEngine *string `json:"sourceEngine,omitempty" tf:"source_engine,omitempty"` + + // Version of the source engine used to make the backup + SourceEngineVersion *string `json:"sourceEngineVersion,omitempty" tf:"source_engine_version,omitempty"` +} + +type S3ImportParameters struct { + + // The bucket name where your backup is stored + // +kubebuilder:validation:Optional + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // Can be blank, but is the path to your backup + // +kubebuilder:validation:Optional + BucketPrefix *string `json:"bucketPrefix,omitempty" tf:"bucket_prefix,omitempty"` + + // Role applied to load the data. + // +kubebuilder:validation:Optional + IngestionRole *string `json:"ingestionRole" tf:"ingestion_role,omitempty"` + + // Source engine for the backup + // +kubebuilder:validation:Optional + SourceEngine *string `json:"sourceEngine" tf:"source_engine,omitempty"` + + // Version of the source engine used to make the backup + // +kubebuilder:validation:Optional + SourceEngineVersion *string `json:"sourceEngineVersion" tf:"source_engine_version,omitempty"` +} + +// InstanceSpec defines the desired state of Instance +type InstanceSpec struct { + v1.ResourceSpec `json:",inline"` + ForProvider InstanceParameters `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 InstanceInitParameters `json:"initProvider,omitempty"` +} + +// InstanceStatus defines the observed state of Instance. +type InstanceStatus struct { + v1.ResourceStatus `json:",inline"` + AtProvider InstanceObservation `json:"atProvider,omitempty"` +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion + +// Instance is the Schema for the Instances API. Provides an RDS instance resource. +// +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:resource:scope=Cluster,categories={crossplane,managed,aws} +type Instance 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.instanceClass) || (has(self.initProvider) && has(self.initProvider.instanceClass))",message="spec.forProvider.instanceClass is a required parameter" + Spec InstanceSpec `json:"spec"` + Status InstanceStatus `json:"status,omitempty"` +} + +// +kubebuilder:object:root=true + +// InstanceList contains a list of Instances +type InstanceList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []Instance `json:"items"` +} + +// Repository type metadata. +var ( + Instance_Kind = "Instance" + Instance_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String() + Instance_KindAPIVersion = Instance_Kind + "." + CRDGroupVersion.String() + Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind) +) + +func init() { + SchemeBuilder.Register(&Instance{}, &InstanceList{}) +} diff --git a/apis/redshift/v1beta1/zz_authenticationprofile_types.go b/apis/redshift/v1beta1/zz_authenticationprofile_types.go index 3bfb3dd222..d0ffa9005c 100755 --- a/apis/redshift/v1beta1/zz_authenticationprofile_types.go +++ b/apis/redshift/v1beta1/zz_authenticationprofile_types.go @@ -69,6 +69,7 @@ type AuthenticationProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AuthenticationProfile is the Schema for the AuthenticationProfiles API. Creates a Redshift authentication profile // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_cluster_types.go b/apis/redshift/v1beta1/zz_cluster_types.go index 1307d162c2..f215ae739b 100755 --- a/apis/redshift/v1beta1/zz_cluster_types.go +++ b/apis/redshift/v1beta1/zz_cluster_types.go @@ -729,6 +729,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides a Redshift Cluster resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_eventsubscription_types.go b/apis/redshift/v1beta1/zz_eventsubscription_types.go index c343f6165f..60931c39d0 100755 --- a/apis/redshift/v1beta1/zz_eventsubscription_types.go +++ b/apis/redshift/v1beta1/zz_eventsubscription_types.go @@ -170,6 +170,7 @@ type EventSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventSubscription is the Schema for the EventSubscriptions API. Provides a Redshift event subscription resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_hsmclientcertificate_types.go b/apis/redshift/v1beta1/zz_hsmclientcertificate_types.go index 9d4dea0de9..7860bd16f0 100755 --- a/apis/redshift/v1beta1/zz_hsmclientcertificate_types.go +++ b/apis/redshift/v1beta1/zz_hsmclientcertificate_types.go @@ -81,6 +81,7 @@ type HSMClientCertificateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HSMClientCertificate is the Schema for the HSMClientCertificates API. Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_hsmconfiguration_types.go b/apis/redshift/v1beta1/zz_hsmconfiguration_types.go index 1ffabb3e30..1646c5e641 100755 --- a/apis/redshift/v1beta1/zz_hsmconfiguration_types.go +++ b/apis/redshift/v1beta1/zz_hsmconfiguration_types.go @@ -122,6 +122,7 @@ type HSMConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HSMConfiguration is the Schema for the HSMConfigurations API. Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_parametergroup_types.go b/apis/redshift/v1beta1/zz_parametergroup_types.go index 4eb1b8aa31..5b94b8868f 100755 --- a/apis/redshift/v1beta1/zz_parametergroup_types.go +++ b/apis/redshift/v1beta1/zz_parametergroup_types.go @@ -148,6 +148,7 @@ type ParameterGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ParameterGroup is the Schema for the ParameterGroups API. Provides a Redshift Cluster parameter group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_scheduledaction_types.go b/apis/redshift/v1beta1/zz_scheduledaction_types.go index d539b3e04e..f2171eca92 100755 --- a/apis/redshift/v1beta1/zz_scheduledaction_types.go +++ b/apis/redshift/v1beta1/zz_scheduledaction_types.go @@ -285,6 +285,7 @@ type ScheduledActionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ScheduledAction is the Schema for the ScheduledActions API. Provides a Redshift Scheduled Action resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_snapshotcopygrant_types.go b/apis/redshift/v1beta1/zz_snapshotcopygrant_types.go index 8ff6e7abfc..7680061a5e 100755 --- a/apis/redshift/v1beta1/zz_snapshotcopygrant_types.go +++ b/apis/redshift/v1beta1/zz_snapshotcopygrant_types.go @@ -116,6 +116,7 @@ type SnapshotCopyGrantStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SnapshotCopyGrant is the Schema for the SnapshotCopyGrants API. Creates a snapshot copy grant that allows AWS Redshift to encrypt copied snapshots with a customer master key from AWS KMS in a destination region. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_snapshotschedule_types.go b/apis/redshift/v1beta1/zz_snapshotschedule_types.go index ea8e9818b7..fb2227b554 100755 --- a/apis/redshift/v1beta1/zz_snapshotschedule_types.go +++ b/apis/redshift/v1beta1/zz_snapshotschedule_types.go @@ -111,6 +111,7 @@ type SnapshotScheduleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SnapshotSchedule is the Schema for the SnapshotSchedules API. Provides an Redshift Snapshot Schedule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_snapshotscheduleassociation_types.go b/apis/redshift/v1beta1/zz_snapshotscheduleassociation_types.go index 763a75a03d..833e81c996 100755 --- a/apis/redshift/v1beta1/zz_snapshotscheduleassociation_types.go +++ b/apis/redshift/v1beta1/zz_snapshotscheduleassociation_types.go @@ -118,6 +118,7 @@ type SnapshotScheduleAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SnapshotScheduleAssociation is the Schema for the SnapshotScheduleAssociations API. Provides an Association Redshift Cluster and Snapshot Schedule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_subnetgroup_types.go b/apis/redshift/v1beta1/zz_subnetgroup_types.go index 24be284c80..fc52e0b71a 100755 --- a/apis/redshift/v1beta1/zz_subnetgroup_types.go +++ b/apis/redshift/v1beta1/zz_subnetgroup_types.go @@ -124,6 +124,7 @@ type SubnetGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SubnetGroup is the Schema for the SubnetGroups API. Provides a Redshift Subnet Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshift/v1beta1/zz_usagelimit_types.go b/apis/redshift/v1beta1/zz_usagelimit_types.go index 25bcae20d6..520cad0676 100755 --- a/apis/redshift/v1beta1/zz_usagelimit_types.go +++ b/apis/redshift/v1beta1/zz_usagelimit_types.go @@ -159,6 +159,7 @@ type UsageLimitStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UsageLimit is the Schema for the UsageLimits API. Provides a Redshift Usage Limit resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_endpointaccess_types.go b/apis/redshiftserverless/v1beta1/zz_endpointaccess_types.go index bb8506ddf3..0ab45c15b7 100755 --- a/apis/redshiftserverless/v1beta1/zz_endpointaccess_types.go +++ b/apis/redshiftserverless/v1beta1/zz_endpointaccess_types.go @@ -190,6 +190,7 @@ type EndpointAccessStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EndpointAccess is the Schema for the EndpointAccesss API. Provides a Redshift Serverless Endpoint Access resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_redshiftserverlessnamespace_types.go b/apis/redshiftserverless/v1beta1/zz_redshiftserverlessnamespace_types.go index da3ecc7a0d..f7decb7145 100755 --- a/apis/redshiftserverless/v1beta1/zz_redshiftserverlessnamespace_types.go +++ b/apis/redshiftserverless/v1beta1/zz_redshiftserverlessnamespace_types.go @@ -206,6 +206,7 @@ type RedshiftServerlessNamespaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RedshiftServerlessNamespace is the Schema for the RedshiftServerlessNamespaces API. Provides a Redshift Serverless Namespace resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_resourcepolicy_types.go b/apis/redshiftserverless/v1beta1/zz_resourcepolicy_types.go index ea05ba0ec9..6b9013e486 100755 --- a/apis/redshiftserverless/v1beta1/zz_resourcepolicy_types.go +++ b/apis/redshiftserverless/v1beta1/zz_resourcepolicy_types.go @@ -99,6 +99,7 @@ type ResourcePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourcePolicy is the Schema for the ResourcePolicys API. Provides a Redshift Serverless Resource Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_snapshot_types.go b/apis/redshiftserverless/v1beta1/zz_snapshot_types.go index 70dbd5ad05..7672397942 100755 --- a/apis/redshiftserverless/v1beta1/zz_snapshot_types.go +++ b/apis/redshiftserverless/v1beta1/zz_snapshot_types.go @@ -122,6 +122,7 @@ type SnapshotStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Snapshot is the Schema for the Snapshots API. Provides a Redshift Serverless Snapshot resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_usagelimit_types.go b/apis/redshiftserverless/v1beta1/zz_usagelimit_types.go index e5f3908c61..898e06812c 100755 --- a/apis/redshiftserverless/v1beta1/zz_usagelimit_types.go +++ b/apis/redshiftserverless/v1beta1/zz_usagelimit_types.go @@ -132,6 +132,7 @@ type UsageLimitStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UsageLimit is the Schema for the UsageLimits API. Provides a Redshift Serverless Usage Limit resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/redshiftserverless/v1beta1/zz_workgroup_types.go b/apis/redshiftserverless/v1beta1/zz_workgroup_types.go index d25269d652..dfa907aa39 100755 --- a/apis/redshiftserverless/v1beta1/zz_workgroup_types.go +++ b/apis/redshiftserverless/v1beta1/zz_workgroup_types.go @@ -291,6 +291,7 @@ type WorkgroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workgroup is the Schema for the Workgroups API. Provides a Redshift Serverless Workgroup resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/resourcegroups/v1beta1/zz_group_types.go b/apis/resourcegroups/v1beta1/zz_group_types.go index e92da76851..4d7aae4318 100755 --- a/apis/resourcegroups/v1beta1/zz_group_types.go +++ b/apis/resourcegroups/v1beta1/zz_group_types.go @@ -195,6 +195,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. Provides a Resource Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rolesanywhere/v1beta1/zz_profile_types.go b/apis/rolesanywhere/v1beta1/zz_profile_types.go index db011688ba..17592586ef 100755 --- a/apis/rolesanywhere/v1beta1/zz_profile_types.go +++ b/apis/rolesanywhere/v1beta1/zz_profile_types.go @@ -175,6 +175,7 @@ type ProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Profile is the Schema for the Profiles API. Provides a Roles Anywhere Profile resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_delegationset_types.go b/apis/route53/v1beta1/zz_delegationset_types.go index 338a9b9d70..96ba89fb06 100755 --- a/apis/route53/v1beta1/zz_delegationset_types.go +++ b/apis/route53/v1beta1/zz_delegationset_types.go @@ -79,6 +79,7 @@ type DelegationSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DelegationSet is the Schema for the DelegationSets API. Provides a Route53 Delegation Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_healthcheck_types.go b/apis/route53/v1beta1/zz_healthcheck_types.go index 5993048161..03f9f53f52 100755 --- a/apis/route53/v1beta1/zz_healthcheck_types.go +++ b/apis/route53/v1beta1/zz_healthcheck_types.go @@ -306,6 +306,7 @@ type HealthCheckStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HealthCheck is the Schema for the HealthChecks API. Provides a Route53 health check. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_hostedzonednssec_types.go b/apis/route53/v1beta1/zz_hostedzonednssec_types.go index 82e5c76d13..e7cd43f2f3 100755 --- a/apis/route53/v1beta1/zz_hostedzonednssec_types.go +++ b/apis/route53/v1beta1/zz_hostedzonednssec_types.go @@ -97,6 +97,7 @@ type HostedZoneDNSSECStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HostedZoneDNSSEC is the Schema for the HostedZoneDNSSECs API. Manages Route 53 Hosted Zone DNSSEC // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_record_types.go b/apis/route53/v1beta1/zz_record_types.go index 88d69f2a30..00db112889 100755 --- a/apis/route53/v1beta1/zz_record_types.go +++ b/apis/route53/v1beta1/zz_record_types.go @@ -415,6 +415,7 @@ type RecordStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Record is the Schema for the Records API. Provides a Route53 record resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_resolverconfig_types.go b/apis/route53/v1beta1/zz_resolverconfig_types.go index edc0490b7e..e4781b0509 100755 --- a/apis/route53/v1beta1/zz_resolverconfig_types.go +++ b/apis/route53/v1beta1/zz_resolverconfig_types.go @@ -102,6 +102,7 @@ type ResolverConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResolverConfig is the Schema for the ResolverConfigs API. Provides a Route 53 Resolver config resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_trafficpolicy_types.go b/apis/route53/v1beta1/zz_trafficpolicy_types.go index b539c42a46..e69787f112 100755 --- a/apis/route53/v1beta1/zz_trafficpolicy_types.go +++ b/apis/route53/v1beta1/zz_trafficpolicy_types.go @@ -95,6 +95,7 @@ type TrafficPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TrafficPolicy is the Schema for the TrafficPolicys API. Manages a Route53 Traffic Policy // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_trafficpolicyinstance_types.go b/apis/route53/v1beta1/zz_trafficpolicyinstance_types.go index fee681ae7a..607c67da10 100755 --- a/apis/route53/v1beta1/zz_trafficpolicyinstance_types.go +++ b/apis/route53/v1beta1/zz_trafficpolicyinstance_types.go @@ -145,6 +145,7 @@ type TrafficPolicyInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TrafficPolicyInstance is the Schema for the TrafficPolicyInstances API. Provides a Route53 traffic policy instance resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_vpcassociationauthorization_types.go b/apis/route53/v1beta1/zz_vpcassociationauthorization_types.go index aa4f45c32e..892f1dc378 100755 --- a/apis/route53/v1beta1/zz_vpcassociationauthorization_types.go +++ b/apis/route53/v1beta1/zz_vpcassociationauthorization_types.go @@ -125,6 +125,7 @@ type VPCAssociationAuthorizationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VPCAssociationAuthorization is the Schema for the VPCAssociationAuthorizations API. Authorizes a VPC in a different account to be associated with a local Route53 Hosted Zone // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_zone_types.go b/apis/route53/v1beta1/zz_zone_types.go index 82c75775cd..36458df387 100755 --- a/apis/route53/v1beta1/zz_zone_types.go +++ b/apis/route53/v1beta1/zz_zone_types.go @@ -202,6 +202,7 @@ type ZoneStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Zone is the Schema for the Zones API. Manages a Route53 Hosted Zone // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53/v1beta1/zz_zoneassociation_types.go b/apis/route53/v1beta1/zz_zoneassociation_types.go index 9af7dbb5c0..cd38830d6a 100755 --- a/apis/route53/v1beta1/zz_zoneassociation_types.go +++ b/apis/route53/v1beta1/zz_zoneassociation_types.go @@ -130,6 +130,7 @@ type ZoneAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ZoneAssociation is the Schema for the ZoneAssociations API. Manages a Route53 Hosted Zone VPC association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoverycontrolconfig/v1beta1/zz_cluster_types.go b/apis/route53recoverycontrolconfig/v1beta1/zz_cluster_types.go index 33ce73d6b5..87991add87 100755 --- a/apis/route53recoverycontrolconfig/v1beta1/zz_cluster_types.go +++ b/apis/route53recoverycontrolconfig/v1beta1/zz_cluster_types.go @@ -93,6 +93,7 @@ type ClusterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cluster is the Schema for the Clusters API. Provides an AWS Route 53 Recovery Control Config Cluster // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoverycontrolconfig/v1beta1/zz_controlpanel_types.go b/apis/route53recoverycontrolconfig/v1beta1/zz_controlpanel_types.go index bfc0355dbf..4e0dcdaa8d 100755 --- a/apis/route53recoverycontrolconfig/v1beta1/zz_controlpanel_types.go +++ b/apis/route53recoverycontrolconfig/v1beta1/zz_controlpanel_types.go @@ -110,6 +110,7 @@ type ControlPanelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ControlPanel is the Schema for the ControlPanels API. Provides an AWS Route 53 Recovery Control Config Control Panel // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoverycontrolconfig/v1beta1/zz_routingcontrol_types.go b/apis/route53recoverycontrolconfig/v1beta1/zz_routingcontrol_types.go index b27fb39593..fb6ce8f319 100755 --- a/apis/route53recoverycontrolconfig/v1beta1/zz_routingcontrol_types.go +++ b/apis/route53recoverycontrolconfig/v1beta1/zz_routingcontrol_types.go @@ -134,6 +134,7 @@ type RoutingControlStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RoutingControl is the Schema for the RoutingControls API. Provides an AWS Route 53 Recovery Control Config Routing Control // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoverycontrolconfig/v1beta1/zz_safetyrule_types.go b/apis/route53recoverycontrolconfig/v1beta1/zz_safetyrule_types.go index 3440c2f026..de4abd7c64 100755 --- a/apis/route53recoverycontrolconfig/v1beta1/zz_safetyrule_types.go +++ b/apis/route53recoverycontrolconfig/v1beta1/zz_safetyrule_types.go @@ -213,6 +213,7 @@ type SafetyRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SafetyRule is the Schema for the SafetyRules API. Provides an AWS Route 53 Recovery Control Config Safety Rule // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoveryreadiness/v1beta1/zz_cell_types.go b/apis/route53recoveryreadiness/v1beta1/zz_cell_types.go index 29ee266c9c..3d91282e18 100755 --- a/apis/route53recoveryreadiness/v1beta1/zz_cell_types.go +++ b/apis/route53recoveryreadiness/v1beta1/zz_cell_types.go @@ -91,6 +91,7 @@ type CellStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Cell is the Schema for the Cells API. Provides an AWS Route 53 Recovery Readiness Cell // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoveryreadiness/v1beta1/zz_readinesscheck_types.go b/apis/route53recoveryreadiness/v1beta1/zz_readinesscheck_types.go index 36e7ccb31c..987202086c 100755 --- a/apis/route53recoveryreadiness/v1beta1/zz_readinesscheck_types.go +++ b/apis/route53recoveryreadiness/v1beta1/zz_readinesscheck_types.go @@ -88,6 +88,7 @@ type ReadinessCheckStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReadinessCheck is the Schema for the ReadinessChecks API. Provides an AWS Route 53 Recovery Readiness Readiness Check // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoveryreadiness/v1beta1/zz_recoverygroup_types.go b/apis/route53recoveryreadiness/v1beta1/zz_recoverygroup_types.go index 299e1836e9..d0cb0ac372 100755 --- a/apis/route53recoveryreadiness/v1beta1/zz_recoverygroup_types.go +++ b/apis/route53recoveryreadiness/v1beta1/zz_recoverygroup_types.go @@ -88,6 +88,7 @@ type RecoveryGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RecoveryGroup is the Schema for the RecoveryGroups API. Provides an AWS Route 53 Recovery Readiness Recovery Group // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53recoveryreadiness/v1beta1/zz_resourceset_types.go b/apis/route53recoveryreadiness/v1beta1/zz_resourceset_types.go index a5e8c384c2..1effc255f0 100755 --- a/apis/route53recoveryreadiness/v1beta1/zz_resourceset_types.go +++ b/apis/route53recoveryreadiness/v1beta1/zz_resourceset_types.go @@ -296,6 +296,7 @@ type ResourceSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceSet is the Schema for the ResourceSets API. Provides an AWS Route 53 Recovery Readiness Resource Set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53resolver/v1beta1/zz_endpoint_types.go b/apis/route53resolver/v1beta1/zz_endpoint_types.go index 2d86ccc63f..d14758e8d3 100755 --- a/apis/route53resolver/v1beta1/zz_endpoint_types.go +++ b/apis/route53resolver/v1beta1/zz_endpoint_types.go @@ -208,6 +208,7 @@ type EndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Endpoint is the Schema for the Endpoints API. Provides a Route 53 Resolver endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53resolver/v1beta1/zz_rule_types.go b/apis/route53resolver/v1beta1/zz_rule_types.go index a445a5ca15..eef0b740e3 100755 --- a/apis/route53resolver/v1beta1/zz_rule_types.go +++ b/apis/route53resolver/v1beta1/zz_rule_types.go @@ -191,6 +191,7 @@ type RuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Rule is the Schema for the Rules API. Provides a Route53 Resolver rule. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/route53resolver/v1beta1/zz_ruleassociation_types.go b/apis/route53resolver/v1beta1/zz_ruleassociation_types.go index 56331557ac..51e8e62cee 100755 --- a/apis/route53resolver/v1beta1/zz_ruleassociation_types.go +++ b/apis/route53resolver/v1beta1/zz_ruleassociation_types.go @@ -127,6 +127,7 @@ type RuleAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RuleAssociation is the Schema for the RuleAssociations API. Provides a Route53 Resolver rule association. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rum/v1beta1/zz_appmonitor_types.go b/apis/rum/v1beta1/zz_appmonitor_types.go index 79d878601b..2d5b8e485d 100755 --- a/apis/rum/v1beta1/zz_appmonitor_types.go +++ b/apis/rum/v1beta1/zz_appmonitor_types.go @@ -255,6 +255,7 @@ type AppMonitorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AppMonitor is the Schema for the AppMonitors API. Provides a CloudWatch RUM App Monitor resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/rum/v1beta1/zz_metricsdestination_types.go b/apis/rum/v1beta1/zz_metricsdestination_types.go index be14e30482..356e686984 100755 --- a/apis/rum/v1beta1/zz_metricsdestination_types.go +++ b/apis/rum/v1beta1/zz_metricsdestination_types.go @@ -137,6 +137,7 @@ type MetricsDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MetricsDestination is the Schema for the MetricsDestinations API. Provides a CloudWatch RUM Metrics Destination resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucket_types.go b/apis/s3/v1beta1/zz_bucket_types.go index b34eca27d8..318bf24244 100755 --- a/apis/s3/v1beta1/zz_bucket_types.go +++ b/apis/s3/v1beta1/zz_bucket_types.go @@ -615,6 +615,7 @@ type BucketStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Bucket is the Schema for the Buckets API. Provides a S3 bucket resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketaccelerateconfiguration_types.go b/apis/s3/v1beta1/zz_bucketaccelerateconfiguration_types.go index 4ba1b90a3a..c3645b3461 100755 --- a/apis/s3/v1beta1/zz_bucketaccelerateconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketaccelerateconfiguration_types.go @@ -109,6 +109,7 @@ type BucketAccelerateConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketAccelerateConfiguration is the Schema for the BucketAccelerateConfigurations API. Provides an S3 bucket accelerate configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketacl_types.go b/apis/s3/v1beta1/zz_bucketacl_types.go index a6729d0be4..9b642a0079 100755 --- a/apis/s3/v1beta1/zz_bucketacl_types.go +++ b/apis/s3/v1beta1/zz_bucketacl_types.go @@ -258,6 +258,7 @@ type BucketACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketACL is the Schema for the BucketACLs API. Provides an S3 bucket ACL resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketanalyticsconfiguration_types.go b/apis/s3/v1beta1/zz_bucketanalyticsconfiguration_types.go index 87afc5499a..5b9f672541 100755 --- a/apis/s3/v1beta1/zz_bucketanalyticsconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketanalyticsconfiguration_types.go @@ -286,6 +286,7 @@ type BucketAnalyticsConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketAnalyticsConfiguration is the Schema for the BucketAnalyticsConfigurations API. Provides a S3 bucket analytics configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketcorsconfiguration_types.go b/apis/s3/v1beta1/zz_bucketcorsconfiguration_types.go index 977671becf..04aba4f4be 100755 --- a/apis/s3/v1beta1/zz_bucketcorsconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketcorsconfiguration_types.go @@ -190,6 +190,7 @@ type BucketCorsConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketCorsConfiguration is the Schema for the BucketCorsConfigurations API. Provides an S3 bucket CORS configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketintelligenttieringconfiguration_types.go b/apis/s3/v1beta1/zz_bucketintelligenttieringconfiguration_types.go index 71b7d5d44c..aee82ed610 100755 --- a/apis/s3/v1beta1/zz_bucketintelligenttieringconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketintelligenttieringconfiguration_types.go @@ -189,6 +189,7 @@ type BucketIntelligentTieringConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketIntelligentTieringConfiguration is the Schema for the BucketIntelligentTieringConfigurations API. Provides an S3 Intelligent-Tiering configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketinventory_types.go b/apis/s3/v1beta1/zz_bucketinventory_types.go index 9b3e764bdf..d81c661bf4 100755 --- a/apis/s3/v1beta1/zz_bucketinventory_types.go +++ b/apis/s3/v1beta1/zz_bucketinventory_types.go @@ -354,6 +354,7 @@ type BucketInventoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketInventory is the Schema for the BucketInventorys API. Provides a S3 bucket inventory configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketlifecycleconfiguration_types.go b/apis/s3/v1beta1/zz_bucketlifecycleconfiguration_types.go index 66c626d9c0..9a491ce1df 100755 --- a/apis/s3/v1beta1/zz_bucketlifecycleconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketlifecycleconfiguration_types.go @@ -513,6 +513,7 @@ type BucketLifecycleConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketLifecycleConfiguration is the Schema for the BucketLifecycleConfigurations API. Provides a S3 bucket lifecycle configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketlogging_types.go b/apis/s3/v1beta1/zz_bucketlogging_types.go index 0ac7ee1031..beee32543a 100755 --- a/apis/s3/v1beta1/zz_bucketlogging_types.go +++ b/apis/s3/v1beta1/zz_bucketlogging_types.go @@ -295,6 +295,7 @@ type BucketLoggingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketLogging is the Schema for the BucketLoggings API. Provides an S3 bucket (server access) logging resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketmetric_types.go b/apis/s3/v1beta1/zz_bucketmetric_types.go index c290b895b8..f4dca33e10 100755 --- a/apis/s3/v1beta1/zz_bucketmetric_types.go +++ b/apis/s3/v1beta1/zz_bucketmetric_types.go @@ -140,6 +140,7 @@ type BucketMetricStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketMetric is the Schema for the BucketMetrics API. Provides a S3 bucket metrics configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketnotification_types.go b/apis/s3/v1beta1/zz_bucketnotification_types.go index 206254c65e..e7c82e4f47 100755 --- a/apis/s3/v1beta1/zz_bucketnotification_types.go +++ b/apis/s3/v1beta1/zz_bucketnotification_types.go @@ -355,6 +355,7 @@ type BucketNotificationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketNotification is the Schema for the BucketNotifications API. Manages a S3 Bucket Notification Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketobject_types.go b/apis/s3/v1beta1/zz_bucketobject_types.go index 215611c64a..f041c926c0 100755 --- a/apis/s3/v1beta1/zz_bucketobject_types.go +++ b/apis/s3/v1beta1/zz_bucketobject_types.go @@ -350,6 +350,7 @@ type BucketObjectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketObject is the Schema for the BucketObjects API. Provides an S3 object resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketobjectlockconfiguration_types.go b/apis/s3/v1beta1/zz_bucketobjectlockconfiguration_types.go index 1bfa275653..811b64426c 100755 --- a/apis/s3/v1beta1/zz_bucketobjectlockconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketobjectlockconfiguration_types.go @@ -182,6 +182,7 @@ type BucketObjectLockConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketObjectLockConfiguration is the Schema for the BucketObjectLockConfigurations API. Provides an S3 bucket Object Lock configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketownershipcontrols_types.go b/apis/s3/v1beta1/zz_bucketownershipcontrols_types.go index b6313eceec..d0199649a0 100755 --- a/apis/s3/v1beta1/zz_bucketownershipcontrols_types.go +++ b/apis/s3/v1beta1/zz_bucketownershipcontrols_types.go @@ -118,6 +118,7 @@ type BucketOwnershipControlsStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketOwnershipControls is the Schema for the BucketOwnershipControlss API. Manages S3 Bucket Ownership Controls. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketpolicy_types.go b/apis/s3/v1beta1/zz_bucketpolicy_types.go index 7ab5a48a0c..ee8b3ce7fa 100755 --- a/apis/s3/v1beta1/zz_bucketpolicy_types.go +++ b/apis/s3/v1beta1/zz_bucketpolicy_types.go @@ -98,6 +98,7 @@ type BucketPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketPolicy is the Schema for the BucketPolicys API. Attaches a policy to an S3 bucket resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketpublicaccessblock_types.go b/apis/s3/v1beta1/zz_bucketpublicaccessblock_types.go index 6293eed207..057e00f17d 100755 --- a/apis/s3/v1beta1/zz_bucketpublicaccessblock_types.go +++ b/apis/s3/v1beta1/zz_bucketpublicaccessblock_types.go @@ -129,6 +129,7 @@ type BucketPublicAccessBlockStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketPublicAccessBlock is the Schema for the BucketPublicAccessBlocks API. Manages S3 bucket-level Public Access Block Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketreplicationconfiguration_types.go b/apis/s3/v1beta1/zz_bucketreplicationconfiguration_types.go index 4dc32c1441..d049250d2d 100755 --- a/apis/s3/v1beta1/zz_bucketreplicationconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketreplicationconfiguration_types.go @@ -689,6 +689,7 @@ type BucketReplicationConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketReplicationConfiguration is the Schema for the BucketReplicationConfigurations API. Provides a S3 bucket replication configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketrequestpaymentconfiguration_types.go b/apis/s3/v1beta1/zz_bucketrequestpaymentconfiguration_types.go index 17ed060144..9c7c24a1b2 100755 --- a/apis/s3/v1beta1/zz_bucketrequestpaymentconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketrequestpaymentconfiguration_types.go @@ -109,6 +109,7 @@ type BucketRequestPaymentConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketRequestPaymentConfiguration is the Schema for the BucketRequestPaymentConfigurations API. Provides an S3 bucket request payment configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketserversideencryptionconfiguration_types.go b/apis/s3/v1beta1/zz_bucketserversideencryptionconfiguration_types.go index 7f4c72f8b3..137289ec64 100755 --- a/apis/s3/v1beta1/zz_bucketserversideencryptionconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketserversideencryptionconfiguration_types.go @@ -187,6 +187,7 @@ type BucketServerSideEncryptionConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketServerSideEncryptionConfiguration is the Schema for the BucketServerSideEncryptionConfigurations API. Provides a S3 bucket server-side encryption configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketversioning_types.go b/apis/s3/v1beta1/zz_bucketversioning_types.go index 5f207bf70a..acc5b46844 100755 --- a/apis/s3/v1beta1/zz_bucketversioning_types.go +++ b/apis/s3/v1beta1/zz_bucketversioning_types.go @@ -148,6 +148,7 @@ type BucketVersioningStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketVersioning is the Schema for the BucketVersionings API. Provides an S3 bucket versioning resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_bucketwebsiteconfiguration_types.go b/apis/s3/v1beta1/zz_bucketwebsiteconfiguration_types.go index 24b3097df5..caf2b5dfe0 100755 --- a/apis/s3/v1beta1/zz_bucketwebsiteconfiguration_types.go +++ b/apis/s3/v1beta1/zz_bucketwebsiteconfiguration_types.go @@ -348,6 +348,7 @@ type BucketWebsiteConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BucketWebsiteConfiguration is the Schema for the BucketWebsiteConfigurations API. Provides an S3 bucket website configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_object_types.go b/apis/s3/v1beta1/zz_object_types.go index 8c239e9e40..21794b1afc 100755 --- a/apis/s3/v1beta1/zz_object_types.go +++ b/apis/s3/v1beta1/zz_object_types.go @@ -423,6 +423,7 @@ type ObjectStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Object is the Schema for the Objects API. Provides an S3 object resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3/v1beta1/zz_objectcopy_types.go b/apis/s3/v1beta1/zz_objectcopy_types.go index 3c55dc8230..80e67dd8b2 100755 --- a/apis/s3/v1beta1/zz_objectcopy_types.go +++ b/apis/s3/v1beta1/zz_objectcopy_types.go @@ -524,6 +524,7 @@ type ObjectCopyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ObjectCopy is the Schema for the ObjectCopys API. Provides a resource for copying an S3 object. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_accesspoint_types.go b/apis/s3control/v1beta1/zz_accesspoint_types.go index 86b6391206..238226186d 100755 --- a/apis/s3control/v1beta1/zz_accesspoint_types.go +++ b/apis/s3control/v1beta1/zz_accesspoint_types.go @@ -257,6 +257,7 @@ type AccessPointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccessPoint is the Schema for the AccessPoints API. Manages an S3 Access Point. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_accesspointpolicy_types.go b/apis/s3control/v1beta1/zz_accesspointpolicy_types.go index 7e1c31d4c1..7eec699dd8 100755 --- a/apis/s3control/v1beta1/zz_accesspointpolicy_types.go +++ b/apis/s3control/v1beta1/zz_accesspointpolicy_types.go @@ -102,6 +102,7 @@ type AccessPointPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccessPointPolicy is the Schema for the AccessPointPolicys API. Provides a resource to manage an S3 Access Point resource policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_accountpublicaccessblock_types.go b/apis/s3control/v1beta1/zz_accountpublicaccessblock_types.go index be82af20c7..4c92ae17ae 100755 --- a/apis/s3control/v1beta1/zz_accountpublicaccessblock_types.go +++ b/apis/s3control/v1beta1/zz_accountpublicaccessblock_types.go @@ -109,6 +109,7 @@ type AccountPublicAccessBlockStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccountPublicAccessBlock is the Schema for the AccountPublicAccessBlocks API. Manages S3 account-level Public Access Block Configuration // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_multiregionaccesspoint_types.go b/apis/s3control/v1beta1/zz_multiregionaccesspoint_types.go index 33dd754484..cf73cf2fb6 100755 --- a/apis/s3control/v1beta1/zz_multiregionaccesspoint_types.go +++ b/apis/s3control/v1beta1/zz_multiregionaccesspoint_types.go @@ -229,6 +229,7 @@ type MultiRegionAccessPointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MultiRegionAccessPoint is the Schema for the MultiRegionAccessPoints API. Provides a resource to manage an S3 Multi-Region Access Point associated with specified buckets. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_multiregionaccesspointpolicy_types.go b/apis/s3control/v1beta1/zz_multiregionaccesspointpolicy_types.go index eaf0b295e6..1e3501ed7a 100755 --- a/apis/s3control/v1beta1/zz_multiregionaccesspointpolicy_types.go +++ b/apis/s3control/v1beta1/zz_multiregionaccesspointpolicy_types.go @@ -114,6 +114,7 @@ type MultiRegionAccessPointPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MultiRegionAccessPointPolicy is the Schema for the MultiRegionAccessPointPolicys API. Provides a resource to manage an S3 Multi-Region Access Point access control policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_objectlambdaaccesspoint_types.go b/apis/s3control/v1beta1/zz_objectlambdaaccesspoint_types.go index e19000c6e7..e990668c04 100755 --- a/apis/s3control/v1beta1/zz_objectlambdaaccesspoint_types.go +++ b/apis/s3control/v1beta1/zz_objectlambdaaccesspoint_types.go @@ -267,6 +267,7 @@ type ObjectLambdaAccessPointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ObjectLambdaAccessPoint is the Schema for the ObjectLambdaAccessPoints API. Provides a resource to manage an S3 Object Lambda Access Point. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_objectlambdaaccesspointpolicy_types.go b/apis/s3control/v1beta1/zz_objectlambdaaccesspointpolicy_types.go index 68d7feebc3..7192406a74 100755 --- a/apis/s3control/v1beta1/zz_objectlambdaaccesspointpolicy_types.go +++ b/apis/s3control/v1beta1/zz_objectlambdaaccesspointpolicy_types.go @@ -112,6 +112,7 @@ type ObjectLambdaAccessPointPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ObjectLambdaAccessPointPolicy is the Schema for the ObjectLambdaAccessPointPolicys API. Provides a resource to manage an S3 Object Lambda Access Point resource policy. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/s3control/v1beta1/zz_storagelensconfiguration_types.go b/apis/s3control/v1beta1/zz_storagelensconfiguration_types.go index e1b47afc3b..586efae0a5 100755 --- a/apis/s3control/v1beta1/zz_storagelensconfiguration_types.go +++ b/apis/s3control/v1beta1/zz_storagelensconfiguration_types.go @@ -817,6 +817,7 @@ type StorageLensConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StorageLensConfiguration is the Schema for the StorageLensConfigurations API. Provides a resource to manage an S3 Storage Lens configuration. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_app_types.go b/apis/sagemaker/v1beta1/zz_app_types.go index e1f61d063a..bdd4477825 100755 --- a/apis/sagemaker/v1beta1/zz_app_types.go +++ b/apis/sagemaker/v1beta1/zz_app_types.go @@ -238,6 +238,7 @@ type AppStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // App is the Schema for the Apps API. Provides a SageMaker App resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_appimageconfig_types.go b/apis/sagemaker/v1beta1/zz_appimageconfig_types.go index 1251d35f85..0688904921 100755 --- a/apis/sagemaker/v1beta1/zz_appimageconfig_types.go +++ b/apis/sagemaker/v1beta1/zz_appimageconfig_types.go @@ -253,6 +253,7 @@ type AppImageConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AppImageConfig is the Schema for the AppImageConfigs API. Provides a SageMaker App Image Config resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_coderepository_types.go b/apis/sagemaker/v1beta1/zz_coderepository_types.go index 2cb3c55df3..e8fb3e5aa5 100755 --- a/apis/sagemaker/v1beta1/zz_coderepository_types.go +++ b/apis/sagemaker/v1beta1/zz_coderepository_types.go @@ -148,6 +148,7 @@ type CodeRepositoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CodeRepository is the Schema for the CodeRepositorys API. Provides a SageMaker Code Repository resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_device_types.go b/apis/sagemaker/v1beta1/zz_device_types.go index e4779199a9..6a0a6a71db 100755 --- a/apis/sagemaker/v1beta1/zz_device_types.go +++ b/apis/sagemaker/v1beta1/zz_device_types.go @@ -140,6 +140,7 @@ type DeviceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Device is the Schema for the Devices API. Provides a SageMaker Device resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_devicefleet_types.go b/apis/sagemaker/v1beta1/zz_devicefleet_types.go index 1efec1a8d6..a823c73730 100755 --- a/apis/sagemaker/v1beta1/zz_devicefleet_types.go +++ b/apis/sagemaker/v1beta1/zz_devicefleet_types.go @@ -170,6 +170,7 @@ type DeviceFleetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DeviceFleet is the Schema for the DeviceFleets API. Provides a SageMaker Device Fleet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_domain_types.go b/apis/sagemaker/v1beta1/zz_domain_types.go index 1ea5afb2a2..621a890377 100755 --- a/apis/sagemaker/v1beta1/zz_domain_types.go +++ b/apis/sagemaker/v1beta1/zz_domain_types.go @@ -2127,6 +2127,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. Provides a SageMaker Domain resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_endpoint_types.go b/apis/sagemaker/v1beta1/zz_endpoint_types.go index 4373a36f70..b9738e2d91 100755 --- a/apis/sagemaker/v1beta1/zz_endpoint_types.go +++ b/apis/sagemaker/v1beta1/zz_endpoint_types.go @@ -446,6 +446,7 @@ type EndpointStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Endpoint is the Schema for the Endpoints API. Provides a SageMaker Endpoint resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_endpointconfiguration_types.go b/apis/sagemaker/v1beta1/zz_endpointconfiguration_types.go index 02755a0f6a..75586dc5ea 100755 --- a/apis/sagemaker/v1beta1/zz_endpointconfiguration_types.go +++ b/apis/sagemaker/v1beta1/zz_endpointconfiguration_types.go @@ -820,6 +820,7 @@ type EndpointConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EndpointConfiguration is the Schema for the EndpointConfigurations API. Provides a SageMaker Endpoint Configuration resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_featuregroup_types.go b/apis/sagemaker/v1beta1/zz_featuregroup_types.go index fdebdf9ea9..297df96c24 100755 --- a/apis/sagemaker/v1beta1/zz_featuregroup_types.go +++ b/apis/sagemaker/v1beta1/zz_featuregroup_types.go @@ -421,6 +421,7 @@ type FeatureGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FeatureGroup is the Schema for the FeatureGroups API. Provides a SageMaker Feature Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_image_types.go b/apis/sagemaker/v1beta1/zz_image_types.go index 27ff14d93f..b2be7cfcf2 100755 --- a/apis/sagemaker/v1beta1/zz_image_types.go +++ b/apis/sagemaker/v1beta1/zz_image_types.go @@ -129,6 +129,7 @@ type ImageStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Image is the Schema for the Images API. Provides a SageMaker Image resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_imageversion_types.go b/apis/sagemaker/v1beta1/zz_imageversion_types.go index 4ca0c5fa9c..4a1433494b 100755 --- a/apis/sagemaker/v1beta1/zz_imageversion_types.go +++ b/apis/sagemaker/v1beta1/zz_imageversion_types.go @@ -110,6 +110,7 @@ type ImageVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ImageVersion is the Schema for the ImageVersions API. Provides a SageMaker Image Version resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_model_types.go b/apis/sagemaker/v1beta1/zz_model_types.go index 66c6521286..82d2a7b31a 100755 --- a/apis/sagemaker/v1beta1/zz_model_types.go +++ b/apis/sagemaker/v1beta1/zz_model_types.go @@ -608,6 +608,7 @@ type ModelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Model is the Schema for the Models API. Provides a SageMaker model resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_modelpackagegroup_types.go b/apis/sagemaker/v1beta1/zz_modelpackagegroup_types.go index ff7ade1677..856ccf5bf3 100755 --- a/apis/sagemaker/v1beta1/zz_modelpackagegroup_types.go +++ b/apis/sagemaker/v1beta1/zz_modelpackagegroup_types.go @@ -89,6 +89,7 @@ type ModelPackageGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ModelPackageGroup is the Schema for the ModelPackageGroups API. Provides a SageMaker Model Package Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_modelpackagegrouppolicy_types.go b/apis/sagemaker/v1beta1/zz_modelpackagegrouppolicy_types.go index 1aa9495819..9aee5e8e1a 100755 --- a/apis/sagemaker/v1beta1/zz_modelpackagegrouppolicy_types.go +++ b/apis/sagemaker/v1beta1/zz_modelpackagegrouppolicy_types.go @@ -94,6 +94,7 @@ type ModelPackageGroupPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ModelPackageGroupPolicy is the Schema for the ModelPackageGroupPolicys API. Provides a SageMaker Model Package Group Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_notebookinstance_types.go b/apis/sagemaker/v1beta1/zz_notebookinstance_types.go index e51037c6f2..b863f1eb39 100755 --- a/apis/sagemaker/v1beta1/zz_notebookinstance_types.go +++ b/apis/sagemaker/v1beta1/zz_notebookinstance_types.go @@ -330,6 +330,7 @@ type NotebookInstanceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NotebookInstance is the Schema for the NotebookInstances API. Provides a SageMaker Notebook Instance resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_notebookinstancelifecycleconfiguration_types.go b/apis/sagemaker/v1beta1/zz_notebookinstancelifecycleconfiguration_types.go index a248ee3ba4..7944251d29 100755 --- a/apis/sagemaker/v1beta1/zz_notebookinstancelifecycleconfiguration_types.go +++ b/apis/sagemaker/v1beta1/zz_notebookinstancelifecycleconfiguration_types.go @@ -81,6 +81,7 @@ type NotebookInstanceLifecycleConfigurationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NotebookInstanceLifecycleConfiguration is the Schema for the NotebookInstanceLifecycleConfigurations API. Provides a lifecycle configuration for SageMaker Notebook Instances. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_servicecatalogportfoliostatus_types.go b/apis/sagemaker/v1beta1/zz_servicecatalogportfoliostatus_types.go index 64ea30cf1b..ad02d36e1f 100755 --- a/apis/sagemaker/v1beta1/zz_servicecatalogportfoliostatus_types.go +++ b/apis/sagemaker/v1beta1/zz_servicecatalogportfoliostatus_types.go @@ -69,6 +69,7 @@ type ServicecatalogPortfolioStatusStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServicecatalogPortfolioStatus is the Schema for the ServicecatalogPortfolioStatuss API. Manages status of Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_space_types.go b/apis/sagemaker/v1beta1/zz_space_types.go index c919565690..f4d4d8d299 100755 --- a/apis/sagemaker/v1beta1/zz_space_types.go +++ b/apis/sagemaker/v1beta1/zz_space_types.go @@ -434,6 +434,7 @@ type SpaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Space is the Schema for the Spaces API. Provides a SageMaker Space resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_studiolifecycleconfig_types.go b/apis/sagemaker/v1beta1/zz_studiolifecycleconfig_types.go index 1b4285c86f..a95e2f91d4 100755 --- a/apis/sagemaker/v1beta1/zz_studiolifecycleconfig_types.go +++ b/apis/sagemaker/v1beta1/zz_studiolifecycleconfig_types.go @@ -99,6 +99,7 @@ type StudioLifecycleConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StudioLifecycleConfig is the Schema for the StudioLifecycleConfigs API. Provides a SageMaker Studio Lifecycle Config resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_userprofile_types.go b/apis/sagemaker/v1beta1/zz_userprofile_types.go index 08025d430a..2b98e8cd75 100755 --- a/apis/sagemaker/v1beta1/zz_userprofile_types.go +++ b/apis/sagemaker/v1beta1/zz_userprofile_types.go @@ -1475,6 +1475,7 @@ type UserProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // UserProfile is the Schema for the UserProfiles API. Provides a SageMaker User Profile resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_workforce_types.go b/apis/sagemaker/v1beta1/zz_workforce_types.go index 203293477d..af12c02a1c 100755 --- a/apis/sagemaker/v1beta1/zz_workforce_types.go +++ b/apis/sagemaker/v1beta1/zz_workforce_types.go @@ -327,6 +327,7 @@ type WorkforceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workforce is the Schema for the Workforces API. Provides a SageMaker Workforce resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sagemaker/v1beta1/zz_workteam_types.go b/apis/sagemaker/v1beta1/zz_workteam_types.go index 3d2537a7cc..7893cf708c 100755 --- a/apis/sagemaker/v1beta1/zz_workteam_types.go +++ b/apis/sagemaker/v1beta1/zz_workteam_types.go @@ -311,6 +311,7 @@ type WorkteamStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workteam is the Schema for the Workteams API. Provides a SageMaker Workteam resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/scheduler/v1beta1/zz_schedule_types.go b/apis/scheduler/v1beta1/zz_schedule_types.go index 812b77e9f8..8a08e301e3 100755 --- a/apis/scheduler/v1beta1/zz_schedule_types.go +++ b/apis/scheduler/v1beta1/zz_schedule_types.go @@ -825,6 +825,7 @@ type ScheduleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Schedule is the Schema for the Schedules API. Provides an EventBridge Scheduler Schedule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/scheduler/v1beta1/zz_schedulegroup_types.go b/apis/scheduler/v1beta1/zz_schedulegroup_types.go index 373cef3e14..2019cd327d 100755 --- a/apis/scheduler/v1beta1/zz_schedulegroup_types.go +++ b/apis/scheduler/v1beta1/zz_schedulegroup_types.go @@ -98,6 +98,7 @@ type ScheduleGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ScheduleGroup is the Schema for the ScheduleGroups API. Provides an EventBridge Scheduler Schedule Group resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/schemas/v1beta1/zz_discoverer_types.go b/apis/schemas/v1beta1/zz_discoverer_types.go index 523301210c..f8f8255081 100755 --- a/apis/schemas/v1beta1/zz_discoverer_types.go +++ b/apis/schemas/v1beta1/zz_discoverer_types.go @@ -119,6 +119,7 @@ type DiscovererStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Discoverer is the Schema for the Discoverers API. Provides an EventBridge Schema Discoverer resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/schemas/v1beta1/zz_registry_types.go b/apis/schemas/v1beta1/zz_registry_types.go index eb70a497a5..7d860fa815 100755 --- a/apis/schemas/v1beta1/zz_registry_types.go +++ b/apis/schemas/v1beta1/zz_registry_types.go @@ -88,6 +88,7 @@ type RegistryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Registry is the Schema for the Registrys API. Provides an EventBridge Custom Schema Registry resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/schemas/v1beta1/zz_schema_types.go b/apis/schemas/v1beta1/zz_schema_types.go index 265b1507a3..b7a19fd2b7 100755 --- a/apis/schemas/v1beta1/zz_schema_types.go +++ b/apis/schemas/v1beta1/zz_schema_types.go @@ -155,6 +155,7 @@ type SchemaStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Schema is the Schema for the Schemas API. Provides an EventBridge Schema resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/secretsmanager/v1beta1/zz_secret_types.go b/apis/secretsmanager/v1beta1/zz_secret_types.go index b93748669b..6c2f81935f 100755 --- a/apis/secretsmanager/v1beta1/zz_secret_types.go +++ b/apis/secretsmanager/v1beta1/zz_secret_types.go @@ -196,6 +196,7 @@ type SecretStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Secret is the Schema for the Secrets API. Provides a resource to manage AWS Secrets Manager secret metadata // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/secretsmanager/v1beta1/zz_secretpolicy_types.go b/apis/secretsmanager/v1beta1/zz_secretpolicy_types.go index 4da437e700..460a3ea1fb 100755 --- a/apis/secretsmanager/v1beta1/zz_secretpolicy_types.go +++ b/apis/secretsmanager/v1beta1/zz_secretpolicy_types.go @@ -109,6 +109,7 @@ type SecretPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecretPolicy is the Schema for the SecretPolicys API. Provides a resource to manage AWS Secrets Manager secret policy // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/secretsmanager/v1beta1/zz_secretrotation_types.go b/apis/secretsmanager/v1beta1/zz_secretrotation_types.go index 78f555170c..1707995376 100755 --- a/apis/secretsmanager/v1beta1/zz_secretrotation_types.go +++ b/apis/secretsmanager/v1beta1/zz_secretrotation_types.go @@ -171,6 +171,7 @@ type SecretRotationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecretRotation is the Schema for the SecretRotations API. Provides a resource to manage AWS Secrets Manager secret rotation // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/secretsmanager/v1beta1/zz_secretversion_types.go b/apis/secretsmanager/v1beta1/zz_secretversion_types.go index c8c309c565..bb47dc7c59 100755 --- a/apis/secretsmanager/v1beta1/zz_secretversion_types.go +++ b/apis/secretsmanager/v1beta1/zz_secretversion_types.go @@ -116,6 +116,7 @@ type SecretVersionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SecretVersion is the Schema for the SecretVersions API. Provides a resource to manage AWS Secrets Manager secret version including its secret value // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_account_types.go b/apis/securityhub/v1beta1/zz_account_types.go index eee9b98d79..1158a2cd0e 100755 --- a/apis/securityhub/v1beta1/zz_account_types.go +++ b/apis/securityhub/v1beta1/zz_account_types.go @@ -92,6 +92,7 @@ type AccountStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Account is the Schema for the Accounts API. Enables Security Hub for an AWS account. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_actiontarget_types.go b/apis/securityhub/v1beta1/zz_actiontarget_types.go index 7c117eee76..e1518afc7e 100755 --- a/apis/securityhub/v1beta1/zz_actiontarget_types.go +++ b/apis/securityhub/v1beta1/zz_actiontarget_types.go @@ -81,6 +81,7 @@ type ActionTargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ActionTarget is the Schema for the ActionTargets API. Creates Security Hub custom action. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_findingaggregator_types.go b/apis/securityhub/v1beta1/zz_findingaggregator_types.go index cf315ecd21..716eef8bb1 100755 --- a/apis/securityhub/v1beta1/zz_findingaggregator_types.go +++ b/apis/securityhub/v1beta1/zz_findingaggregator_types.go @@ -80,6 +80,7 @@ type FindingAggregatorStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // FindingAggregator is the Schema for the FindingAggregators API. Manages a Security Hub finding aggregator // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_insight_types.go b/apis/securityhub/v1beta1/zz_insight_types.go index 21eb0391b8..a2515ef29f 100755 --- a/apis/securityhub/v1beta1/zz_insight_types.go +++ b/apis/securityhub/v1beta1/zz_insight_types.go @@ -4012,6 +4012,7 @@ type InsightStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Insight is the Schema for the Insights API. Provides a Security Hub custom insight resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_inviteaccepter_types.go b/apis/securityhub/v1beta1/zz_inviteaccepter_types.go index 7d439f955f..2bbdbb0382 100755 --- a/apis/securityhub/v1beta1/zz_inviteaccepter_types.go +++ b/apis/securityhub/v1beta1/zz_inviteaccepter_types.go @@ -90,6 +90,7 @@ type InviteAccepterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InviteAccepter is the Schema for the InviteAccepters API. Accepts a Security Hub invitation. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_member_types.go b/apis/securityhub/v1beta1/zz_member_types.go index 54b521ade7..053c7f7f00 100755 --- a/apis/securityhub/v1beta1/zz_member_types.go +++ b/apis/securityhub/v1beta1/zz_member_types.go @@ -95,6 +95,7 @@ type MemberStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Member is the Schema for the Members API. Provides a Security Hub member resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_productsubscription_types.go b/apis/securityhub/v1beta1/zz_productsubscription_types.go index a86242378b..3d7234cd1f 100755 --- a/apis/securityhub/v1beta1/zz_productsubscription_types.go +++ b/apis/securityhub/v1beta1/zz_productsubscription_types.go @@ -71,6 +71,7 @@ type ProductSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProductSubscription is the Schema for the ProductSubscriptions API. Subscribes to a Security Hub product. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/securityhub/v1beta1/zz_standardssubscription_types.go b/apis/securityhub/v1beta1/zz_standardssubscription_types.go index a00a2511e3..ce687d4002 100755 --- a/apis/securityhub/v1beta1/zz_standardssubscription_types.go +++ b/apis/securityhub/v1beta1/zz_standardssubscription_types.go @@ -69,6 +69,7 @@ type StandardsSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StandardsSubscription is the Schema for the StandardsSubscriptions API. Subscribes to a Security Hub standard. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/serverlessrepo/v1beta1/zz_cloudformationstack_types.go b/apis/serverlessrepo/v1beta1/zz_cloudformationstack_types.go index 75745dbc74..99e899cdae 100755 --- a/apis/serverlessrepo/v1beta1/zz_cloudformationstack_types.go +++ b/apis/serverlessrepo/v1beta1/zz_cloudformationstack_types.go @@ -136,6 +136,7 @@ type CloudFormationStackStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CloudFormationStack is the Schema for the CloudFormationStacks API. Deploys an Application CloudFormation Stack from the Serverless Application Repository. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_budgetresourceassociation_types.go b/apis/servicecatalog/v1beta1/zz_budgetresourceassociation_types.go index bfd62b4a07..d3c86d3379 100755 --- a/apis/servicecatalog/v1beta1/zz_budgetresourceassociation_types.go +++ b/apis/servicecatalog/v1beta1/zz_budgetresourceassociation_types.go @@ -115,6 +115,7 @@ type BudgetResourceAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // BudgetResourceAssociation is the Schema for the BudgetResourceAssociations API. Manages a Service Catalog Budget Resource Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_constraint_types.go b/apis/servicecatalog/v1beta1/zz_constraint_types.go index 91e9c86ce1..011da2bf6a 100755 --- a/apis/servicecatalog/v1beta1/zz_constraint_types.go +++ b/apis/servicecatalog/v1beta1/zz_constraint_types.go @@ -164,6 +164,7 @@ type ConstraintStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Constraint is the Schema for the Constraints API. Manages a Service Catalog Constraint // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_portfolio_types.go b/apis/servicecatalog/v1beta1/zz_portfolio_types.go index f127ffe469..48c1d04025 100755 --- a/apis/servicecatalog/v1beta1/zz_portfolio_types.go +++ b/apis/servicecatalog/v1beta1/zz_portfolio_types.go @@ -109,6 +109,7 @@ type PortfolioStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Portfolio is the Schema for the Portfolios API. Provides a resource to create a Service Catalog portfolio // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_portfolioshare_types.go b/apis/servicecatalog/v1beta1/zz_portfolioshare_types.go index bfb0ffbe3a..3fc88dcfe6 100755 --- a/apis/servicecatalog/v1beta1/zz_portfolioshare_types.go +++ b/apis/servicecatalog/v1beta1/zz_portfolioshare_types.go @@ -151,6 +151,7 @@ type PortfolioShareStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PortfolioShare is the Schema for the PortfolioShares API. Manages a Service Catalog Portfolio Share // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_principalportfolioassociation_types.go b/apis/servicecatalog/v1beta1/zz_principalportfolioassociation_types.go index 8b4b405f0c..e493bdd27e 100755 --- a/apis/servicecatalog/v1beta1/zz_principalportfolioassociation_types.go +++ b/apis/servicecatalog/v1beta1/zz_principalportfolioassociation_types.go @@ -137,6 +137,7 @@ type PrincipalPortfolioAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PrincipalPortfolioAssociation is the Schema for the PrincipalPortfolioAssociations API. Manages a Service Catalog Principal Portfolio Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_product_types.go b/apis/servicecatalog/v1beta1/zz_product_types.go index 205c5298eb..94c6e8c80b 100755 --- a/apis/servicecatalog/v1beta1/zz_product_types.go +++ b/apis/servicecatalog/v1beta1/zz_product_types.go @@ -257,6 +257,7 @@ type ProductStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Product is the Schema for the Products API. Manages a Service Catalog Product // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_productportfolioassociation_types.go b/apis/servicecatalog/v1beta1/zz_productportfolioassociation_types.go index f82a00cdc0..aa941762d6 100755 --- a/apis/servicecatalog/v1beta1/zz_productportfolioassociation_types.go +++ b/apis/servicecatalog/v1beta1/zz_productportfolioassociation_types.go @@ -135,6 +135,7 @@ type ProductPortfolioAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProductPortfolioAssociation is the Schema for the ProductPortfolioAssociations API. Manages a Service Catalog Product Portfolio Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_provisioningartifact_types.go b/apis/servicecatalog/v1beta1/zz_provisioningartifact_types.go index d01d6ce412..143517ccdf 100755 --- a/apis/servicecatalog/v1beta1/zz_provisioningartifact_types.go +++ b/apis/servicecatalog/v1beta1/zz_provisioningartifact_types.go @@ -185,6 +185,7 @@ type ProvisioningArtifactStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ProvisioningArtifact is the Schema for the ProvisioningArtifacts API. Manages a Service Catalog Provisioning Artifact // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_serviceaction_types.go b/apis/servicecatalog/v1beta1/zz_serviceaction_types.go index 02047c33e3..d0ff3b1829 100755 --- a/apis/servicecatalog/v1beta1/zz_serviceaction_types.go +++ b/apis/servicecatalog/v1beta1/zz_serviceaction_types.go @@ -158,6 +158,7 @@ type ServiceActionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServiceAction is the Schema for the ServiceActions API. Manages a Service Catalog Service Action // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_tagoption_types.go b/apis/servicecatalog/v1beta1/zz_tagoption_types.go index f55934d50d..f06492826a 100755 --- a/apis/servicecatalog/v1beta1/zz_tagoption_types.go +++ b/apis/servicecatalog/v1beta1/zz_tagoption_types.go @@ -91,6 +91,7 @@ type TagOptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TagOption is the Schema for the TagOptions API. Manages a Service Catalog Tag Option // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicecatalog/v1beta1/zz_tagoptionresourceassociation_types.go b/apis/servicecatalog/v1beta1/zz_tagoptionresourceassociation_types.go index 11c34235b6..2a595c6489 100755 --- a/apis/servicecatalog/v1beta1/zz_tagoptionresourceassociation_types.go +++ b/apis/servicecatalog/v1beta1/zz_tagoptionresourceassociation_types.go @@ -127,6 +127,7 @@ type TagOptionResourceAssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TagOptionResourceAssociation is the Schema for the TagOptionResourceAssociations API. Manages a Service Catalog Tag Option Resource Association // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicediscovery/v1beta1/zz_httpnamespace_types.go b/apis/servicediscovery/v1beta1/zz_httpnamespace_types.go index 889134cabf..d68489d3c0 100755 --- a/apis/servicediscovery/v1beta1/zz_httpnamespace_types.go +++ b/apis/servicediscovery/v1beta1/zz_httpnamespace_types.go @@ -102,6 +102,7 @@ type HTTPNamespaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // HTTPNamespace is the Schema for the HTTPNamespaces API. Provides a Service Discovery HTTP Namespace resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicediscovery/v1beta1/zz_privatednsnamespace_types.go b/apis/servicediscovery/v1beta1/zz_privatednsnamespace_types.go index fd5eeea8df..9cb60a241b 100755 --- a/apis/servicediscovery/v1beta1/zz_privatednsnamespace_types.go +++ b/apis/servicediscovery/v1beta1/zz_privatednsnamespace_types.go @@ -130,6 +130,7 @@ type PrivateDNSNamespaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PrivateDNSNamespace is the Schema for the PrivateDNSNamespaces API. Provides a Service Discovery Private DNS Namespace resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicediscovery/v1beta1/zz_publicdnsnamespace_types.go b/apis/servicediscovery/v1beta1/zz_publicdnsnamespace_types.go index 680c32f8a9..a2b41ffe1d 100755 --- a/apis/servicediscovery/v1beta1/zz_publicdnsnamespace_types.go +++ b/apis/servicediscovery/v1beta1/zz_publicdnsnamespace_types.go @@ -102,6 +102,7 @@ type PublicDNSNamespaceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PublicDNSNamespace is the Schema for the PublicDNSNamespaces API. Provides a Service Discovery Public DNS Namespace resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicediscovery/v1beta1/zz_service_types.go b/apis/servicediscovery/v1beta1/zz_service_types.go index 42d0988d19..e271a19e6e 100755 --- a/apis/servicediscovery/v1beta1/zz_service_types.go +++ b/apis/servicediscovery/v1beta1/zz_service_types.go @@ -305,6 +305,7 @@ type ServiceStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Service is the Schema for the Services API. Provides a Service Discovery Service resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/servicequotas/v1beta1/zz_servicequota_types.go b/apis/servicequotas/v1beta1/zz_servicequota_types.go index 48ebd70b75..4849eccf5a 100755 --- a/apis/servicequotas/v1beta1/zz_servicequota_types.go +++ b/apis/servicequotas/v1beta1/zz_servicequota_types.go @@ -149,6 +149,7 @@ type ServiceQuotaStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServiceQuota is the Schema for the ServiceQuotas API. Manages an individual Service Quota // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_activereceiptruleset_types.go b/apis/ses/v1beta1/zz_activereceiptruleset_types.go index 4192952390..43d49db00c 100755 --- a/apis/ses/v1beta1/zz_activereceiptruleset_types.go +++ b/apis/ses/v1beta1/zz_activereceiptruleset_types.go @@ -72,6 +72,7 @@ type ActiveReceiptRuleSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ActiveReceiptRuleSet is the Schema for the ActiveReceiptRuleSets API. Provides a resource to designate the active SES receipt rule set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_configurationset_types.go b/apis/ses/v1beta1/zz_configurationset_types.go index d891751e0a..4ace84e3b9 100755 --- a/apis/ses/v1beta1/zz_configurationset_types.go +++ b/apis/ses/v1beta1/zz_configurationset_types.go @@ -143,6 +143,7 @@ type ConfigurationSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationSet is the Schema for the ConfigurationSets API. Provides an SES configuration set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_domaindkim_types.go b/apis/ses/v1beta1/zz_domaindkim_types.go index 1df5ee6acc..836d5288f0 100755 --- a/apis/ses/v1beta1/zz_domaindkim_types.go +++ b/apis/ses/v1beta1/zz_domaindkim_types.go @@ -64,6 +64,7 @@ type DomainDKIMStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainDKIM is the Schema for the DomainDKIMs API. Provides an SES domain DKIM generation resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_domainidentity_types.go b/apis/ses/v1beta1/zz_domainidentity_types.go index 88bdc8c3c4..c6de7fb9ee 100755 --- a/apis/ses/v1beta1/zz_domainidentity_types.go +++ b/apis/ses/v1beta1/zz_domainidentity_types.go @@ -69,6 +69,7 @@ type DomainIdentityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainIdentity is the Schema for the DomainIdentitys API. Provides an SES domain identity resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_domainmailfrom_types.go b/apis/ses/v1beta1/zz_domainmailfrom_types.go index df02f10313..c7ee9b9dd0 100755 --- a/apis/ses/v1beta1/zz_domainmailfrom_types.go +++ b/apis/ses/v1beta1/zz_domainmailfrom_types.go @@ -107,6 +107,7 @@ type DomainMailFromStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DomainMailFrom is the Schema for the DomainMailFroms API. Provides an SES domain MAIL FROM resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_emailidentity_types.go b/apis/ses/v1beta1/zz_emailidentity_types.go index 85dfe6ef77..c04e613931 100755 --- a/apis/ses/v1beta1/zz_emailidentity_types.go +++ b/apis/ses/v1beta1/zz_emailidentity_types.go @@ -71,6 +71,7 @@ type EmailIdentityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EmailIdentity is the Schema for the EmailIdentitys API. Provides an SES email identity resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_eventdestination_types.go b/apis/ses/v1beta1/zz_eventdestination_types.go index 51099b3691..c98513596c 100755 --- a/apis/ses/v1beta1/zz_eventdestination_types.go +++ b/apis/ses/v1beta1/zz_eventdestination_types.go @@ -290,6 +290,7 @@ type EventDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EventDestination is the Schema for the EventDestinations API. Provides an SES event destination // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_identitynotificationtopic_types.go b/apis/ses/v1beta1/zz_identitynotificationtopic_types.go index 1803266f52..4847ce3b93 100755 --- a/apis/ses/v1beta1/zz_identitynotificationtopic_types.go +++ b/apis/ses/v1beta1/zz_identitynotificationtopic_types.go @@ -135,6 +135,7 @@ type IdentityNotificationTopicStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IdentityNotificationTopic is the Schema for the IdentityNotificationTopics API. Setting AWS SES Identity Notification Topic // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_identitypolicy_types.go b/apis/ses/v1beta1/zz_identitypolicy_types.go index 086a0c970b..b0ad559e98 100755 --- a/apis/ses/v1beta1/zz_identitypolicy_types.go +++ b/apis/ses/v1beta1/zz_identitypolicy_types.go @@ -107,6 +107,7 @@ type IdentityPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IdentityPolicy is the Schema for the IdentityPolicys API. Manages a SES Identity Policy // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_receiptfilter_types.go b/apis/ses/v1beta1/zz_receiptfilter_types.go index 065e5f72ce..d68eb3af9a 100755 --- a/apis/ses/v1beta1/zz_receiptfilter_types.go +++ b/apis/ses/v1beta1/zz_receiptfilter_types.go @@ -82,6 +82,7 @@ type ReceiptFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReceiptFilter is the Schema for the ReceiptFilters API. Provides an SES receipt filter // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_receiptrule_types.go b/apis/ses/v1beta1/zz_receiptrule_types.go index 6941518d2a..f69e2d7d04 100755 --- a/apis/ses/v1beta1/zz_receiptrule_types.go +++ b/apis/ses/v1beta1/zz_receiptrule_types.go @@ -538,6 +538,7 @@ type ReceiptRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReceiptRule is the Schema for the ReceiptRules API. Provides an SES receipt rule resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_receiptruleset_types.go b/apis/ses/v1beta1/zz_receiptruleset_types.go index 7787ec5aa3..151d51e849 100755 --- a/apis/ses/v1beta1/zz_receiptruleset_types.go +++ b/apis/ses/v1beta1/zz_receiptruleset_types.go @@ -72,6 +72,7 @@ type ReceiptRuleSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ReceiptRuleSet is the Schema for the ReceiptRuleSets API. Provides an SES receipt rule set resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ses/v1beta1/zz_template_types.go b/apis/ses/v1beta1/zz_template_types.go index 0640621835..45cea2247e 100755 --- a/apis/ses/v1beta1/zz_template_types.go +++ b/apis/ses/v1beta1/zz_template_types.go @@ -92,6 +92,7 @@ type TemplateStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Template is the Schema for the Templates API. Provides a resource to create a SES template // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_configurationset_types.go b/apis/sesv2/v1beta1/zz_configurationset_types.go index 5946dcd182..1553a20a11 100755 --- a/apis/sesv2/v1beta1/zz_configurationset_types.go +++ b/apis/sesv2/v1beta1/zz_configurationset_types.go @@ -312,6 +312,7 @@ type ConfigurationSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationSet is the Schema for the ConfigurationSets API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_configurationseteventdestination_types.go b/apis/sesv2/v1beta1/zz_configurationseteventdestination_types.go index f7a103618f..fd8bb73758 100755 --- a/apis/sesv2/v1beta1/zz_configurationseteventdestination_types.go +++ b/apis/sesv2/v1beta1/zz_configurationseteventdestination_types.go @@ -377,6 +377,7 @@ type ConfigurationSetEventDestinationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ConfigurationSetEventDestination is the Schema for the ConfigurationSetEventDestinations API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_dedicatedippool_types.go b/apis/sesv2/v1beta1/zz_dedicatedippool_types.go index cda15b5840..73bb3ce067 100755 --- a/apis/sesv2/v1beta1/zz_dedicatedippool_types.go +++ b/apis/sesv2/v1beta1/zz_dedicatedippool_types.go @@ -87,6 +87,7 @@ type DedicatedIPPoolStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DedicatedIPPool is the Schema for the DedicatedIPPools API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_emailidentity_types.go b/apis/sesv2/v1beta1/zz_emailidentity_types.go index 0b47c3c7d9..5d8085679a 100755 --- a/apis/sesv2/v1beta1/zz_emailidentity_types.go +++ b/apis/sesv2/v1beta1/zz_emailidentity_types.go @@ -170,6 +170,7 @@ type EmailIdentityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EmailIdentity is the Schema for the EmailIdentitys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_emailidentityfeedbackattributes_types.go b/apis/sesv2/v1beta1/zz_emailidentityfeedbackattributes_types.go index 192ddec0de..bbee58ec59 100755 --- a/apis/sesv2/v1beta1/zz_emailidentityfeedbackattributes_types.go +++ b/apis/sesv2/v1beta1/zz_emailidentityfeedbackattributes_types.go @@ -68,6 +68,7 @@ type EmailIdentityFeedbackAttributesStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EmailIdentityFeedbackAttributes is the Schema for the EmailIdentityFeedbackAttributess API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sesv2/v1beta1/zz_emailidentitymailfromattributes_types.go b/apis/sesv2/v1beta1/zz_emailidentitymailfromattributes_types.go index eb2ebbb12c..85f03e9a32 100755 --- a/apis/sesv2/v1beta1/zz_emailidentitymailfromattributes_types.go +++ b/apis/sesv2/v1beta1/zz_emailidentitymailfromattributes_types.go @@ -78,6 +78,7 @@ type EmailIdentityMailFromAttributesStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EmailIdentityMailFromAttributes is the Schema for the EmailIdentityMailFromAttributess API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sfn/v1beta1/zz_activity_types.go b/apis/sfn/v1beta1/zz_activity_types.go index d9c2f8b691..a676f62357 100755 --- a/apis/sfn/v1beta1/zz_activity_types.go +++ b/apis/sfn/v1beta1/zz_activity_types.go @@ -79,6 +79,7 @@ type ActivityStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Activity is the Schema for the Activitys API. Provides a Step Function Activity resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sfn/v1beta1/zz_statemachine_types.go b/apis/sfn/v1beta1/zz_statemachine_types.go index c373f5c710..5e698438c0 100755 --- a/apis/sfn/v1beta1/zz_statemachine_types.go +++ b/apis/sfn/v1beta1/zz_statemachine_types.go @@ -233,6 +233,7 @@ type StateMachineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // StateMachine is the Schema for the StateMachines API. Provides a Step Function State Machine resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/signer/v1beta1/zz_signingjob_types.go b/apis/signer/v1beta1/zz_signingjob_types.go index e0febc23aa..72c8a58040 100755 --- a/apis/signer/v1beta1/zz_signingjob_types.go +++ b/apis/signer/v1beta1/zz_signingjob_types.go @@ -305,6 +305,7 @@ type SigningJobStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SigningJob is the Schema for the SigningJobs API. Creates a Signer Signing Job. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/signer/v1beta1/zz_signingprofile_types.go b/apis/signer/v1beta1/zz_signingprofile_types.go index 83ee1df324..ed51270f39 100755 --- a/apis/signer/v1beta1/zz_signingprofile_types.go +++ b/apis/signer/v1beta1/zz_signingprofile_types.go @@ -174,6 +174,7 @@ type SigningProfileStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SigningProfile is the Schema for the SigningProfiles API. Creates a Signer Signing Profile. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/signer/v1beta1/zz_signingprofilepermission_types.go b/apis/signer/v1beta1/zz_signingprofilepermission_types.go index 0965938bf7..d103ca9a65 100755 --- a/apis/signer/v1beta1/zz_signingprofilepermission_types.go +++ b/apis/signer/v1beta1/zz_signingprofilepermission_types.go @@ -141,6 +141,7 @@ type SigningProfilePermissionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SigningProfilePermission is the Schema for the SigningProfilePermissions API. Creates a Signer Signing Profile Permission. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/simpledb/v1beta1/zz_domain_types.go b/apis/simpledb/v1beta1/zz_domain_types.go index 0272009f41..49680b8153 100755 --- a/apis/simpledb/v1beta1/zz_domain_types.go +++ b/apis/simpledb/v1beta1/zz_domain_types.go @@ -59,6 +59,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. Provides a SimpleDB domain resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sns/v1beta1/zz_platformapplication_types.go b/apis/sns/v1beta1/zz_platformapplication_types.go index 810214c6dc..223d1a85e2 100755 --- a/apis/sns/v1beta1/zz_platformapplication_types.go +++ b/apis/sns/v1beta1/zz_platformapplication_types.go @@ -210,6 +210,7 @@ type PlatformApplicationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PlatformApplication is the Schema for the PlatformApplications API. Provides an SNS platform application resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sns/v1beta1/zz_smspreferences_types.go b/apis/sns/v1beta1/zz_smspreferences_types.go index b6ffce4f5f..cb947f3285 100755 --- a/apis/sns/v1beta1/zz_smspreferences_types.go +++ b/apis/sns/v1beta1/zz_smspreferences_types.go @@ -138,6 +138,7 @@ type SMSPreferencesStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SMSPreferences is the Schema for the SMSPreferencess API. Provides a way to set SNS SMS preferences. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sns/v1beta1/zz_topic_types.go b/apis/sns/v1beta1/zz_topic_types.go index 9e598cfdd8..a13a1d7917 100755 --- a/apis/sns/v1beta1/zz_topic_types.go +++ b/apis/sns/v1beta1/zz_topic_types.go @@ -525,6 +525,7 @@ type TopicStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Topic is the Schema for the Topics API. Provides an SNS topic resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sns/v1beta1/zz_topicpolicy_types.go b/apis/sns/v1beta1/zz_topicpolicy_types.go index 3b170974f3..8a7f441ae7 100755 --- a/apis/sns/v1beta1/zz_topicpolicy_types.go +++ b/apis/sns/v1beta1/zz_topicpolicy_types.go @@ -101,6 +101,7 @@ type TopicPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TopicPolicy is the Schema for the TopicPolicys API. Provides an SNS topic policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sns/v1beta1/zz_topicsubscription_types.go b/apis/sns/v1beta1/zz_topicsubscription_types.go index c02df9480b..61fe836d78 100755 --- a/apis/sns/v1beta1/zz_topicsubscription_types.go +++ b/apis/sns/v1beta1/zz_topicsubscription_types.go @@ -251,6 +251,7 @@ type TopicSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // TopicSubscription is the Schema for the TopicSubscriptions API. Provides a resource for subscribing to SNS topics. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sqs/v1beta1/zz_queue_types.go b/apis/sqs/v1beta1/zz_queue_types.go index e8b5763fb5..620cd34327 100755 --- a/apis/sqs/v1beta1/zz_queue_types.go +++ b/apis/sqs/v1beta1/zz_queue_types.go @@ -242,6 +242,7 @@ type QueueStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Queue is the Schema for the Queues API. Provides a SQS resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sqs/v1beta1/zz_queuepolicy_types.go b/apis/sqs/v1beta1/zz_queuepolicy_types.go index 92b2af5315..f81bc80d71 100755 --- a/apis/sqs/v1beta1/zz_queuepolicy_types.go +++ b/apis/sqs/v1beta1/zz_queuepolicy_types.go @@ -97,6 +97,7 @@ type QueuePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // QueuePolicy is the Schema for the QueuePolicys API. Provides a SQS Queue Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sqs/v1beta1/zz_queueredriveallowpolicy_types.go b/apis/sqs/v1beta1/zz_queueredriveallowpolicy_types.go index 85e484701c..97a0d32f76 100755 --- a/apis/sqs/v1beta1/zz_queueredriveallowpolicy_types.go +++ b/apis/sqs/v1beta1/zz_queueredriveallowpolicy_types.go @@ -97,6 +97,7 @@ type QueueRedriveAllowPolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // QueueRedriveAllowPolicy is the Schema for the QueueRedriveAllowPolicys API. Provides a SQS Queue Redrive Allow Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/sqs/v1beta1/zz_queueredrivepolicy_types.go b/apis/sqs/v1beta1/zz_queueredrivepolicy_types.go index 9bf49d147c..09252e5c58 100755 --- a/apis/sqs/v1beta1/zz_queueredrivepolicy_types.go +++ b/apis/sqs/v1beta1/zz_queueredrivepolicy_types.go @@ -97,6 +97,7 @@ type QueueRedrivePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // QueueRedrivePolicy is the Schema for the QueueRedrivePolicys API. Provides a SQS Queue Redrive Policy resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_activation_types.go b/apis/ssm/v1beta1/zz_activation_types.go index 87f9f8f1c8..4e4c71260b 100755 --- a/apis/ssm/v1beta1/zz_activation_types.go +++ b/apis/ssm/v1beta1/zz_activation_types.go @@ -155,6 +155,7 @@ type ActivationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Activation is the Schema for the Activations API. Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_association_types.go b/apis/ssm/v1beta1/zz_association_types.go index ad12cede5e..43c10c7c70 100755 --- a/apis/ssm/v1beta1/zz_association_types.go +++ b/apis/ssm/v1beta1/zz_association_types.go @@ -303,6 +303,7 @@ type AssociationStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Association is the Schema for the Associations API. Associates an SSM Document to an instance or EC2 tag. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_defaultpatchbaseline_types.go b/apis/ssm/v1beta1/zz_defaultpatchbaseline_types.go index 3f6c8c354d..d95aa8462d 100755 --- a/apis/ssm/v1beta1/zz_defaultpatchbaseline_types.go +++ b/apis/ssm/v1beta1/zz_defaultpatchbaseline_types.go @@ -166,6 +166,7 @@ type DefaultPatchBaselineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // DefaultPatchBaseline is the Schema for the DefaultPatchBaselines API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_document_types.go b/apis/ssm/v1beta1/zz_document_types.go index 3207920e2d..6ffa528191 100755 --- a/apis/ssm/v1beta1/zz_document_types.go +++ b/apis/ssm/v1beta1/zz_document_types.go @@ -243,6 +243,7 @@ type DocumentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Document is the Schema for the Documents API. Provides an SSM Document resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_maintenancewindow_types.go b/apis/ssm/v1beta1/zz_maintenancewindow_types.go index dcc0366858..542526f9dc 100755 --- a/apis/ssm/v1beta1/zz_maintenancewindow_types.go +++ b/apis/ssm/v1beta1/zz_maintenancewindow_types.go @@ -186,6 +186,7 @@ type MaintenanceWindowStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MaintenanceWindow is the Schema for the MaintenanceWindows API. Provides an SSM Maintenance Window resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_maintenancewindowtarget_types.go b/apis/ssm/v1beta1/zz_maintenancewindowtarget_types.go index 96759ece4e..45c88e67a3 100755 --- a/apis/ssm/v1beta1/zz_maintenancewindowtarget_types.go +++ b/apis/ssm/v1beta1/zz_maintenancewindowtarget_types.go @@ -163,6 +163,7 @@ type MaintenanceWindowTargetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MaintenanceWindowTarget is the Schema for the MaintenanceWindowTargets API. Provides an SSM Maintenance Window Target resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_maintenancewindowtask_types.go b/apis/ssm/v1beta1/zz_maintenancewindowtask_types.go index c2851edae9..eff99fddb1 100755 --- a/apis/ssm/v1beta1/zz_maintenancewindowtask_types.go +++ b/apis/ssm/v1beta1/zz_maintenancewindowtask_types.go @@ -708,6 +708,7 @@ type MaintenanceWindowTaskStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // MaintenanceWindowTask is the Schema for the MaintenanceWindowTasks API. Provides an SSM Maintenance Window Task resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_parameter_types.go b/apis/ssm/v1beta1/zz_parameter_types.go index d4b3d0fc83..165d56d243 100755 --- a/apis/ssm/v1beta1/zz_parameter_types.go +++ b/apis/ssm/v1beta1/zz_parameter_types.go @@ -172,6 +172,7 @@ type ParameterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Parameter is the Schema for the Parameters API. Provides a SSM Parameter resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_patchbaseline_types.go b/apis/ssm/v1beta1/zz_patchbaseline_types.go index 7105f5220b..00ad1dac3a 100755 --- a/apis/ssm/v1beta1/zz_patchbaseline_types.go +++ b/apis/ssm/v1beta1/zz_patchbaseline_types.go @@ -464,6 +464,7 @@ type PatchBaselineStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PatchBaseline is the Schema for the PatchBaselines API. Provides an SSM Patch Baseline resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_patchgroup_types.go b/apis/ssm/v1beta1/zz_patchgroup_types.go index 5f55b70f88..6291272f54 100755 --- a/apis/ssm/v1beta1/zz_patchgroup_types.go +++ b/apis/ssm/v1beta1/zz_patchgroup_types.go @@ -99,6 +99,7 @@ type PatchGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PatchGroup is the Schema for the PatchGroups API. Provides an SSM Patch Group resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_resourcedatasync_types.go b/apis/ssm/v1beta1/zz_resourcedatasync_types.go index aafe82c6da..d8bb6d4782 100755 --- a/apis/ssm/v1beta1/zz_resourcedatasync_types.go +++ b/apis/ssm/v1beta1/zz_resourcedatasync_types.go @@ -152,6 +152,7 @@ type ResourceDataSyncStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ResourceDataSync is the Schema for the ResourceDataSyncs API. Provides a SSM resource data sync. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssm/v1beta1/zz_servicesetting_types.go b/apis/ssm/v1beta1/zz_servicesetting_types.go index 35fe49a2d3..64bf10b23b 100755 --- a/apis/ssm/v1beta1/zz_servicesetting_types.go +++ b/apis/ssm/v1beta1/zz_servicesetting_types.go @@ -84,6 +84,7 @@ type ServiceSettingStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ServiceSetting is the Schema for the ServiceSettings API. Defines how a user interacts with or uses a service or a feature of a service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_accountassignment_types.go b/apis/ssoadmin/v1beta1/zz_accountassignment_types.go index b5ab5f3f09..717fe70c18 100755 --- a/apis/ssoadmin/v1beta1/zz_accountassignment_types.go +++ b/apis/ssoadmin/v1beta1/zz_accountassignment_types.go @@ -122,6 +122,7 @@ type AccountAssignmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // AccountAssignment is the Schema for the AccountAssignments API. Manages a Single Sign-On (SSO) Account Assignment // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_customermanagedpolicyattachment_types.go b/apis/ssoadmin/v1beta1/zz_customermanagedpolicyattachment_types.go index cdca7f2c98..2625f3679f 100755 --- a/apis/ssoadmin/v1beta1/zz_customermanagedpolicyattachment_types.go +++ b/apis/ssoadmin/v1beta1/zz_customermanagedpolicyattachment_types.go @@ -144,6 +144,7 @@ type CustomerManagedPolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // CustomerManagedPolicyAttachment is the Schema for the CustomerManagedPolicyAttachments API. Manages a customer managed policy for a Single Sign-On (SSO) Permission Set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_instanceaccesscontrolattributes_types.go b/apis/ssoadmin/v1beta1/zz_instanceaccesscontrolattributes_types.go index 8dcd0e9f7b..24021be899 100755 --- a/apis/ssoadmin/v1beta1/zz_instanceaccesscontrolattributes_types.go +++ b/apis/ssoadmin/v1beta1/zz_instanceaccesscontrolattributes_types.go @@ -131,6 +131,7 @@ type InstanceAccessControlAttributesStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // InstanceAccessControlAttributes is the Schema for the InstanceAccessControlAttributess API. Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_managedpolicyattachment_types.go b/apis/ssoadmin/v1beta1/zz_managedpolicyattachment_types.go index 9c2d1b5fd4..0ee3574daa 100755 --- a/apis/ssoadmin/v1beta1/zz_managedpolicyattachment_types.go +++ b/apis/ssoadmin/v1beta1/zz_managedpolicyattachment_types.go @@ -93,6 +93,7 @@ type ManagedPolicyAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ManagedPolicyAttachment is the Schema for the ManagedPolicyAttachments API. Manages an IAM managed policy for a Single Sign-On (SSO) Permission Set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_permissionsboundaryattachment_types.go b/apis/ssoadmin/v1beta1/zz_permissionsboundaryattachment_types.go index 17d2a4506e..4c0b09cf6f 100755 --- a/apis/ssoadmin/v1beta1/zz_permissionsboundaryattachment_types.go +++ b/apis/ssoadmin/v1beta1/zz_permissionsboundaryattachment_types.go @@ -169,6 +169,7 @@ type PermissionsBoundaryAttachmentStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PermissionsBoundaryAttachment is the Schema for the PermissionsBoundaryAttachments API. Attaches a permissions boundary policy to a Single Sign-On (SSO) Permission Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_permissionset_types.go b/apis/ssoadmin/v1beta1/zz_permissionset_types.go index f3bc2cb509..c8e5b8dfe9 100755 --- a/apis/ssoadmin/v1beta1/zz_permissionset_types.go +++ b/apis/ssoadmin/v1beta1/zz_permissionset_types.go @@ -132,6 +132,7 @@ type PermissionSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PermissionSet is the Schema for the PermissionSets API. Manages a Single Sign-On (SSO) Permission Set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/ssoadmin/v1beta1/zz_permissionsetinlinepolicy_types.go b/apis/ssoadmin/v1beta1/zz_permissionsetinlinepolicy_types.go index 7ec0c0090c..a8ef4af27d 100755 --- a/apis/ssoadmin/v1beta1/zz_permissionsetinlinepolicy_types.go +++ b/apis/ssoadmin/v1beta1/zz_permissionsetinlinepolicy_types.go @@ -93,6 +93,7 @@ type PermissionSetInlinePolicyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // PermissionSetInlinePolicy is the Schema for the PermissionSetInlinePolicys API. Manages an IAM inline policy for a Single Sign-On (SSO) Permission Set // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/swf/v1beta1/zz_domain_types.go b/apis/swf/v1beta1/zz_domain_types.go index 31234ea3ea..11fcfde978 100755 --- a/apis/swf/v1beta1/zz_domain_types.go +++ b/apis/swf/v1beta1/zz_domain_types.go @@ -99,6 +99,7 @@ type DomainStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Domain is the Schema for the Domains API. Provides an SWF Domain resource // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/timestreamwrite/v1beta1/zz_database_types.go b/apis/timestreamwrite/v1beta1/zz_database_types.go index 1c6e0aa165..cadd4b6de1 100755 --- a/apis/timestreamwrite/v1beta1/zz_database_types.go +++ b/apis/timestreamwrite/v1beta1/zz_database_types.go @@ -110,6 +110,7 @@ type DatabaseStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Database is the Schema for the Databases API. Provides a Timestream database resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/timestreamwrite/v1beta1/zz_table_types.go b/apis/timestreamwrite/v1beta1/zz_table_types.go index 968f52b81f..0bb7373918 100755 --- a/apis/timestreamwrite/v1beta1/zz_table_types.go +++ b/apis/timestreamwrite/v1beta1/zz_table_types.go @@ -316,6 +316,7 @@ type TableStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Table is the Schema for the Tables API. Provides a Timestream table resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transcribe/v1beta1/zz_languagemodel_types.go b/apis/transcribe/v1beta1/zz_languagemodel_types.go index fcea9630a1..218d16f7c1 100755 --- a/apis/transcribe/v1beta1/zz_languagemodel_types.go +++ b/apis/transcribe/v1beta1/zz_languagemodel_types.go @@ -167,6 +167,7 @@ type LanguageModelStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // LanguageModel is the Schema for the LanguageModels API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transcribe/v1beta1/zz_vocabulary_types.go b/apis/transcribe/v1beta1/zz_vocabulary_types.go index de18140400..d65600534d 100755 --- a/apis/transcribe/v1beta1/zz_vocabulary_types.go +++ b/apis/transcribe/v1beta1/zz_vocabulary_types.go @@ -111,6 +111,7 @@ type VocabularyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Vocabulary is the Schema for the Vocabularys API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transcribe/v1beta1/zz_vocabularyfilter_types.go b/apis/transcribe/v1beta1/zz_vocabularyfilter_types.go index 5fe8ba6fdb..7383d3ef12 100755 --- a/apis/transcribe/v1beta1/zz_vocabularyfilter_types.go +++ b/apis/transcribe/v1beta1/zz_vocabularyfilter_types.go @@ -111,6 +111,7 @@ type VocabularyFilterStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // VocabularyFilter is the Schema for the VocabularyFilters API. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transfer/v1beta1/zz_server_types.go b/apis/transfer/v1beta1/zz_server_types.go index 35e6afe015..ba540479d1 100755 --- a/apis/transfer/v1beta1/zz_server_types.go +++ b/apis/transfer/v1beta1/zz_server_types.go @@ -553,6 +553,7 @@ type ServerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Server is the Schema for the Servers API. Provides a AWS Transfer Server resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transfer/v1beta1/zz_sshkey_types.go b/apis/transfer/v1beta1/zz_sshkey_types.go index ef5f66cd37..714911d21c 100755 --- a/apis/transfer/v1beta1/zz_sshkey_types.go +++ b/apis/transfer/v1beta1/zz_sshkey_types.go @@ -126,6 +126,7 @@ type SSHKeyStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SSHKey is the Schema for the SSHKeys API. Provides a AWS Transfer SSH Public Key resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transfer/v1beta1/zz_tag_types.go b/apis/transfer/v1beta1/zz_tag_types.go index bad045c6cd..e4b727268d 100755 --- a/apis/transfer/v1beta1/zz_tag_types.go +++ b/apis/transfer/v1beta1/zz_tag_types.go @@ -109,6 +109,7 @@ type TagStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Tag is the Schema for the Tags API. Manages an individual Transfer Family resource tag // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transfer/v1beta1/zz_user_types.go b/apis/transfer/v1beta1/zz_user_types.go index 5ac6089e91..843696fae0 100755 --- a/apis/transfer/v1beta1/zz_user_types.go +++ b/apis/transfer/v1beta1/zz_user_types.go @@ -257,6 +257,7 @@ type UserStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // User is the Schema for the Users API. Provides a AWS Transfer User resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/transfer/v1beta1/zz_workflow_types.go b/apis/transfer/v1beta1/zz_workflow_types.go index 332dc7e0fd..6c28b3cfd2 100755 --- a/apis/transfer/v1beta1/zz_workflow_types.go +++ b/apis/transfer/v1beta1/zz_workflow_types.go @@ -1123,6 +1123,7 @@ type WorkflowStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Workflow is the Schema for the Workflows API. Provides a AWS Transfer Workflow resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/vpc/v1beta1/zz_networkperformancemetricsubscription_types.go b/apis/vpc/v1beta1/zz_networkperformancemetricsubscription_types.go index 1be317d706..715fcd0af0 100755 --- a/apis/vpc/v1beta1/zz_networkperformancemetricsubscription_types.go +++ b/apis/vpc/v1beta1/zz_networkperformancemetricsubscription_types.go @@ -101,6 +101,7 @@ type NetworkPerformanceMetricSubscriptionStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // NetworkPerformanceMetricSubscription is the Schema for the NetworkPerformanceMetricSubscriptions API. Provides a resource to manage an Infrastructure Performance subscription. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_bytematchset_types.go b/apis/waf/v1beta1/zz_bytematchset_types.go index 9fcad92b59..7c0f8085ad 100755 --- a/apis/waf/v1beta1/zz_bytematchset_types.go +++ b/apis/waf/v1beta1/zz_bytematchset_types.go @@ -205,6 +205,7 @@ type ByteMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ByteMatchSet is the Schema for the ByteMatchSets API. Provides a AWS WAF Byte Match Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_geomatchset_types.go b/apis/waf/v1beta1/zz_geomatchset_types.go index da5e9c1283..14ef831d12 100755 --- a/apis/waf/v1beta1/zz_geomatchset_types.go +++ b/apis/waf/v1beta1/zz_geomatchset_types.go @@ -117,6 +117,7 @@ type GeoMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GeoMatchSet is the Schema for the GeoMatchSets API. Provides a AWS WAF GeoMatchSet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_ipset_types.go b/apis/waf/v1beta1/zz_ipset_types.go index 310e3e1db8..8a05898f7b 100755 --- a/apis/waf/v1beta1/zz_ipset_types.go +++ b/apis/waf/v1beta1/zz_ipset_types.go @@ -111,6 +111,7 @@ type IPSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IPSet is the Schema for the IPSets API. Provides a AWS WAF IPSet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_ratebasedrule_types.go b/apis/waf/v1beta1/zz_ratebasedrule_types.go index af2c869b8f..1e155f4037 100755 --- a/apis/waf/v1beta1/zz_ratebasedrule_types.go +++ b/apis/waf/v1beta1/zz_ratebasedrule_types.go @@ -197,6 +197,7 @@ type RateBasedRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RateBasedRule is the Schema for the RateBasedRules API. Provides a AWS WAF rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_regexmatchset_types.go b/apis/waf/v1beta1/zz_regexmatchset_types.go index 65dbb73b20..294c506579 100755 --- a/apis/waf/v1beta1/zz_regexmatchset_types.go +++ b/apis/waf/v1beta1/zz_regexmatchset_types.go @@ -191,6 +191,7 @@ type RegexMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegexMatchSet is the Schema for the RegexMatchSets API. Provides a AWS WAF Regex Match Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_regexpatternset_types.go b/apis/waf/v1beta1/zz_regexpatternset_types.go index 6708b58dd7..f79a897ba1 100755 --- a/apis/waf/v1beta1/zz_regexpatternset_types.go +++ b/apis/waf/v1beta1/zz_regexpatternset_types.go @@ -85,6 +85,7 @@ type RegexPatternSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegexPatternSet is the Schema for the RegexPatternSets API. Provides a AWS WAF Regex Pattern Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_rule_types.go b/apis/waf/v1beta1/zz_rule_types.go index 0c3673f173..75d7bb9c51 100755 --- a/apis/waf/v1beta1/zz_rule_types.go +++ b/apis/waf/v1beta1/zz_rule_types.go @@ -177,6 +177,7 @@ type RuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Rule is the Schema for the Rules API. Provides a AWS WAF rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_sizeconstraintset_types.go b/apis/waf/v1beta1/zz_sizeconstraintset_types.go index e58aeebe44..4cf7b3c92d 100755 --- a/apis/waf/v1beta1/zz_sizeconstraintset_types.go +++ b/apis/waf/v1beta1/zz_sizeconstraintset_types.go @@ -163,6 +163,7 @@ type SizeConstraintSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SizeConstraintSet is the Schema for the SizeConstraintSets API. The // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_sqlinjectionmatchset_types.go b/apis/waf/v1beta1/zz_sqlinjectionmatchset_types.go index 3c32ac27cc..2cd6644339 100755 --- a/apis/waf/v1beta1/zz_sqlinjectionmatchset_types.go +++ b/apis/waf/v1beta1/zz_sqlinjectionmatchset_types.go @@ -161,6 +161,7 @@ type SQLInjectionMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SQLInjectionMatchSet is the Schema for the SQLInjectionMatchSets API. Provides a AWS WAF SQL Injection Match Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_webacl_types.go b/apis/waf/v1beta1/zz_webacl_types.go index c0fa884425..e72d4bbb89 100755 --- a/apis/waf/v1beta1/zz_webacl_types.go +++ b/apis/waf/v1beta1/zz_webacl_types.go @@ -368,6 +368,7 @@ type WebACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // WebACL is the Schema for the WebACLs API. Provides a AWS WAF web access control group (ACL) resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/waf/v1beta1/zz_xssmatchset_types.go b/apis/waf/v1beta1/zz_xssmatchset_types.go index 7e0155d373..9892b48e21 100755 --- a/apis/waf/v1beta1/zz_xssmatchset_types.go +++ b/apis/waf/v1beta1/zz_xssmatchset_types.go @@ -164,6 +164,7 @@ type XSSMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // XSSMatchSet is the Schema for the XSSMatchSets API. Provides a AWS WAF XssMatchSet resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_bytematchset_types.go b/apis/wafregional/v1beta1/zz_bytematchset_types.go index f799f9b2b2..9e9f4bb6de 100755 --- a/apis/wafregional/v1beta1/zz_bytematchset_types.go +++ b/apis/wafregional/v1beta1/zz_bytematchset_types.go @@ -157,6 +157,7 @@ type ByteMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // ByteMatchSet is the Schema for the ByteMatchSets API. Provides a AWS WAF Regional ByteMatchSet resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_geomatchset_types.go b/apis/wafregional/v1beta1/zz_geomatchset_types.go index 390e50bf12..61e40bdafc 100755 --- a/apis/wafregional/v1beta1/zz_geomatchset_types.go +++ b/apis/wafregional/v1beta1/zz_geomatchset_types.go @@ -114,6 +114,7 @@ type GeoMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // GeoMatchSet is the Schema for the GeoMatchSets API. Provides a AWS WAF Regional Geo Match Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_ipset_types.go b/apis/wafregional/v1beta1/zz_ipset_types.go index 12ebc2588d..77a875a601 100755 --- a/apis/wafregional/v1beta1/zz_ipset_types.go +++ b/apis/wafregional/v1beta1/zz_ipset_types.go @@ -111,6 +111,7 @@ type IPSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IPSet is the Schema for the IPSets API. Provides a AWS WAF Regional IPSet resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_ratebasedrule_types.go b/apis/wafregional/v1beta1/zz_ratebasedrule_types.go index 4f8b97970f..f2e60fdd1c 100755 --- a/apis/wafregional/v1beta1/zz_ratebasedrule_types.go +++ b/apis/wafregional/v1beta1/zz_ratebasedrule_types.go @@ -197,6 +197,7 @@ type RateBasedRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RateBasedRule is the Schema for the RateBasedRules API. Provides a AWS WAF Regional rate based rule resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_regexmatchset_types.go b/apis/wafregional/v1beta1/zz_regexmatchset_types.go index 36ad427821..f836f6f438 100755 --- a/apis/wafregional/v1beta1/zz_regexmatchset_types.go +++ b/apis/wafregional/v1beta1/zz_regexmatchset_types.go @@ -188,6 +188,7 @@ type RegexMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegexMatchSet is the Schema for the RegexMatchSets API. Provides a AWS WAF Regional Regex Match Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_regexpatternset_types.go b/apis/wafregional/v1beta1/zz_regexpatternset_types.go index 47b5bb603e..e1a6c831f2 100755 --- a/apis/wafregional/v1beta1/zz_regexpatternset_types.go +++ b/apis/wafregional/v1beta1/zz_regexpatternset_types.go @@ -82,6 +82,7 @@ type RegexPatternSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegexPatternSet is the Schema for the RegexPatternSets API. Provides a AWS WAF Regional Regex Pattern Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_rule_types.go b/apis/wafregional/v1beta1/zz_rule_types.go index 2444fac57f..3b8ee70fea 100755 --- a/apis/wafregional/v1beta1/zz_rule_types.go +++ b/apis/wafregional/v1beta1/zz_rule_types.go @@ -168,6 +168,7 @@ type RuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Rule is the Schema for the Rules API. Provides an AWS WAF Regional rule resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_sizeconstraintset_types.go b/apis/wafregional/v1beta1/zz_sizeconstraintset_types.go index 165df771bd..ede3429b1c 100755 --- a/apis/wafregional/v1beta1/zz_sizeconstraintset_types.go +++ b/apis/wafregional/v1beta1/zz_sizeconstraintset_types.go @@ -194,6 +194,7 @@ type SizeConstraintSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SizeConstraintSet is the Schema for the SizeConstraintSets API. Provides an AWS WAF Regional Size Constraint Set resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_sqlinjectionmatchset_types.go b/apis/wafregional/v1beta1/zz_sqlinjectionmatchset_types.go index fb1f608a23..ef2b05284f 100755 --- a/apis/wafregional/v1beta1/zz_sqlinjectionmatchset_types.go +++ b/apis/wafregional/v1beta1/zz_sqlinjectionmatchset_types.go @@ -161,6 +161,7 @@ type SQLInjectionMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SQLInjectionMatchSet is the Schema for the SQLInjectionMatchSets API. Provides a AWS WAF Regional SqlInjectionMatchSet resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_webacl_types.go b/apis/wafregional/v1beta1/zz_webacl_types.go index 7ac8566f0e..d1bc1117e1 100755 --- a/apis/wafregional/v1beta1/zz_webacl_types.go +++ b/apis/wafregional/v1beta1/zz_webacl_types.go @@ -365,6 +365,7 @@ type WebACLStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // WebACL is the Schema for the WebACLs API. Provides a AWS WAF Regional web access control group (ACL) resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafregional/v1beta1/zz_xssmatchset_types.go b/apis/wafregional/v1beta1/zz_xssmatchset_types.go index 32d7c7d4e5..4962f3da22 100755 --- a/apis/wafregional/v1beta1/zz_xssmatchset_types.go +++ b/apis/wafregional/v1beta1/zz_xssmatchset_types.go @@ -137,6 +137,7 @@ type XSSMatchSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // XSSMatchSet is the Schema for the XSSMatchSets API. Provides an AWS WAF Regional XSS Match Set resource for use with ALB. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafv2/v1beta1/zz_ipset_types.go b/apis/wafv2/v1beta1/zz_ipset_types.go index 23378e2ecf..d099cf6e00 100755 --- a/apis/wafv2/v1beta1/zz_ipset_types.go +++ b/apis/wafv2/v1beta1/zz_ipset_types.go @@ -134,6 +134,7 @@ type IPSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IPSet is the Schema for the IPSets API. Provides an AWS WAFv2 IP Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/wafv2/v1beta1/zz_regexpatternset_types.go b/apis/wafv2/v1beta1/zz_regexpatternset_types.go index 032a59b371..89e33053a3 100755 --- a/apis/wafv2/v1beta1/zz_regexpatternset_types.go +++ b/apis/wafv2/v1beta1/zz_regexpatternset_types.go @@ -140,6 +140,7 @@ type RegexPatternSetStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // RegexPatternSet is the Schema for the RegexPatternSets API. Provides an AWS WAFv2 Regex Pattern Set resource. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/workspaces/v1beta1/zz_directory_types.go b/apis/workspaces/v1beta1/zz_directory_types.go index 8e3ac5b659..3a1528c874 100755 --- a/apis/workspaces/v1beta1/zz_directory_types.go +++ b/apis/workspaces/v1beta1/zz_directory_types.go @@ -436,6 +436,7 @@ type DirectoryStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Directory is the Schema for the Directorys API. Provides a WorkSpaces directory in AWS WorkSpaces Service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/workspaces/v1beta1/zz_ipgroup_types.go b/apis/workspaces/v1beta1/zz_ipgroup_types.go index 51af85adb3..f424960fa6 100755 --- a/apis/workspaces/v1beta1/zz_ipgroup_types.go +++ b/apis/workspaces/v1beta1/zz_ipgroup_types.go @@ -135,6 +135,7 @@ type IPGroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // IPGroup is the Schema for the IPGroups API. Provides an IP access control group in AWS WorkSpaces Service. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/xray/v1beta1/zz_encryptionconfig_types.go b/apis/xray/v1beta1/zz_encryptionconfig_types.go index 038adaf2f7..507087c83f 100755 --- a/apis/xray/v1beta1/zz_encryptionconfig_types.go +++ b/apis/xray/v1beta1/zz_encryptionconfig_types.go @@ -99,6 +99,7 @@ type EncryptionConfigStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // EncryptionConfig is the Schema for the EncryptionConfigs API. Creates and manages an AWS XRay Encryption Config. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/xray/v1beta1/zz_group_types.go b/apis/xray/v1beta1/zz_group_types.go index 9a25a99774..c4d8c312af 100755 --- a/apis/xray/v1beta1/zz_group_types.go +++ b/apis/xray/v1beta1/zz_group_types.go @@ -138,6 +138,7 @@ type GroupStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // Group is the Schema for the Groups API. Creates and manages an AWS XRay Group. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/xray/v1beta1/zz_samplingrule_types.go b/apis/xray/v1beta1/zz_samplingrule_types.go index 21a20c79ce..f6d7431e14 100755 --- a/apis/xray/v1beta1/zz_samplingrule_types.go +++ b/apis/xray/v1beta1/zz_samplingrule_types.go @@ -192,6 +192,7 @@ type SamplingRuleStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status +// +kubebuilder:storageversion // SamplingRule is the Schema for the SamplingRules API. Creates and manages an AWS XRay Sampling Rule. // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" diff --git a/apis/zz_register.go b/apis/zz_register.go index f4faa82d0b..2e40e83bfc 100755 --- a/apis/zz_register.go +++ b/apis/zz_register.go @@ -33,6 +33,7 @@ import ( v1beta1appsync "github.com/upbound/provider-aws/apis/appsync/v1beta1" v1beta1athena "github.com/upbound/provider-aws/apis/athena/v1beta1" v1beta1autoscaling "github.com/upbound/provider-aws/apis/autoscaling/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/autoscaling/v1beta2" v1beta1autoscalingplans "github.com/upbound/provider-aws/apis/autoscalingplans/v1beta1" v1beta1backup "github.com/upbound/provider-aws/apis/backup/v1beta1" v1beta1batch "github.com/upbound/provider-aws/apis/batch/v1beta1" @@ -56,6 +57,7 @@ import ( v1beta1cognitoidp "github.com/upbound/provider-aws/apis/cognitoidp/v1beta1" v1beta1configservice "github.com/upbound/provider-aws/apis/configservice/v1beta1" v1beta1connect "github.com/upbound/provider-aws/apis/connect/v1beta1" + v1beta2connect "github.com/upbound/provider-aws/apis/connect/v1beta2" v1beta1cur "github.com/upbound/provider-aws/apis/cur/v1beta1" v1beta1dataexchange "github.com/upbound/provider-aws/apis/dataexchange/v1beta1" v1beta1datapipeline "github.com/upbound/provider-aws/apis/datapipeline/v1beta1" @@ -71,12 +73,14 @@ import ( v1beta1ds "github.com/upbound/provider-aws/apis/ds/v1beta1" v1beta1dynamodb "github.com/upbound/provider-aws/apis/dynamodb/v1beta1" v1beta1ec2 "github.com/upbound/provider-aws/apis/ec2/v1beta1" + v1beta2ec2 "github.com/upbound/provider-aws/apis/ec2/v1beta2" v1beta1ecr "github.com/upbound/provider-aws/apis/ecr/v1beta1" v1beta1ecrpublic "github.com/upbound/provider-aws/apis/ecrpublic/v1beta1" v1beta1ecs "github.com/upbound/provider-aws/apis/ecs/v1beta1" v1beta1efs "github.com/upbound/provider-aws/apis/efs/v1beta1" v1beta1eks "github.com/upbound/provider-aws/apis/eks/v1beta1" v1beta1elasticache "github.com/upbound/provider-aws/apis/elasticache/v1beta1" + v1beta2elasticache "github.com/upbound/provider-aws/apis/elasticache/v1beta2" v1beta1elasticbeanstalk "github.com/upbound/provider-aws/apis/elasticbeanstalk/v1beta1" v1beta1elasticsearch "github.com/upbound/provider-aws/apis/elasticsearch/v1beta1" v1beta1elastictranscoder "github.com/upbound/provider-aws/apis/elastictranscoder/v1beta1" @@ -102,6 +106,7 @@ import ( v1beta1iot "github.com/upbound/provider-aws/apis/iot/v1beta1" v1beta1ivs "github.com/upbound/provider-aws/apis/ivs/v1beta1" v1beta1kafka "github.com/upbound/provider-aws/apis/kafka/v1beta1" + v1beta2kafka "github.com/upbound/provider-aws/apis/kafka/v1beta2" v1beta1kendra "github.com/upbound/provider-aws/apis/kendra/v1beta1" v1beta1keyspaces "github.com/upbound/provider-aws/apis/keyspaces/v1beta1" v1beta1kinesis "github.com/upbound/provider-aws/apis/kinesis/v1beta1" @@ -133,6 +138,7 @@ import ( v1beta1quicksight "github.com/upbound/provider-aws/apis/quicksight/v1beta1" v1beta1ram "github.com/upbound/provider-aws/apis/ram/v1beta1" v1beta1rds "github.com/upbound/provider-aws/apis/rds/v1beta1" + v1beta2rds "github.com/upbound/provider-aws/apis/rds/v1beta2" v1beta1redshift "github.com/upbound/provider-aws/apis/redshift/v1beta1" v1beta1redshiftserverless "github.com/upbound/provider-aws/apis/redshiftserverless/v1beta1" v1beta1resourcegroups "github.com/upbound/provider-aws/apis/resourcegroups/v1beta1" @@ -198,6 +204,9 @@ func init() { v1beta1appsync.SchemeBuilder.AddToScheme, v1beta1athena.SchemeBuilder.AddToScheme, v1beta1autoscaling.SchemeBuilder.AddToScheme, + v1beta1autoscaling.SchemeBuilder.AddToScheme, + v1beta1autoscaling.SchemeBuilder.AddToScheme, + v1beta2.SchemeBuilder.AddToScheme, v1beta1autoscalingplans.SchemeBuilder.AddToScheme, v1beta1backup.SchemeBuilder.AddToScheme, v1beta1batch.SchemeBuilder.AddToScheme, @@ -221,6 +230,10 @@ func init() { v1beta1cognitoidp.SchemeBuilder.AddToScheme, v1beta1configservice.SchemeBuilder.AddToScheme, v1beta1connect.SchemeBuilder.AddToScheme, + v1beta1connect.SchemeBuilder.AddToScheme, + v1beta1connect.SchemeBuilder.AddToScheme, + v1beta1connect.SchemeBuilder.AddToScheme, + v1beta2connect.SchemeBuilder.AddToScheme, v1beta1cur.SchemeBuilder.AddToScheme, v1beta1dataexchange.SchemeBuilder.AddToScheme, v1beta1datapipeline.SchemeBuilder.AddToScheme, @@ -236,12 +249,17 @@ func init() { v1beta1ds.SchemeBuilder.AddToScheme, v1beta1dynamodb.SchemeBuilder.AddToScheme, v1beta1ec2.SchemeBuilder.AddToScheme, + v1beta1ec2.SchemeBuilder.AddToScheme, + v1beta1ec2.SchemeBuilder.AddToScheme, + v1beta2ec2.SchemeBuilder.AddToScheme, v1beta1ecr.SchemeBuilder.AddToScheme, v1beta1ecrpublic.SchemeBuilder.AddToScheme, v1beta1ecs.SchemeBuilder.AddToScheme, v1beta1efs.SchemeBuilder.AddToScheme, v1beta1eks.SchemeBuilder.AddToScheme, v1beta1elasticache.SchemeBuilder.AddToScheme, + v1beta1elasticache.SchemeBuilder.AddToScheme, + v1beta2elasticache.SchemeBuilder.AddToScheme, v1beta1elasticbeanstalk.SchemeBuilder.AddToScheme, v1beta1elasticsearch.SchemeBuilder.AddToScheme, v1beta1elastictranscoder.SchemeBuilder.AddToScheme, @@ -267,6 +285,8 @@ func init() { v1beta1iot.SchemeBuilder.AddToScheme, v1beta1ivs.SchemeBuilder.AddToScheme, v1beta1kafka.SchemeBuilder.AddToScheme, + v1beta1kafka.SchemeBuilder.AddToScheme, + v1beta2kafka.SchemeBuilder.AddToScheme, v1beta1kendra.SchemeBuilder.AddToScheme, v1beta1keyspaces.SchemeBuilder.AddToScheme, v1beta1kinesis.SchemeBuilder.AddToScheme, @@ -298,6 +318,8 @@ func init() { v1beta1quicksight.SchemeBuilder.AddToScheme, v1beta1ram.SchemeBuilder.AddToScheme, v1beta1rds.SchemeBuilder.AddToScheme, + v1beta1rds.SchemeBuilder.AddToScheme, + v1beta2rds.SchemeBuilder.AddToScheme, v1beta1redshift.SchemeBuilder.AddToScheme, v1beta1redshiftserverless.SchemeBuilder.AddToScheme, v1beta1resourcegroups.SchemeBuilder.AddToScheme, diff --git a/config/autoscaling/config.go b/config/autoscaling/config.go index 61ffaf72ab..a7351194bc 100644 --- a/config/autoscaling/config.go +++ b/config/autoscaling/config.go @@ -5,8 +5,14 @@ Copyright 2021 Upbound Inc. package autoscaling import ( + "strconv" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/config/conversion" + "github.com/upbound/provider-aws/apis/autoscaling/v1beta1" + "github.com/upbound/provider-aws/apis/autoscaling/v1beta2" "github.com/upbound/provider-aws/config/common" ) @@ -27,6 +33,12 @@ func Configure(p *config.Provider) { } delete(r.References, "launch_template.version") r.UseAsync = true + + r.Version = "v1beta2" + r.Conversions = append(r.Conversions, + conversion.NewCustomConverter("v1beta1", "v1beta2", autoScalingGroupConverterFromv1beta1Tov1beta2), + conversion.NewCustomConverter("v1beta2", "v1beta1", autoScalingGroupConverterFromv1beta2Tov1beta1), + ) }) p.AddResourceConfigurator("aws_autoscaling_attachment", func(r *config.Resource) { r.References["autoscaling_group_name"] = config.Reference{ @@ -41,5 +53,147 @@ func Configure(p *config.Provider) { r.References["autoscaling_group_name"] = config.Reference{ Type: "github.com/upbound/provider-aws/apis/autoscaling/v1beta1.AutoscalingGroup", } + r.OverrideFieldNames = map[string]string{ + "TagParameters": "GroupTagTagParameters", + "TagObservation": "GroupTagTagObservation", + "TagInitParameters": "GroupTagTagInitParameters", + } }) } + +func autoScalingGroupConverterFromv1beta1Tov1beta2(src, target xpresource.Managed) error { //nolint:gocyclo + srcTyped := src.(*v1beta1.AutoscalingGroup) + targetTyped := target.(*v1beta2.AutoscalingGroup) + + if srcTyped.Spec.ForProvider.Tags != nil { + var tl []v1beta2.TagParameters + for _, e := range srcTyped.Spec.ForProvider.Tags { + tp := v1beta2.TagParameters{ + Key: e["key"], + Value: e["value"], + } + if e["propagate_at_launch"] != nil { + propagateAtLaunchStr := e["propagate_at_launch"] + propagateAtLaunch, err := strconv.ParseBool(*propagateAtLaunchStr) + cpPropagateAtLaunch := propagateAtLaunch + if err != nil { + return err + } + tp.PropagateAtLaunch = &cpPropagateAtLaunch + } + tl = append(tl, tp) + } + targetTyped.Spec.ForProvider.Tag = tl + } + + if srcTyped.Spec.InitProvider.Tags != nil { + var tl []v1beta2.TagInitParameters + for _, e := range srcTyped.Spec.InitProvider.Tags { + tp := v1beta2.TagInitParameters{ + Key: e["key"], + Value: e["value"], + } + if e["propagate_at_launch"] != nil { + propagateAtLaunchStr := e["propagate_at_launch"] + propagateAtLaunch, err := strconv.ParseBool(*propagateAtLaunchStr) + cpPropagateAtLaunch := propagateAtLaunch + if err != nil { + return err + } + tp.PropagateAtLaunch = &cpPropagateAtLaunch + } + tl = append(tl, tp) + } + targetTyped.Spec.InitProvider.Tag = tl + } + + if srcTyped.Status.AtProvider.Tags != nil { + var tl []v1beta2.TagObservation + for _, e := range srcTyped.Status.AtProvider.Tags { + tp := v1beta2.TagObservation{ + Key: e["key"], + Value: e["value"], + } + if e["propagate_at_launch"] != nil { + propagateAtLaunchStr := e["propagate_at_launch"] + propagateAtLaunch, err := strconv.ParseBool(*propagateAtLaunchStr) + cpPropagateAtLaunch := propagateAtLaunch + if err != nil { + return err + } + tp.PropagateAtLaunch = &cpPropagateAtLaunch + } + tl = append(tl, tp) + } + targetTyped.Status.AtProvider.Tag = tl + } + + return nil +} + +func autoScalingGroupConverterFromv1beta2Tov1beta1(src, target xpresource.Managed) error { //nolint:gocyclo + srcTyped := src.(*v1beta2.AutoscalingGroup) + targetTyped := target.(*v1beta1.AutoscalingGroup) + + if srcTyped.Spec.ForProvider.Tag != nil { + var tl []map[string]*string + for _, e := range srcTyped.Spec.ForProvider.Tag { + m := map[string]*string{} + if e.Key != nil { + m["key"] = e.Key + } + if e.Value != nil { + m["value"] = e.Value + } + if e.PropagateAtLaunch != nil { + propagateAtLaunch := strconv.FormatBool(*e.PropagateAtLaunch) + cpPropagateAtLaunch := propagateAtLaunch + m["propagate_at_launch"] = &cpPropagateAtLaunch + } + tl = append(tl, m) + } + targetTyped.Spec.ForProvider.Tags = tl + } + + if srcTyped.Spec.InitProvider.Tag != nil { + var tl []map[string]*string + for _, e := range srcTyped.Spec.InitProvider.Tag { + m := map[string]*string{} + if e.Key != nil { + m["key"] = e.Key + } + if e.Value != nil { + m["value"] = e.Value + } + if e.PropagateAtLaunch != nil { + propagateAtLaunch := strconv.FormatBool(*e.PropagateAtLaunch) + cpPropagateAtLaunch := propagateAtLaunch + m["propagate_at_launch"] = &cpPropagateAtLaunch + } + tl = append(tl, m) + } + targetTyped.Spec.InitProvider.Tags = tl + } + + if srcTyped.Status.AtProvider.Tag != nil { + var tl []map[string]*string + for _, e := range srcTyped.Status.AtProvider.Tag { + m := map[string]*string{} + if e.Key != nil { + m["key"] = e.Key + } + if e.Value != nil { + m["value"] = e.Value + } + if e.PropagateAtLaunch != nil { + propagateAtLaunch := strconv.FormatBool(*e.PropagateAtLaunch) + cpPropagateAtLaunch := propagateAtLaunch + m["propagate_at_launch"] = &cpPropagateAtLaunch + } + tl = append(tl, m) + } + targetTyped.Status.AtProvider.Tags = tl + } + + return nil +} diff --git a/config/autoscaling/config_test.go b/config/autoscaling/config_test.go new file mode 100644 index 0000000000..ae1bd3cc51 --- /dev/null +++ b/config/autoscaling/config_test.go @@ -0,0 +1,370 @@ +/* +Copyright 2021 Upbound Inc. +*/ + +package autoscaling + +import ( + "strconv" + "testing" + + "github.com/google/go-cmp/cmp" + "github.com/pkg/errors" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/crossplane-runtime/pkg/test" + + "github.com/upbound/provider-aws/apis/autoscaling/v1beta1" + "github.com/upbound/provider-aws/apis/autoscaling/v1beta2" +) + +var ( + key = "key" + value = "value" + propagateAtLaunch = "true" + propagateAtLaunchBool = true +) + +func TestAutoScalingGroupConverterFromv1beta1Tov1beta2(t *testing.T) { + type args struct { + src xpresource.Managed + target xpresource.Managed + } + type want struct { + target xpresource.Managed + err error + } + cases := map[string]struct { + args args + want want + }{ + "Successful": { + args: args{ + src: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + InitProvider: v1beta1.AutoscalingGroupInitParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + Status: v1beta1.AutoscalingGroupStatus{ + AtProvider: v1beta1.AutoscalingGroupObservation{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + }, + target: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{}, + }, + }, + }, + want: want{ + target: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{ + Tag: []v1beta2.TagParameters{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + InitProvider: v1beta2.AutoscalingGroupInitParameters{ + Tag: []v1beta2.TagInitParameters{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + Status: v1beta2.AutoscalingGroupStatus{ + AtProvider: v1beta2.AutoscalingGroupObservation{ + Tag: []v1beta2.TagObservation{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + }, + err: nil, + }, + }, + "Unsuccessful": { + args: args{ + src: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &value, + }, + }, + }, + }, + }, + target: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{}, + }, + }, + }, + want: want{ + err: &strconv.NumError{Func: "ParseBool", Num: value, Err: errors.New("invalid syntax")}, + target: &v1beta2.AutoscalingGroup{}, + }, + }, + "MissingKey": { + args: args{ + src: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{ + Tags: []map[string]*string{ + { + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + }, + target: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{}, + }, + }, + }, + want: want{ + target: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{ + Tag: []v1beta2.TagParameters{ + { + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + }, + err: nil, + }, + }, + } + + for name, tc := range cases { + t.Run(name, func(t *testing.T) { + err := autoScalingGroupConverterFromv1beta1Tov1beta2(tc.args.src, tc.args.target) + if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" { + t.Errorf("autoScalingGroupConverterFromv1beta1Tov1beta2(...): -want error, +got error:\n%s", diff) + } + if diff := cmp.Diff(tc.want.target, tc.args.target, test.EquateErrors()); diff != "" { + t.Errorf("autoScalingGroupConverterFromv1beta1Tov1beta2(...): -want target, +got target:\n%s", diff) + } + }) + } +} + +func TestAutoScalingGroupConverterFromv1beta2Tov1beta1(t *testing.T) { + type args struct { + src xpresource.Managed + target xpresource.Managed + } + type want struct { + target xpresource.Managed + err error + } + cases := map[string]struct { + args args + want want + }{ + "Successful": { + args: args{ + src: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{ + Tag: []v1beta2.TagParameters{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + InitProvider: v1beta2.AutoscalingGroupInitParameters{ + Tag: []v1beta2.TagInitParameters{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + Status: v1beta2.AutoscalingGroupStatus{ + AtProvider: v1beta2.AutoscalingGroupObservation{ + Tag: []v1beta2.TagObservation{ + { + Key: &key, + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + }, + target: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{}, + }, + }, + }, + want: want{ + target: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + InitProvider: v1beta1.AutoscalingGroupInitParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + Status: v1beta1.AutoscalingGroupStatus{ + AtProvider: v1beta1.AutoscalingGroupObservation{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + }, + }, + }, + "MissingKey": { + args: args{ + src: &v1beta2.AutoscalingGroup{ + Spec: v1beta2.AutoscalingGroupSpec{ + ForProvider: v1beta2.AutoscalingGroupParameters{ + Tag: []v1beta2.TagParameters{ + { + Key: &key, + Value: &value, + }, + }, + }, + InitProvider: v1beta2.AutoscalingGroupInitParameters{ + Tag: []v1beta2.TagInitParameters{ + { + Key: &key, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + Status: v1beta2.AutoscalingGroupStatus{ + AtProvider: v1beta2.AutoscalingGroupObservation{ + Tag: []v1beta2.TagObservation{ + { + Value: &value, + PropagateAtLaunch: &propagateAtLaunchBool, + }, + }, + }, + }, + }, + target: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{}, + }, + }, + }, + want: want{ + target: &v1beta1.AutoscalingGroup{ + Spec: v1beta1.AutoscalingGroupSpec{ + ForProvider: v1beta1.AutoscalingGroupParameters{ + Tags: []map[string]*string{ + { + key: &key, + value: &value, + }, + }, + }, + InitProvider: v1beta1.AutoscalingGroupInitParameters{ + Tags: []map[string]*string{ + { + key: &key, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + Status: v1beta1.AutoscalingGroupStatus{ + AtProvider: v1beta1.AutoscalingGroupObservation{ + Tags: []map[string]*string{ + { + value: &value, + "propagate_at_launch": &propagateAtLaunch, + }, + }, + }, + }, + }, + }, + }, + } + + for name, tc := range cases { + t.Run(name, func(t *testing.T) { + err := autoScalingGroupConverterFromv1beta2Tov1beta1(tc.args.src, tc.args.target) + if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" { + t.Errorf("autoScalingGroupConverterFromv1beta1Tov1beta2(...): -want error, +got error:\n%s", diff) + } + if diff := cmp.Diff(tc.want.target, tc.args.target, test.EquateErrors()); diff != "" { + t.Errorf("autoScalingGroupConverterFromv1beta1Tov1beta2(...): -want target, +got target:\n%s", diff) + } + }) + } +} diff --git a/config/connect/config.go b/config/connect/config.go index 7efbd37612..adadfd0c06 100644 --- a/config/connect/config.go +++ b/config/connect/config.go @@ -5,11 +5,16 @@ Copyright 2022 Upbound Inc. package connect import ( + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/config/conversion" + + "github.com/upbound/provider-aws/apis/connect/v1beta1" + "github.com/upbound/provider-aws/apis/connect/v1beta2" ) // Configure adds configurations for the connect group. -func Configure(p *config.Provider) { +func Configure(p *config.Provider) { //nolint:gocyclo p.AddResourceConfigurator("aws_connect_contact_flow", func(r *config.Resource) { r.References["instance_id"] = config.Reference{ TerraformName: "aws_connect_instance", @@ -53,6 +58,53 @@ func Configure(p *config.Provider) { TerraformName: "aws_connect_queue", Extractor: `github.com/crossplane/upjet/pkg/resource.ExtractParamPath("queue_id",true)`, } + + r.Version = "v1beta2" + r.Conversions = append(r.Conversions, + conversion.NewCustomConverter("v1beta1", "v1beta2", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta1.RoutingProfile) + targetTyped := target.(*v1beta2.RoutingProfile) + + if srcTyped.Status.AtProvider.QueueConfigsAssociated != nil { + var l []v1beta2.QueueConfigsObservation + for _, e := range srcTyped.Status.AtProvider.QueueConfigsAssociated { + qc := v1beta2.QueueConfigsObservation{ + Channel: e.Channel, + Delay: e.Delay, + Priority: e.Priority, + QueueArn: e.QueueArn, + QueueID: e.QueueID, + QueueName: e.QueueName, + } + l = append(l, qc) + } + targetTyped.Status.AtProvider.QueueConfigs = l + } + + return nil + }), + conversion.NewCustomConverter("v1beta2", "v1beta1", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta2.RoutingProfile) + targetTyped := target.(*v1beta1.RoutingProfile) + + if srcTyped.Status.AtProvider.QueueConfigs != nil { + var l []v1beta1.QueueConfigsAssociatedObservation + for _, e := range srcTyped.Status.AtProvider.QueueConfigs { + qca := v1beta1.QueueConfigsAssociatedObservation{ + Channel: e.Channel, + Delay: e.Delay, + Priority: e.Priority, + QueueArn: e.QueueArn, + QueueID: e.QueueID, + QueueName: e.QueueName, + } + l = append(l, qca) + } + targetTyped.Status.AtProvider.QueueConfigsAssociated = l + } + + return nil + })) }) p.AddResourceConfigurator("aws_connect_security_profile", func(r *config.Resource) { r.References["instance_id"] = config.Reference{ diff --git a/config/ec2/config.go b/config/ec2/config.go index 77c56bcf58..0af097df7e 100644 --- a/config/ec2/config.go +++ b/config/ec2/config.go @@ -260,28 +260,28 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("aws_route", func(r *config.Resource) { r.References["route_table_id"] = config.Reference{ - Type: "RouteTable", + TerraformName: "aws_route_table", } r.References["gateway_id"] = config.Reference{ - Type: "InternetGateway", + TerraformName: "aws_internet_gateway", } r.References["instance_id"] = config.Reference{ - Type: "Instance", + TerraformName: "aws_instance", } r.References["network_interface_id"] = config.Reference{ - Type: "NetworkInterface", + TerraformName: "aws_network_interface", } r.References["transit_gateway_id"] = config.Reference{ - Type: "TransitGateway", + TerraformName: "aws_ec2_transit_gateway", } r.References["vpc_peering_connection_id"] = config.Reference{ - Type: "VPCPeeringConnection", + TerraformName: "aws_vpc_peering_connection", } r.References["vpc_endpoint_id"] = config.Reference{ - Type: "VPCEndpoint", + TerraformName: "aws_vpc_endpoint", } r.References["nat_gateway_id"] = config.Reference{ - Type: "NATGateway", + TerraformName: "aws_nat_gateway", } r.References["destination_prefix_list_id"] = config.Reference{ TerraformName: "aws_ec2_managed_prefix_list", diff --git a/config/elasticache/config.go b/config/elasticache/config.go index 05316e2b04..6314f2a7f7 100644 --- a/config/elasticache/config.go +++ b/config/elasticache/config.go @@ -5,12 +5,18 @@ Copyright 2021 Upbound Inc. package elasticache import ( - "github.com/crossplane/upjet/pkg/config" "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" + "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/config/conversion" + + "github.com/upbound/provider-aws/apis/elasticache/v1beta1" + "github.com/upbound/provider-aws/apis/elasticache/v1beta2" ) // Configure adds configurations for the elasticache group. -func Configure(p *config.Provider) { +func Configure(p *config.Provider) { //nolint:gocyclo p.AddResourceConfigurator("aws_elasticache_cluster", func(r *config.Resource) { r.References["parameter_group_name"] = config.Reference{ TerraformName: "aws_elasticache_parameter_group", @@ -22,7 +28,7 @@ func Configure(p *config.Provider) { p.AddResourceConfigurator("aws_elasticache_replication_group", func(r *config.Resource) { r.References["subnet_group_name"] = config.Reference{ - Type: "SubnetGroup", + Type: "github.com/upbound/provider-aws/apis/elasticache/v1beta1.SubnetGroup", } r.References["kms_key_id"] = config.Reference{ Type: "github.com/upbound/provider-aws/apis/kms/v1beta1.Key", @@ -46,6 +52,70 @@ func Configure(p *config.Provider) { } delete(r.References, "log_delivery_configuration.destination") r.UseAsync = true + + r.Version = "v1beta2" + r.Conversions = append(r.Conversions, + conversion.NewCustomConverter("v1beta1", "v1beta2", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta1.ReplicationGroup) + targetTyped := target.(*v1beta2.ReplicationGroup) + if len(srcTyped.Spec.ForProvider.ClusterMode) > 0 { + if srcTyped.Spec.ForProvider.ClusterMode[0].NumNodeGroups != nil { + targetTyped.Spec.ForProvider.NumNodeGroups = srcTyped.Spec.ForProvider.ClusterMode[0].NumNodeGroups + } + if srcTyped.Spec.ForProvider.ClusterMode[0].ReplicasPerNodeGroup != nil { + targetTyped.Spec.ForProvider.ReplicasPerNodeGroup = srcTyped.Spec.ForProvider.ClusterMode[0].ReplicasPerNodeGroup + } + } + if len(srcTyped.Spec.InitProvider.ClusterMode) > 0 { + if srcTyped.Spec.InitProvider.ClusterMode[0].NumNodeGroups != nil { + targetTyped.Spec.InitProvider.NumNodeGroups = srcTyped.Spec.InitProvider.ClusterMode[0].NumNodeGroups + } + if srcTyped.Spec.InitProvider.ClusterMode[0].ReplicasPerNodeGroup != nil { + targetTyped.Spec.InitProvider.ReplicasPerNodeGroup = srcTyped.Spec.InitProvider.ClusterMode[0].ReplicasPerNodeGroup + } + } + if len(srcTyped.Status.AtProvider.ClusterMode) > 0 { + if srcTyped.Status.AtProvider.ClusterMode[0].NumNodeGroups != nil { + targetTyped.Status.AtProvider.NumNodeGroups = srcTyped.Status.AtProvider.ClusterMode[0].NumNodeGroups + } + if srcTyped.Status.AtProvider.ClusterMode[0].ReplicasPerNodeGroup != nil { + targetTyped.Status.AtProvider.ReplicasPerNodeGroup = srcTyped.Status.AtProvider.ClusterMode[0].ReplicasPerNodeGroup + } + } + return nil + }), + conversion.NewCustomConverter("v1beta2", "v1beta1", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta2.ReplicationGroup) + targetTyped := target.(*v1beta1.ReplicationGroup) + cm := v1beta1.ClusterModeParameters{} + if srcTyped.Spec.ForProvider.NumNodeGroups != nil { + cm.NumNodeGroups = srcTyped.Spec.ForProvider.NumNodeGroups + } + if srcTyped.Spec.ForProvider.ReplicasPerNodeGroup != nil { + cm.ReplicasPerNodeGroup = srcTyped.Spec.ForProvider.ReplicasPerNodeGroup + } + targetTyped.Spec.ForProvider.ClusterMode = []v1beta1.ClusterModeParameters{cm} + + cmi := v1beta1.ClusterModeInitParameters{} + if srcTyped.Spec.InitProvider.NumNodeGroups != nil { + cm.NumNodeGroups = srcTyped.Spec.InitProvider.NumNodeGroups + } + if srcTyped.Spec.InitProvider.ReplicasPerNodeGroup != nil { + cm.ReplicasPerNodeGroup = srcTyped.Spec.InitProvider.ReplicasPerNodeGroup + } + targetTyped.Spec.InitProvider.ClusterMode = []v1beta1.ClusterModeInitParameters{cmi} + + cmo := v1beta1.ClusterModeObservation{} + if srcTyped.Status.AtProvider.NumNodeGroups != nil { + cm.NumNodeGroups = srcTyped.Status.AtProvider.NumNodeGroups + } + if srcTyped.Status.AtProvider.ReplicasPerNodeGroup != nil { + cm.ReplicasPerNodeGroup = srcTyped.Status.AtProvider.ReplicasPerNodeGroup + } + targetTyped.Status.AtProvider.ClusterMode = []v1beta1.ClusterModeObservation{cmo} + return nil + }), + ) }) p.AddResourceConfigurator("aws_elasticache_user_group", func(r *config.Resource) { diff --git a/config/externalnamenottested.go b/config/externalnamenottested.go index 001879c011..e930ed6a2c 100644 --- a/config/externalnamenottested.go +++ b/config/externalnamenottested.go @@ -215,6 +215,7 @@ var ExternalNameNotTestedConfigs = map[string]config.ExternalName{ // elasticache // // ElastiCache Security Groups can be imported by name + // Note: This resource was deleted in v5.31.0 "aws_elasticache_security_group": config.NameAsIdentifier, // ElastiCache Global Replication Groups can be imported using the global_replication_group_id, // which is an attribute reported in the state. @@ -365,6 +366,7 @@ var ExternalNameNotTestedConfigs = map[string]config.ExternalName{ // redshift // // Redshift security groups can be imported using the name + // Note: This resource was deleted in v5.31.0 "aws_redshift_security_group": config.NameAsIdentifier, // route53domains diff --git a/config/field-rename.yaml b/config/field-rename.yaml new file mode 100644 index 0000000000..8f10e22294 --- /dev/null +++ b/config/field-rename.yaml @@ -0,0 +1,30 @@ +- sourceVersion: "v1beta1" + targetVersion: "v1beta2" + data: + aws_autoscaling_attachment: + spec.forProvider.albTargetGroupArn: spec.forProvider.lbTargetGroupArn + spec.initProvider.albTargetGroupArn: spec.initProvider.lbTargetGroupArn + status.atProvider.albTargetGroupArn: status.atProvider.lbTargetGroupArn + aws_connect_hours_of_operation: + status.atProvider.hoursOfOperationArn: status.atProvider.arn + aws_connect_queue: + status.atProvider.quickConnectIdsAssociated: status.atProvider.quickConnectIds + aws_db_instance: + spec.forProvider.name: spec.forProvider.dbName + spec.initProvider.name: spec.initProvider.dbName + status.atProvider.name: status.atProvider.dbName + aws_elasticache_replication_group: + spec.forProvider.numberCacheClusters: spec.forProvider.numCacheClusters + spec.forProvider.replicationGroupDescription: spec.forProvider.description + spec.forProvider.availabilityZones: spec.forProvider.preferredCacheClusterAzs + spec.initProvider.numberCacheClusters: spec.initProvider.numCacheClusters + spec.initProvider.replicationGroupDescription: spec.initProvider.description + spec.initProvider.availabilityZones: spec.initProvider.preferredCacheClusterAzs + status.atProvider.numberCacheClusters: status.atProvider.numCacheClusters + status.atProvider.replicationGroupDescription: status.atProvider.description + status.atProvider.availabilityZones: status.atProvider.preferredCacheClusterAzs + aws_route: + spec.forProvider.instanceId: spec.forProvider.networkInterfaceId + spec.initProvider.instanceId: spec.initProvider.networkInterfaceId + aws_route_table: + status.atProvider.route.instanceId: status.atProvider.route.networkInterfaceId \ No newline at end of file diff --git a/config/kafka/config.go b/config/kafka/config.go index 7521619dab..410d3b1439 100644 --- a/config/kafka/config.go +++ b/config/kafka/config.go @@ -1,35 +1,225 @@ package kafka import ( + xpresource "github.com/crossplane/crossplane-runtime/pkg/resource" "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/config/conversion" + "github.com/upbound/provider-aws/apis/kafka/v1beta1" + "github.com/upbound/provider-aws/apis/kafka/v1beta2" "github.com/upbound/provider-aws/config/common" ) // Configure adds configurations for the kafka group. -func Configure(p *config.Provider) { +func Configure(p *config.Provider) { //nolint:gocyclo p.AddResourceConfigurator("aws_msk_cluster", func(r *config.Resource) { r.References["encryption_info.encryption_at_rest_kms_key_arn"] = config.Reference{ - Type: "github.com/upbound/provider-aws/apis/kms/v1beta1.Key", - Extractor: common.PathARNExtractor, + TerraformName: "aws_kms_key", + Extractor: common.PathARNExtractor, } r.References["logging_info.broker_logs.s3.bucket"] = config.Reference{ - Type: "github.com/upbound/provider-aws/apis/s3/v1beta1.Bucket", + TerraformName: "aws_s3_bucket", } r.References["logging_info.broker_logs.cloudwatch_logs.log_group"] = config.Reference{ - Type: "github.com/upbound/provider-aws/apis/cloudwatchlogs/v1beta1.Group", + TerraformName: "aws_cloudwatch_log_group", } r.References["broker_node_group_info.client_subnets"] = config.Reference{ - Type: "github.com/upbound/provider-aws/apis/ec2/v1beta1.Subnet", + TerraformName: "aws_subnet", } r.References["broker_node_group_info.security_groups"] = config.Reference{ - Type: "github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup", + TerraformName: "aws_security_group", } r.References["configuration_info.arn"] = config.Reference{ - Type: "Configuration", - Extractor: common.PathARNExtractor, + TerraformName: "aws_msk_configuration", + Extractor: common.PathARNExtractor, } r.UseAsync = true + + r.Version = "v1beta2" + r.Conversions = append(r.Conversions, + conversion.NewCustomConverter("v1beta1", "v1beta2", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta1.Cluster) + targetTyped := target.(*v1beta2.Cluster) + if len(srcTyped.Spec.ForProvider.BrokerNodeGroupInfo) > 0 { + if srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize != nil { + if targetTyped.Spec.ForProvider.BrokerNodeGroupInfo != nil { + if targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize = srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize + } else { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo = []v1beta2.EBSStorageInfoParameters{ + { + VolumeSize: srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + } + } + } else { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo = []v1beta2.StorageInfoParameters{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoParameters{ + { + VolumeSize: srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + } + } + } else { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo = []v1beta2.BrokerNodeGroupInfoParameters{ + { + StorageInfo: []v1beta2.StorageInfoParameters{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoParameters{ + { + VolumeSize: srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + }, + }, + } + } + } + } + + if len(srcTyped.Spec.InitProvider.BrokerNodeGroupInfo) > 0 { + if srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize != nil { + if targetTyped.Spec.InitProvider.BrokerNodeGroupInfo != nil { + if targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize = srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize + } else { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo = []v1beta2.EBSStorageInfoInitParameters{ + { + VolumeSize: srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + } + } + } else { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo = []v1beta2.StorageInfoInitParameters{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoInitParameters{ + { + VolumeSize: srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + } + } + } else { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo = []v1beta2.BrokerNodeGroupInfoInitParameters{ + { + StorageInfo: []v1beta2.StorageInfoInitParameters{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoInitParameters{ + { + VolumeSize: srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + }, + }, + } + } + } + } + + if len(srcTyped.Status.AtProvider.BrokerNodeGroupInfo) > 0 { + if srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize != nil { + if targetTyped.Status.AtProvider.BrokerNodeGroupInfo != nil { + if targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize = srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize + } else { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo = []v1beta2.EBSStorageInfoObservation{ + { + VolumeSize: srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + } + } + } else { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo = []v1beta2.StorageInfoObservation{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoObservation{ + { + VolumeSize: srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + } + } + } else { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo = []v1beta2.BrokerNodeGroupInfoObservation{ + { + StorageInfo: []v1beta2.StorageInfoObservation{ + { + EBSStorageInfo: []v1beta2.EBSStorageInfoObservation{ + { + VolumeSize: srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize, + }, + }, + }, + }, + }, + } + } + } + } + return nil + }), + conversion.NewCustomConverter("v1beta2", "v1beta1", func(src, target xpresource.Managed) error { + srcTyped := src.(*v1beta2.Cluster) + targetTyped := target.(*v1beta1.Cluster) + if srcTyped.Spec.ForProvider.BrokerNodeGroupInfo != nil { + if srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + if targetTyped.Spec.ForProvider.BrokerNodeGroupInfo != nil { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].EBSVolumeSize = srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize + } else { + targetTyped.Spec.ForProvider.BrokerNodeGroupInfo = []v1beta1.BrokerNodeGroupInfoParameters{ + { + EBSVolumeSize: srcTyped.Spec.ForProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize, + }, + } + } + } + } + } + + if srcTyped.Spec.InitProvider.BrokerNodeGroupInfo != nil { + if srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + if targetTyped.Spec.InitProvider.BrokerNodeGroupInfo != nil { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].EBSVolumeSize = srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize + } else { + targetTyped.Spec.InitProvider.BrokerNodeGroupInfo = []v1beta1.BrokerNodeGroupInfoInitParameters{ + { + EBSVolumeSize: srcTyped.Spec.InitProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize, + }, + } + } + } + } + } + + if srcTyped.Status.AtProvider.BrokerNodeGroupInfo != nil { + if srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo != nil { + if srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo != nil { + if targetTyped.Status.AtProvider.BrokerNodeGroupInfo != nil { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo[0].EBSVolumeSize = srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize + } else { + targetTyped.Status.AtProvider.BrokerNodeGroupInfo = []v1beta1.BrokerNodeGroupInfoObservation{ + { + EBSVolumeSize: srcTyped.Status.AtProvider.BrokerNodeGroupInfo[0].StorageInfo[0].EBSStorageInfo[0].VolumeSize, + }, + } + } + } + } + } + return nil + }), + ) }) p.AddResourceConfigurator("aws_msk_scram_secret_association", func(r *config.Resource) { r.References["secret_arn_list"] = config.Reference{ @@ -51,5 +241,13 @@ func Configure(p *config.Provider) { RefFieldName: "SubnetIDRefs", SelectorFieldName: "SubnetIDSelector", } + r.OverrideFieldNames = map[string]string{ + "ClientAuthenticationParameters": "ServerlessClusterClientAuthenticationParameters", + "ClientAuthenticationInitParameters": "ServerlessClusterClientAuthenticationInitParameters", + "ClientAuthenticationObservation": "ServerlessClusterClientAuthenticationObservation", + "SaslParameters": "ClientAuthenticationSaslParameters", + "SaslInitParameters": "ClientAuthenticationSaslInitParameters", + "SaslObservation": "ClientAuthenticationSaslObservation", + } }) } diff --git a/config/overrides.go b/config/overrides.go index cbec20fa86..9152a82588 100644 --- a/config/overrides.go +++ b/config/overrides.go @@ -9,8 +9,10 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/pkg/errors" + "gopkg.in/yaml.v3" "github.com/crossplane/upjet/pkg/config" + "github.com/crossplane/upjet/pkg/config/conversion" "github.com/crossplane/upjet/pkg/types" "github.com/crossplane/upjet/pkg/types/comments" "github.com/crossplane/upjet/pkg/types/name" @@ -186,3 +188,28 @@ func DocumentationForTags() config.ResourceOption { } } } + +func injectFieldRenamingConversionFunctions() config.ResourceOption { + type fieldRenameConversionData struct { + SourceVersion string `yaml:"sourceVersion"` + TargetVersion string `yaml:"targetVersion"` + Data map[string]map[string]string `yaml:"data"` + } + var data []fieldRenameConversionData + if err := yaml.Unmarshal(fieldRename, &data); err != nil { + panic(err) + } + return func(r *config.Resource) { + for _, cd := range data { + if d, ok := cd.Data[r.Name]; ok { + for s, t := range d { + r.Version = cd.TargetVersion + r.Conversions = append(r.Conversions, + conversion.NewFieldRenameConversion(cd.SourceVersion, s, cd.TargetVersion, t), + conversion.NewFieldRenameConversion(cd.TargetVersion, t, cd.SourceVersion, s), + ) + } + } + } + } +} diff --git a/config/provider.go b/config/provider.go index cff6f3268c..285dd3a9db 100644 --- a/config/provider.go +++ b/config/provider.go @@ -113,6 +113,9 @@ var ( //go:embed provider-metadata.yaml providerMetadata []byte + + //go:embed field-rename.yaml + fieldRename []byte ) var skipList = []string{ @@ -209,6 +212,7 @@ func GetProvider(ctx context.Context, generationProvider bool) (*config.Provider ResourceConfigurator(), NamePrefixRemoval(), DocumentationForTags(), + injectFieldRenamingConversionFunctions(), ), ) p.SetMeta(nil) diff --git a/config/rds/config.go b/config/rds/config.go index 57079b3296..46f4d53e56 100644 --- a/config/rds/config.go +++ b/config/rds/config.go @@ -46,6 +46,17 @@ func Configure(p *config.Provider) { } return conn, nil } + r.OverrideFieldNames = map[string]string{ + "S3ImportParameters": "ClusterS3ImportParameters", + "S3ImportInitParameters": "ClusterS3ImportInitParameters", + "S3ImportObservation": "ClusterS3ImportObservation", + "RestoreToPointInTimeParameters": "ClusterRestoreToPointInTimeParameters", + "RestoreToPointInTimeInitParameters": "ClusterRestoreToPointInTimeInitParameters", + "RestoreToPointInTimeObservation": "ClusterRestoreToPointInTimeObservation", + "MasterUserSecretParameters": "ClusterMasterUserSecretParameters", + "MasterUserSecretInitParameters": "ClusterMasterUserSecretInitParameters", + "MasterUserSecretObservation": "ClusterMasterUserSecretObservation", + } }) p.AddResourceConfigurator("aws_rds_cluster_instance", func(r *config.Resource) { @@ -81,7 +92,7 @@ func Configure(p *config.Provider) { }) p.AddResourceConfigurator("aws_db_instance", func(r *config.Resource) { r.References["db_subnet_group_name"] = config.Reference{ - Type: "SubnetGroup", + TerraformName: "aws_db_subnet_group", } r.References["kms_key_id"] = config.Reference{ TerraformName: "aws_kms_key", diff --git a/examples-generated/autoscaling/v1beta1/lifecyclehook.yaml b/examples-generated/autoscaling/v1beta1/lifecyclehook.yaml index e5af98e072..1fac6dc808 100644 --- a/examples-generated/autoscaling/v1beta1/lifecyclehook.yaml +++ b/examples-generated/autoscaling/v1beta1/lifecyclehook.yaml @@ -26,7 +26,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/autoscaling/v1beta1/notification.yaml b/examples-generated/autoscaling/v1beta1/notification.yaml index 3e38afeb18..c0ccbd2614 100644 --- a/examples-generated/autoscaling/v1beta1/notification.yaml +++ b/examples-generated/autoscaling/v1beta1/notification.yaml @@ -23,7 +23,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: @@ -37,7 +37,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/autoscaling/v1beta1/policy.yaml b/examples-generated/autoscaling/v1beta1/policy.yaml index 3ae4654c1f..213132353a 100644 --- a/examples-generated/autoscaling/v1beta1/policy.yaml +++ b/examples-generated/autoscaling/v1beta1/policy.yaml @@ -18,7 +18,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/autoscaling/v1beta1/schedule.yaml b/examples-generated/autoscaling/v1beta1/schedule.yaml index faba1fe593..29891fb816 100644 --- a/examples-generated/autoscaling/v1beta1/schedule.yaml +++ b/examples-generated/autoscaling/v1beta1/schedule.yaml @@ -20,7 +20,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/autoscaling/v1beta2/attachment.yaml b/examples-generated/autoscaling/v1beta2/attachment.yaml new file mode 100644 index 0000000000..eb4b6d0c9a --- /dev/null +++ b/examples-generated/autoscaling/v1beta2/attachment.yaml @@ -0,0 +1,17 @@ +apiVersion: autoscaling.aws.upbound.io/v1beta2 +kind: Attachment +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta2/attachment + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + autoscalingGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + elbSelector: + matchLabels: + testing.upbound.io/example-name: example + region: us-west-1 diff --git a/examples-generated/autoscaling/v1beta2/autoscalinggroup.yaml b/examples-generated/autoscaling/v1beta2/autoscalinggroup.yaml new file mode 100644 index 0000000000..6d6eda2e47 --- /dev/null +++ b/examples-generated/autoscaling/v1beta2/autoscalinggroup.yaml @@ -0,0 +1,64 @@ +apiVersion: autoscaling.aws.upbound.io/v1beta2 +kind: AutoscalingGroup +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta2/autoscalinggroup + labels: + testing.upbound.io/example-name: bar + name: bar +spec: + forProvider: + desiredCapacity: 4 + forceDelete: true + healthCheckGracePeriod: 300 + healthCheckType: ELB + initialLifecycleHook: + - defaultResult: CONTINUE + heartbeatTimeout: 2000 + lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING + name: foobar + notificationMetadata: |- + ${jsonencode({ + foo = "bar" + })} + notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1* + roleArn: arn:aws:iam::123456789012:role/S3Access + instanceMaintenancePolicy: + - maxHealthyPercentage: 120 + minHealthyPercentage: 90 + launchConfigurationSelector: + matchLabels: + testing.upbound.io/example-name: foobar + maxSize: 5 + minSize: 2 + placementGroupSelector: + matchLabels: + testing.upbound.io/example-name: test + region: us-west-1 + tag: + - key: foo + propagateAtLaunch: true + value: bar + - key: lorem + propagateAtLaunch: false + value: ipsum + timeouts: + - delete: 15m + vpcZoneIdentifierRefs: + - name: example1 + - name: example2 + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: PlacementGroup +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta2/autoscalinggroup + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + region: us-west-1 + strategy: cluster diff --git a/examples-generated/autoscalingplans/v1beta1/scalingplan.yaml b/examples-generated/autoscalingplans/v1beta1/scalingplan.yaml index 236363a5d1..6e53ed7db4 100644 --- a/examples-generated/autoscalingplans/v1beta1/scalingplan.yaml +++ b/examples-generated/autoscalingplans/v1beta1/scalingplan.yaml @@ -28,7 +28,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/connect/v1beta2/hoursofoperation.yaml b/examples-generated/connect/v1beta2/hoursofoperation.yaml new file mode 100644 index 0000000000..ad93b5f324 --- /dev/null +++ b/examples-generated/connect/v1beta2/hoursofoperation.yaml @@ -0,0 +1,34 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: HoursOfOperation +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta2/hoursofoperation + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + config: + - day: MONDAY + endTime: + - hours: 23 + minutes: 8 + startTime: + - hours: 8 + minutes: 0 + - day: TUESDAY + endTime: + - hours: 21 + minutes: 0 + startTime: + - hours: 9 + minutes: 0 + description: Monday office hours + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Office Hours + region: us-west-1 + tags: + Name: Example Hours of Operation + timeZone: EST diff --git a/examples-generated/connect/v1beta2/queue.yaml b/examples-generated/connect/v1beta2/queue.yaml new file mode 100644 index 0000000000..7b149632d5 --- /dev/null +++ b/examples-generated/connect/v1beta2/queue.yaml @@ -0,0 +1,21 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: Queue +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta2/queue + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + description: Example Description + hoursOfOperationIdSelector: + matchLabels: + testing.upbound.io/example-name: example + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Example Name + region: us-west-1 + tags: + Name: Example Queue diff --git a/examples-generated/connect/v1beta2/routingprofile.yaml b/examples-generated/connect/v1beta2/routingprofile.yaml new file mode 100644 index 0000000000..57daa18faf --- /dev/null +++ b/examples-generated/connect/v1beta2/routingprofile.yaml @@ -0,0 +1,29 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: RoutingProfile +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta2/routingprofile + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + defaultOutboundQueueIdSelector: + matchLabels: + testing.upbound.io/example-name: example + description: example description + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + mediaConcurrencies: + - channel: VOICE + concurrency: 1 + name: example + queueConfigs: + - channel: VOICE + delay: 2 + priority: 1 + queueId: 12345678-1234-1234-1234-123456789012 + region: us-west-1 + tags: + Name: Example Routing Profile diff --git a/examples-generated/ec2/v1beta2/route.yaml b/examples-generated/ec2/v1beta2/route.yaml new file mode 100644 index 0000000000..7f2d50410c --- /dev/null +++ b/examples-generated/ec2/v1beta2/route.yaml @@ -0,0 +1,18 @@ +apiVersion: ec2.aws.upbound.io/v1beta2 +kind: Route +metadata: + annotations: + meta.upbound.io/example-id: ec2/v1beta2/route + labels: + testing.upbound.io/example-name: r + name: r +spec: + forProvider: + destinationCidrBlock: 10.0.1.0/22 + region: us-west-1 + routeTableIdSelector: + matchLabels: + testing.upbound.io/example-name: example + vpcPeeringConnectionIdSelector: + matchLabels: + testing.upbound.io/example-name: example diff --git a/examples-generated/ec2/v1beta2/routetable.yaml b/examples-generated/ec2/v1beta2/routetable.yaml new file mode 100644 index 0000000000..7f72c5a666 --- /dev/null +++ b/examples-generated/ec2/v1beta2/routetable.yaml @@ -0,0 +1,16 @@ +apiVersion: ec2.aws.upbound.io/v1beta2 +kind: RouteTable +metadata: + annotations: + meta.upbound.io/example-id: ec2/v1beta2/routetable + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + region: us-west-1 + tags: + Name: example + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: example diff --git a/examples-generated/ecs/v1beta1/capacityprovider.yaml b/examples-generated/ecs/v1beta1/capacityprovider.yaml index 2bffdc896b..5f5a8b9036 100644 --- a/examples-generated/ecs/v1beta1/capacityprovider.yaml +++ b/examples-generated/ecs/v1beta1/capacityprovider.yaml @@ -22,7 +22,7 @@ spec: --- -apiVersion: autoscaling.aws.upbound.io/v1beta1 +apiVersion: autoscaling.aws.upbound.io/v1beta2 kind: AutoscalingGroup metadata: annotations: diff --git a/examples-generated/elasticache/v1beta2/replicationgroup.yaml b/examples-generated/elasticache/v1beta2/replicationgroup.yaml new file mode 100644 index 0000000000..72eb7a8afb --- /dev/null +++ b/examples-generated/elasticache/v1beta2/replicationgroup.yaml @@ -0,0 +1,20 @@ +apiVersion: elasticache.aws.upbound.io/v1beta2 +kind: ReplicationGroup +metadata: + annotations: + meta.upbound.io/example-id: elasticache/v1beta2/replicationgroup + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + automaticFailoverEnabled: true + description: example description + nodeType: cache.m4.large + numCacheClusters: 2 + parameterGroupName: default.redis3.2 + port: 6379 + preferredCacheClusterAzs: + - us-west-2a + - us-west-2b + region: us-west-1 diff --git a/examples-generated/kafka/v1beta1/scramsecretassociation.yaml b/examples-generated/kafka/v1beta1/scramsecretassociation.yaml index 55beaa35ba..c21705380c 100644 --- a/examples-generated/kafka/v1beta1/scramsecretassociation.yaml +++ b/examples-generated/kafka/v1beta1/scramsecretassociation.yaml @@ -32,7 +32,7 @@ spec: --- -apiVersion: kafka.aws.upbound.io/v1beta1 +apiVersion: kafka.aws.upbound.io/v1beta2 kind: Cluster metadata: annotations: diff --git a/examples-generated/kafka/v1beta2/cluster.yaml b/examples-generated/kafka/v1beta2/cluster.yaml new file mode 100644 index 0000000000..59b6473904 --- /dev/null +++ b/examples-generated/kafka/v1beta2/cluster.yaml @@ -0,0 +1,245 @@ +apiVersion: kafka.aws.upbound.io/v1beta2 +kind: Cluster +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + brokerNodeGroupInfo: + - clientSubnetsRefs: + - name: subnet_az1 + - name: subnet_az2 + - name: subnet_az3 + instanceType: kafka.m5.large + securityGroupsRefs: + - name: sg + storageInfo: + - ebsStorageInfo: + - volumeSize: 1000 + clusterName: example + encryptionInfo: + - encryptionAtRestKmsKeyArnSelector: + matchLabels: + testing.upbound.io/example-name: kms + kafkaVersion: 3.2.0 + loggingInfo: + - brokerLogs: + - cloudwatchLogs: + - enabled: true + logGroupSelector: + matchLabels: + testing.upbound.io/example-name: test + firehose: + - deliveryStreamSelector: + matchLabels: + testing.upbound.io/example-name: test_stream + enabled: true + s3: + - bucketSelector: + matchLabels: + testing.upbound.io/example-name: bucket + enabled: true + prefix: logs/msk- + numberOfBrokerNodes: 3 + openMonitoring: + - prometheus: + - jmxExporter: + - enabledInBroker: true + nodeExporter: + - enabledInBroker: true + region: us-west-1 + tags: + foo: bar + +--- + +apiVersion: cloudwatchlogs.aws.upbound.io/v1beta1 +kind: Group +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + region: us-west-1 + +--- + +apiVersion: iam.aws.upbound.io/v1beta1 +kind: Role +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: firehose_role + name: firehose-role +spec: + forProvider: + assumeRolePolicy: ${data.aws_iam_policy_document.assume_role.json} + +--- + +apiVersion: firehose.aws.upbound.io/v1beta1 +kind: DeliveryStream +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: test_stream + name: test-stream +spec: + forProvider: + destination: extended_s3 + extendedS3Configuration: + - bucketArnSelector: + matchLabels: + testing.upbound.io/example-name: bucket + roleArnSelector: + matchLabels: + testing.upbound.io/example-name: firehose_role + name: terraform-kinesis-firehose-msk-broker-logs-stream + region: us-west-1 + tags: + LogDeliveryEnabled: placeholder + +--- + +apiVersion: kms.aws.upbound.io/v1beta1 +kind: Key +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: kms + name: kms +spec: + forProvider: + description: example + region: us-west-1 + +--- + +apiVersion: s3.aws.upbound.io/v1beta1 +kind: Bucket +metadata: + annotations: + crossplane.io/external-name: ${Rand.RFC1123Subdomain} + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: bucket + name: bucket +spec: + forProvider: + region: us-west-1 + +--- + +apiVersion: s3.aws.upbound.io/v1beta1 +kind: BucketACL +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: bucket_acl + name: bucket-acl +spec: + forProvider: + acl: private + bucketSelector: + matchLabels: + testing.upbound.io/example-name: bucket + region: us-west-1 + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: SecurityGroup +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: sg + name: sg +spec: + forProvider: + region: us-west-1 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: subnet_az1 + name: subnet-az1 +spec: + forProvider: + availabilityZone: ${data.aws_availability_zones.azs.names[0]} + cidrBlock: 192.168.0.0/24 + region: us-west-1 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: subnet_az2 + name: subnet-az2 +spec: + forProvider: + availabilityZone: ${data.aws_availability_zones.azs.names[1]} + cidrBlock: 192.168.1.0/24 + region: us-west-1 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: subnet_az3 + name: subnet-az3 +spec: + forProvider: + availabilityZone: ${data.aws_availability_zones.azs.names[2]} + cidrBlock: 192.168.2.0/24 + region: us-west-1 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: VPC +metadata: + annotations: + meta.upbound.io/example-id: kafka/v1beta2/cluster + labels: + testing.upbound.io/example-name: vpc + name: vpc +spec: + forProvider: + cidrBlock: 192.168.0.0/22 + region: us-west-1 diff --git a/examples-generated/rds/v1beta1/dbsnapshotcopy.yaml b/examples-generated/rds/v1beta1/dbsnapshotcopy.yaml index 280f8fd85c..9e4381cfd8 100644 --- a/examples-generated/rds/v1beta1/dbsnapshotcopy.yaml +++ b/examples-generated/rds/v1beta1/dbsnapshotcopy.yaml @@ -16,7 +16,7 @@ spec: --- -apiVersion: rds.aws.upbound.io/v1beta1 +apiVersion: rds.aws.upbound.io/v1beta2 kind: Instance metadata: annotations: diff --git a/examples-generated/rds/v1beta1/eventsubscription.yaml b/examples-generated/rds/v1beta1/eventsubscription.yaml index e4b4ca1e08..83dd095295 100644 --- a/examples-generated/rds/v1beta1/eventsubscription.yaml +++ b/examples-generated/rds/v1beta1/eventsubscription.yaml @@ -29,7 +29,7 @@ spec: --- -apiVersion: rds.aws.upbound.io/v1beta1 +apiVersion: rds.aws.upbound.io/v1beta2 kind: Instance metadata: annotations: diff --git a/examples-generated/rds/v1beta1/snapshot.yaml b/examples-generated/rds/v1beta1/snapshot.yaml index 318ac8e5c1..208c3825ad 100644 --- a/examples-generated/rds/v1beta1/snapshot.yaml +++ b/examples-generated/rds/v1beta1/snapshot.yaml @@ -15,7 +15,7 @@ spec: --- -apiVersion: rds.aws.upbound.io/v1beta1 +apiVersion: rds.aws.upbound.io/v1beta2 kind: Instance metadata: annotations: diff --git a/examples-generated/rds/v1beta2/instance.yaml b/examples-generated/rds/v1beta2/instance.yaml new file mode 100644 index 0000000000..2331d6a591 --- /dev/null +++ b/examples-generated/rds/v1beta2/instance.yaml @@ -0,0 +1,25 @@ +apiVersion: rds.aws.upbound.io/v1beta2 +kind: Instance +metadata: + annotations: + meta.upbound.io/example-id: rds/v1beta2/instance + labels: + testing.upbound.io/example-name: default + name: default +spec: + forProvider: + allocatedStorage: 10 + dbName: mydb + engine: mysql + engineVersion: "5.7" + instanceClass: db.t3.micro + parameterGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: example + passwordSecretRef: + key: example-key + name: example-secret + namespace: upbound-system + region: us-west-1 + skipFinalSnapshot: true + username: foo diff --git a/examples/autoscaling/v1beta2/attachment.yaml b/examples/autoscaling/v1beta2/attachment.yaml new file mode 100644 index 0000000000..321d63b70c --- /dev/null +++ b/examples/autoscaling/v1beta2/attachment.yaml @@ -0,0 +1,76 @@ +apiVersion: autoscaling.aws.upbound.io/v1beta2 +kind: Attachment +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/attachment + labels: + testing.upbound.io/example-name: example + name: asg-attachment-bar +spec: + forProvider: + autoscalingGroupNameSelector: + matchLabels: + testing.upbound.io/example-name: asg + elbSelector: + matchLabels: + testing.upbound.io/example-name: bar + region: us-west-1 + +--- +apiVersion: autoscaling.aws.upbound.io/v1beta2 +kind: AutoscalingGroup +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/attachment + labels: + testing.upbound.io/example-name: asg + name: attachment-example +spec: + forProvider: + region: us-west-1 + availabilityZones: + - us-west-1b + maxSize: 1 + minSize: 1 + launchConfigurationSelector: + matchLabels: + testing.upbound.io/example-name: attachment-example + tag: + - key: AmazonECSManaged + propagateAtLaunch: true + value: "true" + +--- +apiVersion: autoscaling.aws.upbound.io/v1beta1 +kind: LaunchConfiguration +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/attachment + labels: + testing.upbound.io/example-name: attachment-example + name: attachment-example +spec: + forProvider: + imageId: ami-0454207e5367abf01 + instanceType: t2.micro + region: us-west-1 + +--- +apiVersion: elb.aws.upbound.io/v1beta1 +kind: ELB +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/attachment + labels: + testing.upbound.io/example-name: bar + name: attachment-example +spec: + forProvider: + availabilityZones: + - us-west-1a + listener: + - instancePort: 8000 + instanceProtocol: http + lbPort: 80 + lbProtocol: http + region: us-west-1 diff --git a/examples/autoscaling/v1beta2/autoscalinggroup.yaml b/examples/autoscaling/v1beta2/autoscalinggroup.yaml new file mode 100644 index 0000000000..a7ccca0e0e --- /dev/null +++ b/examples/autoscaling/v1beta2/autoscalinggroup.yaml @@ -0,0 +1,37 @@ +apiVersion: autoscaling.aws.upbound.io/v1beta2 +kind: AutoscalingGroup +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/autoscalinggroup + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + region: us-west-1 + availabilityZones: + - us-west-1b + maxSize: 1 + minSize: 1 + launchConfigurationSelector: + matchLabels: + testing.upbound.io/example-name: autoscalinggroup-example + tag: + - key: AmazonECSManaged + propagateAtLaunch: true + value: "true" + +--- +apiVersion: autoscaling.aws.upbound.io/v1beta1 +kind: LaunchConfiguration +metadata: + annotations: + meta.upbound.io/example-id: autoscaling/v1beta1/autoscalinggroup + labels: + testing.upbound.io/example-name: autoscalinggroup-example + name: autoscalinggroup-example +spec: + forProvider: + imageId: ami-0454207e5367abf01 + instanceType: t2.micro + region: us-west-1 diff --git a/examples/connect/v1beta2/hoursofoperation.yaml b/examples/connect/v1beta2/hoursofoperation.yaml new file mode 100644 index 0000000000..3e34d1bd74 --- /dev/null +++ b/examples/connect/v1beta2/hoursofoperation.yaml @@ -0,0 +1,50 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: HoursOfOperation +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/hoursofoperation + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + config: + - day: MONDAY + endTime: + - hours: 23 + minutes: 8 + startTime: + - hours: 8 + minutes: 0 + - day: TUESDAY + endTime: + - hours: 21 + minutes: 0 + startTime: + - hours: 9 + minutes: 0 + description: Monday office hours + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Office Hours + region: us-east-1 + tags: + Name: Example Hours of Operation + timeZone: EST +--- +apiVersion: connect.aws.upbound.io/v1beta1 +kind: Instance +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/hoursofoperation + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + identityManagementType: CONNECT_MANAGED + inboundCallsEnabled: true + instanceAlias: friendly-name-connect-${Rand.RFC1123Subdomain} + outboundCallsEnabled: true + region: us-east-1 diff --git a/examples/connect/v1beta2/queue.yaml b/examples/connect/v1beta2/queue.yaml new file mode 100644 index 0000000000..f2dcd1c69f --- /dev/null +++ b/examples/connect/v1beta2/queue.yaml @@ -0,0 +1,72 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: Queue +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/queue + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + description: Example Description + hoursOfOperationIdSelector: + matchLabels: + testing.upbound.io/example-name: test + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Example Name + region: us-east-1 + tags: + Name: Example Queue +--- +apiVersion: connect.aws.upbound.io/v1beta2 +kind: HoursOfOperation +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/queue + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + config: + - day: MONDAY + endTime: + - hours: 23 + minutes: 8 + startTime: + - hours: 8 + minutes: 0 + - day: TUESDAY + endTime: + - hours: 21 + minutes: 0 + startTime: + - hours: 9 + minutes: 0 + description: Monday office hours + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Office Hours + region: us-east-1 + tags: + Name: Example Hours of Operation + timeZone: EST +--- +apiVersion: connect.aws.upbound.io/v1beta1 +kind: Instance +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/queue + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + identityManagementType: CONNECT_MANAGED + inboundCallsEnabled: true + instanceAlias: friendly-name-connect-${Rand.RFC1123Subdomain} + outboundCallsEnabled: true + region: us-east-1 diff --git a/examples/connect/v1beta2/routingprofile.yaml b/examples/connect/v1beta2/routingprofile.yaml new file mode 100644 index 0000000000..3c380b2133 --- /dev/null +++ b/examples/connect/v1beta2/routingprofile.yaml @@ -0,0 +1,97 @@ +apiVersion: connect.aws.upbound.io/v1beta2 +kind: RoutingProfile +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/routingprofile + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + defaultOutboundQueueIdSelector: + matchLabels: + testing.upbound.io/example-name: test + description: example description + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + mediaConcurrencies: + - channel: VOICE + concurrency: 1 + name: example + region: us-east-1 + tags: + Name: Example Routing Profile +--- +apiVersion: connect.aws.upbound.io/v1beta2 +kind: Queue +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/routingprofile + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + description: Example Description + hoursOfOperationIdSelector: + matchLabels: + testing.upbound.io/example-name: test + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Example Name + region: us-east-1 + tags: + Name: Example Queue +--- +apiVersion: connect.aws.upbound.io/v1beta2 +kind: HoursOfOperation +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/routingprofile + labels: + testing.upbound.io/example-name: test + name: test +spec: + forProvider: + config: + - day: MONDAY + endTime: + - hours: 23 + minutes: 8 + startTime: + - hours: 8 + minutes: 0 + - day: TUESDAY + endTime: + - hours: 21 + minutes: 0 + startTime: + - hours: 9 + minutes: 0 + description: Monday office hours + instanceIdSelector: + matchLabels: + testing.upbound.io/example-name: example + name: Office Hours + region: us-east-1 + tags: + Name: Example Hours of Operation + timeZone: EST +--- +apiVersion: connect.aws.upbound.io/v1beta1 +kind: Instance +metadata: + annotations: + meta.upbound.io/example-id: connect/v1beta1/routingprofile + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + identityManagementType: CONNECT_MANAGED + inboundCallsEnabled: true + instanceAlias: friendly-name-connect-${Rand.RFC1123Subdomain} + outboundCallsEnabled: true + region: us-east-1 \ No newline at end of file diff --git a/examples/ec2/v1beta2/route.yaml b/examples/ec2/v1beta2/route.yaml new file mode 100644 index 0000000000..9fc99879f3 --- /dev/null +++ b/examples/ec2/v1beta2/route.yaml @@ -0,0 +1,57 @@ +apiVersion: ec2.aws.upbound.io/v1beta2 +kind: Route +metadata: + name: route +spec: + forProvider: + region: us-west-1 + destinationCidrBlock: 0.0.0.0/0 + gatewayIdRef: + name: routegw + routeTableIdRef: + name: table + +--- + +apiVersion: ec2.aws.upbound.io/v1beta2 +kind: RouteTable +metadata: + name: table + labels: + testing.upbound.io/example-name: table +spec: + forProvider: + region: us-west-1 + tags: + Name: example + vpcIdRef: + name: route-vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: InternetGateway +metadata: + name: routegw +spec: + forProvider: + region: us-west-1 + tags: + Name: main + vpcIdRef: + name: route-vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: VPC +metadata: + name: route-vpc + labels: + testing.upbound.io/example-name: route-vpc +spec: + forProvider: + region: us-west-1 + cidrBlock: 172.16.0.0/16 + tags: + Name: DemoVpc diff --git a/examples/elasticache/v1beta2/replicationgroup.yaml b/examples/elasticache/v1beta2/replicationgroup.yaml new file mode 100644 index 0000000000..4d1ce08508 --- /dev/null +++ b/examples/elasticache/v1beta2/replicationgroup.yaml @@ -0,0 +1,21 @@ +apiVersion: elasticache.aws.upbound.io/v1beta2 +kind: ReplicationGroup +metadata: + annotations: + meta.upbound.io/example-id: elasticache/v1beta1/replicationgroup + uptest.upbound.io/timeout: "3600" + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + automaticFailoverEnabled: true + description: example description + nodeType: cache.m4.large + numCacheClusters: 2 + parameterGroupName: default.redis7 + port: 6379 + preferredCacheClusterAzs: + - us-west-1a + - us-west-1b + region: us-west-1 diff --git a/examples/kafka/v1beta2/cluster-ligth.yaml b/examples/kafka/v1beta2/cluster-ligth.yaml new file mode 100644 index 0000000000..cd81d20476 --- /dev/null +++ b/examples/kafka/v1beta2/cluster-ligth.yaml @@ -0,0 +1,84 @@ +apiVersion: kafka.aws.upbound.io/v1beta2 +kind: Cluster +metadata: + annotations: + uptest.upbound.io/timeout: "7200" + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + brokerNodeGroupInfo: + - clientSubnetsRefs: + - name: subnet-az1 + - name: subnet-az2 + instanceType: kafka.t3.small + securityGroupsRefs: + - name: sg + storageInfo: + - ebsStorageInfo: + - volumeSize: 1000 + clusterName: ${Rand.RFC1123Subdomain} + kafkaVersion: 2.6.0 + numberOfBrokerNodes: 2 + region: us-east-2 + tags: + foo: bar + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: SecurityGroup +metadata: + labels: + testing.upbound.io/example-name: sg + name: sg +spec: + forProvider: + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + name: subnet-az1 +spec: + forProvider: + availabilityZone: us-east-2a + cidrBlock: 192.168.0.0/24 + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + name: subnet-az2 +spec: + forProvider: + availabilityZone: us-east-2b + cidrBlock: 192.168.1.0/24 + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: VPC +metadata: + labels: + testing.upbound.io/example-name: vpc + name: vpc +spec: + forProvider: + cidrBlock: 192.168.0.0/22 + region: us-east-2 diff --git a/examples/kafka/v1beta2/cluster.yaml b/examples/kafka/v1beta2/cluster.yaml new file mode 100644 index 0000000000..e83dab54bb --- /dev/null +++ b/examples/kafka/v1beta2/cluster.yaml @@ -0,0 +1,155 @@ +apiVersion: kafka.aws.upbound.io/v1beta2 +kind: Cluster +metadata: + annotations: + uptest.upbound.io/timeout: "7200" + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + brokerNodeGroupInfo: + - clientSubnetsRefs: + - name: subnet-az1 + - name: subnet-az2 + instanceType: kafka.t3.small + securityGroupsRefs: + - name: sg + storageInfo: + - ebsStorageInfo: + - volumeSize: 1000 + clusterName: ${Rand.RFC1123Subdomain} + configurationInfo: + - arnSelector: + matchLabels: + testing.upbound.io/example-name: example + revision: 1 + encryptionInfo: + - encryptionAtRestKmsKeyArnSelector: + matchLabels: + testing.upbound.io/example-name: kms + kafkaVersion: 2.6.0 + numberOfBrokerNodes: 2 + openMonitoring: + - prometheus: + - jmxExporter: + - enabledInBroker: true + nodeExporter: + - enabledInBroker: true + region: us-east-2 + tags: + foo: bar + +--- + +apiVersion: kafka.aws.upbound.io/v1beta1 +kind: Configuration +metadata: + labels: + testing.upbound.io/example-name: example + name: example +spec: + forProvider: + kafkaVersions: + - 2.6.0 + name: ${Rand.RFC1123Subdomain} + region: us-east-2 + serverProperties: | + auto.create.topics.enable = true + delete.topic.enable = true + +--- + +apiVersion: kms.aws.upbound.io/v1beta1 +kind: Key +metadata: + labels: + testing.upbound.io/example-name: kms + name: kms +spec: + forProvider: + description: example + region: us-east-2 + +--- + +apiVersion: s3.aws.upbound.io/v1beta1 +kind: Bucket +metadata: + labels: + testing.upbound.io/example-name: bucket + name: ${Rand.RFC1123Subdomain} +spec: + forProvider: + region: us-east-2 + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: SecurityGroup +metadata: + labels: + testing.upbound.io/example-name: sg + name: sg +spec: + forProvider: + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + name: subnet-az1 +spec: + forProvider: + availabilityZone: us-east-2a + cidrBlock: 192.168.0.0/24 + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: Subnet +metadata: + name: subnet-az2 +spec: + forProvider: + availabilityZone: us-east-2b + cidrBlock: 192.168.1.0/24 + region: us-east-2 + vpcIdSelector: + matchLabels: + testing.upbound.io/example-name: vpc + +--- + +apiVersion: ec2.aws.upbound.io/v1beta1 +kind: VPC +metadata: + labels: + testing.upbound.io/example-name: vpc + name: vpc +spec: + forProvider: + cidrBlock: 192.168.0.0/22 + region: us-east-2 + +--- + +apiVersion: cloudwatchlogs.aws.upbound.io/v1beta1 +kind: Group +metadata: + name: test +spec: + forProvider: + region: us-east-2 + tags: + Application: serviceA + Environment: production diff --git a/examples/rds/v1beta2/instance.yaml b/examples/rds/v1beta2/instance.yaml new file mode 100644 index 0000000000..308578cb8b --- /dev/null +++ b/examples/rds/v1beta2/instance.yaml @@ -0,0 +1,52 @@ +apiVersion: rds.aws.upbound.io/v1beta2 +kind: Instance +metadata: + annotations: + meta.upbound.io/example-id: rds/v1beta1/instance + uptest.upbound.io/timeout: "3600" + labels: + testing.upbound.io/example-name: example-dbinstance + name: example-dbinstance-${Rand.RFC1123Subdomain} +spec: + forProvider: + dbName: example + region: us-west-1 + allocatedStorage: 20 + autoMinorVersionUpgrade: true + backupRetentionPeriod: 14 + instanceClass: db.t3.micro + engine: postgres + engineVersion: "13.7" + username: adminuser + autoGeneratePassword: true + passwordSecretRef: + key: password + name: example-dbinstance + namespace: upbound-system + backupWindow: "09:46-10:16" + maintenanceWindow: "Mon:00:00-Mon:03:00" + publiclyAccessible: false + skipFinalSnapshot: true + storageEncrypted: true + storageType: gp2 + kmsKeyIdSelector: + matchLabels: + testing.upbound.io/example-name: sample-key + writeConnectionSecretToRef: + name: example-dbinstance-out + namespace: default + +--- +apiVersion: kms.aws.upbound.io/v1beta1 +kind: Key +metadata: + annotations: + meta.upbound.io/example-id: rds/v1beta1/instance + labels: + testing.upbound.io/example-name: sample-key + name: sample-key-${Rand.RFC1123Subdomain} +spec: + forProvider: + region: us-west-1 + description: Created with Crossplane + deletionWindowInDays: 7 diff --git a/go.mod b/go.mod index 234b01f8e2..71c44bb2ab 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/aws/smithy-go v1.19.0 github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231215091746-d23a82b3a2f5 github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 - github.com/crossplane/upjet v1.1.0-rc.0.0.20240201141742-602c7d473ef5 + github.com/crossplane/upjet v1.1.0 github.com/go-ini/ini v1.46.0 github.com/google/go-cmp v0.6.0 github.com/hashicorp/terraform-json v0.18.0 @@ -21,6 +21,7 @@ require ( github.com/hashicorp/terraform-provider-aws v0.0.0-00010101000000-000000000000 github.com/pkg/errors v0.9.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 + gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.29.0 k8s.io/apimachinery v0.29.0 k8s.io/client-go v0.29.0 @@ -261,7 +262,6 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.28.4 // indirect k8s.io/component-base v0.28.4 // indirect k8s.io/klog/v2 v2.110.1 // indirect diff --git a/go.sum b/go.sum index 7a31359d53..1721bd2f02 100644 --- a/go.sum +++ b/go.sum @@ -267,8 +267,8 @@ github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231215091746-d23a82b3a github.com/crossplane/crossplane-runtime v1.15.0-rc.0.0.20231215091746-d23a82b3a2f5/go.mod h1:pgt7PaTvvOQz3jILyxbCaeleU9MrAqKaNoPJavhGBgM= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79 h1:HigXs5tEQxWz0fcj8hzbU2UAZgEM7wPe0XRFOsrtF8Y= github.com/crossplane/crossplane-tools v0.0.0-20230925130601-628280f8bf79/go.mod h1:+e4OaFlOcmr0JvINHl/yvEYBrZawzTgj6pQumOH1SS0= -github.com/crossplane/upjet v1.1.0-rc.0.0.20240201141742-602c7d473ef5 h1:8U2F7YBvdszW3Gw75bXLKNJ1oePMO9IjS+wfXF3TI9M= -github.com/crossplane/upjet v1.1.0-rc.0.0.20240201141742-602c7d473ef5/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= +github.com/crossplane/upjet v1.1.0 h1:jfdag6qaF1/5mvlDT/8LdTc/vq1Iq0ASnmk3yV86I9U= +github.com/crossplane/upjet v1.1.0/go.mod h1:0bHLtnejZ9bDeyXuBb9MSOQLvKo3+aoTeUBO8N0dGSA= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= diff --git a/hack/check-duplicate.sh b/hack/check-duplicate.sh new file mode 100755 index 0000000000..44e7038e5f --- /dev/null +++ b/hack/check-duplicate.sh @@ -0,0 +1,34 @@ +#!/bin/bash -e + +check_duplicate_types() { + knownVersions=("v1beta2" "v1beta1") + + for group in $(ls); do + if [ -d "$group" ]; then + versions=($(ls "$group")) + length=${#versions[@]} + if [ $length == 1 ]; then + continue + fi + for (( i=0; i<${#knownVersions[@]}-1; i++ )); do + if [ -d "$group/${knownVersions[i]}" ]; then + for file in $(ls "$group/${knownVersions[i]}" | grep "_types.go"); do + kind=$(echo "$file" | cut -d'_' -f2 | cut -d'.' -f1) + if [ "$kind" != "" ]; then + for (( j=i+1; j<${#knownVersions[@]}; j++ )); do + if [ -f "$group/${knownVersions[j]}/zz_${kind}_types.go" ]; then + echo "$group/${knownVersions[j]}/zz_${kind}_types.go will be checked out to ${CHECKOUT_RELEASE_VERSION}" + git checkout ${CHECKOUT_RELEASE_VERSION} -- "$group/${knownVersions[j]}/zz_${kind}_types.go" + fi + done + fi + done + break + fi + done + fi + done +} + +cd apis +check_duplicate_types diff --git a/internal/controller/autoscaling/attachment/zz_controller.go b/internal/controller/autoscaling/attachment/zz_controller.go index ea075b957e..2625b980d0 100755 --- a/internal/controller/autoscaling/attachment/zz_controller.go +++ b/internal/controller/autoscaling/attachment/zz_controller.go @@ -24,27 +24,27 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/autoscaling/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/autoscaling/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles Attachment managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.Attachment_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.Attachment_GroupVersionKind.String()) var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.Attachment_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Attachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.Attachment_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.Attachment_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_autoscaling_attachment"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.Attachment_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.Attachment_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -61,22 +61,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.Attachment + // register webhooks for the kind v1beta2.Attachment // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.Attachment{}). + For(&v1beta2.Attachment{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.Attachment") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.Attachment") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.Attachment_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.Attachment_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.Attachment{}, eventHandler). + Watches(&v1beta2.Attachment{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/autoscaling/autoscalinggroup/zz_controller.go b/internal/controller/autoscaling/autoscalinggroup/zz_controller.go index b3777dc74d..2628ddffdd 100755 --- a/internal/controller/autoscaling/autoscalinggroup/zz_controller.go +++ b/internal/controller/autoscaling/autoscalinggroup/zz_controller.go @@ -24,28 +24,28 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/autoscaling/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/autoscaling/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles AutoscalingGroup managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.AutoscalingGroup_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.AutoscalingGroup_GroupVersionKind.String()) var initializers managed.InitializerChain initializers = append(initializers, managed.NewNameAsExternalName(mgr.GetClient())) cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.AutoscalingGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.AutoscalingGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.AutoscalingGroup_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.AutoscalingGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_autoscaling_group"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.AutoscalingGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.AutoscalingGroup_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -62,22 +62,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.AutoscalingGroup + // register webhooks for the kind v1beta2.AutoscalingGroup // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.AutoscalingGroup{}). + For(&v1beta2.AutoscalingGroup{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.AutoscalingGroup") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.AutoscalingGroup") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.AutoscalingGroup_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.AutoscalingGroup_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.AutoscalingGroup{}, eventHandler). + Watches(&v1beta2.AutoscalingGroup{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/connect/hoursofoperation/zz_controller.go b/internal/controller/connect/hoursofoperation/zz_controller.go index ecb38fac3f..d5f115447f 100755 --- a/internal/controller/connect/hoursofoperation/zz_controller.go +++ b/internal/controller/connect/hoursofoperation/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/connect/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/connect/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles HoursOfOperation managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.HoursOfOperation_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.HoursOfOperation_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_connect_hours_of_operation"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.HoursOfOperation_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.HoursOfOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.HoursOfOperation_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.HoursOfOperation_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_connect_hours_of_operation"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.HoursOfOperation_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.HoursOfOperation_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.HoursOfOperation + // register webhooks for the kind v1beta2.HoursOfOperation // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.HoursOfOperation{}). + For(&v1beta2.HoursOfOperation{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.HoursOfOperation") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.HoursOfOperation") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.HoursOfOperation_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.HoursOfOperation_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.HoursOfOperation{}, eventHandler). + Watches(&v1beta2.HoursOfOperation{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/connect/queue/zz_controller.go b/internal/controller/connect/queue/zz_controller.go index f6d2d32c8f..86636ef13a 100755 --- a/internal/controller/connect/queue/zz_controller.go +++ b/internal/controller/connect/queue/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/connect/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/connect/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles Queue managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.Queue_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.Queue_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_connect_queue"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.Queue_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.Queue_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.Queue_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_connect_queue"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.Queue_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.Queue_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.Queue + // register webhooks for the kind v1beta2.Queue // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.Queue{}). + For(&v1beta2.Queue{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.Queue") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.Queue") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.Queue_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.Queue_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.Queue{}, eventHandler). + Watches(&v1beta2.Queue{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/connect/routingprofile/zz_controller.go b/internal/controller/connect/routingprofile/zz_controller.go index 97bb7b8dd5..4e2038f19d 100755 --- a/internal/controller/connect/routingprofile/zz_controller.go +++ b/internal/controller/connect/routingprofile/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/connect/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/connect/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles RoutingProfile managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.RoutingProfile_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.RoutingProfile_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_connect_routing_profile"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.RoutingProfile_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.RoutingProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.RoutingProfile_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.RoutingProfile_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_connect_routing_profile"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.RoutingProfile_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.RoutingProfile_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.RoutingProfile + // register webhooks for the kind v1beta2.RoutingProfile // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.RoutingProfile{}). + For(&v1beta2.RoutingProfile{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.RoutingProfile") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.RoutingProfile") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.RoutingProfile_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.RoutingProfile_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.RoutingProfile{}, eventHandler). + Watches(&v1beta2.RoutingProfile{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/ec2/route/zz_controller.go b/internal/controller/ec2/route/zz_controller.go index bfbef36cb7..45d5d7d097 100755 --- a/internal/controller/ec2/route/zz_controller.go +++ b/internal/controller/ec2/route/zz_controller.go @@ -24,27 +24,27 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/ec2/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/ec2/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles Route managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.Route_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.Route_GroupVersionKind.String()) var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.Route_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Route_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.Route_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.Route_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_route"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.Route_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.Route_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -61,22 +61,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.Route + // register webhooks for the kind v1beta2.Route // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.Route{}). + For(&v1beta2.Route{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.Route") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.Route") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.Route_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.Route_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.Route{}, eventHandler). + Watches(&v1beta2.Route{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/ec2/routetable/zz_controller.go b/internal/controller/ec2/routetable/zz_controller.go index 8a66ed0c32..5b9bac8e90 100755 --- a/internal/controller/ec2/routetable/zz_controller.go +++ b/internal/controller/ec2/routetable/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/ec2/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/ec2/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles RouteTable managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.RouteTable_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.RouteTable_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_route_table"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.RouteTable_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.RouteTable_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.RouteTable_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_route_table"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.RouteTable_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.RouteTable_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.RouteTable + // register webhooks for the kind v1beta2.RouteTable // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.RouteTable{}). + For(&v1beta2.RouteTable{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.RouteTable") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.RouteTable") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.RouteTable_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.RouteTable_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.RouteTable{}, eventHandler). + Watches(&v1beta2.RouteTable{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/elasticache/replicationgroup/zz_controller.go b/internal/controller/elasticache/replicationgroup/zz_controller.go index b3569dd9c0..5f52350df1 100755 --- a/internal/controller/elasticache/replicationgroup/zz_controller.go +++ b/internal/controller/elasticache/replicationgroup/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/elasticache/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/elasticache/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles ReplicationGroup managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.ReplicationGroup_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.ReplicationGroup_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_elasticache_replication_group"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -40,15 +40,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.ReplicationGroup_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.ReplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.ReplicationGroup_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.ReplicationGroup_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_elasticache_replication_group"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.ReplicationGroup_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.ReplicationGroup_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -65,22 +65,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.ReplicationGroup + // register webhooks for the kind v1beta2.ReplicationGroup // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.ReplicationGroup{}). + For(&v1beta2.ReplicationGroup{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.ReplicationGroup") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.ReplicationGroup") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.ReplicationGroup_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.ReplicationGroup_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.ReplicationGroup{}, eventHandler). + Watches(&v1beta2.ReplicationGroup{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/kafka/cluster/zz_controller.go b/internal/controller/kafka/cluster/zz_controller.go index f3e068e7f4..d24410a10c 100755 --- a/internal/controller/kafka/cluster/zz_controller.go +++ b/internal/controller/kafka/cluster/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/kafka/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/kafka/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles Cluster managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.Cluster_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.Cluster_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_msk_cluster"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.Cluster_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.Cluster_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.Cluster_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_msk_cluster"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.Cluster_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.Cluster_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.Cluster + // register webhooks for the kind v1beta2.Cluster // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.Cluster{}). + For(&v1beta2.Cluster{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.Cluster") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.Cluster") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.Cluster_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.Cluster_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.Cluster{}, eventHandler). + Watches(&v1beta2.Cluster{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/internal/controller/rds/instance/zz_controller.go b/internal/controller/rds/instance/zz_controller.go index a5f541fc80..ea52b7825a 100755 --- a/internal/controller/rds/instance/zz_controller.go +++ b/internal/controller/rds/instance/zz_controller.go @@ -24,13 +24,13 @@ import ( "github.com/pkg/errors" ctrl "sigs.k8s.io/controller-runtime" - v1beta1 "github.com/upbound/provider-aws/apis/rds/v1beta1" + v1beta2 "github.com/upbound/provider-aws/apis/rds/v1beta2" features "github.com/upbound/provider-aws/internal/features" ) // Setup adds a controller that reconciles Instance managed resources. func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { - name := managed.ControllerName(v1beta1.Instance_GroupVersionKind.String()) + name := managed.ControllerName(v1beta2.Instance_GroupVersionKind.String()) var initializers managed.InitializerChain for _, i := range o.Provider.Resources["aws_db_instance"].InitializerFns { initializers = append(initializers, i(mgr.GetClient())) @@ -39,15 +39,15 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { if o.SecretStoreConfigGVK != nil { cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } - eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta1.Instance_GroupVersionKind))) - ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta1.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) + eventHandler := handler.NewEventHandler(handler.WithLogger(o.Logger.WithValues("gvk", v1beta2.Instance_GroupVersionKind))) + ac := tjcontroller.NewAPICallbacks(mgr, xpresource.ManagedKind(v1beta2.Instance_GroupVersionKind), tjcontroller.WithEventHandler(eventHandler), tjcontroller.WithStatusUpdates(false)) opts := []managed.ReconcilerOption{ managed.WithExternalConnecter( tjcontroller.NewTerraformPluginSDKAsyncConnector(mgr.GetClient(), o.OperationTrackerStore, o.SetupFn, o.Provider.Resources["aws_db_instance"], tjcontroller.WithTerraformPluginSDKAsyncLogger(o.Logger), tjcontroller.WithTerraformPluginSDKAsyncConnectorEventHandler(eventHandler), tjcontroller.WithTerraformPluginSDKAsyncCallbackProvider(ac), - tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta1.Instance_GroupVersionKind, mgr, o.PollInterval)), + tjcontroller.WithTerraformPluginSDKAsyncMetricRecorder(metrics.NewMetricRecorder(v1beta2.Instance_GroupVersionKind, mgr, o.PollInterval)), tjcontroller.WithTerraformPluginSDKAsyncManagementPolicies(o.Features.Enabled(features.EnableBetaManagementPolicies)))), managed.WithLogger(o.Logger.WithValues("controller", name)), managed.WithRecorder(event.NewAPIRecorder(mgr.GetEventRecorderFor(name))), @@ -64,22 +64,22 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { opts = append(opts, managed.WithManagementPolicies()) } - // register webhooks for the kind v1beta1.Instance + // register webhooks for the kind v1beta2.Instance // if they're enabled. if o.StartWebhooks { if err := ctrl.NewWebhookManagedBy(mgr). - For(&v1beta1.Instance{}). + For(&v1beta2.Instance{}). Complete(); err != nil { - return errors.Wrap(err, "cannot register webhook for the kind v1beta1.Instance") + return errors.Wrap(err, "cannot register webhook for the kind v1beta2.Instance") } } - r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta1.Instance_GroupVersionKind), opts...) + r := managed.NewReconciler(mgr, xpresource.ManagedKind(v1beta2.Instance_GroupVersionKind), opts...) return ctrl.NewControllerManagedBy(mgr). Named(name). WithOptions(o.ForControllerRuntime()). WithEventFilter(xpresource.DesiredStateChanged()). - Watches(&v1beta1.Instance{}, eventHandler). + Watches(&v1beta2.Instance{}, eventHandler). Complete(ratelimiter.NewReconciler(name, r, o.GlobalRateLimiter)) } diff --git a/package/crds/autoscaling.aws.upbound.io_attachments.yaml b/package/crds/autoscaling.aws.upbound.io_attachments.yaml index afa96df9a7..f375f9f275 100644 --- a/package/crds/autoscaling.aws.upbound.io_attachments.yaml +++ b/package/crds/autoscaling.aws.upbound.io_attachments.yaml @@ -32,6 +32,915 @@ spec: name: AGE type: date name: v1beta1 + schema: + openAPIV3Schema: + description: Attachment is the Schema for the Attachments API. Provides an + AutoScaling Group Attachment resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AttachmentSpec defines the desired state of Attachment + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + albTargetGroupArn: + description: ARN of an ALB Target Group. + type: string + albTargetGroupArnRef: + description: Reference to a LBTargetGroup in elbv2 to populate + albTargetGroupArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + albTargetGroupArnSelector: + description: Selector for a LBTargetGroup in elbv2 to populate + albTargetGroupArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + autoscalingGroupName: + description: Name of ASG to associate with the ELB. + type: string + autoscalingGroupNameRef: + description: Reference to a AutoscalingGroup to populate autoscalingGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + autoscalingGroupNameSelector: + description: Selector for a AutoscalingGroup to populate autoscalingGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + elb: + description: Name of the ELB. + type: string + elbRef: + description: Reference to a ELB in elb to populate elb. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + elbSelector: + description: Selector for a ELB in elb to populate elb. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + lbTargetGroupArn: + description: ARN of a load balancer target group. + type: string + lbTargetGroupArnRef: + description: Reference to a LBTargetGroup in elbv2 to populate + lbTargetGroupArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + lbTargetGroupArnSelector: + description: Selector for a LBTargetGroup in elbv2 to populate + lbTargetGroupArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + region: + description: Region is the region you'd like your resource to + be created in. + type: string + required: + - region + type: object + initProvider: + description: 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. + properties: + albTargetGroupArn: + description: ARN of an ALB Target Group. + type: string + albTargetGroupArnRef: + description: Reference to a LBTargetGroup in elbv2 to populate + albTargetGroupArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + albTargetGroupArnSelector: + description: Selector for a LBTargetGroup in elbv2 to populate + albTargetGroupArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + autoscalingGroupName: + description: Name of ASG to associate with the ELB. + type: string + autoscalingGroupNameRef: + description: Reference to a AutoscalingGroup to populate autoscalingGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + autoscalingGroupNameSelector: + description: Selector for a AutoscalingGroup to populate autoscalingGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + elb: + description: Name of the ELB. + type: string + elbRef: + description: Reference to a ELB in elb to populate elb. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + elbSelector: + description: Selector for a ELB in elb to populate elb. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + lbTargetGroupArn: + description: ARN of a load balancer target group. + type: string + lbTargetGroupArnRef: + description: Reference to a LBTargetGroup in elbv2 to populate + lbTargetGroupArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + lbTargetGroupArnSelector: + description: Selector for a LBTargetGroup in elbv2 to populate + lbTargetGroupArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: AttachmentStatus defines the observed state of Attachment. + properties: + atProvider: + properties: + albTargetGroupArn: + description: ARN of an ALB Target Group. + type: string + autoscalingGroupName: + description: Name of ASG to associate with the ELB. + type: string + elb: + description: Name of the ELB. + type: string + id: + type: string + lbTargetGroupArn: + description: ARN of a load balancer target group. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 schema: openAPIV3Schema: description: Attachment is the Schema for the Attachments API. diff --git a/package/crds/autoscaling.aws.upbound.io_autoscalinggroups.yaml b/package/crds/autoscaling.aws.upbound.io_autoscalinggroups.yaml index d5bedab7bb..c5c0fbc1e4 100644 --- a/package/crds/autoscaling.aws.upbound.io_autoscalinggroups.yaml +++ b/package/crds/autoscaling.aws.upbound.io_autoscalinggroups.yaml @@ -32,6 +32,3525 @@ spec: name: AGE type: date name: v1beta1 + schema: + openAPIV3Schema: + description: AutoscalingGroup is the Schema for the AutoscalingGroups API. + Provides an Auto Scaling Group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: AutoscalingGroupSpec defines the desired state of AutoscalingGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + availabilityZones: + description: List of one or more availability zones for the group. + Used for EC2-Classic, attaching a network interface via id from + a launch template and default subnets when not specified with + vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. + items: + type: string + type: array + x-kubernetes-list-type: set + capacityRebalance: + description: Whether capacity rebalance is enabled. Otherwise, + capacity rebalance is disabled. + type: boolean + context: + description: Reserved. + type: string + defaultCooldown: + description: Amount of time, in seconds, after a scaling activity + completes before another scaling activity can start. + type: number + defaultInstanceWarmup: + description: Amount of time, in seconds, until a newly launched + instance can contribute to the Amazon CloudWatch metrics. This + delay lets an instance finish initializing before Amazon EC2 + Auto Scaling aggregates instance metrics, resulting in more + reliable usage data. Set this value equal to the amount of time + that it takes for resource consumption to become stable after + an instance reaches the InService state. (See Set the default + instance warmup for an Auto Scaling group) + type: number + desiredCapacity: + description: Number of Amazon EC2 instances that should be running + in the group. (See also Waiting for Capacity below.) + type: number + desiredCapacityType: + description: 'The unit of measurement for the value specified + for desired_capacity. Supported for attribute-based instance + type selection only. Valid values: "units", "vcpu", "memory-mib".' + type: string + enabledMetrics: + description: List of metrics to collect. The allowed values are + defined by the underlying AWS API. + items: + type: string + type: array + x-kubernetes-list-type: set + forceDelete: + description: Allows deleting the Auto Scaling Group without waiting + for all instances in the pool to terminate. You can force an + Auto Scaling Group to delete even if it's in the process of + scaling a resource. This bypasses that behavior and potentially + leaves resources dangling. + type: boolean + forceDeleteWarmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + type: boolean + healthCheckGracePeriod: + description: Time (in seconds) after instance comes into service + before checking health. + type: number + healthCheckType: + description: '"EC2" or "ELB". Controls how health checking is + done.' + type: string + initialLifecycleHook: + description: One or more Lifecycle Hooks to attach to the Auto + Scaling Group before instances are launched. The syntax is exactly + the same as the separate aws_autoscaling_lifecycle_hook resource, + without the autoscaling_group_name attribute. Please note that + this will only work when creating a new Auto Scaling Group. + For all other use-cases, please use aws_autoscaling_lifecycle_hook + resource. + items: + properties: + defaultResult: + type: string + heartbeatTimeout: + type: number + lifecycleTransition: + type: string + name: + description: Name of the Auto Scaling Group. Conflicts with + name_prefix. + type: string + notificationMetadata: + type: string + notificationTargetArn: + description: ARN for this Auto Scaling Group + type: string + roleArn: + description: ARN for this Auto Scaling Group + type: string + type: object + type: array + instanceRefresh: + description: If this block is configured, start an Instance Refresh + when this Auto Scaling Group is updated. Defined below. + items: + properties: + preferences: + description: Override default parameters for Instance Refresh. + items: + properties: + autoRollback: + description: Automatically rollback if instance refresh + fails. Defaults to false. + type: boolean + checkpointDelay: + description: Number of seconds to wait after a checkpoint. + Defaults to 3600. + type: string + checkpointPercentages: + description: List of percentages for each checkpoint. + Values must be unique and in ascending order. To + replace all instances, the final number must be + 100. + items: + type: number + type: array + instanceWarmup: + description: Number of seconds until a newly launched + instance is configured and ready to use. Default + behavior is to use the Auto Scaling Group's health + check grace period. + type: string + minHealthyPercentage: + description: Amount of capacity in the Auto Scaling + group that must remain healthy during an instance + refresh to allow the operation to continue, as a + percentage of the desired capacity of the Auto Scaling + group. Defaults to 90. + type: number + skipMatching: + description: Replace instances that already have your + desired configuration. Defaults to false. + type: boolean + type: object + type: array + strategy: + description: Strategy to use for instance refresh. The only + allowed value is Rolling. See StartInstanceRefresh Action + for more information. + type: string + triggers: + description: Set of additional property names that will + trigger an Instance Refresh. A refresh will always be + triggered by a change in any of launch_configuration, + launch_template, or mixed_instances_policy. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + launchConfiguration: + description: Name of the launch configuration to use. + type: string + launchConfigurationRef: + description: Reference to a LaunchConfiguration in autoscaling + to populate launchConfiguration. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchConfigurationSelector: + description: Selector for a LaunchConfiguration in autoscaling + to populate launchConfiguration. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplate: + description: Nested argument with Launch template specification + to use to launch instances. See Launch Template below for more + details. + items: + properties: + id: + description: ID of the launch template. Conflicts with name. + type: string + idRef: + description: Reference to a LaunchTemplate in ec2 to populate + id. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + idSelector: + description: Selector for a LaunchTemplate in ec2 to populate + id. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + name: + description: Name of the launch template. Conflicts with + id. + type: string + version: + description: 'Template version. Can be version number, $Latest, + or $Default. (Default: $Default).' + type: string + type: object + type: array + maxInstanceLifetime: + description: Maximum amount of time, in seconds, that an instance + can be in service, values must be either equal to 0 or between + 86400 and 31536000 seconds. + type: number + maxSize: + description: Maximum size of the Auto Scaling Group. + type: number + metricsGranularity: + description: Granularity to associate with the metrics to collect. + The only valid value is 1Minute. Default is 1Minute. + type: string + minElbCapacity: + description: Updates will not wait on ELB instance number changes. + (See also Waiting for Capacity below.) + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See also + Waiting for Capacity below.) + type: number + mixedInstancesPolicy: + description: Configuration block containing settings to define + launch targets for Auto Scaling groups. See Mixed Instances + Policy below for more details. + items: + properties: + instancesDistribution: + description: Nested argument containing settings on how + to mix on-demand and Spot instances in the Auto Scaling + group. Defined below. + items: + properties: + onDemandAllocationStrategy: + description: 'Strategy to use when launching on-demand + instances. Valid values: prioritized, lowest-price. + Default: prioritized.' + type: string + onDemandBaseCapacity: + description: 'Absolute minimum amount of desired capacity + that must be fulfilled by on-demand instances. Default: + 0.' + type: number + onDemandPercentageAboveBaseCapacity: + description: 'Percentage split between on-demand and + Spot instances above the base on-demand capacity. + Default: 100.' + type: number + spotAllocationStrategy: + description: 'How to allocate capacity across the + Spot pools. Valid values: lowest-price, capacity-optimized, + capacity-optimized-prioritized, and price-capacity-optimized. + Default: lowest-price.' + type: string + spotInstancePools: + description: 'Number of Spot pools per availability + zone to allocate capacity. EC2 Auto Scaling selects + the cheapest Spot pools and evenly allocates Spot + capacity across the number of Spot pools that you + specify. Only available with spot_allocation_strategy + set to lowest-price. Otherwise it must be set to + 0, if it has been defined before. Default: 2.' + type: number + spotMaxPrice: + description: 'Maximum price per unit hour that the + user is willing to pay for the Spot instances. Default: + an empty string which means the on-demand price.' + type: string + type: object + type: array + launchTemplate: + description: Nested argument containing launch template + settings along with the overrides to specify multiple + instance types and weights. Defined below. + items: + properties: + launchTemplateSpecification: + description: Nested argument defines the Launch Template. + Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. Conflicts + with launch_template_name. + type: string + launchTemplateIdRef: + description: Reference to a LaunchTemplate in + ec2 to populate launchTemplateId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchTemplateIdSelector: + description: Selector for a LaunchTemplate in + ec2 to populate launchTemplateId. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplateName: + description: Name of the launch template. Conflicts + with launch_template_id. + type: string + version: + description: 'Template version. Can be version + number, $Latest, or $Default. (Default: $Default).' + type: string + type: object + type: array + override: + description: List of nested arguments provides the + ability to specify multiple instance types. This + will override the same parameter in the launch template. + For on-demand instances, Auto Scaling considers + the order of preference of instance types to launch + based on the order specified in the overrides list. + Defined below. + items: + properties: + instanceRequirements: + description: Override the instance type in the + Launch Template with instance types that satisfy + the requirements. + items: + properties: + acceleratorCount: + description: Block describing the minimum + and maximum number of accelerators (GPUs, + FPGAs, or AWS Inferentia chips). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorManufacturers: + description: List of accelerator manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorNames: + description: List of accelerator names. + Default is any acclerator. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorTotalMemoryMib: + description: Block describing the minimum + and maximum total memory of the accelerators. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorTypes: + description: List of accelerator types. + Default is any accelerator type. + items: + type: string + type: array + x-kubernetes-list-type: set + allowedInstanceTypes: + description: 'List of instance types to + apply your specified attributes against. + All other instance types are ignored, + even if they match your specified attributes. + You can use strings with one or more + wild cards, represented by an asterisk + (*), to allow an instance type, size, + or generation. The following are examples: + m5.8xlarge, c5*.*, m5a.*, r*, *3*. For + example, if you specify c5*, you are + allowing the entire C5 instance family, + which includes all C5a and C5n instance + types. If you specify m5a.*, you are + allowing all the M5a instance types, + but not the M5n instance types. Maximum + of 400 entries in the list; each entry + is limited to 30 characters. Default + is all instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + bareMetal: + description: Indicate whether bare metal + instace types should be included, excluded, + or required. Default is excluded. + type: string + baselineEbsBandwidthMbps: + description: Block describing the minimum + and maximum baseline EBS bandwidth, + in Mbps. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + burstablePerformance: + description: Indicate whether burstable + performance instance types should be + included, excluded, or required. Default + is excluded. + type: string + cpuManufacturers: + description: List of CPU manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + excludedInstanceTypes: + description: 'List of instance types to + exclude. You can use strings with one + or more wild cards, represented by an + asterisk (*), to exclude an instance + type, size, or generation. The following + are examples: m5.8xlarge, c5*.*, m5a.*, + r*, *3*. For example, if you specify + c5*, you are excluding the entire C5 + instance family, which includes all + C5a and C5n instance types. If you specify + m5a.*, you are excluding all the M5a + instance types, but not the M5n instance + types. Maximum of 400 entries in the + list; each entry is limited to 30 characters. + Default is no excluded instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + instanceGenerations: + description: List of instance generation + names. Default is any generation. + items: + type: string + type: array + x-kubernetes-list-type: set + localStorage: + description: Indicate whether instance + types with local storage volumes are + included, excluded, or required. Default + is included. + type: string + localStorageTypes: + description: List of local storage type + names. Default any storage type. + items: + type: string + type: array + x-kubernetes-list-type: set + memoryGibPerVcpu: + description: Block describing the minimum + and maximum amount of memory (GiB) per + vCPU. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + memoryMib: + description: Block describing the minimum + and maximum amount of memory (MiB). + Default is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkBandwidthGbps: + description: Block describing the minimum + and maximum amount of network bandwidth, + in gigabits per second (Gbps). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkInterfaceCount: + description: Block describing the minimum + and maximum number of network interfaces. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + onDemandMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for On-Demand Instances. This is the + maximum you’ll pay for an On-Demand + Instance, expressed as a percentage + higher than the cheapest M, C, or R + instance type with your specified attributes. + When Amazon EC2 Auto Scaling selects + instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 20. + type: number + requireHibernateSupport: + description: Indicate whether instance + types must support On-Demand Instance + Hibernation, either true or false. Default + is false. + type: boolean + spotMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for Spot Instances. This is the maximum + you’ll pay for a Spot Instance, expressed + as a percentage higher than the cheapest + M, C, or R instance type with your specified + attributes. When Amazon EC2 Auto Scaling + selects instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 100. + type: number + totalLocalStorageGb: + description: Block describing the minimum + and maximum total local storage (GB). + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + vcpuCount: + description: Block describing the minimum + and maximum number of vCPUs. Default + is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + type: object + type: array + instanceType: + description: Override the instance type in the + Launch Template. + type: string + launchTemplateSpecification: + description: Nested argument defines the Launch + Template. Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. + Conflicts with launch_template_name. + type: string + launchTemplateIdRef: + description: Reference to a LaunchTemplate + in ec2 to populate launchTemplateId. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchTemplateIdSelector: + description: Selector for a LaunchTemplate + in ec2 to populate launchTemplateId. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller + reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an + object with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplateName: + description: Name of the launch template. + Conflicts with launch_template_id. + type: string + version: + description: 'Template version. Can be + version number, $Latest, or $Default. + (Default: $Default).' + type: string + type: object + type: array + weightedCapacity: + description: Number of capacity units, which + gives the instance type a proportional weight + to other instance types. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + placementGroup: + description: Name of the placement group into which you'll launch + your instances, if any. + type: string + placementGroupRef: + description: Reference to a PlacementGroup in ec2 to populate + placementGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + placementGroupSelector: + description: Selector for a PlacementGroup in ec2 to populate + placementGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + protectFromScaleIn: + description: in protection in the Amazon EC2 Auto Scaling User + Guide. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + serviceLinkedRoleArn: + description: linked role that the ASG will use to call other AWS + services + type: string + serviceLinkedRoleArnRef: + description: Reference to a Role in iam to populate serviceLinkedRoleArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serviceLinkedRoleArnSelector: + description: Selector for a Role in iam to populate serviceLinkedRoleArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + suspendedProcesses: + description: List of processes to suspend for the Auto Scaling + Group. The allowed values are Launch, Terminate, HealthCheck, + ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, + AddToLoadBalancer, InstanceRefresh. Note that if you suspend + either the Launch or Terminate process types, it can prevent + your Auto Scaling Group from functioning properly. + items: + type: string + type: array + x-kubernetes-list-type: set + tag: + description: Configuration block(s) containing resource tags. + Conflicts with tags. See Tag below for more details. + items: + properties: + key: + description: Key + type: string + propagateAtLaunch: + description: Enables propagation of the tag to Amazon EC2 + instances launched via this ASG + type: boolean + value: + description: Value + type: string + type: object + type: array + tags: + description: Key-value map of resource tags. + items: + additionalProperties: + type: string + type: object + type: array + terminationPolicies: + description: List of policies to decide how the instances in the + Auto Scaling Group should be terminated. The allowed values + are OldestInstance, NewestInstance, OldestLaunchConfiguration, + ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, + Default. Additionally, the ARN of a Lambda function can be specified + for custom termination policies. + items: + type: string + type: array + vpcZoneIdentifier: + description: List of subnet IDs to launch resources in. Subnets + automatically determine which availability zones the group will + reside. Conflicts with availability_zones. + items: + type: string + type: array + x-kubernetes-list-type: set + vpcZoneIdentifierRefs: + description: References to Subnet in ec2 to populate vpcZoneIdentifier. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + vpcZoneIdentifierSelector: + description: Selector for a list of Subnet in ec2 to populate + vpcZoneIdentifier. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + waitForCapacityTimeout: + description: (See also Waiting for Capacity below. + type: string + waitForElbCapacity: + description: (Takes precedence over min_elb_capacity behavior.) + (See also Waiting for Capacity below.) + type: number + warmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + items: + properties: + instanceReusePolicy: + description: Whether instances in the Auto Scaling group + can be returned to the warm pool on scale in. The default + is to terminate instances in the Auto Scaling group when + the group scales in. + items: + properties: + reuseOnScaleIn: + description: Whether instances in the Auto Scaling + group can be returned to the warm pool on scale + in. + type: boolean + type: object + type: array + maxGroupPreparedCapacity: + description: Total maximum number of instances that are + allowed to be in the warm pool or in any state except + Terminated for the Auto Scaling group. + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See + also Waiting for Capacity below.) + type: number + poolState: + description: 'Sets the instance state to transition to after + the lifecycle hooks finish. Valid values are: Stopped + (default), Running or Hibernated.' + type: string + type: object + type: array + required: + - region + type: object + initProvider: + description: 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. + properties: + availabilityZones: + description: List of one or more availability zones for the group. + Used for EC2-Classic, attaching a network interface via id from + a launch template and default subnets when not specified with + vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. + items: + type: string + type: array + x-kubernetes-list-type: set + capacityRebalance: + description: Whether capacity rebalance is enabled. Otherwise, + capacity rebalance is disabled. + type: boolean + context: + description: Reserved. + type: string + defaultCooldown: + description: Amount of time, in seconds, after a scaling activity + completes before another scaling activity can start. + type: number + defaultInstanceWarmup: + description: Amount of time, in seconds, until a newly launched + instance can contribute to the Amazon CloudWatch metrics. This + delay lets an instance finish initializing before Amazon EC2 + Auto Scaling aggregates instance metrics, resulting in more + reliable usage data. Set this value equal to the amount of time + that it takes for resource consumption to become stable after + an instance reaches the InService state. (See Set the default + instance warmup for an Auto Scaling group) + type: number + desiredCapacity: + description: Number of Amazon EC2 instances that should be running + in the group. (See also Waiting for Capacity below.) + type: number + desiredCapacityType: + description: 'The unit of measurement for the value specified + for desired_capacity. Supported for attribute-based instance + type selection only. Valid values: "units", "vcpu", "memory-mib".' + type: string + enabledMetrics: + description: List of metrics to collect. The allowed values are + defined by the underlying AWS API. + items: + type: string + type: array + x-kubernetes-list-type: set + forceDelete: + description: Allows deleting the Auto Scaling Group without waiting + for all instances in the pool to terminate. You can force an + Auto Scaling Group to delete even if it's in the process of + scaling a resource. This bypasses that behavior and potentially + leaves resources dangling. + type: boolean + forceDeleteWarmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + type: boolean + healthCheckGracePeriod: + description: Time (in seconds) after instance comes into service + before checking health. + type: number + healthCheckType: + description: '"EC2" or "ELB". Controls how health checking is + done.' + type: string + initialLifecycleHook: + description: One or more Lifecycle Hooks to attach to the Auto + Scaling Group before instances are launched. The syntax is exactly + the same as the separate aws_autoscaling_lifecycle_hook resource, + without the autoscaling_group_name attribute. Please note that + this will only work when creating a new Auto Scaling Group. + For all other use-cases, please use aws_autoscaling_lifecycle_hook + resource. + items: + properties: + defaultResult: + type: string + heartbeatTimeout: + type: number + lifecycleTransition: + type: string + name: + description: Name of the Auto Scaling Group. Conflicts with + name_prefix. + type: string + notificationMetadata: + type: string + notificationTargetArn: + description: ARN for this Auto Scaling Group + type: string + roleArn: + description: ARN for this Auto Scaling Group + type: string + type: object + type: array + instanceRefresh: + description: If this block is configured, start an Instance Refresh + when this Auto Scaling Group is updated. Defined below. + items: + properties: + preferences: + description: Override default parameters for Instance Refresh. + items: + properties: + autoRollback: + description: Automatically rollback if instance refresh + fails. Defaults to false. + type: boolean + checkpointDelay: + description: Number of seconds to wait after a checkpoint. + Defaults to 3600. + type: string + checkpointPercentages: + description: List of percentages for each checkpoint. + Values must be unique and in ascending order. To + replace all instances, the final number must be + 100. + items: + type: number + type: array + instanceWarmup: + description: Number of seconds until a newly launched + instance is configured and ready to use. Default + behavior is to use the Auto Scaling Group's health + check grace period. + type: string + minHealthyPercentage: + description: Amount of capacity in the Auto Scaling + group that must remain healthy during an instance + refresh to allow the operation to continue, as a + percentage of the desired capacity of the Auto Scaling + group. Defaults to 90. + type: number + skipMatching: + description: Replace instances that already have your + desired configuration. Defaults to false. + type: boolean + type: object + type: array + strategy: + description: Strategy to use for instance refresh. The only + allowed value is Rolling. See StartInstanceRefresh Action + for more information. + type: string + triggers: + description: Set of additional property names that will + trigger an Instance Refresh. A refresh will always be + triggered by a change in any of launch_configuration, + launch_template, or mixed_instances_policy. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + launchConfiguration: + description: Name of the launch configuration to use. + type: string + launchConfigurationRef: + description: Reference to a LaunchConfiguration in autoscaling + to populate launchConfiguration. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchConfigurationSelector: + description: Selector for a LaunchConfiguration in autoscaling + to populate launchConfiguration. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplate: + description: Nested argument with Launch template specification + to use to launch instances. See Launch Template below for more + details. + items: + properties: + id: + description: ID of the launch template. Conflicts with name. + type: string + idRef: + description: Reference to a LaunchTemplate in ec2 to populate + id. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + idSelector: + description: Selector for a LaunchTemplate in ec2 to populate + id. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + name: + description: Name of the launch template. Conflicts with + id. + type: string + version: + description: 'Template version. Can be version number, $Latest, + or $Default. (Default: $Default).' + type: string + type: object + type: array + maxInstanceLifetime: + description: Maximum amount of time, in seconds, that an instance + can be in service, values must be either equal to 0 or between + 86400 and 31536000 seconds. + type: number + maxSize: + description: Maximum size of the Auto Scaling Group. + type: number + metricsGranularity: + description: Granularity to associate with the metrics to collect. + The only valid value is 1Minute. Default is 1Minute. + type: string + minElbCapacity: + description: Updates will not wait on ELB instance number changes. + (See also Waiting for Capacity below.) + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See also + Waiting for Capacity below.) + type: number + mixedInstancesPolicy: + description: Configuration block containing settings to define + launch targets for Auto Scaling groups. See Mixed Instances + Policy below for more details. + items: + properties: + instancesDistribution: + description: Nested argument containing settings on how + to mix on-demand and Spot instances in the Auto Scaling + group. Defined below. + items: + properties: + onDemandAllocationStrategy: + description: 'Strategy to use when launching on-demand + instances. Valid values: prioritized, lowest-price. + Default: prioritized.' + type: string + onDemandBaseCapacity: + description: 'Absolute minimum amount of desired capacity + that must be fulfilled by on-demand instances. Default: + 0.' + type: number + onDemandPercentageAboveBaseCapacity: + description: 'Percentage split between on-demand and + Spot instances above the base on-demand capacity. + Default: 100.' + type: number + spotAllocationStrategy: + description: 'How to allocate capacity across the + Spot pools. Valid values: lowest-price, capacity-optimized, + capacity-optimized-prioritized, and price-capacity-optimized. + Default: lowest-price.' + type: string + spotInstancePools: + description: 'Number of Spot pools per availability + zone to allocate capacity. EC2 Auto Scaling selects + the cheapest Spot pools and evenly allocates Spot + capacity across the number of Spot pools that you + specify. Only available with spot_allocation_strategy + set to lowest-price. Otherwise it must be set to + 0, if it has been defined before. Default: 2.' + type: number + spotMaxPrice: + description: 'Maximum price per unit hour that the + user is willing to pay for the Spot instances. Default: + an empty string which means the on-demand price.' + type: string + type: object + type: array + launchTemplate: + description: Nested argument containing launch template + settings along with the overrides to specify multiple + instance types and weights. Defined below. + items: + properties: + launchTemplateSpecification: + description: Nested argument defines the Launch Template. + Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. Conflicts + with launch_template_name. + type: string + launchTemplateIdRef: + description: Reference to a LaunchTemplate in + ec2 to populate launchTemplateId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchTemplateIdSelector: + description: Selector for a LaunchTemplate in + ec2 to populate launchTemplateId. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplateName: + description: Name of the launch template. Conflicts + with launch_template_id. + type: string + version: + description: 'Template version. Can be version + number, $Latest, or $Default. (Default: $Default).' + type: string + type: object + type: array + override: + description: List of nested arguments provides the + ability to specify multiple instance types. This + will override the same parameter in the launch template. + For on-demand instances, Auto Scaling considers + the order of preference of instance types to launch + based on the order specified in the overrides list. + Defined below. + items: + properties: + instanceRequirements: + description: Override the instance type in the + Launch Template with instance types that satisfy + the requirements. + items: + properties: + acceleratorCount: + description: Block describing the minimum + and maximum number of accelerators (GPUs, + FPGAs, or AWS Inferentia chips). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorManufacturers: + description: List of accelerator manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorNames: + description: List of accelerator names. + Default is any acclerator. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorTotalMemoryMib: + description: Block describing the minimum + and maximum total memory of the accelerators. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorTypes: + description: List of accelerator types. + Default is any accelerator type. + items: + type: string + type: array + x-kubernetes-list-type: set + allowedInstanceTypes: + description: 'List of instance types to + apply your specified attributes against. + All other instance types are ignored, + even if they match your specified attributes. + You can use strings with one or more + wild cards, represented by an asterisk + (*), to allow an instance type, size, + or generation. The following are examples: + m5.8xlarge, c5*.*, m5a.*, r*, *3*. For + example, if you specify c5*, you are + allowing the entire C5 instance family, + which includes all C5a and C5n instance + types. If you specify m5a.*, you are + allowing all the M5a instance types, + but not the M5n instance types. Maximum + of 400 entries in the list; each entry + is limited to 30 characters. Default + is all instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + bareMetal: + description: Indicate whether bare metal + instace types should be included, excluded, + or required. Default is excluded. + type: string + baselineEbsBandwidthMbps: + description: Block describing the minimum + and maximum baseline EBS bandwidth, + in Mbps. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + burstablePerformance: + description: Indicate whether burstable + performance instance types should be + included, excluded, or required. Default + is excluded. + type: string + cpuManufacturers: + description: List of CPU manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + excludedInstanceTypes: + description: 'List of instance types to + exclude. You can use strings with one + or more wild cards, represented by an + asterisk (*), to exclude an instance + type, size, or generation. The following + are examples: m5.8xlarge, c5*.*, m5a.*, + r*, *3*. For example, if you specify + c5*, you are excluding the entire C5 + instance family, which includes all + C5a and C5n instance types. If you specify + m5a.*, you are excluding all the M5a + instance types, but not the M5n instance + types. Maximum of 400 entries in the + list; each entry is limited to 30 characters. + Default is no excluded instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + instanceGenerations: + description: List of instance generation + names. Default is any generation. + items: + type: string + type: array + x-kubernetes-list-type: set + localStorage: + description: Indicate whether instance + types with local storage volumes are + included, excluded, or required. Default + is included. + type: string + localStorageTypes: + description: List of local storage type + names. Default any storage type. + items: + type: string + type: array + x-kubernetes-list-type: set + memoryGibPerVcpu: + description: Block describing the minimum + and maximum amount of memory (GiB) per + vCPU. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + memoryMib: + description: Block describing the minimum + and maximum amount of memory (MiB). + Default is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkBandwidthGbps: + description: Block describing the minimum + and maximum amount of network bandwidth, + in gigabits per second (Gbps). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkInterfaceCount: + description: Block describing the minimum + and maximum number of network interfaces. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + onDemandMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for On-Demand Instances. This is the + maximum you’ll pay for an On-Demand + Instance, expressed as a percentage + higher than the cheapest M, C, or R + instance type with your specified attributes. + When Amazon EC2 Auto Scaling selects + instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 20. + type: number + requireHibernateSupport: + description: Indicate whether instance + types must support On-Demand Instance + Hibernation, either true or false. Default + is false. + type: boolean + spotMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for Spot Instances. This is the maximum + you’ll pay for a Spot Instance, expressed + as a percentage higher than the cheapest + M, C, or R instance type with your specified + attributes. When Amazon EC2 Auto Scaling + selects instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 100. + type: number + totalLocalStorageGb: + description: Block describing the minimum + and maximum total local storage (GB). + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + vcpuCount: + description: Block describing the minimum + and maximum number of vCPUs. Default + is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + type: object + type: array + instanceType: + description: Override the instance type in the + Launch Template. + type: string + launchTemplateSpecification: + description: Nested argument defines the Launch + Template. Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. + Conflicts with launch_template_name. + type: string + launchTemplateIdRef: + description: Reference to a LaunchTemplate + in ec2 to populate launchTemplateId. + properties: + name: + description: Name of the referenced + object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + launchTemplateIdSelector: + description: Selector for a LaunchTemplate + in ec2 to populate launchTemplateId. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller + reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an + object with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies + whether resolution of this reference + is required. The default is + 'Required', which means the + reconcile will fail if the reference + cannot be resolved. 'Optional' + means this reference will be + a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies + when this reference should be + resolved. The default is 'IfNotPresent', + which will attempt to resolve + the reference only when the + corresponding field is not present. + Use 'Always' to resolve the + reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + launchTemplateName: + description: Name of the launch template. + Conflicts with launch_template_id. + type: string + version: + description: 'Template version. Can be + version number, $Latest, or $Default. + (Default: $Default).' + type: string + type: object + type: array + weightedCapacity: + description: Number of capacity units, which + gives the instance type a proportional weight + to other instance types. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + placementGroup: + description: Name of the placement group into which you'll launch + your instances, if any. + type: string + placementGroupRef: + description: Reference to a PlacementGroup in ec2 to populate + placementGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + placementGroupSelector: + description: Selector for a PlacementGroup in ec2 to populate + placementGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + protectFromScaleIn: + description: in protection in the Amazon EC2 Auto Scaling User + Guide. + type: boolean + serviceLinkedRoleArn: + description: linked role that the ASG will use to call other AWS + services + type: string + serviceLinkedRoleArnRef: + description: Reference to a Role in iam to populate serviceLinkedRoleArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + serviceLinkedRoleArnSelector: + description: Selector for a Role in iam to populate serviceLinkedRoleArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + suspendedProcesses: + description: List of processes to suspend for the Auto Scaling + Group. The allowed values are Launch, Terminate, HealthCheck, + ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, + AddToLoadBalancer, InstanceRefresh. Note that if you suspend + either the Launch or Terminate process types, it can prevent + your Auto Scaling Group from functioning properly. + items: + type: string + type: array + x-kubernetes-list-type: set + tag: + description: Configuration block(s) containing resource tags. + Conflicts with tags. See Tag below for more details. + items: + properties: + key: + description: Key + type: string + propagateAtLaunch: + description: Enables propagation of the tag to Amazon EC2 + instances launched via this ASG + type: boolean + value: + description: Value + type: string + type: object + type: array + tags: + description: Key-value map of resource tags. + items: + additionalProperties: + type: string + type: object + type: array + terminationPolicies: + description: List of policies to decide how the instances in the + Auto Scaling Group should be terminated. The allowed values + are OldestInstance, NewestInstance, OldestLaunchConfiguration, + ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, + Default. Additionally, the ARN of a Lambda function can be specified + for custom termination policies. + items: + type: string + type: array + vpcZoneIdentifier: + description: List of subnet IDs to launch resources in. Subnets + automatically determine which availability zones the group will + reside. Conflicts with availability_zones. + items: + type: string + type: array + x-kubernetes-list-type: set + vpcZoneIdentifierRefs: + description: References to Subnet in ec2 to populate vpcZoneIdentifier. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + vpcZoneIdentifierSelector: + description: Selector for a list of Subnet in ec2 to populate + vpcZoneIdentifier. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + waitForCapacityTimeout: + description: (See also Waiting for Capacity below. + type: string + waitForElbCapacity: + description: (Takes precedence over min_elb_capacity behavior.) + (See also Waiting for Capacity below.) + type: number + warmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + items: + properties: + instanceReusePolicy: + description: Whether instances in the Auto Scaling group + can be returned to the warm pool on scale in. The default + is to terminate instances in the Auto Scaling group when + the group scales in. + items: + properties: + reuseOnScaleIn: + description: Whether instances in the Auto Scaling + group can be returned to the warm pool on scale + in. + type: boolean + type: object + type: array + maxGroupPreparedCapacity: + description: Total maximum number of instances that are + allowed to be in the warm pool or in any state except + Terminated for the Auto Scaling group. + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See + also Waiting for Capacity below.) + type: number + poolState: + description: 'Sets the instance state to transition to after + the lifecycle hooks finish. Valid values are: Stopped + (default), Running or Hibernated.' + type: string + type: object + type: array + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.maxSize is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.maxSize) + || (has(self.initProvider) && has(self.initProvider.maxSize))' + - message: spec.forProvider.minSize is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.minSize) + || (has(self.initProvider) && has(self.initProvider.minSize))' + status: + description: AutoscalingGroupStatus defines the observed state of AutoscalingGroup. + properties: + atProvider: + properties: + arn: + description: ARN for this Auto Scaling Group + type: string + availabilityZones: + description: List of one or more availability zones for the group. + Used for EC2-Classic, attaching a network interface via id from + a launch template and default subnets when not specified with + vpc_zone_identifier argument. Conflicts with vpc_zone_identifier. + items: + type: string + type: array + x-kubernetes-list-type: set + capacityRebalance: + description: Whether capacity rebalance is enabled. Otherwise, + capacity rebalance is disabled. + type: boolean + context: + description: Reserved. + type: string + defaultCooldown: + description: Amount of time, in seconds, after a scaling activity + completes before another scaling activity can start. + type: number + defaultInstanceWarmup: + description: Amount of time, in seconds, until a newly launched + instance can contribute to the Amazon CloudWatch metrics. This + delay lets an instance finish initializing before Amazon EC2 + Auto Scaling aggregates instance metrics, resulting in more + reliable usage data. Set this value equal to the amount of time + that it takes for resource consumption to become stable after + an instance reaches the InService state. (See Set the default + instance warmup for an Auto Scaling group) + type: number + desiredCapacity: + description: Number of Amazon EC2 instances that should be running + in the group. (See also Waiting for Capacity below.) + type: number + desiredCapacityType: + description: 'The unit of measurement for the value specified + for desired_capacity. Supported for attribute-based instance + type selection only. Valid values: "units", "vcpu", "memory-mib".' + type: string + enabledMetrics: + description: List of metrics to collect. The allowed values are + defined by the underlying AWS API. + items: + type: string + type: array + x-kubernetes-list-type: set + forceDelete: + description: Allows deleting the Auto Scaling Group without waiting + for all instances in the pool to terminate. You can force an + Auto Scaling Group to delete even if it's in the process of + scaling a resource. This bypasses that behavior and potentially + leaves resources dangling. + type: boolean + forceDeleteWarmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + type: boolean + healthCheckGracePeriod: + description: Time (in seconds) after instance comes into service + before checking health. + type: number + healthCheckType: + description: '"EC2" or "ELB". Controls how health checking is + done.' + type: string + id: + description: Auto Scaling Group id. + type: string + initialLifecycleHook: + description: One or more Lifecycle Hooks to attach to the Auto + Scaling Group before instances are launched. The syntax is exactly + the same as the separate aws_autoscaling_lifecycle_hook resource, + without the autoscaling_group_name attribute. Please note that + this will only work when creating a new Auto Scaling Group. + For all other use-cases, please use aws_autoscaling_lifecycle_hook + resource. + items: + properties: + defaultResult: + type: string + heartbeatTimeout: + type: number + lifecycleTransition: + type: string + name: + description: Name of the Auto Scaling Group. Conflicts with + name_prefix. + type: string + notificationMetadata: + type: string + notificationTargetArn: + description: ARN for this Auto Scaling Group + type: string + roleArn: + description: ARN for this Auto Scaling Group + type: string + type: object + type: array + instanceRefresh: + description: If this block is configured, start an Instance Refresh + when this Auto Scaling Group is updated. Defined below. + items: + properties: + preferences: + description: Override default parameters for Instance Refresh. + items: + properties: + autoRollback: + description: Automatically rollback if instance refresh + fails. Defaults to false. + type: boolean + checkpointDelay: + description: Number of seconds to wait after a checkpoint. + Defaults to 3600. + type: string + checkpointPercentages: + description: List of percentages for each checkpoint. + Values must be unique and in ascending order. To + replace all instances, the final number must be + 100. + items: + type: number + type: array + instanceWarmup: + description: Number of seconds until a newly launched + instance is configured and ready to use. Default + behavior is to use the Auto Scaling Group's health + check grace period. + type: string + minHealthyPercentage: + description: Amount of capacity in the Auto Scaling + group that must remain healthy during an instance + refresh to allow the operation to continue, as a + percentage of the desired capacity of the Auto Scaling + group. Defaults to 90. + type: number + skipMatching: + description: Replace instances that already have your + desired configuration. Defaults to false. + type: boolean + type: object + type: array + strategy: + description: Strategy to use for instance refresh. The only + allowed value is Rolling. See StartInstanceRefresh Action + for more information. + type: string + triggers: + description: Set of additional property names that will + trigger an Instance Refresh. A refresh will always be + triggered by a change in any of launch_configuration, + launch_template, or mixed_instances_policy. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + launchConfiguration: + description: Name of the launch configuration to use. + type: string + launchTemplate: + description: Nested argument with Launch template specification + to use to launch instances. See Launch Template below for more + details. + items: + properties: + id: + description: ID of the launch template. Conflicts with name. + type: string + name: + description: Name of the launch template. Conflicts with + id. + type: string + version: + description: 'Template version. Can be version number, $Latest, + or $Default. (Default: $Default).' + type: string + type: object + type: array + loadBalancers: + description: List of elastic load balancer names to add to the + autoscaling group names. Only valid for classic load balancers. + For ALBs, use target_group_arns instead. + items: + type: string + type: array + x-kubernetes-list-type: set + maxInstanceLifetime: + description: Maximum amount of time, in seconds, that an instance + can be in service, values must be either equal to 0 or between + 86400 and 31536000 seconds. + type: number + maxSize: + description: Maximum size of the Auto Scaling Group. + type: number + metricsGranularity: + description: Granularity to associate with the metrics to collect. + The only valid value is 1Minute. Default is 1Minute. + type: string + minElbCapacity: + description: Updates will not wait on ELB instance number changes. + (See also Waiting for Capacity below.) + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See also + Waiting for Capacity below.) + type: number + mixedInstancesPolicy: + description: Configuration block containing settings to define + launch targets for Auto Scaling groups. See Mixed Instances + Policy below for more details. + items: + properties: + instancesDistribution: + description: Nested argument containing settings on how + to mix on-demand and Spot instances in the Auto Scaling + group. Defined below. + items: + properties: + onDemandAllocationStrategy: + description: 'Strategy to use when launching on-demand + instances. Valid values: prioritized, lowest-price. + Default: prioritized.' + type: string + onDemandBaseCapacity: + description: 'Absolute minimum amount of desired capacity + that must be fulfilled by on-demand instances. Default: + 0.' + type: number + onDemandPercentageAboveBaseCapacity: + description: 'Percentage split between on-demand and + Spot instances above the base on-demand capacity. + Default: 100.' + type: number + spotAllocationStrategy: + description: 'How to allocate capacity across the + Spot pools. Valid values: lowest-price, capacity-optimized, + capacity-optimized-prioritized, and price-capacity-optimized. + Default: lowest-price.' + type: string + spotInstancePools: + description: 'Number of Spot pools per availability + zone to allocate capacity. EC2 Auto Scaling selects + the cheapest Spot pools and evenly allocates Spot + capacity across the number of Spot pools that you + specify. Only available with spot_allocation_strategy + set to lowest-price. Otherwise it must be set to + 0, if it has been defined before. Default: 2.' + type: number + spotMaxPrice: + description: 'Maximum price per unit hour that the + user is willing to pay for the Spot instances. Default: + an empty string which means the on-demand price.' + type: string + type: object + type: array + launchTemplate: + description: Nested argument containing launch template + settings along with the overrides to specify multiple + instance types and weights. Defined below. + items: + properties: + launchTemplateSpecification: + description: Nested argument defines the Launch Template. + Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. Conflicts + with launch_template_name. + type: string + launchTemplateName: + description: Name of the launch template. Conflicts + with launch_template_id. + type: string + version: + description: 'Template version. Can be version + number, $Latest, or $Default. (Default: $Default).' + type: string + type: object + type: array + override: + description: List of nested arguments provides the + ability to specify multiple instance types. This + will override the same parameter in the launch template. + For on-demand instances, Auto Scaling considers + the order of preference of instance types to launch + based on the order specified in the overrides list. + Defined below. + items: + properties: + instanceRequirements: + description: Override the instance type in the + Launch Template with instance types that satisfy + the requirements. + items: + properties: + acceleratorCount: + description: Block describing the minimum + and maximum number of accelerators (GPUs, + FPGAs, or AWS Inferentia chips). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorManufacturers: + description: List of accelerator manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorNames: + description: List of accelerator names. + Default is any acclerator. + items: + type: string + type: array + x-kubernetes-list-type: set + acceleratorTotalMemoryMib: + description: Block describing the minimum + and maximum total memory of the accelerators. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + acceleratorTypes: + description: List of accelerator types. + Default is any accelerator type. + items: + type: string + type: array + x-kubernetes-list-type: set + allowedInstanceTypes: + description: 'List of instance types to + apply your specified attributes against. + All other instance types are ignored, + even if they match your specified attributes. + You can use strings with one or more + wild cards, represented by an asterisk + (*), to allow an instance type, size, + or generation. The following are examples: + m5.8xlarge, c5*.*, m5a.*, r*, *3*. For + example, if you specify c5*, you are + allowing the entire C5 instance family, + which includes all C5a and C5n instance + types. If you specify m5a.*, you are + allowing all the M5a instance types, + but not the M5n instance types. Maximum + of 400 entries in the list; each entry + is limited to 30 characters. Default + is all instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + bareMetal: + description: Indicate whether bare metal + instace types should be included, excluded, + or required. Default is excluded. + type: string + baselineEbsBandwidthMbps: + description: Block describing the minimum + and maximum baseline EBS bandwidth, + in Mbps. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + burstablePerformance: + description: Indicate whether burstable + performance instance types should be + included, excluded, or required. Default + is excluded. + type: string + cpuManufacturers: + description: List of CPU manufacturer + names. Default is any manufacturer. + items: + type: string + type: array + x-kubernetes-list-type: set + excludedInstanceTypes: + description: 'List of instance types to + exclude. You can use strings with one + or more wild cards, represented by an + asterisk (*), to exclude an instance + type, size, or generation. The following + are examples: m5.8xlarge, c5*.*, m5a.*, + r*, *3*. For example, if you specify + c5*, you are excluding the entire C5 + instance family, which includes all + C5a and C5n instance types. If you specify + m5a.*, you are excluding all the M5a + instance types, but not the M5n instance + types. Maximum of 400 entries in the + list; each entry is limited to 30 characters. + Default is no excluded instance types.' + items: + type: string + type: array + x-kubernetes-list-type: set + instanceGenerations: + description: List of instance generation + names. Default is any generation. + items: + type: string + type: array + x-kubernetes-list-type: set + localStorage: + description: Indicate whether instance + types with local storage volumes are + included, excluded, or required. Default + is included. + type: string + localStorageTypes: + description: List of local storage type + names. Default any storage type. + items: + type: string + type: array + x-kubernetes-list-type: set + memoryGibPerVcpu: + description: Block describing the minimum + and maximum amount of memory (GiB) per + vCPU. Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + memoryMib: + description: Block describing the minimum + and maximum amount of memory (MiB). + Default is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkBandwidthGbps: + description: Block describing the minimum + and maximum amount of network bandwidth, + in gigabits per second (Gbps). Default + is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + networkInterfaceCount: + description: Block describing the minimum + and maximum number of network interfaces. + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + onDemandMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for On-Demand Instances. This is the + maximum you’ll pay for an On-Demand + Instance, expressed as a percentage + higher than the cheapest M, C, or R + instance type with your specified attributes. + When Amazon EC2 Auto Scaling selects + instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 20. + type: number + requireHibernateSupport: + description: Indicate whether instance + types must support On-Demand Instance + Hibernation, either true or false. Default + is false. + type: boolean + spotMaxPricePercentageOverLowestPrice: + description: Price protection threshold + for Spot Instances. This is the maximum + you’ll pay for a Spot Instance, expressed + as a percentage higher than the cheapest + M, C, or R instance type with your specified + attributes. When Amazon EC2 Auto Scaling + selects instance types with your attributes, + we will exclude instance types whose + price is higher than your threshold. + The parameter accepts an integer, which + Amazon EC2 Auto Scaling interprets as + a percentage. To turn off price protection, + specify a high value, such as 999999. + Default is 100. + type: number + totalLocalStorageGb: + description: Block describing the minimum + and maximum total local storage (GB). + Default is no minimum or maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + vcpuCount: + description: Block describing the minimum + and maximum number of vCPUs. Default + is no maximum. + items: + properties: + max: + description: Maximum. + type: number + min: + description: Minimum. + type: number + type: object + type: array + type: object + type: array + instanceType: + description: Override the instance type in the + Launch Template. + type: string + launchTemplateSpecification: + description: Nested argument defines the Launch + Template. Defined below. + items: + properties: + launchTemplateId: + description: ID of the launch template. + Conflicts with launch_template_name. + type: string + launchTemplateName: + description: Name of the launch template. + Conflicts with launch_template_id. + type: string + version: + description: 'Template version. Can be + version number, $Latest, or $Default. + (Default: $Default).' + type: string + type: object + type: array + weightedCapacity: + description: Number of capacity units, which + gives the instance type a proportional weight + to other instance types. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + placementGroup: + description: Name of the placement group into which you'll launch + your instances, if any. + type: string + predictedCapacity: + description: Predicted capacity of the group. + type: number + protectFromScaleIn: + description: in protection in the Amazon EC2 Auto Scaling User + Guide. + type: boolean + serviceLinkedRoleArn: + description: linked role that the ASG will use to call other AWS + services + type: string + suspendedProcesses: + description: List of processes to suspend for the Auto Scaling + Group. The allowed values are Launch, Terminate, HealthCheck, + ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, + AddToLoadBalancer, InstanceRefresh. Note that if you suspend + either the Launch or Terminate process types, it can prevent + your Auto Scaling Group from functioning properly. + items: + type: string + type: array + x-kubernetes-list-type: set + tag: + description: Configuration block(s) containing resource tags. + Conflicts with tags. See Tag below for more details. + items: + properties: + key: + description: Key + type: string + propagateAtLaunch: + description: Enables propagation of the tag to Amazon EC2 + instances launched via this ASG + type: boolean + value: + description: Value + type: string + type: object + type: array + tags: + description: Key-value map of resource tags. + items: + additionalProperties: + type: string + type: object + type: array + targetGroupArns: + description: Set of aws_alb_target_group ARNs, for use with Application + or Network Load Balancing. + items: + type: string + type: array + x-kubernetes-list-type: set + terminationPolicies: + description: List of policies to decide how the instances in the + Auto Scaling Group should be terminated. The allowed values + are OldestInstance, NewestInstance, OldestLaunchConfiguration, + ClosestToNextInstanceHour, OldestLaunchTemplate, AllocationStrategy, + Default. Additionally, the ARN of a Lambda function can be specified + for custom termination policies. + items: + type: string + type: array + vpcZoneIdentifier: + description: List of subnet IDs to launch resources in. Subnets + automatically determine which availability zones the group will + reside. Conflicts with availability_zones. + items: + type: string + type: array + x-kubernetes-list-type: set + waitForCapacityTimeout: + description: (See also Waiting for Capacity below. + type: string + waitForElbCapacity: + description: (Takes precedence over min_elb_capacity behavior.) + (See also Waiting for Capacity below.) + type: number + warmPool: + description: If this block is configured, add a Warm Pool to the + specified Auto Scaling group. Defined below + items: + properties: + instanceReusePolicy: + description: Whether instances in the Auto Scaling group + can be returned to the warm pool on scale in. The default + is to terminate instances in the Auto Scaling group when + the group scales in. + items: + properties: + reuseOnScaleIn: + description: Whether instances in the Auto Scaling + group can be returned to the warm pool on scale + in. + type: boolean + type: object + type: array + maxGroupPreparedCapacity: + description: Total maximum number of instances that are + allowed to be in the warm pool or in any state except + Terminated for the Auto Scaling group. + type: number + minSize: + description: Minimum size of the Auto Scaling Group. (See + also Waiting for Capacity below.) + type: number + poolState: + description: 'Sets the instance state to transition to after + the lifecycle hooks finish. Valid values are: Stopped + (default), Running or Hibernated.' + type: string + type: object + type: array + warmPoolSize: + description: Current size of the warm pool. + type: number + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 schema: openAPIV3Schema: description: AutoscalingGroup is the Schema for the AutoscalingGroups API. diff --git a/package/crds/connect.aws.upbound.io_hoursofoperations.yaml b/package/crds/connect.aws.upbound.io_hoursofoperations.yaml index cb469bbaff..e41bf1e367 100644 --- a/package/crds/connect.aws.upbound.io_hoursofoperations.yaml +++ b/package/crds/connect.aws.upbound.io_hoursofoperations.yaml @@ -522,6 +522,641 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.timeZone) || (has(self.initProvider) && has(self.initProvider.timeZone))' + status: + description: HoursOfOperationStatus defines the observed state of HoursOfOperation. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) of the Hours of Operation. + type: string + config: + description: 'One or more config blocks which define the configuration + information for the hours of operation: day, start time, and + end time . Config blocks are documented below.' + items: + properties: + day: + description: Specifies the day that the hours of operation + applies to. + type: string + endTime: + description: A end time block specifies the time that your + contact center closes. The end_time is documented below. + items: + properties: + hours: + description: Specifies the hour of closing. + type: number + minutes: + description: Specifies the minute of closing. + type: number + type: object + type: array + startTime: + description: A start time block specifies the time that + your contact center opens. The start_time is documented + below. + items: + properties: + hours: + description: Specifies the hour of opening. + type: number + minutes: + description: Specifies the minute of opening. + type: number + type: object + type: array + type: object + type: array + description: + description: Specifies the description of the Hours of Operation. + type: string + hoursOfOperationArn: + description: (Deprecated) The Amazon Resource Name (ARN) of the + Hours of Operation. + type: string + hoursOfOperationId: + description: The identifier for the hours of operation. + type: string + id: + description: The identifier of the hosting Amazon Connect Instance + and identifier of the Hours of Operation separated by a colon + (:). + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + name: + description: Specifies the name of the Hours of Operation. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + timeZone: + description: Specifies the time zone of the Hours of Operation. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: HoursOfOperation is the Schema for the HoursOfOperations API. + Provides details about a specific Amazon Connect Hours of Operation. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: HoursOfOperationSpec defines the desired state of HoursOfOperation + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + config: + description: 'One or more config blocks which define the configuration + information for the hours of operation: day, start time, and + end time . Config blocks are documented below.' + items: + properties: + day: + description: Specifies the day that the hours of operation + applies to. + type: string + endTime: + description: A end time block specifies the time that your + contact center closes. The end_time is documented below. + items: + properties: + hours: + description: Specifies the hour of closing. + type: number + minutes: + description: Specifies the minute of closing. + type: number + type: object + type: array + startTime: + description: A start time block specifies the time that + your contact center opens. The start_time is documented + below. + items: + properties: + hours: + description: Specifies the hour of opening. + type: number + minutes: + description: Specifies the minute of opening. + type: number + type: object + type: array + type: object + type: array + description: + description: Specifies the description of the Hours of Operation. + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + name: + description: Specifies the name of the Hours of Operation. + type: string + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + timeZone: + description: Specifies the time zone of the Hours of Operation. + type: string + required: + - region + type: object + initProvider: + description: 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. + properties: + config: + description: 'One or more config blocks which define the configuration + information for the hours of operation: day, start time, and + end time . Config blocks are documented below.' + items: + properties: + day: + description: Specifies the day that the hours of operation + applies to. + type: string + endTime: + description: A end time block specifies the time that your + contact center closes. The end_time is documented below. + items: + properties: + hours: + description: Specifies the hour of closing. + type: number + minutes: + description: Specifies the minute of closing. + type: number + type: object + type: array + startTime: + description: A start time block specifies the time that + your contact center opens. The start_time is documented + below. + items: + properties: + hours: + description: Specifies the hour of opening. + type: number + minutes: + description: Specifies the minute of opening. + type: number + type: object + type: array + type: object + type: array + description: + description: Specifies the description of the Hours of Operation. + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + name: + description: Specifies the name of the Hours of Operation. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + timeZone: + description: Specifies the time zone of the Hours of Operation. + type: string + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.config is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.config) + || (has(self.initProvider) && has(self.initProvider.config))' + - message: spec.forProvider.name is a required parameter + 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.timeZone is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.timeZone) + || (has(self.initProvider) && has(self.initProvider.timeZone))' status: description: HoursOfOperationStatus defines the observed state of HoursOfOperation. properties: diff --git a/package/crds/connect.aws.upbound.io_queues.yaml b/package/crds/connect.aws.upbound.io_queues.yaml index 7e588918d1..375baa76d1 100644 --- a/package/crds/connect.aws.upbound.io_queues.yaml +++ b/package/crds/connect.aws.upbound.io_queues.yaml @@ -654,6 +654,768 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))' + status: + description: QueueStatus defines the observed state of Queue. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) of the Queue. + type: string + description: + description: Specifies the description of the Queue. + type: string + hoursOfOperationId: + description: Specifies the identifier of the Hours of Operation. + type: string + id: + description: The identifier of the hosting Amazon Connect Instance + and identifier of the Queue separated by a colon (:). + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + maxContacts: + description: Specifies the maximum number of contacts that can + be in the queue before it is considered full. Minimum value + of 0. + type: number + name: + description: Specifies the name of the Queue. + type: string + outboundCallerConfig: + description: A block that defines the outbound caller ID name, + number, and outbound whisper flow. The Outbound Caller Config + block is documented below. + items: + properties: + outboundCallerIdName: + description: Specifies the caller ID name. + type: string + outboundCallerIdNumberId: + description: Specifies the caller ID number. + type: string + outboundFlowId: + description: Specifies outbound whisper flow to be used + during an outbound call. + type: string + type: object + type: array + queueId: + description: The identifier for the Queue. + type: string + quickConnectIds: + description: Specifies a list of quick connects ids that determine + the quick connects available to agents who are working the queue. + items: + type: string + type: array + x-kubernetes-list-type: set + quickConnectIdsAssociated: + items: + type: string + type: array + x-kubernetes-list-type: set + status: + description: Specifies the description of the Queue. Valid values + are ENABLED, DISABLED. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: Queue is the Schema for the Queues API. Provides details about + a specific Amazon Connect Queue + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: QueueSpec defines the desired state of Queue + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + description: + description: Specifies the description of the Queue. + type: string + hoursOfOperationId: + description: Specifies the identifier of the Hours of Operation. + type: string + hoursOfOperationIdRef: + description: Reference to a HoursOfOperation in connect to populate + hoursOfOperationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + hoursOfOperationIdSelector: + description: Selector for a HoursOfOperation in connect to populate + hoursOfOperationId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + maxContacts: + description: Specifies the maximum number of contacts that can + be in the queue before it is considered full. Minimum value + of 0. + type: number + name: + description: Specifies the name of the Queue. + type: string + outboundCallerConfig: + description: A block that defines the outbound caller ID name, + number, and outbound whisper flow. The Outbound Caller Config + block is documented below. + items: + properties: + outboundCallerIdName: + description: Specifies the caller ID name. + type: string + outboundCallerIdNumberId: + description: Specifies the caller ID number. + type: string + outboundFlowId: + description: Specifies outbound whisper flow to be used + during an outbound call. + type: string + type: object + type: array + quickConnectIds: + description: Specifies a list of quick connects ids that determine + the quick connects available to agents who are working the queue. + items: + type: string + type: array + x-kubernetes-list-type: set + region: + description: Region is the region you'd like your resource to + be created in. + type: string + status: + description: Specifies the description of the Queue. Valid values + are ENABLED, DISABLED. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + required: + - region + type: object + initProvider: + description: 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. + properties: + description: + description: Specifies the description of the Queue. + type: string + hoursOfOperationId: + description: Specifies the identifier of the Hours of Operation. + type: string + hoursOfOperationIdRef: + description: Reference to a HoursOfOperation in connect to populate + hoursOfOperationId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + hoursOfOperationIdSelector: + description: Selector for a HoursOfOperation in connect to populate + hoursOfOperationId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + maxContacts: + description: Specifies the maximum number of contacts that can + be in the queue before it is considered full. Minimum value + of 0. + type: number + name: + description: Specifies the name of the Queue. + type: string + outboundCallerConfig: + description: A block that defines the outbound caller ID name, + number, and outbound whisper flow. The Outbound Caller Config + block is documented below. + items: + properties: + outboundCallerIdName: + description: Specifies the caller ID name. + type: string + outboundCallerIdNumberId: + description: Specifies the caller ID number. + type: string + outboundFlowId: + description: Specifies outbound whisper flow to be used + during an outbound call. + type: string + type: object + type: array + quickConnectIds: + description: Specifies a list of quick connects ids that determine + the quick connects available to agents who are working the queue. + items: + type: string + type: array + x-kubernetes-list-type: set + status: + description: Specifies the description of the Queue. Valid values + are ENABLED, DISABLED. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.name is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.name) + || (has(self.initProvider) && has(self.initProvider.name))' status: description: QueueStatus defines the observed state of Queue. properties: diff --git a/package/crds/connect.aws.upbound.io_routingprofiles.yaml b/package/crds/connect.aws.upbound.io_routingprofiles.yaml index e2abf80fe5..37ffd27c06 100644 --- a/package/crds/connect.aws.upbound.io_routingprofiles.yaml +++ b/package/crds/connect.aws.upbound.io_routingprofiles.yaml @@ -686,6 +686,843 @@ spec: rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies || ''Update'' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))' + status: + description: RoutingProfileStatus defines the observed state of RoutingProfile. + properties: + atProvider: + properties: + arn: + description: The Amazon Resource Name (ARN) of the Routing Profile. + type: string + defaultOutboundQueueId: + description: Specifies the default outbound queue for the Routing + Profile. + type: string + description: + description: Specifies the description of the Routing Profile. + type: string + id: + description: The identifier of the hosting Amazon Connect Instance + and identifier of the Routing Profile separated by a colon (:). + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + mediaConcurrencies: + description: One or more media_concurrencies blocks that specify + the channels that agents can handle in the Contact Control Panel + (CCP) for this Routing Profile. The media_concurrencies block + is documented below. + items: + properties: + channel: + description: Specifies the channels that agents can handle + in the Contact Control Panel (CCP). Valid values are VOICE, + CHAT, TASK. + type: string + concurrency: + description: 'Specifies the number of contacts an agent + can have on a channel simultaneously. Valid Range for + VOICE: Minimum value of 1. Maximum value of 1. Valid Range + for CHAT: Minimum value of 1. Maximum value of 10. Valid + Range for TASK: Minimum value of 1. Maximum value of 10.' + type: number + type: object + type: array + name: + description: Specifies the name of the Routing Profile. + type: string + queueConfigs: + description: One or more queue_configs blocks that specify the + inbound queues associated with the routing profile. If no queue + is added, the agent only can make outbound calls. The queue_configs + block is documented below. + items: + properties: + channel: + description: Specifies the channels agents can handle in + the Contact Control Panel (CCP) for this routing profile. + Valid values are VOICE, CHAT, TASK. + type: string + delay: + description: Specifies the delay, in seconds, that a contact + should be in the queue before they are routed to an available + agent + type: number + priority: + description: Specifies the order in which contacts are to + be handled for the queue. + type: number + queueArn: + description: ARN for the queue. + type: string + queueId: + description: Specifies the identifier for the queue. + type: string + queueName: + description: Name for the queue. + type: string + type: object + type: array + queueConfigsAssociated: + items: + properties: + channel: + description: Specifies the channels agents can handle in + the Contact Control Panel (CCP) for this routing profile. + Valid values are VOICE, CHAT, TASK. + type: string + delay: + description: Specifies the delay, in seconds, that a contact + should be in the queue before they are routed to an available + agent + type: number + priority: + description: Specifies the order in which contacts are to + be handled for the queue. + type: number + queueArn: + description: ARN for the queue. + type: string + queueId: + description: Specifies the identifier for the queue. + type: string + queueName: + description: Name for the queue. + type: string + type: object + type: array + routingProfileId: + description: The identifier for the Routing Profile. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: RoutingProfile is the Schema for the RoutingProfiles API. Provides + details about a specific Amazon Connect Routing Profile. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RoutingProfileSpec defines the desired state of RoutingProfile + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + defaultOutboundQueueId: + description: Specifies the default outbound queue for the Routing + Profile. + type: string + defaultOutboundQueueIdRef: + description: Reference to a Queue in connect to populate defaultOutboundQueueId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + defaultOutboundQueueIdSelector: + description: Selector for a Queue in connect to populate defaultOutboundQueueId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + description: + description: Specifies the description of the Routing Profile. + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + mediaConcurrencies: + description: One or more media_concurrencies blocks that specify + the channels that agents can handle in the Contact Control Panel + (CCP) for this Routing Profile. The media_concurrencies block + is documented below. + items: + properties: + channel: + description: Specifies the channels that agents can handle + in the Contact Control Panel (CCP). Valid values are VOICE, + CHAT, TASK. + type: string + concurrency: + description: 'Specifies the number of contacts an agent + can have on a channel simultaneously. Valid Range for + VOICE: Minimum value of 1. Maximum value of 1. Valid Range + for CHAT: Minimum value of 1. Maximum value of 10. Valid + Range for TASK: Minimum value of 1. Maximum value of 10.' + type: number + type: object + type: array + name: + description: Specifies the name of the Routing Profile. + type: string + queueConfigs: + description: One or more queue_configs blocks that specify the + inbound queues associated with the routing profile. If no queue + is added, the agent only can make outbound calls. The queue_configs + block is documented below. + items: + properties: + channel: + description: Specifies the channels agents can handle in + the Contact Control Panel (CCP) for this routing profile. + Valid values are VOICE, CHAT, TASK. + type: string + delay: + description: Specifies the delay, in seconds, that a contact + should be in the queue before they are routed to an available + agent + type: number + priority: + description: Specifies the order in which contacts are to + be handled for the queue. + type: number + queueId: + description: Specifies the identifier for the queue. + type: string + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + required: + - region + type: object + initProvider: + description: 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. + properties: + defaultOutboundQueueId: + description: Specifies the default outbound queue for the Routing + Profile. + type: string + defaultOutboundQueueIdRef: + description: Reference to a Queue in connect to populate defaultOutboundQueueId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + defaultOutboundQueueIdSelector: + description: Selector for a Queue in connect to populate defaultOutboundQueueId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + description: + description: Specifies the description of the Routing Profile. + type: string + instanceId: + description: Specifies the identifier of the hosting Amazon Connect + Instance. + type: string + instanceIdRef: + description: Reference to a Instance in connect to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance in connect to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + mediaConcurrencies: + description: One or more media_concurrencies blocks that specify + the channels that agents can handle in the Contact Control Panel + (CCP) for this Routing Profile. The media_concurrencies block + is documented below. + items: + properties: + channel: + description: Specifies the channels that agents can handle + in the Contact Control Panel (CCP). Valid values are VOICE, + CHAT, TASK. + type: string + concurrency: + description: 'Specifies the number of contacts an agent + can have on a channel simultaneously. Valid Range for + VOICE: Minimum value of 1. Maximum value of 1. Valid Range + for CHAT: Minimum value of 1. Maximum value of 10. Valid + Range for TASK: Minimum value of 1. Maximum value of 10.' + type: number + type: object + type: array + name: + description: Specifies the name of the Routing Profile. + type: string + queueConfigs: + description: One or more queue_configs blocks that specify the + inbound queues associated with the routing profile. If no queue + is added, the agent only can make outbound calls. The queue_configs + block is documented below. + items: + properties: + channel: + description: Specifies the channels agents can handle in + the Contact Control Panel (CCP) for this routing profile. + Valid values are VOICE, CHAT, TASK. + type: string + delay: + description: Specifies the delay, in seconds, that a contact + should be in the queue before they are routed to an available + agent + type: number + priority: + description: Specifies the order in which contacts are to + be handled for the queue. + type: number + queueId: + description: Specifies the identifier for the queue. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.description is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.description) + || (has(self.initProvider) && has(self.initProvider.description))' + - message: spec.forProvider.mediaConcurrencies is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.mediaConcurrencies) + || (has(self.initProvider) && has(self.initProvider.mediaConcurrencies))' + - message: spec.forProvider.name is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.name) + || (has(self.initProvider) && has(self.initProvider.name))' status: description: RoutingProfileStatus defines the observed state of RoutingProfile. properties: diff --git a/package/crds/ec2.aws.upbound.io_routes.yaml b/package/crds/ec2.aws.upbound.io_routes.yaml index 3c97a36992..cafb31652a 100644 --- a/package/crds/ec2.aws.upbound.io_routes.yaml +++ b/package/crds/ec2.aws.upbound.io_routes.yaml @@ -315,6 +315,82 @@ spec: type: string type: object type: object + instanceId: + description: Identifier of an EC2 instance. + type: string + instanceIdRef: + description: Reference to a Instance to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object localGatewayId: description: Identifier of a Outpost local gateway. type: string @@ -1041,6 +1117,82 @@ spec: type: string type: object type: object + instanceId: + description: Identifier of an EC2 instance. + type: string + instanceIdRef: + description: Reference to a Instance to populate instanceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + instanceIdSelector: + description: Selector for a Instance to populate instanceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object localGatewayId: description: Identifier of a Outpost local gateway. type: string @@ -1771,6 +1923,1778 @@ spec: - spec type: object served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: Route is the Schema for the Routes API. Provides a resource to + create a routing entry in a VPC routing table. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RouteSpec defines the desired state of Route + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute can + only be used when the VPC contains a subnet which is associated + with a Wavelength Zone. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationCidrBlock: + description: The destination CIDR block. + type: string + destinationIpv6CidrBlock: + description: The destination IPv6 CIDR block. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination. + type: string + destinationPrefixListIdRef: + description: Reference to a ManagedPrefixList in ec2 to populate + destinationPrefixListId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + destinationPrefixListIdSelector: + description: Selector for a ManagedPrefixList in ec2 to populate + destinationPrefixListId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + egressOnlyGatewayIdRef: + description: Reference to a EgressOnlyInternetGateway in ec2 to + populate egressOnlyGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + egressOnlyGatewayIdSelector: + description: Selector for a EgressOnlyInternetGateway in ec2 to + populate egressOnlyGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. Specify local when updating a previously imported + local route. + type: string + gatewayIdRef: + description: Reference to a InternetGateway in ec2 to populate + gatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + gatewayIdSelector: + description: Selector for a InternetGateway in ec2 to populate + gatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + natGatewayIdRef: + description: Reference to a NATGateway in ec2 to populate natGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + natGatewayIdSelector: + description: Selector for a NATGateway in ec2 to populate natGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + networkInterfaceIdRef: + description: Reference to a NetworkInterface in ec2 to populate + networkInterfaceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + networkInterfaceIdSelector: + description: Selector for a NetworkInterface in ec2 to populate + networkInterfaceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + region: + description: Region is the region you'd like your resource to + be created in. + type: string + routeTableId: + description: The ID of the routing table. + type: string + routeTableIdRef: + description: Reference to a RouteTable in ec2 to populate routeTableId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + routeTableIdSelector: + description: Selector for a RouteTable in ec2 to populate routeTableId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + transitGatewayIdRef: + description: Reference to a TransitGateway in ec2 to populate + transitGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + transitGatewayIdSelector: + description: Selector for a TransitGateway in ec2 to populate + transitGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcEndpointIdRef: + description: Reference to a VPCEndpoint in ec2 to populate vpcEndpointId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcEndpointIdSelector: + description: Selector for a VPCEndpoint in ec2 to populate vpcEndpointId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + vpcPeeringConnectionIdRef: + description: Reference to a VPCPeeringConnection in ec2 to populate + vpcPeeringConnectionId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcPeeringConnectionIdSelector: + description: Selector for a VPCPeeringConnection in ec2 to populate + vpcPeeringConnectionId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - region + type: object + initProvider: + description: 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. + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute can + only be used when the VPC contains a subnet which is associated + with a Wavelength Zone. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationCidrBlock: + description: The destination CIDR block. + type: string + destinationIpv6CidrBlock: + description: The destination IPv6 CIDR block. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination. + type: string + destinationPrefixListIdRef: + description: Reference to a ManagedPrefixList in ec2 to populate + destinationPrefixListId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + destinationPrefixListIdSelector: + description: Selector for a ManagedPrefixList in ec2 to populate + destinationPrefixListId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + egressOnlyGatewayIdRef: + description: Reference to a EgressOnlyInternetGateway in ec2 to + populate egressOnlyGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + egressOnlyGatewayIdSelector: + description: Selector for a EgressOnlyInternetGateway in ec2 to + populate egressOnlyGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. Specify local when updating a previously imported + local route. + type: string + gatewayIdRef: + description: Reference to a InternetGateway in ec2 to populate + gatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + gatewayIdSelector: + description: Selector for a InternetGateway in ec2 to populate + gatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + natGatewayIdRef: + description: Reference to a NATGateway in ec2 to populate natGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + natGatewayIdSelector: + description: Selector for a NATGateway in ec2 to populate natGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + networkInterfaceIdRef: + description: Reference to a NetworkInterface in ec2 to populate + networkInterfaceId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + networkInterfaceIdSelector: + description: Selector for a NetworkInterface in ec2 to populate + networkInterfaceId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + routeTableId: + description: The ID of the routing table. + type: string + routeTableIdRef: + description: Reference to a RouteTable in ec2 to populate routeTableId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + routeTableIdSelector: + description: Selector for a RouteTable in ec2 to populate routeTableId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + transitGatewayIdRef: + description: Reference to a TransitGateway in ec2 to populate + transitGatewayId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + transitGatewayIdSelector: + description: Selector for a TransitGateway in ec2 to populate + transitGatewayId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcEndpointIdRef: + description: Reference to a VPCEndpoint in ec2 to populate vpcEndpointId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcEndpointIdSelector: + description: Selector for a VPCEndpoint in ec2 to populate vpcEndpointId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + vpcPeeringConnectionIdRef: + description: Reference to a VPCPeeringConnection in ec2 to populate + vpcPeeringConnectionId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcPeeringConnectionIdSelector: + description: Selector for a VPCPeeringConnection in ec2 to populate + vpcPeeringConnectionId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: RouteStatus defines the observed state of Route. + properties: + atProvider: + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute can + only be used when the VPC contains a subnet which is associated + with a Wavelength Zone. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationCidrBlock: + description: The destination CIDR block. + type: string + destinationIpv6CidrBlock: + description: The destination IPv6 CIDR block. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination. + type: string + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. Specify local when updating a previously imported + local route. + type: string + id: + description: Route identifier computed from the routing table + identifier and route destination. + type: string + instanceId: + description: Identifier of an EC2 instance. + type: string + instanceOwnerId: + description: The AWS account ID of the owner of the EC2 instance. + type: string + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + origin: + description: How the route was created - CreateRouteTable, CreateRoute + or EnableVgwRoutePropagation. + type: string + routeTableId: + description: The ID of the routing table. + type: string + state: + description: The state of the route - active or blackhole. + type: string + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true storage: true subresources: status: {} diff --git a/package/crds/ec2.aws.upbound.io_routetables.yaml b/package/crds/ec2.aws.upbound.io_routetables.yaml index beaa8c1737..8eb40be8d2 100644 --- a/package/crds/ec2.aws.upbound.io_routetables.yaml +++ b/package/crds/ec2.aws.upbound.io_routetables.yaml @@ -411,6 +411,537 @@ spec: required: - forProvider type: object + status: + description: RouteTableStatus defines the observed state of RouteTable. + properties: + atProvider: + properties: + arn: + description: The ARN of the route table. + type: string + id: + description: The ID of the routing table. + type: string + ownerId: + description: The ID of the AWS account that owns the route table. + type: string + propagatingVgws: + description: A list of virtual gateways for propagation. + items: + type: string + type: array + x-kubernetes-list-type: set + route: + description: A list of route objects. Their keys are documented + below. This argument is processed in attribute-as-blocks mode. + This means that omitting this argument is interpreted as ignoring + any existing routes. To remove all managed routes an empty list + should be specified. See the example above. + items: + properties: + carrierGatewayId: + description: Identifier of a carrier gateway. This attribute + can only be used when the VPC contains a subnet which + is associated with a Wavelength Zone. + type: string + cidrBlock: + description: The CIDR block of the route. + type: string + coreNetworkArn: + description: The Amazon Resource Name (ARN) of a core network. + type: string + destinationPrefixListId: + description: The ID of a managed prefix list destination + of the route. + type: string + egressOnlyGatewayId: + description: Identifier of a VPC Egress Only Internet Gateway. + type: string + gatewayId: + description: Identifier of a VPC internet gateway or a virtual + private gateway. + type: string + instanceId: + description: Identifier of an EC2 instance. + type: string + ipv6CidrBlock: + description: The Ipv6 CIDR block of the route. + type: string + localGatewayId: + description: Identifier of a Outpost local gateway. + type: string + natGatewayId: + description: Identifier of a VPC NAT gateway. + type: string + networkInterfaceId: + description: Identifier of an EC2 network interface. + type: string + transitGatewayId: + description: Identifier of an EC2 Transit Gateway. + type: string + vpcEndpointId: + description: Identifier of a VPC Endpoint. + type: string + vpcPeeringConnectionId: + description: Identifier of a VPC peering connection. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + vpcId: + description: The VPC ID. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: RouteTable is the Schema for the RouteTables API. Provides a + resource to create a VPC routing table. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: RouteTableSpec defines the desired state of RouteTable + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + region: + description: Region is the region you'd like your resource to + be created in. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + vpcId: + description: The VPC ID. + type: string + vpcIdRef: + description: Reference to a VPC in ec2 to populate vpcId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcIdSelector: + description: Selector for a VPC in ec2 to populate vpcId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + required: + - region + type: object + initProvider: + description: 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. + properties: + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + vpcId: + description: The VPC ID. + type: string + vpcIdRef: + description: Reference to a VPC in ec2 to populate vpcId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + vpcIdSelector: + description: Selector for a VPC in ec2 to populate vpcId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object status: description: RouteTableStatus defines the observed state of RouteTable. properties: diff --git a/package/crds/elasticache.aws.upbound.io_replicationgroups.yaml b/package/crds/elasticache.aws.upbound.io_replicationgroups.yaml index 169645f127..cf686fc5e1 100644 --- a/package/crds/elasticache.aws.upbound.io_replicationgroups.yaml +++ b/package/crds/elasticache.aws.upbound.io_replicationgroups.yaml @@ -32,6 +32,1524 @@ spec: name: AGE type: date name: v1beta1 + schema: + openAPIV3Schema: + description: ReplicationGroup is the Schema for the ReplicationGroups API. + Provides an ElastiCache Replication Group resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ReplicationGroupSpec defines the desired state of ReplicationGroup + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + applyImmediately: + description: Specifies whether any modifications are applied immediately, + or during the next maintenance window. Default is false. + type: boolean + atRestEncryptionEnabled: + description: Whether to enable encryption at rest. + type: boolean + authTokenSecretRef: + description: Password used to access a password protected server. + Can be specified only if transit_encryption_enabled = true. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + automaticFailoverEnabled: + description: Specifies whether a read-only replica will be automatically + promoted to read/write primary if the existing primary fails. + If enabled, num_cache_clusters must be greater than 1. Must + be enabled for Redis (cluster mode enabled) replication groups. + Defaults to false. + type: boolean + availabilityZones: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is not considered. + items: + type: string + type: array + x-kubernetes-list-type: set + clusterMode: + description: Create a native Redis cluster. automatic_failover_enabled + must be set to true. Cluster Mode documented below. Only 1 cluster_mode + block is allowed. Note that configuring this block does not + enable cluster mode, i.e., data sharding, this requires using + a parameter group that has the parameter cluster-enabled set + to true. + items: + properties: + numNodeGroups: + description: Number of node groups (shards) for this Redis + replication group. Changing this number will trigger a + resizing operation before other settings modifications. + type: number + replicasPerNodeGroup: + description: Number of replica nodes in each node group. + Changing this number will trigger a resizing operation + before other settings modifications. Valid values are + 0 to 5. + type: number + type: object + type: array + dataTieringEnabled: + description: Enables data tiering. Data tiering is only supported + for replication groups using the r6gd node type. This parameter + must be set to true when using r6gd nodes. + type: boolean + description: + description: created description for the replication group. Must + not be empty. + type: string + engine: + description: Name of the cache engine to be used for the clusters + in this replication group. The only valid value is redis. + type: string + engineVersion: + description: Version number of the cache engine to be used for + the cache clusters in this replication group. If the version + is 6 or higher, the major and minor version can be set, e.g., + 6.2, or the minor version can be unspecified which will use + the latest version at creation time, e.g., 6.x. Otherwise, specify + the full version desired, e.g., 5.0.6. The actual engine version + used is returned in the attribute engine_version_actual, see + Attributes Reference below. + type: string + finalSnapshotIdentifier: + description: The name of your final node group (shard) snapshot. + ElastiCache creates the snapshot from the primary node in the + cluster. If omitted, no final snapshot will be made. + type: string + globalReplicationGroupId: + description: The ID of the global replication group to which this + replication group should belong. If this parameter is specified, + the replication group is added to the specified global replication + group as a secondary replication group; otherwise, the replication + group is not part of any global replication group. If global_replication_group_id + is set, the num_node_groups parameter (or the num_node_groups + parameter of the deprecated cluster_mode block) cannot be set. + type: string + kmsKeyId: + description: The ARN of the key that you wish to use if encrypting + at rest. If not supplied, uses service managed encryption. Can + be specified only if at_rest_encryption_enabled = true. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00' + type: string + multiAzEnabled: + description: Specifies whether to enable Multi-AZ Support for + the replication group. If true, automatic_failover_enabled must + also be enabled. Defaults to false. + type: boolean + nodeType: + description: Instance class to be used. See AWS documentation + for information on supported node types and guidance on selecting + node types. Required unless global_replication_group_id is set. + Cannot be set if global_replication_group_id is set. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic + type: string + numCacheClusters: + description: 00#. + type: number + numNodeGroups: + description: Number of node groups (shards) for this Redis replication + group. Changing this number will trigger a resizing operation + before other settings modifications. + type: number + numberCacheClusters: + description: Number of cache clusters (primary and replicas) this + replication group will have. If Multi-AZ is enabled, the value + of this parameter must be at least 2. Updates will occur before + other modifications. Conflicts with num_cache_clusters, num_node_groups, + or the deprecated cluster_mode. Defaults to 1. + type: number + parameterGroupName: + description: Name of the parameter group to associate with this + replication group. If this argument is omitted, the default + cache parameter group for the specified engine is used. To enable + "cluster mode", i.e., data sharding, use a parameter group that + has the parameter cluster-enabled set to true. + type: string + port: + description: – Port number on which each of the cache nodes will + accept connections. For Memcache the default is 11211, and for + Redis the default port is 6379. + type: number + preferredCacheClusterAzs: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is considered. The first item in the list + will be the primary node. Ignored when updating. + items: + type: string + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicasPerNodeGroup: + description: Number of replica nodes in each node group. Changing + this number will trigger a resizing operation before other settings + modifications. Valid values are 0 to 5. + type: number + replicationGroupDescription: + description: created description for the replication group. Must + not be empty. + type: string + securityGroupIdRefs: + description: References to SecurityGroup in ec2 to populate securityGroupIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + securityGroupIdSelector: + description: Selector for a list of SecurityGroup in ec2 to populate + securityGroupIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + securityGroupIds: + description: One or more Amazon VPC security groups associated + with this replication group. Use this parameter only when you + are creating a replication group in an Amazon Virtual Private + Cloud + items: + type: string + type: array + x-kubernetes-list-type: set + securityGroupNames: + description: List of cache security group names to associate with + this replication group. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotArns: + description: – List of ARNs that identify Redis RDB snapshot + files stored in Amazon S3. The names object names cannot contain + any commas. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing the snapshot_name forces a new + resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of snapshot_retention_limit is set to + zero (0), backups are turned off. Please note that setting a + snapshot_retention_limit is not supported on cache.t1.micro + cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. The + minimum snapshot window is a 60 minute period. Example: 05:00-09:00' + type: string + subnetGroupName: + description: Name of the cache subnet group to be used for the + replication group. + type: string + subnetGroupNameRef: + description: Reference to a SubnetGroup to populate subnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + subnetGroupNameSelector: + description: Selector for a SubnetGroup to populate subnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + transitEncryptionEnabled: + description: Whether to enable encryption in transit. + type: boolean + userGroupIds: + description: 'User Group ID to associate with the replication + group. Only a maximum of one (1) user group ID is valid. NOTE: + This argument is a set because the AWS specification allows + for multiple IDs. However, in practice, AWS only allows a maximum + size of one.' + items: + type: string + type: array + x-kubernetes-list-type: set + required: + - region + type: object + initProvider: + description: 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. + properties: + applyImmediately: + description: Specifies whether any modifications are applied immediately, + or during the next maintenance window. Default is false. + type: boolean + atRestEncryptionEnabled: + description: Whether to enable encryption at rest. + type: boolean + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + automaticFailoverEnabled: + description: Specifies whether a read-only replica will be automatically + promoted to read/write primary if the existing primary fails. + If enabled, num_cache_clusters must be greater than 1. Must + be enabled for Redis (cluster mode enabled) replication groups. + Defaults to false. + type: boolean + availabilityZones: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is not considered. + items: + type: string + type: array + x-kubernetes-list-type: set + clusterMode: + description: Create a native Redis cluster. automatic_failover_enabled + must be set to true. Cluster Mode documented below. Only 1 cluster_mode + block is allowed. Note that configuring this block does not + enable cluster mode, i.e., data sharding, this requires using + a parameter group that has the parameter cluster-enabled set + to true. + items: + properties: + numNodeGroups: + description: Number of node groups (shards) for this Redis + replication group. Changing this number will trigger a + resizing operation before other settings modifications. + type: number + replicasPerNodeGroup: + description: Number of replica nodes in each node group. + Changing this number will trigger a resizing operation + before other settings modifications. Valid values are + 0 to 5. + type: number + type: object + type: array + dataTieringEnabled: + description: Enables data tiering. Data tiering is only supported + for replication groups using the r6gd node type. This parameter + must be set to true when using r6gd nodes. + type: boolean + description: + description: created description for the replication group. Must + not be empty. + type: string + engine: + description: Name of the cache engine to be used for the clusters + in this replication group. The only valid value is redis. + type: string + engineVersion: + description: Version number of the cache engine to be used for + the cache clusters in this replication group. If the version + is 6 or higher, the major and minor version can be set, e.g., + 6.2, or the minor version can be unspecified which will use + the latest version at creation time, e.g., 6.x. Otherwise, specify + the full version desired, e.g., 5.0.6. The actual engine version + used is returned in the attribute engine_version_actual, see + Attributes Reference below. + type: string + finalSnapshotIdentifier: + description: The name of your final node group (shard) snapshot. + ElastiCache creates the snapshot from the primary node in the + cluster. If omitted, no final snapshot will be made. + type: string + globalReplicationGroupId: + description: The ID of the global replication group to which this + replication group should belong. If this parameter is specified, + the replication group is added to the specified global replication + group as a secondary replication group; otherwise, the replication + group is not part of any global replication group. If global_replication_group_id + is set, the num_node_groups parameter (or the num_node_groups + parameter of the deprecated cluster_mode block) cannot be set. + type: string + kmsKeyId: + description: The ARN of the key that you wish to use if encrypting + at rest. If not supplied, uses service managed encryption. Can + be specified only if at_rest_encryption_enabled = true. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00' + type: string + multiAzEnabled: + description: Specifies whether to enable Multi-AZ Support for + the replication group. If true, automatic_failover_enabled must + also be enabled. Defaults to false. + type: boolean + nodeType: + description: Instance class to be used. See AWS documentation + for information on supported node types and guidance on selecting + node types. Required unless global_replication_group_id is set. + Cannot be set if global_replication_group_id is set. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic + type: string + numCacheClusters: + description: 00#. + type: number + numNodeGroups: + description: Number of node groups (shards) for this Redis replication + group. Changing this number will trigger a resizing operation + before other settings modifications. + type: number + numberCacheClusters: + description: Number of cache clusters (primary and replicas) this + replication group will have. If Multi-AZ is enabled, the value + of this parameter must be at least 2. Updates will occur before + other modifications. Conflicts with num_cache_clusters, num_node_groups, + or the deprecated cluster_mode. Defaults to 1. + type: number + parameterGroupName: + description: Name of the parameter group to associate with this + replication group. If this argument is omitted, the default + cache parameter group for the specified engine is used. To enable + "cluster mode", i.e., data sharding, use a parameter group that + has the parameter cluster-enabled set to true. + type: string + port: + description: – Port number on which each of the cache nodes will + accept connections. For Memcache the default is 11211, and for + Redis the default port is 6379. + type: number + preferredCacheClusterAzs: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is considered. The first item in the list + will be the primary node. Ignored when updating. + items: + type: string + type: array + replicasPerNodeGroup: + description: Number of replica nodes in each node group. Changing + this number will trigger a resizing operation before other settings + modifications. Valid values are 0 to 5. + type: number + replicationGroupDescription: + description: created description for the replication group. Must + not be empty. + type: string + securityGroupIdRefs: + description: References to SecurityGroup in ec2 to populate securityGroupIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + securityGroupIdSelector: + description: Selector for a list of SecurityGroup in ec2 to populate + securityGroupIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + securityGroupIds: + description: One or more Amazon VPC security groups associated + with this replication group. Use this parameter only when you + are creating a replication group in an Amazon Virtual Private + Cloud + items: + type: string + type: array + x-kubernetes-list-type: set + securityGroupNames: + description: List of cache security group names to associate with + this replication group. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotArns: + description: – List of ARNs that identify Redis RDB snapshot + files stored in Amazon S3. The names object names cannot contain + any commas. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing the snapshot_name forces a new + resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of snapshot_retention_limit is set to + zero (0), backups are turned off. Please note that setting a + snapshot_retention_limit is not supported on cache.t1.micro + cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. The + minimum snapshot window is a 60 minute period. Example: 05:00-09:00' + type: string + subnetGroupName: + description: Name of the cache subnet group to be used for the + replication group. + type: string + subnetGroupNameRef: + description: Reference to a SubnetGroup to populate subnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + subnetGroupNameSelector: + description: Selector for a SubnetGroup to populate subnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + transitEncryptionEnabled: + description: Whether to enable encryption in transit. + type: boolean + userGroupIds: + description: 'User Group ID to associate with the replication + group. Only a maximum of one (1) user group ID is valid. NOTE: + This argument is a set because the AWS specification allows + for multiple IDs. However, in practice, AWS only allows a maximum + size of one.' + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + status: + description: ReplicationGroupStatus defines the observed state of ReplicationGroup. + properties: + atProvider: + properties: + applyImmediately: + description: Specifies whether any modifications are applied immediately, + or during the next maintenance window. Default is false. + type: boolean + arn: + description: ARN of the created ElastiCache Replication Group. + type: string + atRestEncryptionEnabled: + description: Whether to enable encryption at rest. + type: boolean + autoMinorVersionUpgrade: + description: Specifies whether minor version engine upgrades will + be applied automatically to the underlying Cache Cluster instances + during the maintenance window. Only supported for engine type + "redis" and if the engine version is 6 or higher. Defaults to + true. + type: string + automaticFailoverEnabled: + description: Specifies whether a read-only replica will be automatically + promoted to read/write primary if the existing primary fails. + If enabled, num_cache_clusters must be greater than 1. Must + be enabled for Redis (cluster mode enabled) replication groups. + Defaults to false. + type: boolean + availabilityZones: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is not considered. + items: + type: string + type: array + x-kubernetes-list-type: set + clusterEnabled: + description: Indicates if cluster mode is enabled. + type: boolean + clusterMode: + description: Create a native Redis cluster. automatic_failover_enabled + must be set to true. Cluster Mode documented below. Only 1 cluster_mode + block is allowed. Note that configuring this block does not + enable cluster mode, i.e., data sharding, this requires using + a parameter group that has the parameter cluster-enabled set + to true. + items: + properties: + numNodeGroups: + description: Number of node groups (shards) for this Redis + replication group. Changing this number will trigger a + resizing operation before other settings modifications. + type: number + replicasPerNodeGroup: + description: Number of replica nodes in each node group. + Changing this number will trigger a resizing operation + before other settings modifications. Valid values are + 0 to 5. + type: number + type: object + type: array + configurationEndpointAddress: + description: Address of the replication group configuration endpoint + when cluster mode is enabled. + type: string + dataTieringEnabled: + description: Enables data tiering. Data tiering is only supported + for replication groups using the r6gd node type. This parameter + must be set to true when using r6gd nodes. + type: boolean + description: + description: created description for the replication group. Must + not be empty. + type: string + engine: + description: Name of the cache engine to be used for the clusters + in this replication group. The only valid value is redis. + type: string + engineVersion: + description: Version number of the cache engine to be used for + the cache clusters in this replication group. If the version + is 6 or higher, the major and minor version can be set, e.g., + 6.2, or the minor version can be unspecified which will use + the latest version at creation time, e.g., 6.x. Otherwise, specify + the full version desired, e.g., 5.0.6. The actual engine version + used is returned in the attribute engine_version_actual, see + Attributes Reference below. + type: string + engineVersionActual: + description: Because ElastiCache pulls the latest minor or patch + for a version, this attribute returns the running version of + the cache engine. + type: string + finalSnapshotIdentifier: + description: The name of your final node group (shard) snapshot. + ElastiCache creates the snapshot from the primary node in the + cluster. If omitted, no final snapshot will be made. + type: string + globalReplicationGroupId: + description: The ID of the global replication group to which this + replication group should belong. If this parameter is specified, + the replication group is added to the specified global replication + group as a secondary replication group; otherwise, the replication + group is not part of any global replication group. If global_replication_group_id + is set, the num_node_groups parameter (or the num_node_groups + parameter of the deprecated cluster_mode block) cannot be set. + type: string + id: + description: ID of the ElastiCache Replication Group. + type: string + kmsKeyId: + description: The ARN of the key that you wish to use if encrypting + at rest. If not supplied, uses service managed encryption. Can + be specified only if at_rest_encryption_enabled = true. + type: string + logDeliveryConfiguration: + description: Specifies the destination and format of Redis SLOWLOG + or Redis Engine Log. See the documentation on Amazon ElastiCache. + See Log Delivery Configuration below for more details. + items: + properties: + destination: + description: Name of either the CloudWatch Logs LogGroup + or Kinesis Data Firehose resource. + type: string + destinationType: + description: For CloudWatch Logs use cloudwatch-logs or + for Kinesis Data Firehose use kinesis-firehose. + type: string + logFormat: + description: Valid values are json or text + type: string + logType: + description: Valid values are slow-log or engine-log. Max + 1 of each. + type: string + type: object + type: array + maintenanceWindow: + description: 'ddd:hh24:mi (24H Clock UTC). The minimum maintenance + window is a 60 minute period. Example: sun:05:00-sun:09:00' + type: string + memberClusters: + description: Identifiers of all the nodes that are part of this + replication group. + items: + type: string + type: array + x-kubernetes-list-type: set + multiAzEnabled: + description: Specifies whether to enable Multi-AZ Support for + the replication group. If true, automatic_failover_enabled must + also be enabled. Defaults to false. + type: boolean + nodeType: + description: Instance class to be used. See AWS documentation + for information on supported node types and guidance on selecting + node types. Required unless global_replication_group_id is set. + Cannot be set if global_replication_group_id is set. + type: string + notificationTopicArn: + description: east-1:012345678999:my_sns_topic + type: string + numCacheClusters: + description: 00#. + type: number + numNodeGroups: + description: Number of node groups (shards) for this Redis replication + group. Changing this number will trigger a resizing operation + before other settings modifications. + type: number + numberCacheClusters: + description: Number of cache clusters (primary and replicas) this + replication group will have. If Multi-AZ is enabled, the value + of this parameter must be at least 2. Updates will occur before + other modifications. Conflicts with num_cache_clusters, num_node_groups, + or the deprecated cluster_mode. Defaults to 1. + type: number + parameterGroupName: + description: Name of the parameter group to associate with this + replication group. If this argument is omitted, the default + cache parameter group for the specified engine is used. To enable + "cluster mode", i.e., data sharding, use a parameter group that + has the parameter cluster-enabled set to true. + type: string + port: + description: – Port number on which each of the cache nodes will + accept connections. For Memcache the default is 11211, and for + Redis the default port is 6379. + type: number + preferredCacheClusterAzs: + description: List of EC2 availability zones in which the replication + group's cache clusters will be created. The order of the availability + zones in the list is considered. The first item in the list + will be the primary node. Ignored when updating. + items: + type: string + type: array + primaryEndpointAddress: + description: (Redis only) Address of the endpoint for the primary + node in the replication group, if the cluster mode is disabled. + type: string + readerEndpointAddress: + description: (Redis only) Address of the endpoint for the reader + node in the replication group, if the cluster mode is disabled. + type: string + replicasPerNodeGroup: + description: Number of replica nodes in each node group. Changing + this number will trigger a resizing operation before other settings + modifications. Valid values are 0 to 5. + type: number + replicationGroupDescription: + description: created description for the replication group. Must + not be empty. + type: string + securityGroupIds: + description: One or more Amazon VPC security groups associated + with this replication group. Use this parameter only when you + are creating a replication group in an Amazon Virtual Private + Cloud + items: + type: string + type: array + x-kubernetes-list-type: set + securityGroupNames: + description: List of cache security group names to associate with + this replication group. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotArns: + description: – List of ARNs that identify Redis RDB snapshot + files stored in Amazon S3. The names object names cannot contain + any commas. + items: + type: string + type: array + x-kubernetes-list-type: set + snapshotName: + description: Name of a snapshot from which to restore data into + the new node group. Changing the snapshot_name forces a new + resource. + type: string + snapshotRetentionLimit: + description: Number of days for which ElastiCache will retain + automatic cache cluster snapshots before deleting them. For + example, if you set SnapshotRetentionLimit to 5, then a snapshot + that was taken today will be retained for 5 days before being + deleted. If the value of snapshot_retention_limit is set to + zero (0), backups are turned off. Please note that setting a + snapshot_retention_limit is not supported on cache.t1.micro + cache nodes + type: number + snapshotWindow: + description: 'Daily time range (in UTC) during which ElastiCache + will begin taking a daily snapshot of your cache cluster. The + minimum snapshot window is a 60 minute period. Example: 05:00-09:00' + type: string + subnetGroupName: + description: Name of the cache subnet group to be used for the + replication group. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: Map of tags assigned to the resource, including those + inherited from the provider default_tags configuration block. + type: object + x-kubernetes-map-type: granular + transitEncryptionEnabled: + description: Whether to enable encryption in transit. + type: boolean + userGroupIds: + description: 'User Group ID to associate with the replication + group. Only a maximum of one (1) user group ID is valid. NOTE: + This argument is a set because the AWS specification allows + for multiple IDs. However, in practice, AWS only allows a maximum + size of one.' + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 schema: openAPIV3Schema: description: ReplicationGroup is the Schema for the ReplicationGroups API. @@ -439,7 +1957,8 @@ spec: replication group. type: string subnetGroupNameRef: - description: Reference to a SubnetGroup to populate subnetGroupName. + description: Reference to a SubnetGroup in elasticache to populate + subnetGroupName. properties: name: description: Name of the referenced object. @@ -473,7 +1992,8 @@ spec: - name type: object subnetGroupNameSelector: - description: Selector for a SubnetGroup to populate subnetGroupName. + description: Selector for a SubnetGroup in elasticache to populate + subnetGroupName. properties: matchControllerRef: description: MatchControllerRef ensures an object with the @@ -895,7 +2415,8 @@ spec: replication group. type: string subnetGroupNameRef: - description: Reference to a SubnetGroup to populate subnetGroupName. + description: Reference to a SubnetGroup in elasticache to populate + subnetGroupName. properties: name: description: Name of the referenced object. @@ -929,7 +2450,8 @@ spec: - name type: object subnetGroupNameSelector: - description: Selector for a SubnetGroup to populate subnetGroupName. + description: Selector for a SubnetGroup in elasticache to populate + subnetGroupName. properties: matchControllerRef: description: MatchControllerRef ensures an object with the diff --git a/package/crds/kafka.aws.upbound.io_clusters.yaml b/package/crds/kafka.aws.upbound.io_clusters.yaml index 73a1bed318..dd16413073 100644 --- a/package/crds/kafka.aws.upbound.io_clusters.yaml +++ b/package/crds/kafka.aws.upbound.io_clusters.yaml @@ -164,6 +164,2430 @@ spec: type: string type: object type: object + connectivityInfo: + description: Information about the cluster access configuration. + See below. For security reasons, you can't turn on public + access while creating an MSK cluster. However, you can + update an existing cluster to make it publicly accessible. + You can also create a new cluster and then update it to + make it publicly accessible (documentation). + items: + properties: + publicAccess: + description: Access control settings for brokers. + See below. + items: + properties: + type: + description: 'Public access type. Valida values: + DISABLED, SERVICE_PROVIDED_EIPS.' + type: string + type: object + type: array + type: object + type: array + ebsVolumeSize: + description: The size in GiB of the EBS volume for the data + drive on each broker node. + type: number + instanceType: + description: Specify the instance type to use for the kafka + brokersE.g., kafka.m5.large. (Pricing info) + type: string + securityGroups: + description: A list of the security groups to associate + with the elastic network interfaces to control who can + communicate with the cluster. + items: + type: string + type: array + x-kubernetes-list-type: set + securityGroupsRefs: + description: References to SecurityGroup in ec2 to populate + securityGroups. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + securityGroupsSelector: + description: Selector for a list of SecurityGroup in ec2 + to populate securityGroups. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + storageInfo: + description: A block that contains information about storage + volumes attached to MSK broker nodes. See below. + items: + properties: + ebsStorageInfo: + description: A block that contains EBS volume information. + See below. + items: + properties: + provisionedThroughput: + description: A block that contains EBS volume + provisioned throughput information. To provision + storage throughput, you must choose broker + type kafka.m5.4xlarge or larger. See below. + items: + properties: + enabled: + description: 'Controls whether provisioned + throughput is enabled or not. Default + value: false.' + type: boolean + volumeThroughput: + description: Throughput value of the EBS + volumes for the data drive on each kafka + broker node in MiB per second. The minimum + value is 250. The maximum value varies + between broker type. You can refer to + the valid values for the maximum volume + throughput at the following documentation + on throughput bottlenecks + type: number + type: object + type: array + volumeSize: + description: The size in GiB of the EBS volume + for the data drive on each broker node. Minimum + value of 1 and maximum value of 16384. + type: number + type: object + type: array + type: object + type: array + type: object + type: array + clientAuthentication: + description: Configuration block for specifying a client authentication. + See below. + items: + properties: + sasl: + description: Configuration block for specifying SASL client + authentication. See below. + items: + properties: + iam: + description: Enables IAM client authentication. Defaults + to false. + type: boolean + scram: + description: Enables SCRAM client authentication via + AWS Secrets Manager. Defaults to false. + type: boolean + type: object + type: array + tls: + description: Configuration block for specifying TLS client + authentication. See below. + items: + properties: + certificateAuthorityArns: + description: List of ACM Certificate Authority Amazon + Resource Names (ARNs). + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + unauthenticated: + description: Enables unauthenticated access. + type: boolean + type: object + type: array + clusterName: + description: Name of the MSK cluster. + type: string + configurationInfo: + description: Configuration block for specifying a MSK Configuration + to attach to Kafka brokers. See below. + items: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + arnRef: + description: Reference to a Configuration to populate arn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + arnSelector: + description: Selector for a Configuration to populate arn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + revision: + description: Revision of the MSK Configuration to use in + the cluster. + type: number + type: object + type: array + encryptionInfo: + description: Configuration block for specifying encryption. See + below. + items: + properties: + encryptionAtRestKmsKeyArn: + description: The ARN of the KMS key used for encryption + at rest of the broker data volumes. + type: string + encryptionAtRestKmsKeyArnRef: + description: Reference to a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + encryptionAtRestKmsKeyArnSelector: + description: Selector for a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + encryptionInTransit: + description: Configuration block to specify encryption in + transit. See below. + items: + properties: + clientBroker: + description: 'Encryption setting for data in transit + between clients and brokers. Valid values: TLS, + TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.' + type: string + inCluster: + description: 'Whether data communication among broker + nodes is encrypted. Default value: true.' + type: boolean + type: object + type: array + type: object + type: array + enhancedMonitoring: + description: Specify the desired enhanced MSK CloudWatch monitoring + level. See Monitoring Amazon MSK with Amazon CloudWatch + type: string + kafkaVersion: + description: Specify the desired Kafka software version. + type: string + loggingInfo: + description: Configuration block for streaming broker logs to + Cloudwatch/S3/Kinesis Firehose. See below. + items: + properties: + brokerLogs: + description: Configuration block for Broker Logs settings + for logging info. See below. + items: + properties: + cloudwatchLogs: + items: + properties: + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + logGroup: + description: Name of the Cloudwatch Log Group + to deliver logs to. + type: string + logGroupRef: + description: Reference to a Group in cloudwatchlogs + to populate logGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + logGroupSelector: + description: Selector for a Group in cloudwatchlogs + to populate logGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + firehose: + items: + properties: + deliveryStream: + description: Name of the Kinesis Data Firehose + delivery stream to deliver logs to. + type: string + deliveryStreamRef: + description: Reference to a DeliveryStream in + firehose to populate deliveryStream. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + deliveryStreamSelector: + description: Selector for a DeliveryStream in + firehose to populate deliveryStream. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + type: object + type: array + s3: + items: + properties: + bucket: + description: Name of the S3 bucket to deliver + logs to. + type: string + bucketRef: + description: Reference to a Bucket in s3 to + populate bucket. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + bucketSelector: + description: Selector for a Bucket in s3 to + populate bucket. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + prefix: + description: Prefix to append to the folder + name. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + numberOfBrokerNodes: + description: The desired total number of broker nodes in the kafka + cluster. It must be a multiple of the number of specified client + subnets. + type: number + openMonitoring: + description: Configuration block for JMX and Node monitoring for + the MSK cluster. See below. + items: + properties: + prometheus: + description: Configuration block for Prometheus settings + for open monitoring. See below. + items: + properties: + jmxExporter: + description: Configuration block for JMX Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + nodeExporter: + description: Configuration block for Node Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + type: object + type: array + type: object + type: array + region: + description: Region is the region you'd like your resource to + be created in. + type: string + storageMode: + description: 'Controls storage mode for supported storage tiers. + Valid values are: LOCAL or TIERED.' + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + required: + - region + type: object + initProvider: + description: 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. + properties: + brokerNodeGroupInfo: + description: Configuration block for the broker nodes of the Kafka + cluster. + items: + properties: + azDistribution: + description: The distribution of broker nodes across availability + zones (documentation). Currently the only valid value + is DEFAULT. + type: string + clientSubnets: + description: A list of subnets to connect to in client VPC + (documentation). + items: + type: string + type: array + x-kubernetes-list-type: set + clientSubnetsRefs: + description: References to Subnet in ec2 to populate clientSubnets. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + clientSubnetsSelector: + description: Selector for a list of Subnet in ec2 to populate + clientSubnets. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + connectivityInfo: + description: Information about the cluster access configuration. + See below. For security reasons, you can't turn on public + access while creating an MSK cluster. However, you can + update an existing cluster to make it publicly accessible. + You can also create a new cluster and then update it to + make it publicly accessible (documentation). + items: + properties: + publicAccess: + description: Access control settings for brokers. + See below. + items: + properties: + type: + description: 'Public access type. Valida values: + DISABLED, SERVICE_PROVIDED_EIPS.' + type: string + type: object + type: array + type: object + type: array + ebsVolumeSize: + description: The size in GiB of the EBS volume for the data + drive on each broker node. + type: number + instanceType: + description: Specify the instance type to use for the kafka + brokersE.g., kafka.m5.large. (Pricing info) + type: string + securityGroups: + description: A list of the security groups to associate + with the elastic network interfaces to control who can + communicate with the cluster. + items: + type: string + type: array + x-kubernetes-list-type: set + securityGroupsRefs: + description: References to SecurityGroup in ec2 to populate + securityGroups. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + securityGroupsSelector: + description: Selector for a list of SecurityGroup in ec2 + to populate securityGroups. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + storageInfo: + description: A block that contains information about storage + volumes attached to MSK broker nodes. See below. + items: + properties: + ebsStorageInfo: + description: A block that contains EBS volume information. + See below. + items: + properties: + provisionedThroughput: + description: A block that contains EBS volume + provisioned throughput information. To provision + storage throughput, you must choose broker + type kafka.m5.4xlarge or larger. See below. + items: + properties: + enabled: + description: 'Controls whether provisioned + throughput is enabled or not. Default + value: false.' + type: boolean + volumeThroughput: + description: Throughput value of the EBS + volumes for the data drive on each kafka + broker node in MiB per second. The minimum + value is 250. The maximum value varies + between broker type. You can refer to + the valid values for the maximum volume + throughput at the following documentation + on throughput bottlenecks + type: number + type: object + type: array + volumeSize: + description: The size in GiB of the EBS volume + for the data drive on each broker node. Minimum + value of 1 and maximum value of 16384. + type: number + type: object + type: array + type: object + type: array + type: object + type: array + clientAuthentication: + description: Configuration block for specifying a client authentication. + See below. + items: + properties: + sasl: + description: Configuration block for specifying SASL client + authentication. See below. + items: + properties: + iam: + description: Enables IAM client authentication. Defaults + to false. + type: boolean + scram: + description: Enables SCRAM client authentication via + AWS Secrets Manager. Defaults to false. + type: boolean + type: object + type: array + tls: + description: Configuration block for specifying TLS client + authentication. See below. + items: + properties: + certificateAuthorityArns: + description: List of ACM Certificate Authority Amazon + Resource Names (ARNs). + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + unauthenticated: + description: Enables unauthenticated access. + type: boolean + type: object + type: array + clusterName: + description: Name of the MSK cluster. + type: string + configurationInfo: + description: Configuration block for specifying a MSK Configuration + to attach to Kafka brokers. See below. + items: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + arnRef: + description: Reference to a Configuration to populate arn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + arnSelector: + description: Selector for a Configuration to populate arn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + revision: + description: Revision of the MSK Configuration to use in + the cluster. + type: number + type: object + type: array + encryptionInfo: + description: Configuration block for specifying encryption. See + below. + items: + properties: + encryptionAtRestKmsKeyArn: + description: The ARN of the KMS key used for encryption + at rest of the broker data volumes. + type: string + encryptionAtRestKmsKeyArnRef: + description: Reference to a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + encryptionAtRestKmsKeyArnSelector: + description: Selector for a Key in kms to populate encryptionAtRestKmsKeyArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + encryptionInTransit: + description: Configuration block to specify encryption in + transit. See below. + items: + properties: + clientBroker: + description: 'Encryption setting for data in transit + between clients and brokers. Valid values: TLS, + TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.' + type: string + inCluster: + description: 'Whether data communication among broker + nodes is encrypted. Default value: true.' + type: boolean + type: object + type: array + type: object + type: array + enhancedMonitoring: + description: Specify the desired enhanced MSK CloudWatch monitoring + level. See Monitoring Amazon MSK with Amazon CloudWatch + type: string + kafkaVersion: + description: Specify the desired Kafka software version. + type: string + loggingInfo: + description: Configuration block for streaming broker logs to + Cloudwatch/S3/Kinesis Firehose. See below. + items: + properties: + brokerLogs: + description: Configuration block for Broker Logs settings + for logging info. See below. + items: + properties: + cloudwatchLogs: + items: + properties: + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + logGroup: + description: Name of the Cloudwatch Log Group + to deliver logs to. + type: string + logGroupRef: + description: Reference to a Group in cloudwatchlogs + to populate logGroup. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + logGroupSelector: + description: Selector for a Group in cloudwatchlogs + to populate logGroup. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + type: object + type: array + firehose: + items: + properties: + deliveryStream: + description: Name of the Kinesis Data Firehose + delivery stream to deliver logs to. + type: string + deliveryStreamRef: + description: Reference to a DeliveryStream in + firehose to populate deliveryStream. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + deliveryStreamSelector: + description: Selector for a DeliveryStream in + firehose to populate deliveryStream. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + type: object + type: array + s3: + items: + properties: + bucket: + description: Name of the S3 bucket to deliver + logs to. + type: string + bucketRef: + description: Reference to a Bucket in s3 to + populate bucket. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + bucketSelector: + description: Selector for a Bucket in s3 to + populate bucket. + properties: + matchControllerRef: + description: MatchControllerRef ensures + an object with the same controller reference + as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object + with matching labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether + resolution of this reference is required. + The default is 'Required', which means + the reconcile will fail if the reference + cannot be resolved. 'Optional' means + this reference will be a no-op if + it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when + this reference should be resolved. + The default is 'IfNotPresent', which + will attempt to resolve the reference + only when the corresponding field + is not present. Use 'Always' to resolve + the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + prefix: + description: Prefix to append to the folder + name. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + numberOfBrokerNodes: + description: The desired total number of broker nodes in the kafka + cluster. It must be a multiple of the number of specified client + subnets. + type: number + openMonitoring: + description: Configuration block for JMX and Node monitoring for + the MSK cluster. See below. + items: + properties: + prometheus: + description: Configuration block for Prometheus settings + for open monitoring. See below. + items: + properties: + jmxExporter: + description: Configuration block for JMX Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + nodeExporter: + description: Configuration block for Node Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + type: object + type: array + type: object + type: array + storageMode: + description: 'Controls storage mode for supported storage tiers. + Valid values are: LOCAL or TIERED.' + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.brokerNodeGroupInfo is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.brokerNodeGroupInfo) + || (has(self.initProvider) && has(self.initProvider.brokerNodeGroupInfo))' + - message: spec.forProvider.clusterName is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.clusterName) + || (has(self.initProvider) && has(self.initProvider.clusterName))' + - message: spec.forProvider.kafkaVersion is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.kafkaVersion) + || (has(self.initProvider) && has(self.initProvider.kafkaVersion))' + - message: spec.forProvider.numberOfBrokerNodes is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.numberOfBrokerNodes) + || (has(self.initProvider) && has(self.initProvider.numberOfBrokerNodes))' + status: + description: ClusterStatus defines the observed state of Cluster. + properties: + atProvider: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + bootstrapBrokers: + description: Comma separated list of one or more hostname:port + pairs of kafka brokers suitable to bootstrap connectivity to + the kafka cluster. Contains a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to PLAINTEXT or TLS_PLAINTEXT. The resource sorts values + alphabetically. AWS may not always return all endpoints so this + value is not guaranteed to be stable across applies. + type: string + bootstrapBrokersPublicSaslIam: + description: One or more DNS names (or IP addresses) and SASL + IAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam + is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersPublicSaslScram: + description: One or more DNS names (or IP addresses) and SASL + SCRAM port pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram + is set to true and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersPublicTls: + description: One or more DNS names (or IP addresses) and TLS port + pairs. For example, b-1-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-3-public.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and broker_node_group_info.0.connectivity_info.0.public_access.0.type + is set to SERVICE_PROVIDED_EIPS and the cluster fulfill all + other requirements for public access. The resource sorts the + list alphabetically. AWS may not always return all endpoints + so the values may not be stable across applies. + type: string + bootstrapBrokersSaslIam: + description: One or more DNS names (or IP addresses) and SASL + IAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9098. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.iam + is set to true. The resource sorts the list alphabetically. + AWS may not always return all endpoints so the values may not + be stable across applies. + type: string + bootstrapBrokersSaslScram: + description: One or more DNS names (or IP addresses) and SASL + SCRAM port pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9096. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS and client_authentication.0.sasl.0.scram + is set to true. The resource sorts the list alphabetically. + AWS may not always return all endpoints so the values may not + be stable across applies. + type: string + bootstrapBrokersTls: + description: One or more DNS names (or IP addresses) and TLS port + pairs. For example, b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094. + This attribute will have a value if encryption_info.0.encryption_in_transit.0.client_broker + is set to TLS_PLAINTEXT or TLS. The resource sorts the list + alphabetically. AWS may not always return all endpoints so the + values may not be stable across applies. + type: string + brokerNodeGroupInfo: + description: Configuration block for the broker nodes of the Kafka + cluster. + items: + properties: + azDistribution: + description: The distribution of broker nodes across availability + zones (documentation). Currently the only valid value + is DEFAULT. + type: string + clientSubnets: + description: A list of subnets to connect to in client VPC + (documentation). + items: + type: string + type: array + x-kubernetes-list-type: set + connectivityInfo: + description: Information about the cluster access configuration. + See below. For security reasons, you can't turn on public + access while creating an MSK cluster. However, you can + update an existing cluster to make it publicly accessible. + You can also create a new cluster and then update it to + make it publicly accessible (documentation). + items: + properties: + publicAccess: + description: Access control settings for brokers. + See below. + items: + properties: + type: + description: 'Public access type. Valida values: + DISABLED, SERVICE_PROVIDED_EIPS.' + type: string + type: object + type: array + type: object + type: array + ebsVolumeSize: + description: The size in GiB of the EBS volume for the data + drive on each broker node. + type: number + instanceType: + description: Specify the instance type to use for the kafka + brokersE.g., kafka.m5.large. (Pricing info) + type: string + securityGroups: + description: A list of the security groups to associate + with the elastic network interfaces to control who can + communicate with the cluster. + items: + type: string + type: array + x-kubernetes-list-type: set + storageInfo: + description: A block that contains information about storage + volumes attached to MSK broker nodes. See below. + items: + properties: + ebsStorageInfo: + description: A block that contains EBS volume information. + See below. + items: + properties: + provisionedThroughput: + description: A block that contains EBS volume + provisioned throughput information. To provision + storage throughput, you must choose broker + type kafka.m5.4xlarge or larger. See below. + items: + properties: + enabled: + description: 'Controls whether provisioned + throughput is enabled or not. Default + value: false.' + type: boolean + volumeThroughput: + description: Throughput value of the EBS + volumes for the data drive on each kafka + broker node in MiB per second. The minimum + value is 250. The maximum value varies + between broker type. You can refer to + the valid values for the maximum volume + throughput at the following documentation + on throughput bottlenecks + type: number + type: object + type: array + volumeSize: + description: The size in GiB of the EBS volume + for the data drive on each broker node. Minimum + value of 1 and maximum value of 16384. + type: number + type: object + type: array + type: object + type: array + type: object + type: array + clientAuthentication: + description: Configuration block for specifying a client authentication. + See below. + items: + properties: + sasl: + description: Configuration block for specifying SASL client + authentication. See below. + items: + properties: + iam: + description: Enables IAM client authentication. Defaults + to false. + type: boolean + scram: + description: Enables SCRAM client authentication via + AWS Secrets Manager. Defaults to false. + type: boolean + type: object + type: array + tls: + description: Configuration block for specifying TLS client + authentication. See below. + items: + properties: + certificateAuthorityArns: + description: List of ACM Certificate Authority Amazon + Resource Names (ARNs). + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + unauthenticated: + description: Enables unauthenticated access. + type: boolean + type: object + type: array + clusterName: + description: Name of the MSK cluster. + type: string + configurationInfo: + description: Configuration block for specifying a MSK Configuration + to attach to Kafka brokers. See below. + items: + properties: + arn: + description: Amazon Resource Name (ARN) of the MSK Configuration + to use in the cluster. + type: string + revision: + description: Revision of the MSK Configuration to use in + the cluster. + type: number + type: object + type: array + currentVersion: + description: Current version of the MSK Cluster used for updates, + e.g., K13V1IB3VIYZZH + type: string + encryptionInfo: + description: Configuration block for specifying encryption. See + below. + items: + properties: + encryptionAtRestKmsKeyArn: + description: The ARN of the KMS key used for encryption + at rest of the broker data volumes. + type: string + encryptionInTransit: + description: Configuration block to specify encryption in + transit. See below. + items: + properties: + clientBroker: + description: 'Encryption setting for data in transit + between clients and brokers. Valid values: TLS, + TLS_PLAINTEXT, and PLAINTEXT. Default value is TLS.' + type: string + inCluster: + description: 'Whether data communication among broker + nodes is encrypted. Default value: true.' + type: boolean + type: object + type: array + type: object + type: array + enhancedMonitoring: + description: Specify the desired enhanced MSK CloudWatch monitoring + level. See Monitoring Amazon MSK with Amazon CloudWatch + type: string + id: + type: string + kafkaVersion: + description: Specify the desired Kafka software version. + type: string + loggingInfo: + description: Configuration block for streaming broker logs to + Cloudwatch/S3/Kinesis Firehose. See below. + items: + properties: + brokerLogs: + description: Configuration block for Broker Logs settings + for logging info. See below. + items: + properties: + cloudwatchLogs: + items: + properties: + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + logGroup: + description: Name of the Cloudwatch Log Group + to deliver logs to. + type: string + type: object + type: array + firehose: + items: + properties: + deliveryStream: + description: Name of the Kinesis Data Firehose + delivery stream to deliver logs to. + type: string + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + type: object + type: array + s3: + items: + properties: + bucket: + description: Name of the S3 bucket to deliver + logs to. + type: string + enabled: + description: 'Controls whether provisioned throughput + is enabled or not. Default value: false.' + type: boolean + prefix: + description: Prefix to append to the folder + name. + type: string + type: object + type: array + type: object + type: array + type: object + type: array + numberOfBrokerNodes: + description: The desired total number of broker nodes in the kafka + cluster. It must be a multiple of the number of specified client + subnets. + type: number + openMonitoring: + description: Configuration block for JMX and Node monitoring for + the MSK cluster. See below. + items: + properties: + prometheus: + description: Configuration block for Prometheus settings + for open monitoring. See below. + items: + properties: + jmxExporter: + description: Configuration block for JMX Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + nodeExporter: + description: Configuration block for Node Exporter. + See below. + items: + properties: + enabledInBroker: + description: Indicates whether you want to enable + or disable the JMX Exporter. + type: boolean + type: object + type: array + type: object + type: array + type: object + type: array + storageMode: + description: 'Controls storage mode for supported storage tiers. + Valid values are: LOCAL or TIERED.' + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + zookeeperConnectString: + description: A comma separated list of one or more hostname:port + pairs to use to connect to the Apache Zookeeper cluster. The + returned values are sorted alphabetically. The AWS API may not + return all endpoints, so this value is not guaranteed to be + stable across applies. + type: string + zookeeperConnectStringTls: + description: A comma separated list of one or more hostname:port + pairs to use to connect to the Apache Zookeeper cluster via + TLS. The returned values are sorted alphabetically. The AWS + API may not return all endpoints, so this value is not guaranteed + to be stable across applies. + type: string + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 + schema: + openAPIV3Schema: + description: Cluster is the Schema for the Clusters API. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: ClusterSpec defines the desired state of Cluster + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + brokerNodeGroupInfo: + description: Configuration block for the broker nodes of the Kafka + cluster. + items: + properties: + azDistribution: + description: The distribution of broker nodes across availability + zones (documentation). Currently the only valid value + is DEFAULT. + type: string + clientSubnets: + description: A list of subnets to connect to in client VPC + (documentation). + items: + type: string + type: array + x-kubernetes-list-type: set + clientSubnetsRefs: + description: References to Subnet in ec2 to populate clientSubnets. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference + only when the corresponding field is not present. + Use 'Always' to resolve the reference on every + reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + clientSubnetsSelector: + description: Selector for a list of Subnet in ec2 to populate + clientSubnets. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with + the same controller reference as the selecting object + is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching + labels is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is + 'Required', which means the reconcile will fail + if the reference cannot be resolved. 'Optional' + means this reference will be a no-op if it cannot + be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference + should be resolved. The default is 'IfNotPresent', + which will attempt to resolve the reference only + when the corresponding field is not present. Use + 'Always' to resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object connectivityInfo: description: Information about the cluster access configuration. See below. For security reasons, you can't turn on public @@ -409,7 +2833,8 @@ spec: to use in the cluster. type: string arnRef: - description: Reference to a Configuration to populate arn. + description: Reference to a Configuration in kafka to populate + arn. properties: name: description: Name of the referenced object. @@ -444,7 +2869,8 @@ spec: - name type: object arnSelector: - description: Selector for a Configuration to populate arn. + description: Selector for a Configuration in kafka to populate + arn. properties: matchControllerRef: description: MatchControllerRef ensures an object with @@ -1322,7 +3748,8 @@ spec: to use in the cluster. type: string arnRef: - description: Reference to a Configuration to populate arn. + description: Reference to a Configuration in kafka to populate + arn. properties: name: description: Name of the referenced object. @@ -1357,7 +3784,8 @@ spec: - name type: object arnSelector: - description: Selector for a Configuration to populate arn. + description: Selector for a Configuration in kafka to populate + arn. properties: matchControllerRef: description: MatchControllerRef ensures an object with diff --git a/package/crds/rds.aws.upbound.io_instances.yaml b/package/crds/rds.aws.upbound.io_instances.yaml index b97c39c114..9360375a17 100644 --- a/package/crds/rds.aws.upbound.io_instances.yaml +++ b/package/crds/rds.aws.upbound.io_instances.yaml @@ -32,6 +32,2431 @@ spec: name: AGE type: date name: v1beta1 + schema: + openAPIV3Schema: + description: Instance is the Schema for the Instances API. Provides an RDS + instance resource. + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: InstanceSpec defines the desired state of Instance + properties: + deletionPolicy: + default: Delete + description: 'DeletionPolicy specifies what will happen to the underlying + external when this managed resource is deleted - either "Delete" + or "Orphan" the external resource. This field is planned to be deprecated + in favor of the ManagementPolicies field in a future release. Currently, + both could be set independently and non-default values would be + honored if the feature flag is enabled. See the design doc for more + information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223' + enum: + - Orphan + - Delete + type: string + forProvider: + properties: + allocatedStorage: + description: The allocated storage in gibibytes. If max_allocated_storage + is configured, this argument represents the initial storage + allocation and differences from the configuration will be ignored + automatically when Storage Autoscaling occurs. If replicate_source_db + is set, the value is ignored during the creation of the instance. + type: number + allowMajorVersionUpgrade: + description: Indicates that major version upgrades are allowed. + Changing this parameter does not result in an outage and the + change is asynchronously applied as soon as possible. + type: boolean + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default is false. See Amazon RDS Documentation for more information. + type: boolean + autoGeneratePassword: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Cannot + be set if manage_master_user_password is set to true. If true, + the password will be auto-generated and stored in the Secret + referenced by the passwordSecretRef field. + type: boolean + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Defaults to true. + type: boolean + availabilityZone: + description: The AZ for the RDS instance. + type: string + backupRetentionPeriod: + description: The days to retain backups for. Must be between 0 + and 35. Default is 0. Must be greater than 0 if the database + is used as a source for a Read Replica, uses low-downtime updates, + or will use RDS Blue/Green deployments. + type: number + backupWindow: + description: 'The daily time range (in UTC) during which automated + backups are created if they are enabled. Example: "09:46-10:16". + Must not overlap with maintenance_window.' + type: string + blueGreenUpdate: + description: Enables low-downtime updates using RDS Blue/Green + deployments. See blue_green_update below + items: + properties: + enabled: + description: Enables [low-downtime updates](#Low-Downtime + Updates) when true. Default is false. + type: boolean + type: object + type: array + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + characterSetName: + description: The character set name to use for DB encoding in + Oracle and Microsoft SQL instances (collation). This can't be + changed. See Oracle Character Sets Supported in Amazon RDS or + Server-Level Collation for Microsoft SQL Server for more information. + type: string + copyTagsToSnapshot: + description: – Copy all Instance tags to snapshots. Default is + false. + type: boolean + customIamInstanceProfile: + description: The instance profile associated with the underlying + Amazon EC2 instance of an RDS Custom DB instance. + type: string + customerOwnedIpEnabled: + description: Indicates whether to enable a customer-owned IP address + (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS + on Outposts for more information. + type: boolean + dbName: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + dbSubnetGroupName: + description: Name of DB subnet group. DB instance will be created + in the VPC associated with the DB subnet group. If unspecified, + will be created in the default VPC, or in EC2 Classic, if available. + When working with read replicas, it should be specified only + if the source database specifies an instance in another AWS + Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica + for additional read replica contraints. + type: string + dbSubnetGroupNameRef: + description: Reference to a SubnetGroup to populate dbSubnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + dbSubnetGroupNameSelector: + description: Selector for a SubnetGroup to populate dbSubnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + deleteAutomatedBackups: + description: Specifies whether to remove automated backups immediately + after the DB instance is deleted. Default is true. + type: boolean + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + domain: + description: The ID of the Directory Service Active Directory + domain to create the instance in. + type: string + domainIamRoleName: + description: The name of the IAM role to be used when making API + calls to the Directory Service. + type: string + enabledCloudwatchLogsExports: + description: 'Set of log types to enable for exporting to CloudWatch + logs. If omitted, no logs will be exported. Valid values (depending + on engine). MySQL and MariaDB: audit, error, general, slowquery. + PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: + alert, audit, listener, trace.' + items: + type: string + type: array + x-kubernetes-list-type: set + engine: + description: The database engine to use. For supported values, + see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine must match + the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine'. For information on the difference between the available + Aurora MySQL engines see Comparison in the [Amazon RDS Release + Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + type: string + engineVersion: + description: The engine version to use. If `autoMinorVersionUpgrade` + is enabled, you can provide a prefix of the version such as + 5.7 (for 5.7.10). The actual engine version used is returned + in the attribute `status.atProvider.engineVersionActual`. For + supported values, see the EngineVersion parameter in [API action + CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine version must + match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine version'. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB instance + is deleted. Must be provided if skip_final_snapshot is set to + false. The value must begin with a letter, only contain alphanumeric + characters and hyphens, and not end with a hyphen or contain + two consecutive hyphens. Must not be provided when deleting + a read replica. + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether mappings of AWS Identity and Access + Management (IAM) accounts to database accounts is enabled. + type: boolean + instanceClass: + description: The instance type of the RDS instance. + type: string + iops: + description: The amount of provisioned IOPS. Setting this implies + a storage_type of "io1". Can only be set when storage_type is + "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage + value is below a per-engine threshold. See the RDS User Guide + for details. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + licenseModel: + description: License model information for this DB instance. + type: string + maintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for + more information.' + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if password is provided. + type: boolean + masterUserSecretKmsKeyId: + description: The Amazon Web Services KMS key identifier is the + key ARN, key ID, alias ARN, or alias name for the KMS key. To + use a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + masterUserSecretKmsKeyIdRef: + description: Reference to a Key in kms to populate masterUserSecretKmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + masterUserSecretKmsKeyIdSelector: + description: Selector for a Key in kms to populate masterUserSecretKmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + maxAllocatedStorage: + description: When configured, the upper limit to which Amazon + RDS can automatically scale the storage of the DB instance. + Configuring this will automatically ignore differences to allocated_storage. + Must be greater than or equal to allocated_storage or 0 to disable + Storage Autoscaling. + type: number + monitoringInterval: + description: 'The interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: The ARN for the IAM role that permits RDS to send + enhanced monitoring metrics to CloudWatch Logs. You can find + more information on the AWS Documentation what IAM permissions + are needed to allow Enhanced Monitoring for RDS Instances. + type: string + monitoringRoleArnRef: + description: Reference to a Role in iam to populate monitoringRoleArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + monitoringRoleArnSelector: + description: Selector for a Role in iam to populate monitoringRoleArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + multiAz: + description: Specifies if the RDS instance is multi-AZ + type: boolean + name: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + ncharCharacterSetName: + description: The national character set is used in the NCHAR, + NVARCHAR2, and NCLOB data types for Oracle instances. This can't + be changed. See Oracle Character Sets Supported in Amazon RDS. + type: string + networkType: + description: 'The network type of the DB instance. Valid values: + IPV4, DUAL.' + type: string + optionGroupName: + description: Name of the DB option group to associate. + type: string + parameterGroupName: + description: Name of the DB parameter group to associate. + type: string + passwordSecretRef: + description: Password for the master DB user. Note that this may + show up in logs, and it will be stored in the state file. Cannot + be set if manage_master_user_password is set to true. Password + for the master DB user. If you set autoGeneratePassword to true, + the Secret referenced here will be created or updated with generated + password if it does not already contain one. + properties: + key: + description: The key to select. + type: string + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - key + - name + - namespace + type: object + performanceInsightsEnabled: + description: Specifies whether Performance Insights are enabled. + Defaults to false. + type: boolean + performanceInsightsKmsKeyId: + description: The ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. Once KMS key is set, it can never be + changed. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: The port on which the DB accepts connections. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default is false. + type: boolean + region: + description: Region is the region you'd like your resource to + be created in. + type: string + replicaMode: + description: Specifies whether the replica is in either mounted + or open-read-only mode. This attribute is only supported by + Oracle instances. Oracle replicas operate in open-read-only + mode unless otherwise specified. See Working with Oracle Read + Replicas for more information. + type: string + replicateSourceDb: + description: Specifies that this resource is a Replicate database, + and to use this value as the source database. This correlates + to the identifier of another Amazon RDS Database to replicate + (if replicating within a single region) or ARN of the Amazon + RDS Database to replicate (if replicating cross-region). Note + that if you are creating a cross-region replica of an encrypted + database you will also need to specify a kms_key_id. See DB + Instance Replication and Working with PostgreSQL and MySQL Read + Replicas for more information on using Replication. + type: string + replicateSourceDbRef: + description: Reference to a Instance in rds to populate replicateSourceDb. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + replicateSourceDbSelector: + description: Selector for a Instance in rds to populate replicateSourceDb. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + restoreToPointInTime: + description: A configuration block for restoring a DB instance + to an arbitrary point in time. Requires the identifier argument + to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. + items: + properties: + restoreTime: + description: The date and time to restore from. Value must + be a time in Universal Coordinated Time (UTC) format and + must be before the latest restorable time for the DB instance. + Cannot be specified with use_latest_restorable_time. + type: string + sourceDbInstanceAutomatedBackupsArn: + description: The ARN of the automated backup from which + to restore. Required if source_db_instance_identifier + or source_dbi_resource_id is not specified. + type: string + sourceDbInstanceIdentifier: + description: The identifier of the source DB instance from + which to restore. Must match the identifier of an existing + DB instance. Required if source_db_instance_automated_backups_arn + or source_dbi_resource_id is not specified. + type: string + sourceDbiResourceId: + description: The resource ID of the source DB instance from + which to restore. Required if source_db_instance_identifier + or source_db_instance_automated_backups_arn is not specified. + type: string + useLatestRestorableTime: + description: A boolean value that indicates whether the + DB instance is restored from the latest backup time. Defaults + to false. Cannot be specified with restore_time. + type: boolean + type: object + type: array + s3Import: + description: Restore from a Percona Xtrabackup in S3. See Importing + Data into an Amazon RDS MySQL DB Instance + items: + properties: + bucketName: + description: The bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + type: object + type: array + securityGroupNames: + description: List of DB Security Groups to associate. Only used + for DB Instances on the . + items: + type: string + type: array + x-kubernetes-list-type: set + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB instance is deleted. If true is specified, no + DBSnapshot is created. If false is specified, a DB snapshot + is created before the DB instance is deleted, using the value + from final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: 'Specifies whether or not to create this database + from a snapshot. This correlates to the snapshot ID you''d find + in the RDS console, e.g: rds:production-2015-06-26-06-05.' + type: string + storageEncrypted: + description: Specifies whether the DB instance is encrypted. Note + that if you are creating a cross-region read replica this field + is ignored and you should instead declare kms_key_id with a + valid ARN. The default is false if not specified. + type: boolean + storageThroughput: + description: The storage throughput value for the DB instance. + Can only be set when storage_type is "gp3". Cannot be specified + if the allocated_storage value is below a per-engine threshold. + See the RDS User Guide for details. + type: number + storageType: + description: One of "standard" (magnetic), "gp2" (general purpose + SSD), "gp3" (general purpose SSD that needs iops independently) + or "io1" (provisioned IOPS SSD). The default is "io1" if iops + is specified, "gp2" if not. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + timezone: + description: Time zone of the DB instance. timezone is currently + only supported by Microsoft SQL Server. The timezone can only + be set on creation. See MSSQL User Guide for more information. + type: string + username: + description: Username for the master DB user. Cannot be specified + for a replica. + type: string + vpcSecurityGroupIdRefs: + description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + vpcSecurityGroupIdSelector: + description: Selector for a list of SecurityGroup in ec2 to populate + vpcSecurityGroupIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate. + items: + type: string + type: array + x-kubernetes-list-type: set + required: + - region + type: object + initProvider: + description: 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. + properties: + allocatedStorage: + description: The allocated storage in gibibytes. If max_allocated_storage + is configured, this argument represents the initial storage + allocation and differences from the configuration will be ignored + automatically when Storage Autoscaling occurs. If replicate_source_db + is set, the value is ignored during the creation of the instance. + type: number + allowMajorVersionUpgrade: + description: Indicates that major version upgrades are allowed. + Changing this parameter does not result in an outage and the + change is asynchronously applied as soon as possible. + type: boolean + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default is false. See Amazon RDS Documentation for more information. + type: boolean + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Defaults to true. + type: boolean + availabilityZone: + description: The AZ for the RDS instance. + type: string + backupRetentionPeriod: + description: The days to retain backups for. Must be between 0 + and 35. Default is 0. Must be greater than 0 if the database + is used as a source for a Read Replica, uses low-downtime updates, + or will use RDS Blue/Green deployments. + type: number + backupWindow: + description: 'The daily time range (in UTC) during which automated + backups are created if they are enabled. Example: "09:46-10:16". + Must not overlap with maintenance_window.' + type: string + blueGreenUpdate: + description: Enables low-downtime updates using RDS Blue/Green + deployments. See blue_green_update below + items: + properties: + enabled: + description: Enables [low-downtime updates](#Low-Downtime + Updates) when true. Default is false. + type: boolean + type: object + type: array + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + characterSetName: + description: The character set name to use for DB encoding in + Oracle and Microsoft SQL instances (collation). This can't be + changed. See Oracle Character Sets Supported in Amazon RDS or + Server-Level Collation for Microsoft SQL Server for more information. + type: string + copyTagsToSnapshot: + description: – Copy all Instance tags to snapshots. Default is + false. + type: boolean + customIamInstanceProfile: + description: The instance profile associated with the underlying + Amazon EC2 instance of an RDS Custom DB instance. + type: string + customerOwnedIpEnabled: + description: Indicates whether to enable a customer-owned IP address + (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS + on Outposts for more information. + type: boolean + dbName: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + dbSubnetGroupName: + description: Name of DB subnet group. DB instance will be created + in the VPC associated with the DB subnet group. If unspecified, + will be created in the default VPC, or in EC2 Classic, if available. + When working with read replicas, it should be specified only + if the source database specifies an instance in another AWS + Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica + for additional read replica contraints. + type: string + dbSubnetGroupNameRef: + description: Reference to a SubnetGroup to populate dbSubnetGroupName. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + dbSubnetGroupNameSelector: + description: Selector for a SubnetGroup to populate dbSubnetGroupName. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + deleteAutomatedBackups: + description: Specifies whether to remove automated backups immediately + after the DB instance is deleted. Default is true. + type: boolean + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + domain: + description: The ID of the Directory Service Active Directory + domain to create the instance in. + type: string + domainIamRoleName: + description: The name of the IAM role to be used when making API + calls to the Directory Service. + type: string + enabledCloudwatchLogsExports: + description: 'Set of log types to enable for exporting to CloudWatch + logs. If omitted, no logs will be exported. Valid values (depending + on engine). MySQL and MariaDB: audit, error, general, slowquery. + PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: + alert, audit, listener, trace.' + items: + type: string + type: array + x-kubernetes-list-type: set + engine: + description: The database engine to use. For supported values, + see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine must match + the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine'. For information on the difference between the available + Aurora MySQL engines see Comparison in the [Amazon RDS Release + Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + type: string + engineVersion: + description: The engine version to use. If `autoMinorVersionUpgrade` + is enabled, you can provide a prefix of the version such as + 5.7 (for 5.7.10). The actual engine version used is returned + in the attribute `status.atProvider.engineVersionActual`. For + supported values, see the EngineVersion parameter in [API action + CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine version must + match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine version'. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB instance + is deleted. Must be provided if skip_final_snapshot is set to + false. The value must begin with a letter, only contain alphanumeric + characters and hyphens, and not end with a hyphen or contain + two consecutive hyphens. Must not be provided when deleting + a read replica. + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether mappings of AWS Identity and Access + Management (IAM) accounts to database accounts is enabled. + type: boolean + instanceClass: + description: The instance type of the RDS instance. + type: string + iops: + description: The amount of provisioned IOPS. Setting this implies + a storage_type of "io1". Can only be set when storage_type is + "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage + value is below a per-engine threshold. See the RDS User Guide + for details. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + type: string + kmsKeyIdRef: + description: Reference to a Key in kms to populate kmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + kmsKeyIdSelector: + description: Selector for a Key in kms to populate kmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + licenseModel: + description: License model information for this DB instance. + type: string + maintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for + more information.' + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if password is provided. + type: boolean + masterUserSecretKmsKeyId: + description: The Amazon Web Services KMS key identifier is the + key ARN, key ID, alias ARN, or alias name for the KMS key. To + use a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + masterUserSecretKmsKeyIdRef: + description: Reference to a Key in kms to populate masterUserSecretKmsKeyId. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + masterUserSecretKmsKeyIdSelector: + description: Selector for a Key in kms to populate masterUserSecretKmsKeyId. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + maxAllocatedStorage: + description: When configured, the upper limit to which Amazon + RDS can automatically scale the storage of the DB instance. + Configuring this will automatically ignore differences to allocated_storage. + Must be greater than or equal to allocated_storage or 0 to disable + Storage Autoscaling. + type: number + monitoringInterval: + description: 'The interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: The ARN for the IAM role that permits RDS to send + enhanced monitoring metrics to CloudWatch Logs. You can find + more information on the AWS Documentation what IAM permissions + are needed to allow Enhanced Monitoring for RDS Instances. + type: string + monitoringRoleArnRef: + description: Reference to a Role in iam to populate monitoringRoleArn. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + monitoringRoleArnSelector: + description: Selector for a Role in iam to populate monitoringRoleArn. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + multiAz: + description: Specifies if the RDS instance is multi-AZ + type: boolean + name: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + ncharCharacterSetName: + description: The national character set is used in the NCHAR, + NVARCHAR2, and NCLOB data types for Oracle instances. This can't + be changed. See Oracle Character Sets Supported in Amazon RDS. + type: string + networkType: + description: 'The network type of the DB instance. Valid values: + IPV4, DUAL.' + type: string + optionGroupName: + description: Name of the DB option group to associate. + type: string + parameterGroupName: + description: Name of the DB parameter group to associate. + type: string + performanceInsightsEnabled: + description: Specifies whether Performance Insights are enabled. + Defaults to false. + type: boolean + performanceInsightsKmsKeyId: + description: The ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. Once KMS key is set, it can never be + changed. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: The port on which the DB accepts connections. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default is false. + type: boolean + replicaMode: + description: Specifies whether the replica is in either mounted + or open-read-only mode. This attribute is only supported by + Oracle instances. Oracle replicas operate in open-read-only + mode unless otherwise specified. See Working with Oracle Read + Replicas for more information. + type: string + replicateSourceDb: + description: Specifies that this resource is a Replicate database, + and to use this value as the source database. This correlates + to the identifier of another Amazon RDS Database to replicate + (if replicating within a single region) or ARN of the Amazon + RDS Database to replicate (if replicating cross-region). Note + that if you are creating a cross-region replica of an encrypted + database you will also need to specify a kms_key_id. See DB + Instance Replication and Working with PostgreSQL and MySQL Read + Replicas for more information on using Replication. + type: string + replicateSourceDbRef: + description: Reference to a Instance in rds to populate replicateSourceDb. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + replicateSourceDbSelector: + description: Selector for a Instance in rds to populate replicateSourceDb. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + restoreToPointInTime: + description: A configuration block for restoring a DB instance + to an arbitrary point in time. Requires the identifier argument + to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. + items: + properties: + restoreTime: + description: The date and time to restore from. Value must + be a time in Universal Coordinated Time (UTC) format and + must be before the latest restorable time for the DB instance. + Cannot be specified with use_latest_restorable_time. + type: string + sourceDbInstanceAutomatedBackupsArn: + description: The ARN of the automated backup from which + to restore. Required if source_db_instance_identifier + or source_dbi_resource_id is not specified. + type: string + sourceDbInstanceIdentifier: + description: The identifier of the source DB instance from + which to restore. Must match the identifier of an existing + DB instance. Required if source_db_instance_automated_backups_arn + or source_dbi_resource_id is not specified. + type: string + sourceDbiResourceId: + description: The resource ID of the source DB instance from + which to restore. Required if source_db_instance_identifier + or source_db_instance_automated_backups_arn is not specified. + type: string + useLatestRestorableTime: + description: A boolean value that indicates whether the + DB instance is restored from the latest backup time. Defaults + to false. Cannot be specified with restore_time. + type: boolean + type: object + type: array + s3Import: + description: Restore from a Percona Xtrabackup in S3. See Importing + Data into an Amazon RDS MySQL DB Instance + items: + properties: + bucketName: + description: The bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + type: object + type: array + securityGroupNames: + description: List of DB Security Groups to associate. Only used + for DB Instances on the . + items: + type: string + type: array + x-kubernetes-list-type: set + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB instance is deleted. If true is specified, no + DBSnapshot is created. If false is specified, a DB snapshot + is created before the DB instance is deleted, using the value + from final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: 'Specifies whether or not to create this database + from a snapshot. This correlates to the snapshot ID you''d find + in the RDS console, e.g: rds:production-2015-06-26-06-05.' + type: string + storageEncrypted: + description: Specifies whether the DB instance is encrypted. Note + that if you are creating a cross-region read replica this field + is ignored and you should instead declare kms_key_id with a + valid ARN. The default is false if not specified. + type: boolean + storageThroughput: + description: The storage throughput value for the DB instance. + Can only be set when storage_type is "gp3". Cannot be specified + if the allocated_storage value is below a per-engine threshold. + See the RDS User Guide for details. + type: number + storageType: + description: One of "standard" (magnetic), "gp2" (general purpose + SSD), "gp3" (general purpose SSD that needs iops independently) + or "io1" (provisioned IOPS SSD). The default is "io1" if iops + is specified, "gp2" if not. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + timezone: + description: Time zone of the DB instance. timezone is currently + only supported by Microsoft SQL Server. The timezone can only + be set on creation. See MSSQL User Guide for more information. + type: string + username: + description: Username for the master DB user. Cannot be specified + for a replica. + type: string + vpcSecurityGroupIdRefs: + description: References to SecurityGroup in ec2 to populate vpcSecurityGroupIds. + items: + description: A Reference to a named object. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution + of this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which + will attempt to resolve the reference only when the + corresponding field is not present. Use 'Always' to + resolve the reference on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + type: array + vpcSecurityGroupIdSelector: + description: Selector for a list of SecurityGroup in ec2 to populate + vpcSecurityGroupIds. + properties: + matchControllerRef: + description: MatchControllerRef ensures an object with the + same controller reference as the selecting object is selected. + type: boolean + matchLabels: + additionalProperties: + type: string + description: MatchLabels ensures an object with matching labels + is selected. + type: object + policy: + description: Policies for selection. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + type: object + vpcSecurityGroupIds: + description: List of VPC security groups to associate. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + managementPolicies: + default: + - '*' + description: 'THIS IS A BETA FIELD. It is on by default but can be + opted out through a Crossplane feature flag. ManagementPolicies + specify the array of actions Crossplane is allowed to take on the + managed and external resources. This field is planned to replace + the DeletionPolicy field in a future release. Currently, both could + be set independently and non-default values would be honored if + the feature flag is enabled. If both are custom, the DeletionPolicy + field will be ignored. See the design doc for more information: + https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 + and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md' + items: + description: A ManagementAction represents an action that the Crossplane + controllers can take on an external resource. + enum: + - Observe + - Create + - Update + - Delete + - LateInitialize + - '*' + type: string + type: array + providerConfigRef: + default: + name: default + description: ProviderConfigReference specifies how the provider that + will be used to create, observe, update, and delete this managed + resource should be configured. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of this + reference is required. The default is 'Required', which + means the reconcile will fail if the reference cannot be + resolved. 'Optional' means this reference will be a no-op + if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will attempt + to resolve the reference only when the corresponding field + is not present. Use 'Always' to resolve the reference on + every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + publishConnectionDetailsTo: + description: PublishConnectionDetailsTo specifies the connection secret + config which contains a name, metadata and a reference to secret + store config to which any connection details for this managed resource + should be written. Connection details frequently include the endpoint, + username, and password required to connect to the managed resource. + properties: + configRef: + default: + name: default + description: SecretStoreConfigRef specifies which secret store + config should be used for this ConnectionSecret. + properties: + name: + description: Name of the referenced object. + type: string + policy: + description: Policies for referencing. + properties: + resolution: + default: Required + description: Resolution specifies whether resolution of + this reference is required. The default is 'Required', + which means the reconcile will fail if the reference + cannot be resolved. 'Optional' means this reference + will be a no-op if it cannot be resolved. + enum: + - Required + - Optional + type: string + resolve: + description: Resolve specifies when this reference should + be resolved. The default is 'IfNotPresent', which will + attempt to resolve the reference only when the corresponding + field is not present. Use 'Always' to resolve the reference + on every reconcile. + enum: + - Always + - IfNotPresent + type: string + type: object + required: + - name + type: object + metadata: + description: Metadata is the metadata for connection secret. + properties: + annotations: + additionalProperties: + type: string + description: Annotations are the annotations to be added to + connection secret. - For Kubernetes secrets, this will be + used as "metadata.annotations". - It is up to Secret Store + implementation for others store types. + type: object + labels: + additionalProperties: + type: string + description: Labels are the labels/tags to be added to connection + secret. - For Kubernetes secrets, this will be used as "metadata.labels". + - It is up to Secret Store implementation for others store + types. + type: object + type: + description: Type is the SecretType for the connection secret. + - Only valid for Kubernetes Secret Stores. + type: string + type: object + name: + description: Name is the name of the connection secret. + type: string + required: + - name + type: object + writeConnectionSecretToRef: + description: WriteConnectionSecretToReference specifies the namespace + and name of a Secret to which any connection details for this managed + resource should be written. Connection details frequently include + the endpoint, username, and password required to connect to the + managed resource. This field is planned to be replaced in a future + release in favor of PublishConnectionDetailsTo. Currently, both + could be set independently and connection details would be published + to both without affecting each other. + properties: + name: + description: Name of the secret. + type: string + namespace: + description: Namespace of the secret. + type: string + required: + - name + - namespace + type: object + required: + - forProvider + type: object + x-kubernetes-validations: + - message: spec.forProvider.instanceClass is a required parameter + rule: '!(''*'' in self.managementPolicies || ''Create'' in self.managementPolicies + || ''Update'' in self.managementPolicies) || has(self.forProvider.instanceClass) + || (has(self.initProvider) && has(self.initProvider.instanceClass))' + status: + description: InstanceStatus defines the observed state of Instance. + properties: + atProvider: + properties: + address: + description: The hostname of the RDS instance. See also endpoint + and port. + type: string + allocatedStorage: + description: The allocated storage in gibibytes. If max_allocated_storage + is configured, this argument represents the initial storage + allocation and differences from the configuration will be ignored + automatically when Storage Autoscaling occurs. If replicate_source_db + is set, the value is ignored during the creation of the instance. + type: number + allowMajorVersionUpgrade: + description: Indicates that major version upgrades are allowed. + Changing this parameter does not result in an outage and the + change is asynchronously applied as soon as possible. + type: boolean + applyImmediately: + description: Specifies whether any database modifications are + applied immediately, or during the next maintenance window. + Default is false. See Amazon RDS Documentation for more information. + type: boolean + arn: + description: The ARN of the RDS instance. + type: string + autoMinorVersionUpgrade: + description: Indicates that minor engine upgrades will be applied + automatically to the DB instance during the maintenance window. + Defaults to true. + type: boolean + availabilityZone: + description: The AZ for the RDS instance. + type: string + backupRetentionPeriod: + description: The days to retain backups for. Must be between 0 + and 35. Default is 0. Must be greater than 0 if the database + is used as a source for a Read Replica, uses low-downtime updates, + or will use RDS Blue/Green deployments. + type: number + backupWindow: + description: 'The daily time range (in UTC) during which automated + backups are created if they are enabled. Example: "09:46-10:16". + Must not overlap with maintenance_window.' + type: string + blueGreenUpdate: + description: Enables low-downtime updates using RDS Blue/Green + deployments. See blue_green_update below + items: + properties: + enabled: + description: Enables [low-downtime updates](#Low-Downtime + Updates) when true. Default is false. + type: boolean + type: object + type: array + caCertIdentifier: + description: The identifier of the CA certificate for the DB instance. + type: string + characterSetName: + description: The character set name to use for DB encoding in + Oracle and Microsoft SQL instances (collation). This can't be + changed. See Oracle Character Sets Supported in Amazon RDS or + Server-Level Collation for Microsoft SQL Server for more information. + type: string + copyTagsToSnapshot: + description: – Copy all Instance tags to snapshots. Default is + false. + type: boolean + customIamInstanceProfile: + description: The instance profile associated with the underlying + Amazon EC2 instance of an RDS Custom DB instance. + type: string + customerOwnedIpEnabled: + description: Indicates whether to enable a customer-owned IP address + (CoIP) for an RDS on Outposts DB instance. See CoIP for RDS + on Outposts for more information. + type: boolean + dbName: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + dbSubnetGroupName: + description: Name of DB subnet group. DB instance will be created + in the VPC associated with the DB subnet group. If unspecified, + will be created in the default VPC, or in EC2 Classic, if available. + When working with read replicas, it should be specified only + if the source database specifies an instance in another AWS + Region. See DBSubnetGroupName in API action CreateDBInstanceReadReplica + for additional read replica contraints. + type: string + deleteAutomatedBackups: + description: Specifies whether to remove automated backups immediately + after the DB instance is deleted. Default is true. + type: boolean + deletionProtection: + description: If the DB instance should have deletion protection + enabled. The database can't be deleted when this value is set + to true. The default is false. + type: boolean + domain: + description: The ID of the Directory Service Active Directory + domain to create the instance in. + type: string + domainIamRoleName: + description: The name of the IAM role to be used when making API + calls to the Directory Service. + type: string + enabledCloudwatchLogsExports: + description: 'Set of log types to enable for exporting to CloudWatch + logs. If omitted, no logs will be exported. Valid values (depending + on engine). MySQL and MariaDB: audit, error, general, slowquery. + PostgreSQL: postgresql, upgrade. MSSQL: agent , error. Oracle: + alert, audit, listener, trace.' + items: + type: string + type: array + x-kubernetes-list-type: set + endpoint: + description: The connection endpoint in address:port format. + type: string + engine: + description: The database engine to use. For supported values, + see the Engine parameter in [API action CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine must match + the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine'. For information on the difference between the available + Aurora MySQL engines see Comparison in the [Amazon RDS Release + Notes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html). + type: string + engineVersion: + description: The engine version to use. If `autoMinorVersionUpgrade` + is enabled, you can provide a prefix of the version such as + 5.7 (for 5.7.10). The actual engine version used is returned + in the attribute `status.atProvider.engineVersionActual`. For + supported values, see the EngineVersion parameter in [API action + CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). + Note that for Amazon Aurora instances the engine version must + match the [DB Cluster](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/resources/rds.aws.upbound.io/Cluster/v1beta1)'s + engine version'. + type: string + engineVersionActual: + description: The running version of the database. + type: string + finalSnapshotIdentifier: + description: The name of your final DB snapshot when this DB instance + is deleted. Must be provided if skip_final_snapshot is set to + false. The value must begin with a letter, only contain alphanumeric + characters and hyphens, and not end with a hyphen or contain + two consecutive hyphens. Must not be provided when deleting + a read replica. + type: string + hostedZoneId: + description: The canonical hosted zone ID of the DB instance (to + be used in a Route 53 Alias record). + type: string + iamDatabaseAuthenticationEnabled: + description: Specifies whether mappings of AWS Identity and Access + Management (IAM) accounts to database accounts is enabled. + type: boolean + id: + description: The RDS instance ID. + type: string + instanceClass: + description: The instance type of the RDS instance. + type: string + iops: + description: The amount of provisioned IOPS. Setting this implies + a storage_type of "io1". Can only be set when storage_type is + "io1" or "gp3". Cannot be specified for gp3 storage if the allocated_storage + value is below a per-engine threshold. See the RDS User Guide + for details. + type: number + kmsKeyId: + description: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + type: string + latestRestorableTime: + description: The latest time, in UTC RFC3339 format, to which + a database can be restored with point-in-time restore. + type: string + licenseModel: + description: License model information for this DB instance. + type: string + listenerEndpoint: + description: Specifies the listener connection endpoint for SQL + Server Always On. See endpoint below. + items: + properties: + address: + description: The hostname of the RDS instance. See also + endpoint and port. + type: string + hostedZoneId: + description: The canonical hosted zone ID of the DB instance + (to be used in a Route 53 Alias record). + type: string + port: + description: The port on which the DB accepts connections. + type: number + type: object + type: array + maintenanceWindow: + description: 'The window to perform maintenance in. Syntax: "ddd:hh24:mi-ddd:hh24:mi". + Eg: "Mon:00:00-Mon:03:00". See RDS Maintenance Window docs for + more information.' + type: string + manageMasterUserPassword: + description: Set to true to allow RDS to manage the master user + password in Secrets Manager. Cannot be set if password is provided. + type: boolean + masterUserSecret: + description: A block that specifies the master user secret. Only + available when manage_master_user_password is set to true. Documented + below. + items: + properties: + kmsKeyId: + description: The Amazon Web Services KMS key identifier + that is used to encrypt the secret. + type: string + secretArn: + description: The Amazon Resource Name (ARN) of the secret. + type: string + secretStatus: + description: 'The status of the secret. Valid Values: creating + | active | rotating | impaired.' + type: string + type: object + type: array + masterUserSecretKmsKeyId: + description: The Amazon Web Services KMS key identifier is the + key ARN, key ID, alias ARN, or alias name for the KMS key. To + use a KMS key in a different Amazon Web Services account, specify + the key ARN or alias ARN. If not specified, the default KMS + key for your Amazon Web Services account is used. + type: string + maxAllocatedStorage: + description: When configured, the upper limit to which Amazon + RDS can automatically scale the storage of the DB instance. + Configuring this will automatically ignore differences to allocated_storage. + Must be greater than or equal to allocated_storage or 0 to disable + Storage Autoscaling. + type: number + monitoringInterval: + description: 'The interval, in seconds, between points when Enhanced + Monitoring metrics are collected for the DB instance. To disable + collecting Enhanced Monitoring metrics, specify 0. The default + is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.' + type: number + monitoringRoleArn: + description: The ARN for the IAM role that permits RDS to send + enhanced monitoring metrics to CloudWatch Logs. You can find + more information on the AWS Documentation what IAM permissions + are needed to allow Enhanced Monitoring for RDS Instances. + type: string + multiAz: + description: Specifies if the RDS instance is multi-AZ + type: boolean + name: + description: The name of the database to create when the DB instance + is created. If this parameter is not specified, no database + is created in the DB instance. Note that this does not apply + for Oracle or SQL Server engines. See the AWS documentation + for more details on what applies for those engines. If you are + providing an Oracle db name, it needs to be in all upper case. + Cannot be specified for a replica. + type: string + ncharCharacterSetName: + description: The national character set is used in the NCHAR, + NVARCHAR2, and NCLOB data types for Oracle instances. This can't + be changed. See Oracle Character Sets Supported in Amazon RDS. + type: string + networkType: + description: 'The network type of the DB instance. Valid values: + IPV4, DUAL.' + type: string + optionGroupName: + description: Name of the DB option group to associate. + type: string + parameterGroupName: + description: Name of the DB parameter group to associate. + type: string + performanceInsightsEnabled: + description: Specifies whether Performance Insights are enabled. + Defaults to false. + type: boolean + performanceInsightsKmsKeyId: + description: The ARN for the KMS key to encrypt Performance Insights + data. When specifying performance_insights_kms_key_id, performance_insights_enabled + needs to be set to true. Once KMS key is set, it can never be + changed. + type: string + performanceInsightsRetentionPeriod: + description: Amount of time in days to retain Performance Insights + data. Valid values are 7, 731 (2 years) or a multiple of 31. + When specifying performance_insights_retention_period, performance_insights_enabled + needs to be set to true. Defaults to '7'. + type: number + port: + description: The port on which the DB accepts connections. + type: number + publiclyAccessible: + description: Bool to control if instance is publicly accessible. + Default is false. + type: boolean + replicaMode: + description: Specifies whether the replica is in either mounted + or open-read-only mode. This attribute is only supported by + Oracle instances. Oracle replicas operate in open-read-only + mode unless otherwise specified. See Working with Oracle Read + Replicas for more information. + type: string + replicas: + items: + type: string + type: array + replicateSourceDb: + description: Specifies that this resource is a Replicate database, + and to use this value as the source database. This correlates + to the identifier of another Amazon RDS Database to replicate + (if replicating within a single region) or ARN of the Amazon + RDS Database to replicate (if replicating cross-region). Note + that if you are creating a cross-region replica of an encrypted + database you will also need to specify a kms_key_id. See DB + Instance Replication and Working with PostgreSQL and MySQL Read + Replicas for more information on using Replication. + type: string + resourceId: + description: The RDS Resource ID of this instance. + type: string + restoreToPointInTime: + description: A configuration block for restoring a DB instance + to an arbitrary point in time. Requires the identifier argument + to be set with the name of the new DB instance to be created. + See Restore To Point In Time below for details. + items: + properties: + restoreTime: + description: The date and time to restore from. Value must + be a time in Universal Coordinated Time (UTC) format and + must be before the latest restorable time for the DB instance. + Cannot be specified with use_latest_restorable_time. + type: string + sourceDbInstanceAutomatedBackupsArn: + description: The ARN of the automated backup from which + to restore. Required if source_db_instance_identifier + or source_dbi_resource_id is not specified. + type: string + sourceDbInstanceIdentifier: + description: The identifier of the source DB instance from + which to restore. Must match the identifier of an existing + DB instance. Required if source_db_instance_automated_backups_arn + or source_dbi_resource_id is not specified. + type: string + sourceDbiResourceId: + description: The resource ID of the source DB instance from + which to restore. Required if source_db_instance_identifier + or source_db_instance_automated_backups_arn is not specified. + type: string + useLatestRestorableTime: + description: A boolean value that indicates whether the + DB instance is restored from the latest backup time. Defaults + to false. Cannot be specified with restore_time. + type: boolean + type: object + type: array + s3Import: + description: Restore from a Percona Xtrabackup in S3. See Importing + Data into an Amazon RDS MySQL DB Instance + items: + properties: + bucketName: + description: The bucket name where your backup is stored + type: string + bucketPrefix: + description: Can be blank, but is the path to your backup + type: string + ingestionRole: + description: Role applied to load the data. + type: string + sourceEngine: + description: Source engine for the backup + type: string + sourceEngineVersion: + description: Version of the source engine used to make the + backup + type: string + type: object + type: array + securityGroupNames: + description: List of DB Security Groups to associate. Only used + for DB Instances on the . + items: + type: string + type: array + x-kubernetes-list-type: set + skipFinalSnapshot: + description: Determines whether a final DB snapshot is created + before the DB instance is deleted. If true is specified, no + DBSnapshot is created. If false is specified, a DB snapshot + is created before the DB instance is deleted, using the value + from final_snapshot_identifier. Default is false. + type: boolean + snapshotIdentifier: + description: 'Specifies whether or not to create this database + from a snapshot. This correlates to the snapshot ID you''d find + in the RDS console, e.g: rds:production-2015-06-26-06-05.' + type: string + status: + description: The RDS instance status. + type: string + storageEncrypted: + description: Specifies whether the DB instance is encrypted. Note + that if you are creating a cross-region read replica this field + is ignored and you should instead declare kms_key_id with a + valid ARN. The default is false if not specified. + type: boolean + storageThroughput: + description: The storage throughput value for the DB instance. + Can only be set when storage_type is "gp3". Cannot be specified + if the allocated_storage value is below a per-engine threshold. + See the RDS User Guide for details. + type: number + storageType: + description: One of "standard" (magnetic), "gp2" (general purpose + SSD), "gp3" (general purpose SSD that needs iops independently) + or "io1" (provisioned IOPS SSD). The default is "io1" if iops + is specified, "gp2" if not. + type: string + tags: + additionalProperties: + type: string + description: Key-value map of resource tags. + type: object + x-kubernetes-map-type: granular + tagsAll: + additionalProperties: + type: string + description: A map of tags assigned to the resource, including + those inherited from the provider default_tags configuration + block. + type: object + x-kubernetes-map-type: granular + timezone: + description: Time zone of the DB instance. timezone is currently + only supported by Microsoft SQL Server. The timezone can only + be set on creation. See MSSQL User Guide for more information. + type: string + username: + description: Username for the master DB user. Cannot be specified + for a replica. + type: string + vpcSecurityGroupIds: + description: List of VPC security groups to associate. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + conditions: + description: Conditions of the resource. + items: + description: A Condition that may apply to a resource. + properties: + lastTransitionTime: + description: LastTransitionTime is the last time this condition + transitioned from one status to another. + format: date-time + type: string + message: + description: A Message containing details about this condition's + last transition from one status to another, if any. + type: string + reason: + description: A Reason for this condition's last transition from + one status to another. + type: string + status: + description: Status of this condition; is it currently True, + False, or Unknown? + type: string + type: + description: Type of this condition. At most one of each condition + type may apply to a resource at any point in time. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object + required: + - spec + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: READY + type: string + - jsonPath: .status.conditions[?(@.type=='Synced')].status + name: SYNCED + type: string + - jsonPath: .metadata.annotations.crossplane\.io/external-name + name: EXTERNAL-NAME + type: string + - jsonPath: .metadata.creationTimestamp + name: AGE + type: date + name: v1beta2 schema: openAPIV3Schema: description: Instance is the Schema for the Instances API. Provides an RDS @@ -167,7 +2592,7 @@ spec: for additional read replica constraints. type: string dbSubnetGroupNameRef: - description: Reference to a SubnetGroup to populate dbSubnetGroupName. + description: Reference to a SubnetGroup in rds to populate dbSubnetGroupName. properties: name: description: Name of the referenced object. @@ -201,7 +2626,7 @@ spec: - name type: object dbSubnetGroupNameSelector: - description: Selector for a SubnetGroup to populate dbSubnetGroupName. + description: Selector for a SubnetGroup in rds to populate dbSubnetGroupName. properties: matchControllerRef: description: MatchControllerRef ensures an object with the @@ -1105,7 +3530,7 @@ spec: for additional read replica constraints. type: string dbSubnetGroupNameRef: - description: Reference to a SubnetGroup to populate dbSubnetGroupName. + description: Reference to a SubnetGroup in rds to populate dbSubnetGroupName. properties: name: description: Name of the referenced object. @@ -1139,7 +3564,7 @@ spec: - name type: object dbSubnetGroupNameSelector: - description: Selector for a SubnetGroup to populate dbSubnetGroupName. + description: Selector for a SubnetGroup in rds to populate dbSubnetGroupName. properties: matchControllerRef: description: MatchControllerRef ensures an object with the