diff --git a/apis/pipes/v1beta1/zz_generated.deepcopy.go b/apis/pipes/v1beta1/zz_generated.deepcopy.go index ecf6cbb3a0..c9a91a96f5 100644 --- a/apis/pipes/v1beta1/zz_generated.deepcopy.go +++ b/apis/pipes/v1beta1/zz_generated.deepcopy.go @@ -583,6 +583,66 @@ func (in *CapacityProviderStrategyParameters) DeepCopy() *CapacityProviderStrate return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsLogDestinationInitParameters) DeepCopyInto(out *CloudwatchLogsLogDestinationInitParameters) { + *out = *in + if in.LogGroupArn != nil { + in, out := &in.LogGroupArn, &out.LogGroupArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsLogDestinationInitParameters. +func (in *CloudwatchLogsLogDestinationInitParameters) DeepCopy() *CloudwatchLogsLogDestinationInitParameters { + if in == nil { + return nil + } + out := new(CloudwatchLogsLogDestinationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsLogDestinationObservation) DeepCopyInto(out *CloudwatchLogsLogDestinationObservation) { + *out = *in + if in.LogGroupArn != nil { + in, out := &in.LogGroupArn, &out.LogGroupArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsLogDestinationObservation. +func (in *CloudwatchLogsLogDestinationObservation) DeepCopy() *CloudwatchLogsLogDestinationObservation { + if in == nil { + return nil + } + out := new(CloudwatchLogsLogDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CloudwatchLogsLogDestinationParameters) DeepCopyInto(out *CloudwatchLogsLogDestinationParameters) { + *out = *in + if in.LogGroupArn != nil { + in, out := &in.LogGroupArn, &out.LogGroupArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudwatchLogsLogDestinationParameters. +func (in *CloudwatchLogsLogDestinationParameters) DeepCopy() *CloudwatchLogsLogDestinationParameters { + if in == nil { + return nil + } + out := new(CloudwatchLogsLogDestinationParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CloudwatchLogsParametersInitParameters) DeepCopyInto(out *CloudwatchLogsParametersInitParameters) { *out = *in @@ -2374,6 +2434,66 @@ func (in *FilterParameters) DeepCopy() *FilterParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseLogDestinationInitParameters) DeepCopyInto(out *FirehoseLogDestinationInitParameters) { + *out = *in + if in.DeliveryStreamArn != nil { + in, out := &in.DeliveryStreamArn, &out.DeliveryStreamArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseLogDestinationInitParameters. +func (in *FirehoseLogDestinationInitParameters) DeepCopy() *FirehoseLogDestinationInitParameters { + if in == nil { + return nil + } + out := new(FirehoseLogDestinationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseLogDestinationObservation) DeepCopyInto(out *FirehoseLogDestinationObservation) { + *out = *in + if in.DeliveryStreamArn != nil { + in, out := &in.DeliveryStreamArn, &out.DeliveryStreamArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseLogDestinationObservation. +func (in *FirehoseLogDestinationObservation) DeepCopy() *FirehoseLogDestinationObservation { + if in == nil { + return nil + } + out := new(FirehoseLogDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirehoseLogDestinationParameters) DeepCopyInto(out *FirehoseLogDestinationParameters) { + *out = *in + if in.DeliveryStreamArn != nil { + in, out := &in.DeliveryStreamArn, &out.DeliveryStreamArn + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirehoseLogDestinationParameters. +func (in *FirehoseLogDestinationParameters) DeepCopy() *FirehoseLogDestinationParameters { + if in == nil { + return nil + } + out := new(FirehoseLogDestinationParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HTTPParametersInitParameters) DeepCopyInto(out *HTTPParametersInitParameters) { *out = *in @@ -2923,6 +3043,111 @@ func (in *LambdaFunctionParametersParameters) DeepCopy() *LambdaFunctionParamete return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigurationInitParameters) DeepCopyInto(out *LogConfigurationInitParameters) { + *out = *in + if in.CloudwatchLogsLogDestination != nil { + in, out := &in.CloudwatchLogsLogDestination, &out.CloudwatchLogsLogDestination + *out = new(CloudwatchLogsLogDestinationInitParameters) + (*in).DeepCopyInto(*out) + } + if in.FirehoseLogDestination != nil { + in, out := &in.FirehoseLogDestination, &out.FirehoseLogDestination + *out = new(FirehoseLogDestinationInitParameters) + (*in).DeepCopyInto(*out) + } + if in.Level != nil { + in, out := &in.Level, &out.Level + *out = new(string) + **out = **in + } + if in.S3LogDestination != nil { + in, out := &in.S3LogDestination, &out.S3LogDestination + *out = new(S3LogDestinationInitParameters) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigurationInitParameters. +func (in *LogConfigurationInitParameters) DeepCopy() *LogConfigurationInitParameters { + if in == nil { + return nil + } + out := new(LogConfigurationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigurationObservation) DeepCopyInto(out *LogConfigurationObservation) { + *out = *in + if in.CloudwatchLogsLogDestination != nil { + in, out := &in.CloudwatchLogsLogDestination, &out.CloudwatchLogsLogDestination + *out = new(CloudwatchLogsLogDestinationObservation) + (*in).DeepCopyInto(*out) + } + if in.FirehoseLogDestination != nil { + in, out := &in.FirehoseLogDestination, &out.FirehoseLogDestination + *out = new(FirehoseLogDestinationObservation) + (*in).DeepCopyInto(*out) + } + if in.Level != nil { + in, out := &in.Level, &out.Level + *out = new(string) + **out = **in + } + if in.S3LogDestination != nil { + in, out := &in.S3LogDestination, &out.S3LogDestination + *out = new(S3LogDestinationObservation) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigurationObservation. +func (in *LogConfigurationObservation) DeepCopy() *LogConfigurationObservation { + if in == nil { + return nil + } + out := new(LogConfigurationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LogConfigurationParameters) DeepCopyInto(out *LogConfigurationParameters) { + *out = *in + if in.CloudwatchLogsLogDestination != nil { + in, out := &in.CloudwatchLogsLogDestination, &out.CloudwatchLogsLogDestination + *out = new(CloudwatchLogsLogDestinationParameters) + (*in).DeepCopyInto(*out) + } + if in.FirehoseLogDestination != nil { + in, out := &in.FirehoseLogDestination, &out.FirehoseLogDestination + *out = new(FirehoseLogDestinationParameters) + (*in).DeepCopyInto(*out) + } + if in.Level != nil { + in, out := &in.Level, &out.Level + *out = new(string) + **out = **in + } + if in.S3LogDestination != nil { + in, out := &in.S3LogDestination, &out.S3LogDestination + *out = new(S3LogDestinationParameters) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfigurationParameters. +func (in *LogConfigurationParameters) DeepCopy() *LogConfigurationParameters { + if in == nil { + return nil + } + out := new(LogConfigurationParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ManagedStreamingKafkaParametersCredentialsInitParameters) DeepCopyInto(out *ManagedStreamingKafkaParametersCredentialsInitParameters) { *out = *in @@ -3415,6 +3640,11 @@ func (in *PipeInitParameters) DeepCopyInto(out *PipeInitParameters) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.LogConfiguration != nil { + in, out := &in.LogConfiguration, &out.LogConfiguration + *out = new(LogConfigurationInitParameters) + (*in).DeepCopyInto(*out) + } if in.RoleArn != nil { in, out := &in.RoleArn, &out.RoleArn *out = new(string) @@ -3563,6 +3793,11 @@ func (in *PipeObservation) DeepCopyInto(out *PipeObservation) { *out = new(string) **out = **in } + if in.LogConfiguration != nil { + in, out := &in.LogConfiguration, &out.LogConfiguration + *out = new(LogConfigurationObservation) + (*in).DeepCopyInto(*out) + } if in.RoleArn != nil { in, out := &in.RoleArn, &out.RoleArn *out = new(string) @@ -3665,6 +3900,11 @@ func (in *PipeParameters) DeepCopyInto(out *PipeParameters) { *out = new(v1.Selector) (*in).DeepCopyInto(*out) } + if in.LogConfiguration != nil { + in, out := &in.LogConfiguration, &out.LogConfiguration + *out = new(LogConfigurationParameters) + (*in).DeepCopyInto(*out) + } if in.Region != nil { in, out := &in.Region, &out.Region *out = new(string) @@ -4481,6 +4721,111 @@ func (in *RetryStrategyParameters) DeepCopy() *RetryStrategyParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3LogDestinationInitParameters) DeepCopyInto(out *S3LogDestinationInitParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketOwner != nil { + in, out := &in.BucketOwner, &out.BucketOwner + *out = new(string) + **out = **in + } + if in.OutputFormat != nil { + in, out := &in.OutputFormat, &out.OutputFormat + *out = new(string) + **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 S3LogDestinationInitParameters. +func (in *S3LogDestinationInitParameters) DeepCopy() *S3LogDestinationInitParameters { + if in == nil { + return nil + } + out := new(S3LogDestinationInitParameters) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3LogDestinationObservation) DeepCopyInto(out *S3LogDestinationObservation) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketOwner != nil { + in, out := &in.BucketOwner, &out.BucketOwner + *out = new(string) + **out = **in + } + if in.OutputFormat != nil { + in, out := &in.OutputFormat, &out.OutputFormat + *out = new(string) + **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 S3LogDestinationObservation. +func (in *S3LogDestinationObservation) DeepCopy() *S3LogDestinationObservation { + if in == nil { + return nil + } + out := new(S3LogDestinationObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *S3LogDestinationParameters) DeepCopyInto(out *S3LogDestinationParameters) { + *out = *in + if in.BucketName != nil { + in, out := &in.BucketName, &out.BucketName + *out = new(string) + **out = **in + } + if in.BucketOwner != nil { + in, out := &in.BucketOwner, &out.BucketOwner + *out = new(string) + **out = **in + } + if in.OutputFormat != nil { + in, out := &in.OutputFormat, &out.OutputFormat + *out = new(string) + **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 S3LogDestinationParameters. +func (in *S3LogDestinationParameters) DeepCopy() *S3LogDestinationParameters { + if in == nil { + return nil + } + out := new(S3LogDestinationParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SagemakerPipelineParametersInitParameters) DeepCopyInto(out *SagemakerPipelineParametersInitParameters) { *out = *in diff --git a/apis/pipes/v1beta1/zz_pipe_types.go b/apis/pipes/v1beta1/zz_pipe_types.go index 6b3370315a..a9bd5c709e 100755 --- a/apis/pipes/v1beta1/zz_pipe_types.go +++ b/apis/pipes/v1beta1/zz_pipe_types.go @@ -247,6 +247,25 @@ type CapacityProviderStrategyParameters struct { Weight *float64 `json:"weight,omitempty" tf:"weight,omitempty"` } +type CloudwatchLogsLogDestinationInitParameters struct { + + // Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records. + LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"` +} + +type CloudwatchLogsLogDestinationObservation struct { + + // Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records. + LogGroupArn *string `json:"logGroupArn,omitempty" tf:"log_group_arn,omitempty"` +} + +type CloudwatchLogsLogDestinationParameters struct { + + // Amazon Web Services Resource Name (ARN) for the CloudWatch log group to which EventBridge sends the log records. + // +kubebuilder:validation:Optional + LogGroupArn *string `json:"logGroupArn" tf:"log_group_arn,omitempty"` +} + type CloudwatchLogsParametersInitParameters struct { // The name of the log stream. @@ -996,6 +1015,25 @@ type FilterParameters struct { Pattern *string `json:"pattern" tf:"pattern,omitempty"` } +type FirehoseLogDestinationInitParameters struct { + + // Amazon Resource Name (ARN) of the Kinesis Data Firehose delivery stream to which EventBridge delivers the pipe log records. + DeliveryStreamArn *string `json:"deliveryStreamArn,omitempty" tf:"delivery_stream_arn,omitempty"` +} + +type FirehoseLogDestinationObservation struct { + + // Amazon Resource Name (ARN) of the Kinesis Data Firehose delivery stream to which EventBridge delivers the pipe log records. + DeliveryStreamArn *string `json:"deliveryStreamArn,omitempty" tf:"delivery_stream_arn,omitempty"` +} + +type FirehoseLogDestinationParameters struct { + + // Amazon Resource Name (ARN) of the Kinesis Data Firehose delivery stream to which EventBridge delivers the pipe log records. + // +kubebuilder:validation:Optional + DeliveryStreamArn *string `json:"deliveryStreamArn" tf:"delivery_stream_arn,omitempty"` +} + type HTTPParametersInitParameters struct { // Key-value mapping of the headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination. @@ -1207,6 +1245,55 @@ type LambdaFunctionParametersParameters struct { InvocationType *string `json:"invocationType" tf:"invocation_type,omitempty"` } +type LogConfigurationInitParameters struct { + + // Amazon CloudWatch Logs logging configuration settings for the pipe. Detailed below. + CloudwatchLogsLogDestination *CloudwatchLogsLogDestinationInitParameters `json:"cloudwatchLogsLogDestination,omitempty" tf:"cloudwatch_logs_log_destination,omitempty"` + + // Amazon Kinesis Data Firehose logging configuration settings for the pipe. Detailed below. + FirehoseLogDestination *FirehoseLogDestinationInitParameters `json:"firehoseLogDestination,omitempty" tf:"firehose_log_destination,omitempty"` + + // The level of logging detail to include. Valid values OFF, ERROR, INFO and TRACE. + Level *string `json:"level,omitempty" tf:"level,omitempty"` + + // Amazon S3 logging configuration settings for the pipe. Detailed below. + S3LogDestination *S3LogDestinationInitParameters `json:"s3LogDestination,omitempty" tf:"s3_log_destination,omitempty"` +} + +type LogConfigurationObservation struct { + + // Amazon CloudWatch Logs logging configuration settings for the pipe. Detailed below. + CloudwatchLogsLogDestination *CloudwatchLogsLogDestinationObservation `json:"cloudwatchLogsLogDestination,omitempty" tf:"cloudwatch_logs_log_destination,omitempty"` + + // Amazon Kinesis Data Firehose logging configuration settings for the pipe. Detailed below. + FirehoseLogDestination *FirehoseLogDestinationObservation `json:"firehoseLogDestination,omitempty" tf:"firehose_log_destination,omitempty"` + + // The level of logging detail to include. Valid values OFF, ERROR, INFO and TRACE. + Level *string `json:"level,omitempty" tf:"level,omitempty"` + + // Amazon S3 logging configuration settings for the pipe. Detailed below. + S3LogDestination *S3LogDestinationObservation `json:"s3LogDestination,omitempty" tf:"s3_log_destination,omitempty"` +} + +type LogConfigurationParameters struct { + + // Amazon CloudWatch Logs logging configuration settings for the pipe. Detailed below. + // +kubebuilder:validation:Optional + CloudwatchLogsLogDestination *CloudwatchLogsLogDestinationParameters `json:"cloudwatchLogsLogDestination,omitempty" tf:"cloudwatch_logs_log_destination,omitempty"` + + // Amazon Kinesis Data Firehose logging configuration settings for the pipe. Detailed below. + // +kubebuilder:validation:Optional + FirehoseLogDestination *FirehoseLogDestinationParameters `json:"firehoseLogDestination,omitempty" tf:"firehose_log_destination,omitempty"` + + // The level of logging detail to include. Valid values OFF, ERROR, INFO and TRACE. + // +kubebuilder:validation:Optional + Level *string `json:"level" tf:"level,omitempty"` + + // Amazon S3 logging configuration settings for the pipe. Detailed below. + // +kubebuilder:validation:Optional + S3LogDestination *S3LogDestinationParameters `json:"s3LogDestination,omitempty" tf:"s3_log_destination,omitempty"` +} + type ManagedStreamingKafkaParametersCredentialsInitParameters struct { // The ARN of the Secrets Manager secret containing the credentials. @@ -1427,6 +1514,9 @@ type PipeInitParameters struct { // +kubebuilder:validation:Optional EnrichmentSelector *v1.Selector `json:"enrichmentSelector,omitempty" tf:"-"` + // Logging configuration settings for the pipe. Detailed below. + LogConfiguration *LogConfigurationInitParameters `json:"logConfiguration,omitempty" tf:"log_configuration,omitempty"` + // ARN of the role that allows the pipe to send data to the target. // +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() @@ -1497,6 +1587,9 @@ type PipeObservation struct { // Same as name. ID *string `json:"id,omitempty" tf:"id,omitempty"` + // Logging configuration settings for the pipe. Detailed below. + LogConfiguration *LogConfigurationObservation `json:"logConfiguration,omitempty" tf:"log_configuration,omitempty"` + // ARN of the role that allows the pipe to send data to the target. RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"` @@ -1549,6 +1642,10 @@ type PipeParameters struct { // +kubebuilder:validation:Optional EnrichmentSelector *v1.Selector `json:"enrichmentSelector,omitempty" tf:"-"` + // Logging configuration settings for the pipe. Detailed below. + // +kubebuilder:validation:Optional + LogConfiguration *LogConfigurationParameters `json:"logConfiguration,omitempty" tf:"log_configuration,omitempty"` + // Region is the region you'd like your resource to be created in. // +upjet:crd:field:TFTag=- // +kubebuilder:validation:Required @@ -1895,6 +1992,55 @@ type RetryStrategyParameters struct { Attempts *float64 `json:"attempts,omitempty" tf:"attempts,omitempty"` } +type S3LogDestinationInitParameters struct { + + // Name of the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Amazon Web Services account that owns the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + BucketOwner *string `json:"bucketOwner,omitempty" tf:"bucket_owner,omitempty"` + + // EventBridge format for the log records. Valid values json, plain and w3c. + OutputFormat *string `json:"outputFormat,omitempty" tf:"output_format,omitempty"` + + // Prefix text with which to begin Amazon S3 log object names. + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + +type S3LogDestinationObservation struct { + + // Name of the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"` + + // Amazon Web Services account that owns the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + BucketOwner *string `json:"bucketOwner,omitempty" tf:"bucket_owner,omitempty"` + + // EventBridge format for the log records. Valid values json, plain and w3c. + OutputFormat *string `json:"outputFormat,omitempty" tf:"output_format,omitempty"` + + // Prefix text with which to begin Amazon S3 log object names. + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + +type S3LogDestinationParameters struct { + + // Name of the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + // +kubebuilder:validation:Optional + BucketName *string `json:"bucketName" tf:"bucket_name,omitempty"` + + // Amazon Web Services account that owns the Amazon S3 bucket to which EventBridge delivers the log records for the pipe. + // +kubebuilder:validation:Optional + BucketOwner *string `json:"bucketOwner" tf:"bucket_owner,omitempty"` + + // EventBridge format for the log records. Valid values json, plain and w3c. + // +kubebuilder:validation:Optional + OutputFormat *string `json:"outputFormat,omitempty" tf:"output_format,omitempty"` + + // Prefix text with which to begin Amazon S3 log object names. + // +kubebuilder:validation:Optional + Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"` +} + type SagemakerPipelineParametersInitParameters struct { // List of Parameter names and values for SageMaker Model Building Pipeline execution. Detailed below. @@ -1948,7 +2094,7 @@ type SelfManagedKafkaParametersCredentialsParameters struct { // The ARN of the Secrets Manager secret containing the credentials. // +kubebuilder:validation:Optional - BasicAuth *string `json:"basicAuth" tf:"basic_auth,omitempty"` + BasicAuth *string `json:"basicAuth,omitempty" tf:"basic_auth,omitempty"` // The ARN of the Secrets Manager secret containing the credentials. // +kubebuilder:validation:Optional diff --git a/config/field-rename.yaml b/config/field-rename.yaml index 6924efb98b..3119d40dec 100644 --- a/config/field-rename.yaml +++ b/config/field-rename.yaml @@ -30,3 +30,15 @@ aws_route: spec.forProvider.instanceId: spec.forProvider.networkInterfaceId spec.initProvider.instanceId: spec.initProvider.networkInterfaceId + +- sourceVersion: "v1beta1" + targetVersion: "v1beta3" + data: + 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 diff --git a/config/registry.go b/config/registry.go index edfb888f56..ea0f176ea9 100644 --- a/config/registry.go +++ b/config/registry.go @@ -21,6 +21,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-provider-aws/xpprovider" "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/util/sets" "github.com/upbound/provider-aws/hack" ) @@ -206,11 +207,21 @@ func bumpVersionsWithEmbeddedLists(pc *config.Provider) error { } func configureSingletonListAPIConverters(r *config.Resource) error { - bumped, err := bumpAPIVersion(r.Version) - if err != nil { - return errors.Wrapf(err, errFmtCannotBumpSingletonList, r.Name) + bumped := r.Version + currentVer := "v1beta2" + // Field renamings for these three resources already bump their versions. + // Please see config.injectFieldRenamingConversionFunctions(). + // We do not bump their versions again here. + if !sets.New("aws_connect_hours_of_operation", "aws_connect_queue", "aws_db_instance").Has(r.Name) { + var err error + bumped, err = bumpAPIVersion(r.Version) + if err != nil { + return errors.Wrapf(err, errFmtCannotBumpSingletonList, r.Name) + } + currentVer = r.Version } + r.Version = bumped if r.PreviousVersions == nil { prev, err := getPreviousVersions(bumped) if err != nil { @@ -218,18 +229,23 @@ func configureSingletonListAPIConverters(r *config.Resource) error { } r.PreviousVersions = prev } - currentVer := r.Version - r.Version = bumped // we would like to set the storage version to v1beta1 to facilitate // downgrades. r.SetCRDStorageVersion(currentVer) // because the controller reconciles on the API version with the singleton list API, // no need for a Terraform conversion. r.ControllerReconcileVersion = currentVer - r.Conversions = []conversion.Conversion{ + + // assumes the first element is the identity conversion from + // the default resource and removes it because we will register another + // identity converter below. + r.Conversions = r.Conversions[1:] + r.Conversions = append([]conversion.Conversion{ conversion.NewIdentityConversionExpandPaths(conversion.AllVersions, conversion.AllVersions, conversion.DefaultPathPrefixes(), r.CRDListConversionPaths()...), conversion.NewSingletonListConversion(conversion.AllVersions, bumped, conversion.DefaultPathPrefixes(), r.CRDListConversionPaths(), conversion.ToEmbeddedObject), - conversion.NewSingletonListConversion(bumped, conversion.AllVersions, conversion.DefaultPathPrefixes(), r.CRDListConversionPaths(), conversion.ToSingletonList)} + conversion.NewSingletonListConversion(bumped, conversion.AllVersions, conversion.DefaultPathPrefixes(), r.CRDListConversionPaths(), conversion.ToSingletonList), + }, r.Conversions...) + return nil } diff --git a/package/crds/pipes.aws.upbound.io_pipes.yaml b/package/crds/pipes.aws.upbound.io_pipes.yaml index 594d515600..17f1f35663 100644 --- a/package/crds/pipes.aws.upbound.io_pipes.yaml +++ b/package/crds/pipes.aws.upbound.io_pipes.yaml @@ -204,6 +204,57 @@ spec: type: string type: object type: object + logConfiguration: + description: Logging configuration settings for the pipe. Detailed + below. + properties: + cloudwatchLogsLogDestination: + description: Amazon CloudWatch Logs logging configuration + settings for the pipe. Detailed below. + properties: + logGroupArn: + description: Amazon Web Services Resource Name (ARN) for + the CloudWatch log group to which EventBridge sends + the log records. + type: string + type: object + firehoseLogDestination: + description: Amazon Kinesis Data Firehose logging configuration + settings for the pipe. Detailed below. + properties: + deliveryStreamArn: + description: Amazon Resource Name (ARN) of the Kinesis + Data Firehose delivery stream to which EventBridge delivers + the pipe log records. + type: string + type: object + level: + description: The level of logging detail to include. Valid + values OFF, ERROR, INFO and TRACE. + type: string + s3LogDestination: + description: Amazon S3 logging configuration settings for + the pipe. Detailed below. + properties: + bucketName: + description: Name of the Amazon S3 bucket to which EventBridge + delivers the log records for the pipe. + type: string + bucketOwner: + description: Amazon Web Services account that owns the + Amazon S3 bucket to which EventBridge delivers the log + records for the pipe. + type: string + outputFormat: + description: EventBridge format for the log records. Valid + values json, plain and w3c. + type: string + prefix: + description: Prefix text with which to begin Amazon S3 + log object names. + type: string + type: object + type: object region: description: Region is the region you'd like your resource to be created in. @@ -1594,6 +1645,57 @@ spec: type: string type: object type: object + logConfiguration: + description: Logging configuration settings for the pipe. Detailed + below. + properties: + cloudwatchLogsLogDestination: + description: Amazon CloudWatch Logs logging configuration + settings for the pipe. Detailed below. + properties: + logGroupArn: + description: Amazon Web Services Resource Name (ARN) for + the CloudWatch log group to which EventBridge sends + the log records. + type: string + type: object + firehoseLogDestination: + description: Amazon Kinesis Data Firehose logging configuration + settings for the pipe. Detailed below. + properties: + deliveryStreamArn: + description: Amazon Resource Name (ARN) of the Kinesis + Data Firehose delivery stream to which EventBridge delivers + the pipe log records. + type: string + type: object + level: + description: The level of logging detail to include. Valid + values OFF, ERROR, INFO and TRACE. + type: string + s3LogDestination: + description: Amazon S3 logging configuration settings for + the pipe. Detailed below. + properties: + bucketName: + description: Name of the Amazon S3 bucket to which EventBridge + delivers the log records for the pipe. + type: string + bucketOwner: + description: Amazon Web Services account that owns the + Amazon S3 bucket to which EventBridge delivers the log + records for the pipe. + type: string + outputFormat: + description: EventBridge format for the log records. Valid + values json, plain and w3c. + type: string + prefix: + description: Prefix text with which to begin Amazon S3 + log object names. + type: string + type: object + type: object roleArn: description: ARN of the role that allows the pipe to send data to the target. @@ -3067,6 +3169,57 @@ spec: id: description: Same as name. type: string + logConfiguration: + description: Logging configuration settings for the pipe. Detailed + below. + properties: + cloudwatchLogsLogDestination: + description: Amazon CloudWatch Logs logging configuration + settings for the pipe. Detailed below. + properties: + logGroupArn: + description: Amazon Web Services Resource Name (ARN) for + the CloudWatch log group to which EventBridge sends + the log records. + type: string + type: object + firehoseLogDestination: + description: Amazon Kinesis Data Firehose logging configuration + settings for the pipe. Detailed below. + properties: + deliveryStreamArn: + description: Amazon Resource Name (ARN) of the Kinesis + Data Firehose delivery stream to which EventBridge delivers + the pipe log records. + type: string + type: object + level: + description: The level of logging detail to include. Valid + values OFF, ERROR, INFO and TRACE. + type: string + s3LogDestination: + description: Amazon S3 logging configuration settings for + the pipe. Detailed below. + properties: + bucketName: + description: Name of the Amazon S3 bucket to which EventBridge + delivers the log records for the pipe. + type: string + bucketOwner: + description: Amazon Web Services account that owns the + Amazon S3 bucket to which EventBridge delivers the log + records for the pipe. + type: string + outputFormat: + description: EventBridge format for the log records. Valid + values json, plain and w3c. + type: string + prefix: + description: Prefix text with which to begin Amazon S3 + log object names. + type: string + type: object + type: object roleArn: description: ARN of the role that allows the pipe to send data to the target.