You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::Firehose::Types::CreateDeliveryStreamInput

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb

Overview

Note:

When making an API call, you may pass CreateDeliveryStreamInput data as a hash:

{
  delivery_stream_name: "DeliveryStreamName", # required
  delivery_stream_type: "DirectPut", # accepts DirectPut, KinesisStreamAsSource
  kinesis_stream_source_configuration: {
    kinesis_stream_arn: "KinesisStreamARN", # required
    role_arn: "RoleARN", # required
  },
  s3_destination_configuration: {
    role_arn: "RoleARN", # required
    bucket_arn: "BucketARN", # required
    prefix: "Prefix",
    buffering_hints: {
      size_in_m_bs: 1,
      interval_in_seconds: 1,
    },
    compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
    encryption_configuration: {
      no_encryption_config: "NoEncryption", # accepts NoEncryption
      kms_encryption_config: {
        awskms_key_arn: "AWSKMSKeyARN", # required
      },
    },
    cloud_watch_logging_options: {
      enabled: false,
      log_group_name: "LogGroupName",
      log_stream_name: "LogStreamName",
    },
  },
  extended_s3_destination_configuration: {
    role_arn: "RoleARN", # required
    bucket_arn: "BucketARN", # required
    prefix: "Prefix",
    buffering_hints: {
      size_in_m_bs: 1,
      interval_in_seconds: 1,
    },
    compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
    encryption_configuration: {
      no_encryption_config: "NoEncryption", # accepts NoEncryption
      kms_encryption_config: {
        awskms_key_arn: "AWSKMSKeyARN", # required
      },
    },
    cloud_watch_logging_options: {
      enabled: false,
      log_group_name: "LogGroupName",
      log_stream_name: "LogStreamName",
    },
    processing_configuration: {
      enabled: false,
      processors: [
        {
          type: "Lambda", # required, accepts Lambda
          parameters: [
            {
              parameter_name: "LambdaArn", # required, accepts LambdaArn, NumberOfRetries, RoleArn, BufferSizeInMBs, BufferIntervalInSeconds
              parameter_value: "ProcessorParameterValue", # required
            },
          ],
        },
      ],
    },
    s3_backup_mode: "Disabled", # accepts Disabled, Enabled
    s3_backup_configuration: {
      role_arn: "RoleARN", # required
      bucket_arn: "BucketARN", # required
      prefix: "Prefix",
      buffering_hints: {
        size_in_m_bs: 1,
        interval_in_seconds: 1,
      },
      compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
      encryption_configuration: {
        no_encryption_config: "NoEncryption", # accepts NoEncryption
        kms_encryption_config: {
          awskms_key_arn: "AWSKMSKeyARN", # required
        },
      },
      cloud_watch_logging_options: {
        enabled: false,
        log_group_name: "LogGroupName",
        log_stream_name: "LogStreamName",
      },
    },
    data_format_conversion_configuration: {
      schema_configuration: {
        role_arn: "NonEmptyStringWithoutWhitespace",
        catalog_id: "NonEmptyStringWithoutWhitespace",
        database_name: "NonEmptyStringWithoutWhitespace",
        table_name: "NonEmptyStringWithoutWhitespace",
        region: "NonEmptyStringWithoutWhitespace",
        version_id: "NonEmptyStringWithoutWhitespace",
      },
      input_format_configuration: {
        deserializer: {
          open_x_json_ser_de: {
            convert_dots_in_json_keys_to_underscores: false,
            case_insensitive: false,
            column_to_json_key_mappings: {
              "NonEmptyStringWithoutWhitespace" => "NonEmptyString",
            },
          },
          hive_json_ser_de: {
            timestamp_formats: ["NonEmptyString"],
          },
        },
      },
      output_format_configuration: {
        serializer: {
          parquet_ser_de: {
            block_size_bytes: 1,
            page_size_bytes: 1,
            compression: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, SNAPPY
            enable_dictionary_compression: false,
            max_padding_bytes: 1,
            writer_version: "V1", # accepts V1, V2
          },
          orc_ser_de: {
            stripe_size_bytes: 1,
            block_size_bytes: 1,
            row_index_stride: 1,
            enable_padding: false,
            padding_tolerance: 1.0,
            compression: "NONE", # accepts NONE, ZLIB, SNAPPY
            bloom_filter_columns: ["NonEmptyStringWithoutWhitespace"],
            bloom_filter_false_positive_probability: 1.0,
            dictionary_key_threshold: 1.0,
            format_version: "V0_11", # accepts V0_11, V0_12
          },
        },
      },
      enabled: false,
    },
  },
  redshift_destination_configuration: {
    role_arn: "RoleARN", # required
    cluster_jdbc_url: "ClusterJDBCURL", # required
    copy_command: { # required
      data_table_name: "DataTableName", # required
      data_table_columns: "DataTableColumns",
      copy_options: "CopyOptions",
    },
    username: "Username", # required
    password: "Password", # required
    retry_options: {
      duration_in_seconds: 1,
    },
    s3_configuration: { # required
      role_arn: "RoleARN", # required
      bucket_arn: "BucketARN", # required
      prefix: "Prefix",
      buffering_hints: {
        size_in_m_bs: 1,
        interval_in_seconds: 1,
      },
      compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
      encryption_configuration: {
        no_encryption_config: "NoEncryption", # accepts NoEncryption
        kms_encryption_config: {
          awskms_key_arn: "AWSKMSKeyARN", # required
        },
      },
      cloud_watch_logging_options: {
        enabled: false,
        log_group_name: "LogGroupName",
        log_stream_name: "LogStreamName",
      },
    },
    processing_configuration: {
      enabled: false,
      processors: [
        {
          type: "Lambda", # required, accepts Lambda
          parameters: [
            {
              parameter_name: "LambdaArn", # required, accepts LambdaArn, NumberOfRetries, RoleArn, BufferSizeInMBs, BufferIntervalInSeconds
              parameter_value: "ProcessorParameterValue", # required
            },
          ],
        },
      ],
    },
    s3_backup_mode: "Disabled", # accepts Disabled, Enabled
    s3_backup_configuration: {
      role_arn: "RoleARN", # required
      bucket_arn: "BucketARN", # required
      prefix: "Prefix",
      buffering_hints: {
        size_in_m_bs: 1,
        interval_in_seconds: 1,
      },
      compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
      encryption_configuration: {
        no_encryption_config: "NoEncryption", # accepts NoEncryption
        kms_encryption_config: {
          awskms_key_arn: "AWSKMSKeyARN", # required
        },
      },
      cloud_watch_logging_options: {
        enabled: false,
        log_group_name: "LogGroupName",
        log_stream_name: "LogStreamName",
      },
    },
    cloud_watch_logging_options: {
      enabled: false,
      log_group_name: "LogGroupName",
      log_stream_name: "LogStreamName",
    },
  },
  elasticsearch_destination_configuration: {
    role_arn: "RoleARN", # required
    domain_arn: "ElasticsearchDomainARN", # required
    index_name: "ElasticsearchIndexName", # required
    type_name: "ElasticsearchTypeName", # required
    index_rotation_period: "NoRotation", # accepts NoRotation, OneHour, OneDay, OneWeek, OneMonth
    buffering_hints: {
      interval_in_seconds: 1,
      size_in_m_bs: 1,
    },
    retry_options: {
      duration_in_seconds: 1,
    },
    s3_backup_mode: "FailedDocumentsOnly", # accepts FailedDocumentsOnly, AllDocuments
    s3_configuration: { # required
      role_arn: "RoleARN", # required
      bucket_arn: "BucketARN", # required
      prefix: "Prefix",
      buffering_hints: {
        size_in_m_bs: 1,
        interval_in_seconds: 1,
      },
      compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
      encryption_configuration: {
        no_encryption_config: "NoEncryption", # accepts NoEncryption
        kms_encryption_config: {
          awskms_key_arn: "AWSKMSKeyARN", # required
        },
      },
      cloud_watch_logging_options: {
        enabled: false,
        log_group_name: "LogGroupName",
        log_stream_name: "LogStreamName",
      },
    },
    processing_configuration: {
      enabled: false,
      processors: [
        {
          type: "Lambda", # required, accepts Lambda
          parameters: [
            {
              parameter_name: "LambdaArn", # required, accepts LambdaArn, NumberOfRetries, RoleArn, BufferSizeInMBs, BufferIntervalInSeconds
              parameter_value: "ProcessorParameterValue", # required
            },
          ],
        },
      ],
    },
    cloud_watch_logging_options: {
      enabled: false,
      log_group_name: "LogGroupName",
      log_stream_name: "LogStreamName",
    },
  },
  splunk_destination_configuration: {
    hec_endpoint: "HECEndpoint", # required
    hec_endpoint_type: "Raw", # required, accepts Raw, Event
    hec_token: "HECToken", # required
    hec_acknowledgment_timeout_in_seconds: 1,
    retry_options: {
      duration_in_seconds: 1,
    },
    s3_backup_mode: "FailedEventsOnly", # accepts FailedEventsOnly, AllEvents
    s3_configuration: { # required
      role_arn: "RoleARN", # required
      bucket_arn: "BucketARN", # required
      prefix: "Prefix",
      buffering_hints: {
        size_in_m_bs: 1,
        interval_in_seconds: 1,
      },
      compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy
      encryption_configuration: {
        no_encryption_config: "NoEncryption", # accepts NoEncryption
        kms_encryption_config: {
          awskms_key_arn: "AWSKMSKeyARN", # required
        },
      },
      cloud_watch_logging_options: {
        enabled: false,
        log_group_name: "LogGroupName",
        log_stream_name: "LogStreamName",
      },
    },
    processing_configuration: {
      enabled: false,
      processors: [
        {
          type: "Lambda", # required, accepts Lambda
          parameters: [
            {
              parameter_name: "LambdaArn", # required, accepts LambdaArn, NumberOfRetries, RoleArn, BufferSizeInMBs, BufferIntervalInSeconds
              parameter_value: "ProcessorParameterValue", # required
            },
          ],
        },
      ],
    },
    cloud_watch_logging_options: {
      enabled: false,
      log_group_name: "LogGroupName",
      log_stream_name: "LogStreamName",
    },
  },
}

