/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the firehose-2015-08-04.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.KinesisFirehose.Model { /// /// Describes the configuration of a destination in Amazon ES. /// public partial class ElasticsearchDestinationConfiguration { private ElasticsearchBufferingHints _bufferingHints; private CloudWatchLoggingOptions _cloudWatchLoggingOptions; private string _clusterEndpoint; private string _domainARN; private string _indexName; private ElasticsearchIndexRotationPeriod _indexRotationPeriod; private ProcessingConfiguration _processingConfiguration; private ElasticsearchRetryOptions _retryOptions; private string _roleARN; private ElasticsearchS3BackupMode _s3BackupMode; private S3DestinationConfiguration _s3Configuration; private string _typeName; private VpcConfiguration _vpcConfiguration; /// /// Gets and sets the property BufferingHints. /// /// The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints /// are used. /// /// public ElasticsearchBufferingHints BufferingHints { get { return this._bufferingHints; } set { this._bufferingHints = value; } } // Check to see if BufferingHints property is set internal bool IsSetBufferingHints() { return this._bufferingHints != null; } /// /// Gets and sets the property CloudWatchLoggingOptions. /// /// The Amazon CloudWatch logging options for your delivery stream. /// /// public CloudWatchLoggingOptions CloudWatchLoggingOptions { get { return this._cloudWatchLoggingOptions; } set { this._cloudWatchLoggingOptions = value; } } // Check to see if CloudWatchLoggingOptions property is set internal bool IsSetCloudWatchLoggingOptions() { return this._cloudWatchLoggingOptions != null; } /// /// Gets and sets the property ClusterEndpoint. /// /// The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint /// or the DomainARN field. /// /// [AWSProperty(Min=1, Max=512)] public string ClusterEndpoint { get { return this._clusterEndpoint; } set { this._clusterEndpoint = value; } } // Check to see if ClusterEndpoint property is set internal bool IsSetClusterEndpoint() { return this._clusterEndpoint != null; } /// /// Gets and sets the property DomainARN. /// /// The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeDomain, /// DescribeDomains, and DescribeDomainConfig after assuming /// the role specified in RoleARN. For more information, see Amazon /// Resource Names (ARNs) and Amazon Web Services Service Namespaces. /// /// /// /// Specify either ClusterEndpoint or DomainARN. /// /// [AWSProperty(Min=1, Max=512)] public string DomainARN { get { return this._domainARN; } set { this._domainARN = value; } } // Check to see if DomainARN property is set internal bool IsSetDomainARN() { return this._domainARN != null; } /// /// Gets and sets the property IndexName. /// /// The Elasticsearch index name. /// /// [AWSProperty(Required=true, Min=1, Max=80)] public string IndexName { get { return this._indexName; } set { this._indexName = value; } } // Check to see if IndexName property is set internal bool IsSetIndexName() { return this._indexName != null; } /// /// Gets and sets the property IndexRotationPeriod. /// /// 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. /// /// public ElasticsearchIndexRotationPeriod IndexRotationPeriod { get { return this._indexRotationPeriod; } set { this._indexRotationPeriod = value; } } // Check to see if IndexRotationPeriod property is set internal bool IsSetIndexRotationPeriod() { return this._indexRotationPeriod != null; } /// /// Gets and sets the property ProcessingConfiguration. /// /// The data processing configuration. /// /// public ProcessingConfiguration ProcessingConfiguration { get { return this._processingConfiguration; } set { this._processingConfiguration = value; } } // Check to see if ProcessingConfiguration property is set internal bool IsSetProcessingConfiguration() { return this._processingConfiguration != null; } /// /// Gets and sets the property RetryOptions. /// /// The retry behavior in case Kinesis Data Firehose is unable to deliver documents to /// Amazon ES. The default value is 300 (5 minutes). /// /// public ElasticsearchRetryOptions RetryOptions { get { return this._retryOptions; } set { this._retryOptions = value; } } // Check to see if RetryOptions property is set internal bool IsSetRetryOptions() { return this._retryOptions != null; } /// /// Gets and sets the property 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 Amazon Web Services Service Namespaces. /// /// [AWSProperty(Required=true, Min=1, Max=512)] public string RoleARN { get { return this._roleARN; } set { this._roleARN = value; } } // Check to see if RoleARN property is set internal bool IsSetRoleARN() { return this._roleARN != null; } /// /// Gets and sets the property S3BackupMode. /// /// 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 AmazonOpenSearchService-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 AmazonOpenSearchService-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. /// /// public ElasticsearchS3BackupMode S3BackupMode { get { return this._s3BackupMode; } set { this._s3BackupMode = value; } } // Check to see if S3BackupMode property is set internal bool IsSetS3BackupMode() { return this._s3BackupMode != null; } /// /// Gets and sets the property S3Configuration. /// /// The configuration for the backup Amazon S3 location. /// /// [AWSProperty(Required=true)] public S3DestinationConfiguration S3Configuration { get { return this._s3Configuration; } set { this._s3Configuration = value; } } // Check to see if S3Configuration property is set internal bool IsSetS3Configuration() { return this._s3Configuration != null; } /// /// Gets and sets the property 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 run time. /// /// /// /// For Elasticsearch 7.x, don't specify a TypeName. /// /// [AWSProperty(Min=0, Max=100)] public string TypeName { get { return this._typeName; } set { this._typeName = value; } } // Check to see if TypeName property is set internal bool IsSetTypeName() { return this._typeName != null; } /// /// Gets and sets the property VpcConfiguration. /// /// The details of the VPC of the Amazon ES destination. /// /// public VpcConfiguration VpcConfiguration { get { return this._vpcConfiguration; } set { this._vpcConfiguration = value; } } // Check to see if VpcConfiguration property is set internal bool IsSetVpcConfiguration() { return this._vpcConfiguration != null; } } }