/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an update for a destination in Amazon ES.See Also:
* AWS
* API Reference
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.
*/ inline const Aws::String& GetRoleARN() const{ return m_roleARN; } /** *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.
*/ inline bool RoleARNHasBeenSet() const { return m_roleARNHasBeenSet; } /** *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.
*/ inline void SetRoleARN(const Aws::String& value) { m_roleARNHasBeenSet = true; m_roleARN = value; } /** *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.
*/ inline void SetRoleARN(Aws::String&& value) { m_roleARNHasBeenSet = true; m_roleARN = std::move(value); } /** *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.
*/ inline void SetRoleARN(const char* value) { m_roleARNHasBeenSet = true; m_roleARN.assign(value); } /** *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.
*/ inline ElasticsearchDestinationUpdate& WithRoleARN(const Aws::String& value) { SetRoleARN(value); return *this;} /** *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.
*/ inline ElasticsearchDestinationUpdate& WithRoleARN(Aws::String&& value) { SetRoleARN(std::move(value)); return *this;} /** *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.
*/ inline ElasticsearchDestinationUpdate& WithRoleARN(const char* value) { SetRoleARN(value); return *this;} /** *The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The ARN of the Amazon ES domain. The IAM role must have permissions
* for DescribeElasticsearchDomain
,
* DescribeElasticsearchDomains
, and
* DescribeElasticsearchDomainConfig
after assuming the IAM role
* specified in RoleARN
. For more information, see Amazon
* Resource Names (ARNs) and AWS Service Namespaces.
Specify either
* ClusterEndpoint
or DomainARN
.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The endpoint to use when communicating with the cluster. Specify either this
* ClusterEndpoint
or the DomainARN
field.
The Elasticsearch index name.
*/ inline const Aws::String& GetIndexName() const{ return m_indexName; } /** *The Elasticsearch index name.
*/ inline bool IndexNameHasBeenSet() const { return m_indexNameHasBeenSet; } /** *The Elasticsearch index name.
*/ inline void SetIndexName(const Aws::String& value) { m_indexNameHasBeenSet = true; m_indexName = value; } /** *The Elasticsearch index name.
*/ inline void SetIndexName(Aws::String&& value) { m_indexNameHasBeenSet = true; m_indexName = std::move(value); } /** *The Elasticsearch index name.
*/ inline void SetIndexName(const char* value) { m_indexNameHasBeenSet = true; m_indexName.assign(value); } /** *The Elasticsearch index name.
*/ inline ElasticsearchDestinationUpdate& WithIndexName(const Aws::String& value) { SetIndexName(value); return *this;} /** *The Elasticsearch index name.
*/ inline ElasticsearchDestinationUpdate& WithIndexName(Aws::String&& value) { SetIndexName(std::move(value)); return *this;} /** *The Elasticsearch index name.
*/ inline ElasticsearchDestinationUpdate& WithIndexName(const char* value) { SetIndexName(value); return *this;} /** *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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
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 * runtime.
If you upgrade Elasticsearch from 6.x to 7.x and don’t update
* your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch
* with the old index name and type name. If you want to update your delivery
* stream with a new index name, provide an empty string for TypeName
.
*
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The Elasticsearch index rotation period. Index rotation appends a timestamp
* to IndexName
to facilitate the expiration of old data. For more
* information, see Index
* Rotation for the Amazon ES Destination. Default value
* is OneDay
.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The buffering options. If no value is specified,
* ElasticsearchBufferingHints
object default values are used.
The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline const ElasticsearchRetryOptions& GetRetryOptions() const{ return m_retryOptions; } /** *The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline bool RetryOptionsHasBeenSet() const { return m_retryOptionsHasBeenSet; } /** *The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline void SetRetryOptions(const ElasticsearchRetryOptions& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = value; } /** *The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline void SetRetryOptions(ElasticsearchRetryOptions&& value) { m_retryOptionsHasBeenSet = true; m_retryOptions = std::move(value); } /** *The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline ElasticsearchDestinationUpdate& WithRetryOptions(const ElasticsearchRetryOptions& value) { SetRetryOptions(value); return *this;} /** *The retry behavior in case Kinesis Data Firehose is unable to deliver * documents to Amazon ES. The default value is 300 (5 minutes).
*/ inline ElasticsearchDestinationUpdate& WithRetryOptions(ElasticsearchRetryOptions&& value) { SetRetryOptions(std::move(value)); return *this;} /** *The Amazon S3 destination.
*/ inline const S3DestinationUpdate& GetS3Update() const{ return m_s3Update; } /** *The Amazon S3 destination.
*/ inline bool S3UpdateHasBeenSet() const { return m_s3UpdateHasBeenSet; } /** *The Amazon S3 destination.
*/ inline void SetS3Update(const S3DestinationUpdate& value) { m_s3UpdateHasBeenSet = true; m_s3Update = value; } /** *The Amazon S3 destination.
*/ inline void SetS3Update(S3DestinationUpdate&& value) { m_s3UpdateHasBeenSet = true; m_s3Update = std::move(value); } /** *The Amazon S3 destination.
*/ inline ElasticsearchDestinationUpdate& WithS3Update(const S3DestinationUpdate& value) { SetS3Update(value); return *this;} /** *The Amazon S3 destination.
*/ inline ElasticsearchDestinationUpdate& WithS3Update(S3DestinationUpdate&& value) { SetS3Update(std::move(value)); return *this;} /** *The data processing configuration.
*/ inline const ProcessingConfiguration& GetProcessingConfiguration() const{ return m_processingConfiguration; } /** *The data processing configuration.
*/ inline bool ProcessingConfigurationHasBeenSet() const { return m_processingConfigurationHasBeenSet; } /** *The data processing configuration.
*/ inline void SetProcessingConfiguration(const ProcessingConfiguration& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = value; } /** *The data processing configuration.
*/ inline void SetProcessingConfiguration(ProcessingConfiguration&& value) { m_processingConfigurationHasBeenSet = true; m_processingConfiguration = std::move(value); } /** *The data processing configuration.
*/ inline ElasticsearchDestinationUpdate& WithProcessingConfiguration(const ProcessingConfiguration& value) { SetProcessingConfiguration(value); return *this;} /** *The data processing configuration.
*/ inline ElasticsearchDestinationUpdate& WithProcessingConfiguration(ProcessingConfiguration&& value) { SetProcessingConfiguration(std::move(value)); return *this;} /** *The CloudWatch logging options for your delivery stream.
*/ inline const CloudWatchLoggingOptions& GetCloudWatchLoggingOptions() const{ return m_cloudWatchLoggingOptions; } /** *The CloudWatch logging options for your delivery stream.
*/ inline bool CloudWatchLoggingOptionsHasBeenSet() const { return m_cloudWatchLoggingOptionsHasBeenSet; } /** *The CloudWatch logging options for your delivery stream.
*/ inline void SetCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = value; } /** *The CloudWatch logging options for your delivery stream.
*/ inline void SetCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { m_cloudWatchLoggingOptionsHasBeenSet = true; m_cloudWatchLoggingOptions = std::move(value); } /** *The CloudWatch logging options for your delivery stream.
*/ inline ElasticsearchDestinationUpdate& WithCloudWatchLoggingOptions(const CloudWatchLoggingOptions& value) { SetCloudWatchLoggingOptions(value); return *this;} /** *The CloudWatch logging options for your delivery stream.
*/ inline ElasticsearchDestinationUpdate& WithCloudWatchLoggingOptions(CloudWatchLoggingOptions&& value) { SetCloudWatchLoggingOptions(std::move(value)); return *this;} private: Aws::String m_roleARN; bool m_roleARNHasBeenSet; Aws::String m_domainARN; bool m_domainARNHasBeenSet; Aws::String m_clusterEndpoint; bool m_clusterEndpointHasBeenSet; Aws::String m_indexName; bool m_indexNameHasBeenSet; Aws::String m_typeName; bool m_typeNameHasBeenSet; ElasticsearchIndexRotationPeriod m_indexRotationPeriod; bool m_indexRotationPeriodHasBeenSet; ElasticsearchBufferingHints m_bufferingHints; bool m_bufferingHintsHasBeenSet; ElasticsearchRetryOptions m_retryOptions; bool m_retryOptionsHasBeenSet; S3DestinationUpdate m_s3Update; bool m_s3UpdateHasBeenSet; ProcessingConfiguration m_processingConfiguration; bool m_processingConfigurationHasBeenSet; CloudWatchLoggingOptions m_cloudWatchLoggingOptions; bool m_cloudWatchLoggingOptionsHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws