Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::RedshiftDestinationConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
kinesis_firehose/cfn_delivery_stream.rb

Overview

The RedshiftDestinationConfiguration property type specifies an Amazon Redshift cluster to which Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cluster_jdbcurl:, copy_command:, role_arn:, s3_configuration:, cloud_watch_logging_options: nil, password: nil, processing_configuration: nil, retry_options: nil, s3_backup_configuration: nil, s3_backup_mode: nil, secrets_manager_configuration: nil, username: nil) ⇒ RedshiftDestinationConfigurationProperty

Returns a new instance of RedshiftDestinationConfigurationProperty.

Parameters:



3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3934

def initialize(cluster_jdbcurl:, copy_command:, role_arn:, s3_configuration:, cloud_watch_logging_options: nil, password: nil, processing_configuration: nil, retry_options: nil, s3_backup_configuration: nil, s3_backup_mode: nil, secrets_manager_configuration: nil, username: nil)
  @cluster_jdbcurl = cluster_jdbcurl
  Jsii::Type.check_type(@cluster_jdbcurl, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterJdbcurl")
  @copy_command = copy_command.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::CopyCommandProperty.new(**copy_command.transform_keys(&:to_sym)) : copy_command
  Jsii::Type.check_type(@copy_command, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uQ29weUNvbW1hbmRQcm9wZXJ0eSJ9XX19")), "copyCommand")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @s3_configuration = s3_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty.new(**s3_configuration.transform_keys(&:to_sym)) : s3_configuration
  Jsii::Type.check_type(@s3_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUzNEZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "s3Configuration")
  @cloud_watch_logging_options = cloud_watch_logging_options.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::CloudWatchLoggingOptionsProperty.new(**cloud_watch_logging_options.transform_keys(&:to_sym)) : cloud_watch_logging_options
  Jsii::Type.check_type(@cloud_watch_logging_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uQ2xvdWRXYXRjaExvZ2dpbmdPcHRpb25zUHJvcGVydHkifV19fQ==")), "cloudWatchLoggingOptions") unless @cloud_watch_logging_options.nil?
  @password = password
  Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil?
  @processing_configuration = processing_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::ProcessingConfigurationProperty.new(**processing_configuration.transform_keys(&:to_sym)) : processing_configuration
  Jsii::Type.check_type(@processing_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUHJvY2Vzc2luZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "processingConfiguration") unless @processing_configuration.nil?
  @retry_options = retry_options.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::RedshiftRetryOptionsProperty.new(**retry_options.transform_keys(&:to_sym)) : retry_options
  Jsii::Type.check_type(@retry_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUmVkc2hpZnRSZXRyeU9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "retryOptions") unless @retry_options.nil?
  @s3_backup_configuration = s3_backup_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty.new(**s3_backup_configuration.transform_keys(&:to_sym)) : s3_backup_configuration
  Jsii::Type.check_type(@s3_backup_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUzNEZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "s3BackupConfiguration") unless @s3_backup_configuration.nil?
  @s3_backup_mode = s3_backup_mode
  Jsii::Type.check_type(@s3_backup_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "s3BackupMode") unless @s3_backup_mode.nil?
  @secrets_manager_configuration = secrets_manager_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::SecretsManagerConfigurationProperty.new(**secrets_manager_configuration.transform_keys(&:to_sym)) : secrets_manager_configuration
  Jsii::Type.check_type(@secrets_manager_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uU2VjcmV0c01hbmFnZXJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "secretsManagerConfiguration") unless @secrets_manager_configuration.nil?
  @username = username
  Jsii::Type.check_type(@username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "username") unless @username.nil?
end

Instance Attribute Details

#cloud_watch_logging_optionsAWSCDK::IResolvable, ... (readonly)

The CloudWatch logging options for your Firehose stream.



3989
3990
3991
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3989

def cloud_watch_logging_options
  @cloud_watch_logging_options
end

#cluster_jdbcurlString (readonly)

The connection string that Kinesis Data Firehose uses to connect to the Amazon Redshift cluster.



3965
3966
3967
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3965

def cluster_jdbcurl
  @cluster_jdbcurl
end

#copy_commandAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::CopyCommandProperty (readonly)

Configures the Amazon Redshift COPY command that Kinesis Data Firehose uses to load data into the cluster from the Amazon S3 bucket.



3970
3971
3972
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3970

def copy_command
  @copy_command
end

#passwordString? (readonly)

The password for the Amazon Redshift user that you specified in the Username property.



3994
3995
3996
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3994

def password
  @password
end

#processing_configurationAWSCDK::IResolvable, ... (readonly)

The data processing configuration for the Kinesis Data Firehose delivery stream.



3999
4000
4001
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3999

def processing_configuration
  @processing_configuration
end

#retry_optionsAWSCDK::IResolvable, ... (readonly)

The retry behavior in case Firehose is unable to deliver documents to Amazon Redshift.

Default value is 3600 (60 minutes).



4006
4007
4008
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4006

def retry_options
  @retry_options
end

#role_arnString (readonly)

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 in the Amazon Kinesis Data Firehose Developer Guide .



3977
3978
3979
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3977

def role_arn
  @role_arn
end

#s3_backup_configurationAWSCDK::IResolvable, ... (readonly)

The configuration for backup in Amazon S3.



4011
4012
4013
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4011

def s3_backup_configuration
  @s3_backup_configuration
end

#s3_backup_modeString? (readonly)

The Amazon S3 backup mode.

After you create a Firehose stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can't update the Firehose stream to disable it.



4018
4019
4020
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4018

def s3_backup_mode
  @s3_backup_mode
end

#s3_configurationAWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty (readonly)

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.



3984
3985
3986
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3984

def s3_configuration
  @s3_configuration
end

#secrets_manager_configurationAWSCDK::IResolvable, ... (readonly)

The configuration that defines how you access secrets for Amazon Redshift.



4023
4024
4025
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4023

def secrets_manager_configuration
  @secrets_manager_configuration
end

#usernameString? (readonly)

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.



4030
4031
4032
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4030

def username
  @username
end

Class Method Details

.jsii_propertiesObject



4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4032

def self.jsii_properties
  {
    :cluster_jdbcurl => "clusterJdbcurl",
    :copy_command => "copyCommand",
    :role_arn => "roleArn",
    :s3_configuration => "s3Configuration",
    :cloud_watch_logging_options => "cloudWatchLoggingOptions",
    :password => "password",
    :processing_configuration => "processingConfiguration",
    :retry_options => "retryOptions",
    :s3_backup_configuration => "s3BackupConfiguration",
    :s3_backup_mode => "s3BackupMode",
    :secrets_manager_configuration => "secretsManagerConfiguration",
    :username => "username",
  }
end

Instance Method Details

#to_jsiiObject



4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4049

def to_jsii
  result = {}
  result.merge!({
    "clusterJdbcurl" => @cluster_jdbcurl,
    "copyCommand" => @copy_command,
    "roleArn" => @role_arn,
    "s3Configuration" => @s3_configuration,
    "cloudWatchLoggingOptions" => @cloud_watch_logging_options,
    "password" => @password,
    "processingConfiguration" => @processing_configuration,
    "retryOptions" => @retry_options,
    "s3BackupConfiguration" => @s3_backup_configuration,
    "s3BackupMode" => @s3_backup_mode,
    "secretsManagerConfiguration" => @secrets_manager_configuration,
    "username" => @username,
  })
  result.compact
end