Class: AWSCDK::KinesisFirehose::CfnDeliveryStream::HttpEndpointDestinationConfigurationProperty

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

Overview

Describes the configuration of the HTTP endpoint destination.

Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(endpoint_configuration:, s3_configuration:, buffering_hints: nil, cloud_watch_logging_options: nil, processing_configuration: nil, request_configuration: nil, retry_options: nil, role_arn: nil, s3_backup_mode: nil, secrets_manager_configuration: nil) ⇒ HttpEndpointDestinationConfigurationProperty

Returns a new instance of HttpEndpointDestinationConfigurationProperty.

Parameters:



2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2876

def initialize(endpoint_configuration:, s3_configuration:, buffering_hints: nil, cloud_watch_logging_options: nil, processing_configuration: nil, request_configuration: nil, retry_options: nil, role_arn: nil, s3_backup_mode: nil, secrets_manager_configuration: nil)
  @endpoint_configuration = endpoint_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::HttpEndpointConfigurationProperty.new(**endpoint_configuration.transform_keys(&:to_sym)) : endpoint_configuration
  Jsii::Type.check_type(@endpoint_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uSHR0cEVuZHBvaW50Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "endpointConfiguration")
  @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::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?
  @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?
  @request_configuration = request_configuration.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::HttpEndpointRequestConfigurationProperty.new(**request_configuration.transform_keys(&:to_sym)) : request_configuration
  Jsii::Type.check_type(@request_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uSHR0cEVuZHBvaW50UmVxdWVzdENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "requestConfiguration") unless @request_configuration.nil?
  @retry_options = retry_options.is_a?(Hash) ? ::AWSCDK::KinesisFirehose::CfnDeliveryStream::RetryOptionsProperty.new(**retry_options.transform_keys(&:to_sym)) : retry_options
  Jsii::Type.check_type(@retry_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19raW5lc2lzZmlyZWhvc2UuQ2ZuRGVsaXZlcnlTdHJlYW0uUmV0cnlPcHRpb25zUHJvcGVydHkifV19fQ==")), "retryOptions") unless @retry_options.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.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?
end

Instance Attribute Details

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

The buffering options that can be used before data is delivered to the specified destination.

Kinesis Data Firehose treats these options as hints, and it might choose to use more optimal values. The SizeInMBs and IntervalInSeconds parameters are optional. However, if you specify a value for one of them, you must also provide a value for the other.



2915
2916
2917
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2915

def buffering_hints
  @buffering_hints
end

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

Describes the Amazon CloudWatch logging options for your delivery stream.



2920
2921
2922
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2920

def cloud_watch_logging_options
  @cloud_watch_logging_options
end

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

Describes the data processing configuration.



2925
2926
2927
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2925

def processing_configuration
  @processing_configuration
end

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

The configuration of the request sent to the HTTP endpoint specified as the destination.



2930
2931
2932
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2930

def request_configuration
  @request_configuration
end

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

Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn't receive a valid acknowledgment of receipt from the specified HTTP endpoint destination.



2935
2936
2937
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2935

def retry_options
  @retry_options
end

#role_arnString? (readonly)

Kinesis Data Firehose uses this IAM role for all the permissions that the delivery stream needs.



2940
2941
2942
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2940

def role_arn
  @role_arn
end

#s3_backup_modeString? (readonly)

Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to the HTTP endpoint destination.

You can back up all documents (AllData) or only the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).



2947
2948
2949
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2947

def s3_backup_mode
  @s3_backup_mode
end

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

The configuration that defines how you access secrets for HTTP Endpoint destination.



2952
2953
2954
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2952

def secrets_manager_configuration
  @secrets_manager_configuration
end

Class Method Details

.jsii_propertiesObject



2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2954

def self.jsii_properties
  {
    :endpoint_configuration => "endpointConfiguration",
    :s3_configuration => "s3Configuration",
    :buffering_hints => "bufferingHints",
    :cloud_watch_logging_options => "cloudWatchLoggingOptions",
    :processing_configuration => "processingConfiguration",
    :request_configuration => "requestConfiguration",
    :retry_options => "retryOptions",
    :role_arn => "roleArn",
    :s3_backup_mode => "s3BackupMode",
    :secrets_manager_configuration => "secretsManagerConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
# File 'kinesis_firehose/cfn_delivery_stream.rb', line 2969

def to_jsii
  result = {}
  result.merge!({
    "endpointConfiguration" => @endpoint_configuration,
    "s3Configuration" => @s3_configuration,
    "bufferingHints" => @buffering_hints,
    "cloudWatchLoggingOptions" => @cloud_watch_logging_options,
    "processingConfiguration" => @processing_configuration,
    "requestConfiguration" => @request_configuration,
    "retryOptions" => @retry_options,
    "roleArn" => @role_arn,
    "s3BackupMode" => @s3_backup_mode,
    "secretsManagerConfiguration" => @secrets_manager_configuration,
  })
  result.compact
end