Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::ExtendedS3DestinationConfigurationProperty

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

Overview

The ExtendedS3DestinationConfiguration property type configures an Amazon S3 destination for an Amazon Kinesis Data Firehose delivery stream.

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, custom_time_zone: nil, data_format_conversion_configuration: nil, dynamic_partitioning_configuration: nil, encryption_configuration: nil, error_output_prefix: nil, file_extension: nil, prefix: nil, processing_configuration: nil, s3_backup_configuration: nil, s3_backup_mode: nil) ⇒ ExtendedS3DestinationConfigurationProperty

Returns a new instance of ExtendedS3DestinationConfigurationProperty.

Parameters:



2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2551

def initialize(bucket_arn:, role_arn:, buffering_hints: nil, cloud_watch_logging_options: nil, compression_format: nil, custom_time_zone: nil, data_format_conversion_configuration: nil, dynamic_partitioning_configuration: nil, encryption_configuration: nil, error_output_prefix: nil, file_extension: nil, prefix: nil, processing_configuration: nil, s3_backup_configuration: nil, s3_backup_mode: 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?
  @custom_time_zone = custom_time_zone
  Jsii::Type.check_type(@custom_time_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customTimeZone") unless @custom_time_zone.nil?
  @data_format_conversion_configuration = data_format_conversion_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DataFormatConversionConfigurationProperty.new(**data_format_conversion_configuration.transform_keys(&:to_sym)) : data_format_conversion_configuration
  Jsii::Type.check_type(@data_format_conversion_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRGF0YUZvcm1hdENvbnZlcnNpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "dataFormatConversionConfiguration") unless @data_format_conversion_configuration.nil?
  @dynamic_partitioning_configuration = dynamic_partitioning_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DynamicPartitioningConfigurationProperty.new(**dynamic_partitioning_configuration.transform_keys(&:to_sym)) : dynamic_partitioning_configuration
  Jsii::Type.check_type(@dynamic_partitioning_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRHluYW1pY1BhcnRpdGlvbmluZ0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "dynamicPartitioningConfiguration") unless @dynamic_partitioning_configuration.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?
  @file_extension = file_extension
  Jsii::Type.check_type(@file_extension, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileExtension") unless @file_extension.nil?
  @prefix = prefix
  Jsii::Type.check_type(@prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "prefix") unless @prefix.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?
  @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?
end

Instance Attribute Details

#bucket_arnString (readonly)

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

For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .



2590
2591
2592
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2590

def bucket_arn
  @bucket_arn
end

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

The Amazon CloudWatch logging options for your Firehose stream.



2607
2608
2609
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2607

def cloud_watch_logging_options
  @cloud_watch_logging_options
end

#compression_formatString? (readonly)

The compression format.

If no value is specified, the default is UNCOMPRESSED .



2614
2615
2616
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2614

def compression_format
  @compression_format
end

#custom_time_zoneString? (readonly)

The time zone you prefer.

UTC is the default.



2621
2622
2623
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2621

def custom_time_zone
  @custom_time_zone
end

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

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.



2626
2627
2628
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2626

def data_format_conversion_configuration
  @data_format_conversion_configuration
end

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

The configuration of the dynamic partitioning mechanism that creates targeted data sets from the streaming data by partitioning it based on partition keys.



2631
2632
2633
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2631

def dynamic_partitioning_configuration
  @dynamic_partitioning_configuration
end

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

The encryption configuration for the Kinesis Data Firehose delivery stream.

The default value is NoEncryption .



2638
2639
2640
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2638

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 .



2645
2646
2647
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2645

def error_output_prefix
  @error_output_prefix
end

#file_extensionString? (readonly)

Specify a file extension.

It will override the default file extension



2652
2653
2654
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2652

def file_extension
  @file_extension
end

#prefixString? (readonly)

The YYYY/MM/DD/HH time format prefix is automatically used for delivered Amazon S3 files.

For more information, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .



2659
2660
2661
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2659

def prefix
  @prefix
end

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

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



2664
2665
2666
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2664

def processing_configuration
  @processing_configuration
end

#role_arnString (readonly)

The Amazon Resource Name (ARN) of the AWS credentials.

For constraints, see ExtendedS3DestinationConfiguration in the Amazon Kinesis Data Firehose API Reference .



2597
2598
2599
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2597

def role_arn
  @role_arn
end

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

The configuration for backup in Amazon S3.



2669
2670
2671
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2669

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.



2676
2677
2678
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2676

def s3_backup_mode
  @s3_backup_mode
end

Class Method Details

.jsii_propertiesObject



2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2678

def self.jsii_properties
  {
    :bucket_arn => "bucketArn",
    :role_arn => "roleArn",
    :buffering_hints => "bufferingHints",
    :cloud_watch_logging_options => "cloudWatchLoggingOptions",
    :compression_format => "compressionFormat",
    :custom_time_zone => "customTimeZone",
    :data_format_conversion_configuration => "dataFormatConversionConfiguration",
    :dynamic_partitioning_configuration => "dynamicPartitioningConfiguration",
    :encryption_configuration => "encryptionConfiguration",
    :error_output_prefix => "errorOutputPrefix",
    :file_extension => "fileExtension",
    :prefix => "prefix",
    :processing_configuration => "processingConfiguration",
    :s3_backup_configuration => "s3BackupConfiguration",
    :s3_backup_mode => "s3BackupMode",
  }
end

Instance Method Details

#to_jsiiObject



2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2698

def to_jsii
  result = {}
  result.merge!({
    "bucketArn" => @bucket_arn,
    "roleArn" => @role_arn,
    "bufferingHints" => @buffering_hints,
    "cloudWatchLoggingOptions" => @cloud_watch_logging_options,
    "compressionFormat" => @compression_format,
    "customTimeZone" => @custom_time_zone,
    "dataFormatConversionConfiguration" => @data_format_conversion_configuration,
    "dynamicPartitioningConfiguration" => @dynamic_partitioning_configuration,
    "encryptionConfiguration" => @encryption_configuration,
    "errorOutputPrefix" => @error_output_prefix,
    "fileExtension" => @file_extension,
    "prefix" => @prefix,
    "processingConfiguration" => @processing_configuration,
    "s3BackupConfiguration" => @s3_backup_configuration,
    "s3BackupMode" => @s3_backup_mode,
  })
  result.compact
end