Instance Attribute Summary collapse

Instance Attribute Details

#delivery_stream_nameString

The name of the delivery stream. This name must be unique per AWS account in the same AWS Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name.

Returns:

  • (String)


510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#delivery_stream_typeString

The delivery stream type. This parameter can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

Returns:

  • (String)


510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#elasticsearch_destination_configurationTypes::ElasticsearchDestinationConfiguration

The destination in Amazon ES. You can specify only one destination.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#extended_s3_destination_configurationTypes::ExtendedS3DestinationConfiguration

The destination in Amazon S3. You can specify only one destination.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#kinesis_stream_source_configurationTypes::KinesisStreamSourceConfiguration

When a Kinesis data stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the role ARN for the source stream.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#redshift_destination_configurationTypes::RedshiftDestinationConfiguration

The destination in Amazon Redshift. You can specify only one destination.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#s3_destination_configurationTypes::S3DestinationConfiguration

[Deprecated] The destination in Amazon S3. You can specify only one destination.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end

#splunk_destination_configurationTypes::SplunkDestinationConfiguration

The destination in Splunk. You can specify only one destination.



510
511
512
513
514
515
516
517
518
519
520
# File 'gems/aws-sdk-firehose/lib/aws-sdk-firehose/types.rb', line 510

class CreateDeliveryStreamInput < Struct.new(
  :delivery_stream_name,
  :delivery_stream_type,
  :kinesis_stream_source_configuration,
  :s3_destination_configuration,
  :extended_s3_destination_configuration,
  :redshift_destination_configuration,
  :elasticsearch_destination_configuration,
  :splunk_destination_configuration)
  include Aws::Structure
end