Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::MSKSourceConfigurationProperty

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

Overview

The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(authentication_configuration:, msk_cluster_arn:, topic_name:, read_from_timestamp: nil) ⇒ MSKSourceConfigurationProperty

Returns a new instance of MSKSourceConfigurationProperty.

Parameters:

  • authentication_configuration (AWSCDK::IResolvable, AWSCDK::KinesisFirehose::CfnDeliveryStream::AuthenticationConfigurationProperty)

    The authentication configuration of the Amazon MSK cluster.

  • msk_cluster_arn (String)

    The ARN of the Amazon MSK cluster.

  • topic_name (String)

    The topic name within the Amazon MSK cluster.

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

    The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read.



3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3304

def initialize(authentication_configuration:, msk_cluster_arn:, topic_name:, read_from_timestamp: nil)
  @authentication_configuration = authentication_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::AuthenticationConfigurationProperty.new(**authentication_configuration.transform_keys(&:to_sym)) : authentication_configuration
  Jsii::Type.check_type(@authentication_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "authenticationConfiguration")
  @msk_cluster_arn = msk_cluster_arn
  Jsii::Type.check_type(@msk_cluster_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "mskClusterArn")
  @topic_name = topic_name
  Jsii::Type.check_type(@topic_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "topicName")
  @read_from_timestamp = read_from_timestamp
  Jsii::Type.check_type(@read_from_timestamp, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "readFromTimestamp") unless @read_from_timestamp.nil?
end

Instance Attribute Details

#msk_cluster_arnString (readonly)

The ARN of the Amazon MSK cluster.



3324
3325
3326
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3324

def msk_cluster_arn
  @msk_cluster_arn
end

#read_from_timestampString? (readonly)

The start date and time in UTC for the offset position within your MSK topic from where Firehose begins to read.

By default, this is set to timestamp when Firehose becomes Active.

If you want to create a Firehose stream with Earliest start position from SDK or CLI, you need to set the ReadFromTimestamp parameter to Epoch (1970-01-01T00:00:00Z).



3338
3339
3340
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3338

def read_from_timestamp
  @read_from_timestamp
end

#topic_nameString (readonly)

The topic name within the Amazon MSK cluster.



3329
3330
3331
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3329

def topic_name
  @topic_name
end

Class Method Details

.jsii_propertiesObject



3340
3341
3342
3343
3344
3345
3346
3347
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3340

def self.jsii_properties
  {
    :authentication_configuration => "authenticationConfiguration",
    :msk_cluster_arn => "mskClusterArn",
    :topic_name => "topicName",
    :read_from_timestamp => "readFromTimestamp",
  }
end

Instance Method Details

#to_jsiiObject



3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 3349

def to_jsii
  result = {}
  result.merge!({
    "authenticationConfiguration" => @authentication_configuration,
    "mskClusterArn" => @msk_cluster_arn,
    "topicName" => @topic_name,
    "readFromTimestamp" => @read_from_timestamp,
  })
  result.compact
end