Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::S3DestinationConfigurationProperty

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

Overview

The S3DestinationConfiguration property type specifies an Amazon Simple Storage Service (Amazon S3) destination 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(bucket_arn:, role_arn:, buffering_hints: nil, cloud_watch_logging_options: nil, compression_format: nil, encryption_configuration: nil, error_output_prefix: nil, prefix: nil) ⇒ S3DestinationConfigurationProperty

Returns a new instance of S3DestinationConfigurationProperty.

Parameters:

  • bucket_arn (String)

    The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to.

  • role_arn (String)

    The ARN of an 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).

  • buffering_hints (AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::BufferingHintsProperty, nil) (defaults to: nil)

    Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket.

  • cloud_watch_logging_options (AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::CloudWatchLoggingOptionsProperty, nil) (defaults to: nil)

    The CloudWatch logging options for your Firehose stream.

  • compression_format (String, nil) (defaults to: nil)

    The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.

  • encryption_configuration (AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::EncryptionConfigurationProperty, nil) (defaults to: nil)

    Configures Amazon Simple Storage Service (Amazon S3) server-side encryption.

  • error_output_prefix (String, nil) (defaults to: nil)

    A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.

  • prefix (String, nil) (defaults to: nil)

    A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket.



4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4155

def initialize(bucket_arn:, role_arn:, buffering_hints: nil, cloud_watch_logging_options: nil, compression_format: nil, encryption_configuration: nil, error_output_prefix: nil, prefix: nil)
  @bucket_arn = bucket_arn
  Jsii::Type.check_type(@bucket_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketArn")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @buffering_hints = buffering_hints.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::BufferingHintsProperty.new(**buffering_hints.transform_keys(&:to_sym)) : buffering_hints
  Jsii::Type.check_type(@buffering_hints, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uQnVmZmVyaW5nSGludHNQcm9wZXJ0eSJ9XX19")), "bufferingHints") unless @buffering_hints.nil?
  @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?
  @compression_format = compression_format
  Jsii::Type.check_type(@compression_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "compressionFormat") unless @compression_format.nil?
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "encryptionConfiguration") unless @encryption_configuration.nil?
  @error_output_prefix = error_output_prefix
  Jsii::Type.check_type(@error_output_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "errorOutputPrefix") unless @error_output_prefix.nil?
  @prefix = prefix
  Jsii::Type.check_type(@prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "prefix") unless @prefix.nil?
end

Instance Attribute Details

#bucket_arnString (readonly)

The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to.



4178
4179
4180
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4178

def bucket_arn
  @bucket_arn
end

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

Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket.



4190
4191
4192
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4190

def buffering_hints
  @buffering_hints
end

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

The CloudWatch logging options for your Firehose stream.



4195
4196
4197
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4195

def cloud_watch_logging_options
  @cloud_watch_logging_options
end

#compression_formatString? (readonly)

The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket.

For valid values, see the CompressionFormat content for the S3DestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .



4202
4203
4204
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4202

def compression_format
  @compression_format
end

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

Configures Amazon Simple Storage Service (Amazon S3) server-side encryption.

Kinesis Data Firehose uses AWS Key Management Service ( AWS KMS) to encrypt the data that it delivers to your Amazon S3 bucket.



4209
4210
4211
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4209

def encryption_configuration
  @encryption_configuration
end

#error_output_prefixString? (readonly)

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3.

This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects .



4216
4217
4218
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4216

def error_output_prefix
  @error_output_prefix
end

#prefixString? (readonly)

A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket.

The prefix helps you identify the files that Kinesis Data Firehose delivered.



4223
4224
4225
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4223

def prefix
  @prefix
end

#role_arnString (readonly)

The ARN of an 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 S3 Destination in the Amazon Kinesis Data Firehose Developer Guide .



4185
4186
4187
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4185

def role_arn
  @role_arn
end

Class Method Details

.jsii_propertiesObject



4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4225

def self.jsii_properties
  {
    :bucket_arn => "bucketArn",
    :role_arn => "roleArn",
    :buffering_hints => "bufferingHints",
    :cloud_watch_logging_options => "cloudWatchLoggingOptions",
    :compression_format => "compressionFormat",
    :encryption_configuration => "encryptionConfiguration",
    :error_output_prefix => "errorOutputPrefix",
    :prefix => "prefix",
  }
end

Instance Method Details

#to_jsiiObject



4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 4238

def to_jsii
  result = {}
  result.merge!({
    "bucketArn" => @bucket_arn,
    "roleArn" => @role_arn,
    "bufferingHints" => @buffering_hints,
    "cloudWatchLoggingOptions" => @cloud_watch_logging_options,
    "compressionFormat" => @compression_format,
    "encryptionConfiguration" => @encryption_configuration,
    "errorOutputPrefix" => @error_output_prefix,
    "prefix" => @prefix,
  })
  result.compact
end