Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::ElasticsearchDestinationConfigurationProperty

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

Overview

The ElasticsearchDestinationConfiguration property type specifies an Amazon Elasticsearch Service (Amazon ES) domain that Amazon Kinesis Data Firehose (Kinesis Data Firehose) delivers data to.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(index_name:, role_arn:, s3_configuration:, buffering_hints: nil, cloud_watch_logging_options: nil, cluster_endpoint: nil, document_id_options: nil, domain_arn: nil, index_rotation_period: nil, processing_configuration: nil, retry_options: nil, s3_backup_mode: nil, type_name: nil, vpc_configuration: nil) ⇒ ElasticsearchDestinationConfigurationProperty

Returns a new instance of ElasticsearchDestinationConfigurationProperty.

Parameters:



2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2293

def initialize(index_name:, role_arn:, s3_configuration:, buffering_hints: nil, cloud_watch_logging_options: nil, cluster_endpoint: nil, document_id_options: nil, domain_arn: nil, index_rotation_period: nil, processing_configuration: nil, retry_options: nil, s3_backup_mode: nil, type_name: nil, vpc_configuration: nil)
  @index_name = index_name
  Jsii::Type.check_type(@index_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "indexName")
  @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")
  @buffering_hints = buffering_hints.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::ElasticsearchBufferingHintsProperty.new(**buffering_hints.transform_keys(&:to_sym)) : buffering_hints
  Jsii::Type.check_type(@buffering_hints, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRWxhc3RpY3NlYXJjaEJ1ZmZlcmluZ0hpbnRzUHJvcGVydHkifV19fQ==")), "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?
  @cluster_endpoint = cluster_endpoint
  Jsii::Type.check_type(@cluster_endpoint, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clusterEndpoint") unless @cluster_endpoint.nil?
  @document_id_options = document_id_options.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::DocumentIdOptionsProperty.new(**document_id_options.transform_keys(&:to_sym)) : document_id_options
  Jsii::Type.check_type(@document_id_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRG9jdW1lbnRJZE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "documentIdOptions") unless @document_id_options.nil?
  @domain_arn = domain_arn
  Jsii::Type.check_type(@domain_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainArn") unless @domain_arn.nil?
  @index_rotation_period = index_rotation_period
  Jsii::Type.check_type(@index_rotation_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "indexRotationPeriod") unless @index_rotation_period.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::ElasticsearchRetryOptionsProperty.new(**retry_options.transform_keys(&:to_sym)) : retry_options
  Jsii::Type.check_type(@retry_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uRWxhc3RpY3NlYXJjaFJldHJ5T3B0aW9uc1Byb3BlcnR5In1dfX0=")), "retryOptions") unless @retry_options.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?
  @type_name = type_name
  Jsii::Type.check_type(@type_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "typeName") unless @type_name.nil?
  @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::VPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration
  Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uVnBjQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vpcConfiguration") unless @vpc_configuration.nil?
end

Instance Attribute Details

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

Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon ES domain.



2345
2346
2347
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2345

def buffering_hints
  @buffering_hints
end

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

The Amazon CloudWatch Logs logging options for the delivery stream.



2350
2351
2352
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2350

def cloud_watch_logging_options
  @cloud_watch_logging_options
end

#cluster_endpointString? (readonly)

The endpoint to use when communicating with the cluster.

Specify either this ClusterEndpoint or the DomainARN field.



2357
2358
2359
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2357

def cluster_endpoint
  @cluster_endpoint
end

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

Indicates the method for setting up document ID.

The supported methods are Firehose generated document ID and OpenSearch Service generated document ID.



2364
2365
2366
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2364

def document_id_options
  @document_id_options
end

#domain_arnString? (readonly)

The ARN of the Amazon ES domain.

The IAM role must have permissions for DescribeElasticsearchDomain , DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after assuming the role specified in RoleARN .

Specify either ClusterEndpoint or DomainARN .



2373
2374
2375
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2373

def domain_arn
  @domain_arn
end

#index_nameString (readonly)

The name of the Elasticsearch index to which Kinesis Data Firehose adds data for indexing.



2328
2329
2330
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2328

def index_name
  @index_name
end

#index_rotation_periodString? (readonly)

The frequency of Elasticsearch index rotation.

If you enable index rotation, Kinesis Data Firehose appends a portion of the UTC arrival timestamp to the specified index name, and rotates the appended timestamp accordingly. For more information, see Index Rotation for the Amazon ES Destination in the Amazon Kinesis Data Firehose Developer Guide .



2380
2381
2382
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2380

def index_rotation_period
  @index_rotation_period
end

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

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



2385
2386
2387
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2385

def processing_configuration
  @processing_configuration
end

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

The retry behavior when Kinesis Data Firehose is unable to deliver data to Amazon ES.



2390
2391
2392
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2390

def retry_options
  @retry_options
end

#role_arnString (readonly)

The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents.

For more information, see Controlling Access with Amazon Kinesis Data Firehose .



2335
2336
2337
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2335

def role_arn
  @role_arn
end

#s3_backup_modeString? (readonly)

The condition under which Kinesis Data Firehose delivers data to Amazon Simple Storage Service (Amazon S3).

You can send Amazon S3 all documents (all data) or only the documents that Kinesis Data Firehose could not deliver to the Amazon ES destination. For more information and valid values, see the S3BackupMode content for the ElasticsearchDestinationConfiguration data type in the Amazon Kinesis Data Firehose API Reference .



2397
2398
2399
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2397

def s3_backup_mode
  @s3_backup_mode
end

#type_nameString? (readonly)

The Elasticsearch type name that Amazon ES adds to documents when indexing data.



2402
2403
2404
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2402

def type_name
  @type_name
end

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

The details of the VPC of the Amazon ES destination.



2407
2408
2409
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2407

def vpc_configuration
  @vpc_configuration
end

Class Method Details

.jsii_propertiesObject



2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2409

def self.jsii_properties
  {
    :index_name => "indexName",
    :role_arn => "roleArn",
    :s3_configuration => "s3Configuration",
    :buffering_hints => "bufferingHints",
    :cloud_watch_logging_options => "cloudWatchLoggingOptions",
    :cluster_endpoint => "clusterEndpoint",
    :document_id_options => "documentIdOptions",
    :domain_arn => "domainArn",
    :index_rotation_period => "indexRotationPeriod",
    :processing_configuration => "processingConfiguration",
    :retry_options => "retryOptions",
    :s3_backup_mode => "s3BackupMode",
    :type_name => "typeName",
    :vpc_configuration => "vpcConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2428

def to_jsii
  result = {}
  result.merge!({
    "indexName" => @index_name,
    "roleArn" => @role_arn,
    "s3Configuration" => @s3_configuration,
    "bufferingHints" => @buffering_hints,
    "cloudWatchLoggingOptions" => @cloud_watch_logging_options,
    "clusterEndpoint" => @cluster_endpoint,
    "documentIdOptions" => @document_id_options,
    "domainArn" => @domain_arn,
    "indexRotationPeriod" => @index_rotation_period,
    "processingConfiguration" => @processing_configuration,
    "retryOptions" => @retry_options,
    "s3BackupMode" => @s3_backup_mode,
    "typeName" => @type_name,
    "vpcConfiguration" => @vpc_configuration,
  })
  result.compact
end