import { Value } from '../../../cloudformation/Value';
import { ProcessingConfigurationProps } from './ProcessingConfigurationProps';
import { DocumentIdOptionsProps } from './DocumentIdOptionsProps';
import { S3DestinationConfigurationProps } from './S3DestinationConfigurationProps';
import { AmazonopensearchserviceBufferingHintsProps } from './AmazonopensearchserviceBufferingHintsProps';
import { AmazonopensearchserviceRetryOptionsProps } from './AmazonopensearchserviceRetryOptionsProps';
import { VpcConfigurationProps } from './VpcConfigurationProps';
import { CloudWatchLoggingOptionsProps } from './CloudWatchLoggingOptionsProps';
/**
  Describes the configuration of a destination in Amazon OpenSearch Service.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration.html">the AWS Docs</a>
*/
export interface AmazonopensearchserviceDestinationConfigurationProps {
    /** <code>TypeName</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-typename"></a>
  The Amazon OpenSearch Service type name.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    typeName?: Value<string>;
    /** <code>IndexRotationPeriod</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-indexrotationperiod"></a>
  The Amazon OpenSearch Service index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data.<br />
  
  Required: No<br />
  
  Allowed values: <code>NoRotation | OneDay | OneHour | OneMonth | OneWeek</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    indexRotationPeriod?: Value<'NoRotation' | 'OneDay' | 'OneHour' | 'OneMonth' | 'OneWeek'>;
    /** <code>ProcessingConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-processingconfiguration"></a>
  Describes a data processing configuration.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    processingConfiguration?: ProcessingConfigurationProps;
    /** <code>ClusterEndpoint</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-clusterendpoint"></a>
  The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>https:.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    clusterEndpoint?: Value<string>;
    /** <code>DomainARN</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-domainarn"></a>
  The ARN of the Amazon OpenSearch Service domain.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>arn:.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    domainARN?: Value<string>;
    /** <code>RoleARN</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-rolearn"></a>
  The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon OpenSearch Service Configuration API and for indexing documents.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</code><br />
  
  Pattern: <code>arn:.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    roleARN: Value<string>;
    /** <code>S3BackupMode</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-s3backupmode"></a>
  Defines how documents should be delivered to Amazon S3.<br />
  
  Required: No<br />
  
  Allowed values: <code>AllDocuments | FailedDocumentsOnly</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    s3BackupMode?: Value<'AllDocuments' | 'FailedDocumentsOnly'>;
    /** <code>IndexName</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-indexname"></a>
  The Amazon OpenSearch Service index name.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>80</code><br />
  
  Pattern: <code>.*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    indexName: Value<string>;
    /** <code>DocumentIdOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-documentidoptions"></a>
  Property description not available.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    documentIdOptions?: DocumentIdOptionsProps;
    /** <code>S3Configuration</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-s3configuration"></a>
  Describes the configuration of a destination in Amazon S3.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    s3Configuration: S3DestinationConfigurationProps;
    /** <code>BufferingHints</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-bufferinghints"></a>
  The buffering options. If no value is specified, the default values for AmazonopensearchserviceBufferingHints are used.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    bufferingHints?: AmazonopensearchserviceBufferingHintsProps;
    /** <code>RetryOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-retryoptions"></a>
  The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon OpenSearch Service. The default value is 300 (5 minutes).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    retryOptions?: AmazonopensearchserviceRetryOptionsProps;
    /** <code>VpcConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-vpcconfiguration"></a>
  The details of the VPC of the Amazon OpenSearch Service destination.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    vpcConfiguration?: VpcConfigurationProps;
    /** <code>CloudWatchLoggingOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-amazonopensearchservicedestinationconfiguration-cloudwatchloggingoptions"></a>
  Describes the Amazon CloudWatch logging options for your delivery stream.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    cloudWatchLoggingOptions?: CloudWatchLoggingOptionsProps;
}
