import { Value } from '../../../cloudformation/Value';
import { S3DestinationConfigurationProps } from './S3DestinationConfigurationProps';
import { DataFormatConversionConfigurationProps } from './DataFormatConversionConfigurationProps';
import { EncryptionConfigurationProps } from './EncryptionConfigurationProps';
import { DynamicPartitioningConfigurationProps } from './DynamicPartitioningConfigurationProps';
import { ProcessingConfigurationProps } from './ProcessingConfigurationProps';
import { BufferingHintsProps } from './BufferingHintsProps';
import { CloudWatchLoggingOptionsProps } from './CloudWatchLoggingOptionsProps';
/**
  The <code>ExtendedS3DestinationConfiguration</code> property type configures an Amazon S3 destination for an Amazon Kinesis Data Firehose delivery stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html">the AWS Docs</a>
*/
export interface ExtendedS3DestinationConfigurationProps {
    /** <code>ErrorOutputPrefix</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-erroroutputprefix"></a>
  A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see <a href="https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html">Custom Prefixes for Amazon S3 Objects</a>.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</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> */
    errorOutputPrefix?: Value<string>;
    /** <code>S3BackupConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-s3backupconfiguration"></a>
  The configuration for backup in Amazon S3.<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> */
    s3BackupConfiguration?: S3DestinationConfigurationProps;
    /** <code>BucketARN</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bucketarn"></a>
  The Amazon Resource Name (ARN) of the Amazon S3 bucket. For constraints, see <a href="https://docs.aws.amazon.com/firehose/latest/APIReference/API_ExtendedS3DestinationConfiguration.html">ExtendedS3DestinationConfiguration</a> in the
  Amazon Kinesis Data Firehose API Reference: br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>2048</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> */
    bucketARN: Value<string>;
    /** <code>CompressionFormat</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-compressionformat"></a>
  The compression format. If no value is specified, the default is <code>UNCOMPRESSED</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>GZIP | HADOOP_SNAPPY | Snappy | UNCOMPRESSED | ZIP</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> */
    compressionFormat?: Value<'GZIP' | 'HADOOP_SNAPPY' | 'Snappy' | 'UNCOMPRESSED' | 'ZIP'>;
    /** <code>DataFormatConversionConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dataformatconversionconfiguration"></a>
  The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.<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> */
    dataFormatConversionConfiguration?: DataFormatConversionConfigurationProps;
    /** <code>EncryptionConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-encryptionconfiguration"></a>
  The encryption configuration for the Kinesis Data Firehose delivery stream. The default value is <code>NoEncryption</code>.<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> */
    encryptionConfiguration?: EncryptionConfigurationProps;
    /** <code>DynamicPartitioningConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dynamicpartitioningconfiguration"></a>
  The configuration of the dynamic partitioning mechanism that creates targeted data sets from the streaming data by partitioning it based on partition keys.<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> */
    dynamicPartitioningConfiguration?: DynamicPartitioningConfigurationProps;
    /** <code>Prefix</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-prefix"></a>
  The <code>YYYY/MM/DD/HH</code> time format prefix is automatically used for delivered Amazon S3 files. For more information, see <a href="https://docs.aws.amazon.com/firehose/latest/APIReference/API_ExtendedS3DestinationConfiguration.html">ExtendedS3DestinationConfiguration</a> in the
  Amazon Kinesis Data Firehose API Reference: br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>1024</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> */
    prefix?: Value<string>;
    /** <code>ProcessingConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-processingconfiguration"></a>
  The data processing configuration for the Kinesis Data Firehose 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> */
    processingConfiguration?: ProcessingConfigurationProps;
    /** <code>RoleARN</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-rolearn"></a>
  The Amazon Resource Name (ARN) of the AWS credentials. For constraints, see <a href="https://docs.aws.amazon.com/firehose/latest/APIReference/API_ExtendedS3DestinationConfiguration.html">ExtendedS3DestinationConfiguration</a> in the
  Amazon Kinesis Data Firehose API Reference: 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-extendeds3destinationconfiguration-s3backupmode"></a>
  The Amazon S3 backup mode. After you create a delivery stream, you can update it to enable Amazon S3 backup if it is disabled. If backup is enabled, you can’t update the delivery stream to disable it.<br />
  
  Required: No<br />
  
  Allowed values: <code>Disabled | Enabled</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<'Disabled' | 'Enabled'>;
    /** <code>BufferingHints</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bufferinghints"></a>
  The buffering option.<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?: BufferingHintsProps;
    /** <code>CloudWatchLoggingOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-cloudwatchloggingoptions"></a>
  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;
}
