Class: Aws::Firehose::Types::ElasticsearchDestinationConfiguration

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

Overview

Note:

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

{
  role_arn: "RoleARN", # required
  domain_arn: "ElasticsearchDomainARN",
  cluster_endpoint: "ElasticsearchClusterEndpoint",
  index_name: "ElasticsearchIndexName", # required
  type_name: "ElasticsearchTypeName",
  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",
    error_output_prefix: "ErrorOutputPrefix",
    buffering_hints: {
      size_in_m_bs: 1,
      interval_in_seconds: 1,
    },
    compression_format: "UNCOMPRESSED", # accepts UNCOMPRESSED, GZIP, ZIP, Snappy, HADOOP_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: "RecordDeAggregation", # required, accepts RecordDeAggregation, Lambda, MetadataExtraction, AppendDelimiterToRecord
        parameters: [
          {
            parameter_name: "LambdaArn", # required, accepts LambdaArn, NumberOfRetries, MetadataExtractionQuery, JsonParsingEngine, RoleArn, BufferSizeInMBs, BufferIntervalInSeconds, SubRecordType, Delimiter
            parameter_value: "ProcessorParameterValue", # required
          },
        ],
      },
    ],
  },
  cloud_watch_logging_options: {
    enabled: false,
    log_group_name: "LogGroupName",
    log_stream_name: "LogStreamName",
  },
  vpc_configuration: {
    subnet_ids: ["NonEmptyStringWithoutWhitespace"], # required
    role_arn: "RoleARN", # required
    security_group_ids: ["NonEmptyStringWithoutWhitespace"], # required
  },
}

Describes the configuration of a destination in Amazon ES.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#buffering_hintsTypes::ElasticsearchBufferingHints

The buffering options. If no value is specified, the default values for `ElasticsearchBufferingHints` are used.


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#cloud_watch_logging_optionsTypes::CloudWatchLoggingOptions

The Amazon CloudWatch logging options for your delivery stream.


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#cluster_endpointString

The endpoint to use when communicating with the cluster. Specify either this `ClusterEndpoint` or the `DomainARN` field.

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#domain_arnString

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. For more information, see [Amazon Resource Names (ARNs) and AWS Service Namespaces].

Specify either `ClusterEndpoint` or `DomainARN`.

[1]: docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#index_nameString

The Elasticsearch index name.

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#index_rotation_periodString

The Elasticsearch index rotation period. Index rotation appends a timestamp to the `IndexName` to facilitate the expiration of old data. For more information, see [Index Rotation for the Amazon ES Destination]. The default value is `OneDay`.

[1]: docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-index-rotation

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#processing_configurationTypes::ProcessingConfiguration

The data processing configuration.


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#retry_optionsTypes::ElasticsearchRetryOptions

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#role_arnString

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 [Grant Kinesis Data Firehose Access to an Amazon S3 Destination] and [Amazon Resource Names (ARNs) and AWS Service Namespaces].

[1]: docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3 [2]: docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#s3_backup_modeString

Defines how documents should be delivered to Amazon S3. When it is set to `FailedDocumentsOnly`, Kinesis Data Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with `elasticsearch-failed/` appended to the key prefix. When set to `AllDocuments`, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents with `elasticsearch-failed/` appended to the prefix. For more information, see [Amazon S3 Backup for the Amazon ES Destination]. Default value is `FailedDocumentsOnly`.

You can't change this backup mode after you create the delivery stream.

[1]: docs.aws.amazon.com/firehose/latest/dev/basic-deliver.html#es-s3-backup

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#s3_configurationTypes::S3DestinationConfiguration

The configuration for the backup Amazon S3 location.


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#type_nameString

The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per index. If you try to specify a new type for an existing index that already has another type, Kinesis Data Firehose returns an error during run time.

For Elasticsearch 7.x, don't specify a `TypeName`.

Returns:

  • (String)

1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end

#vpc_configurationTypes::VpcConfiguration

The details of the VPC of the Amazon ES destination.


1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
# File 'lib/aws-sdk-firehose/types.rb', line 1837

class ElasticsearchDestinationConfiguration < Struct.new(
  :role_arn,
  :domain_arn,
  :cluster_endpoint,
  :index_name,
  :type_name,
  :index_rotation_period,
  :buffering_hints,
  :retry_options,
  :s3_backup_mode,
  :s3_configuration,
  :processing_configuration,
  :cloud_watch_logging_options,
  :vpc_configuration)
  SENSITIVE = []
  include Aws::Structure
end