package awskinesisfirehose // The `RedshiftDestinationConfiguration` property type specifies an Amazon Redshift cluster to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // redshiftDestinationConfigurationProperty := &RedshiftDestinationConfigurationProperty{ // ClusterJdbcurl: jsii.String("clusterJdbcurl"), // CopyCommand: &CopyCommandProperty{ // DataTableName: jsii.String("dataTableName"), // // // the properties below are optional // CopyOptions: jsii.String("copyOptions"), // DataTableColumns: jsii.String("dataTableColumns"), // }, // Password: jsii.String("password"), // RoleArn: jsii.String("roleArn"), // S3Configuration: &S3DestinationConfigurationProperty{ // BucketArn: jsii.String("bucketArn"), // RoleArn: jsii.String("roleArn"), // // // the properties below are optional // BufferingHints: &BufferingHintsProperty{ // IntervalInSeconds: jsii.Number(123), // SizeInMBs: jsii.Number(123), // }, // CloudWatchLoggingOptions: &CloudWatchLoggingOptionsProperty{ // Enabled: jsii.Boolean(false), // LogGroupName: jsii.String("logGroupName"), // LogStreamName: jsii.String("logStreamName"), // }, // CompressionFormat: jsii.String("compressionFormat"), // EncryptionConfiguration: &EncryptionConfigurationProperty{ // KmsEncryptionConfig: &KMSEncryptionConfigProperty{ // AwskmsKeyArn: jsii.String("awskmsKeyArn"), // }, // NoEncryptionConfig: jsii.String("noEncryptionConfig"), // }, // ErrorOutputPrefix: jsii.String("errorOutputPrefix"), // Prefix: jsii.String("prefix"), // }, // Username: jsii.String("username"), // // // the properties below are optional // CloudWatchLoggingOptions: &CloudWatchLoggingOptionsProperty{ // Enabled: jsii.Boolean(false), // LogGroupName: jsii.String("logGroupName"), // LogStreamName: jsii.String("logStreamName"), // }, // ProcessingConfiguration: &ProcessingConfigurationProperty{ // Enabled: jsii.Boolean(false), // Processors: []interface{}{ // &ProcessorProperty{ // Type: jsii.String("type"), // // // the properties below are optional // Parameters: []interface{}{ // &ProcessorParameterProperty{ // ParameterName: jsii.String("parameterName"), // ParameterValue: jsii.String("parameterValue"), // }, // }, // }, // }, // }, // RetryOptions: &RedshiftRetryOptionsProperty{ // DurationInSeconds: jsii.Number(123), // }, // S3BackupConfiguration: &S3DestinationConfigurationProperty{ // BucketArn: jsii.String("bucketArn"), // RoleArn: jsii.String("roleArn"), // // // the properties below are optional // BufferingHints: &BufferingHintsProperty{ // IntervalInSeconds: jsii.Number(123), // SizeInMBs: jsii.Number(123), // }, // CloudWatchLoggingOptions: &CloudWatchLoggingOptionsProperty{ // Enabled: jsii.Boolean(false), // LogGroupName: jsii.String("logGroupName"), // LogStreamName: jsii.String("logStreamName"), // }, // CompressionFormat: jsii.String("compressionFormat"), // EncryptionConfiguration: &EncryptionConfigurationProperty{ // KmsEncryptionConfig: &KMSEncryptionConfigProperty{ // AwskmsKeyArn: jsii.String("awskmsKeyArn"), // }, // NoEncryptionConfig: jsii.String("noEncryptionConfig"), // }, // ErrorOutputPrefix: jsii.String("errorOutputPrefix"), // Prefix: jsii.String("prefix"), // }, // S3BackupMode: jsii.String("s3BackupMode"), // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html // type CfnDeliveryStream_RedshiftDestinationConfigurationProperty struct { // The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-clusterjdbcurl // ClusterJdbcurl *string `field:"required" json:"clusterJdbcurl" yaml:"clusterJdbcurl"` // Configures the Amazon Redshift `COPY` command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-copycommand // CopyCommand interface{} `field:"required" json:"copyCommand" yaml:"copyCommand"` // The password for the Amazon Redshift user that you specified in the `Username` property. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-password // Password *string `field:"required" json:"password" yaml:"password"` // The ARN of the AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption). // // For more information, see [Grant Kinesis Data Firehose Access to an Amazon Redshift Destination](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-rs) in the *Amazon Kinesis Data Firehose Developer Guide* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-rolearn // RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"` // The S3 bucket where Kinesis Data Firehose first delivers data. // // After the data is in the bucket, Kinesis Data Firehose uses the `COPY` command to load the data into the Amazon Redshift cluster. For the Amazon S3 bucket's compression format, don't specify `SNAPPY` or `ZIP` because the Amazon Redshift `COPY` command doesn't support them. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3configuration // S3Configuration interface{} `field:"required" json:"s3Configuration" yaml:"s3Configuration"` // The Amazon Redshift user that has permission to access the Amazon Redshift cluster. // // This user must have `INSERT` privileges for copying data from the Amazon S3 bucket to the cluster. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-username // Username *string `field:"required" json:"username" yaml:"username"` // The CloudWatch logging options for your delivery stream. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-cloudwatchloggingoptions // CloudWatchLoggingOptions interface{} `field:"optional" json:"cloudWatchLoggingOptions" yaml:"cloudWatchLoggingOptions"` // The data processing configuration for the Kinesis Data Firehose delivery stream. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-processingconfiguration // ProcessingConfiguration interface{} `field:"optional" json:"processingConfiguration" yaml:"processingConfiguration"` // The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. // // Default value is 3600 (60 minutes). // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-retryoptions // RetryOptions interface{} `field:"optional" json:"retryOptions" yaml:"retryOptions"` // The configuration for backup in Amazon S3. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupconfiguration // S3BackupConfiguration interface{} `field:"optional" json:"s3BackupConfiguration" yaml:"s3BackupConfiguration"` // The Amazon S3 backup mode. // // After you create a delivery stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the delivery stream to disable it. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3backupmode // S3BackupMode *string `field:"optional" json:"s3BackupMode" yaml:"s3BackupMode"` }