import { HttpEndpointRequestConfigurationProps } from './HttpEndpointRequestConfigurationProps';
import { S3DestinationConfigurationProps } from './S3DestinationConfigurationProps';
import { BufferingHintsProps } from './BufferingHintsProps';
import { RetryOptionsProps } from './RetryOptionsProps';
import { HttpEndpointConfigurationProps } from './HttpEndpointConfigurationProps';
import { ProcessingConfigurationProps } from './ProcessingConfigurationProps';
import { Value } from '../../../cloudformation/Value';
import { CloudWatchLoggingOptionsProps } from './CloudWatchLoggingOptionsProps';
/**
  Describes the configuration of the HTTP endpoint destination. Kinesis Firehose supports any custom HTTP endpoint or HTTP endpoints owned by supported third-party service providers, including Datadog, MongoDB, and New Relic.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration.html">the AWS Docs</a>
*/
export interface HttpEndpointDestinationConfigurationProps {
    /** <code>RequestConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-requestconfiguration"></a>
  The configuration of the request sent to the HTTP endpoint specified as the 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-no-interrupt">No interruption</a> */
    requestConfiguration?: HttpEndpointRequestConfigurationProps;
    /** <code>S3Configuration</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-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-httpendpointdestinationconfiguration-bufferinghints"></a>
  The buffering options that can be used before data is delivered to the specified destination. Kinesis Data Firehose treats these options as hints, and it might choose to use more optimal values. The SizeInMBs and IntervalInSeconds parameters are optional. However, if you specify a value for one of them, you must also provide a value for the other.<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>RetryOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-retryoptions"></a>
  Describes the retry behavior in case Kinesis Data Firehose is unable to deliver data to the specified HTTP endpoint destination, or if it doesn’t receive a valid acknowledgment of receipt from the specified HTTP endpoint 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-no-interrupt">No interruption</a> */
    retryOptions?: RetryOptionsProps;
    /** <code>EndpointConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-endpointconfiguration"></a>
  The configuration of the HTTP endpoint selected as the destination.<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> */
    endpointConfiguration: HttpEndpointConfigurationProps;
    /** <code>ProcessingConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-processingconfiguration"></a>
  Describes the 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>RoleARN</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-rolearn"></a>
  Kinesis Data Firehose uses this IAM role for all the permissions that the delivery stream needs.<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> */
    roleARN?: Value<string>;
    /** <code>CloudWatchLoggingOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-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;
    /** <code>S3BackupMode</code>  <a name="cfn-kinesisfirehose-deliverystream-httpendpointdestinationconfiguration-s3backupmode"></a>
  Describes the S3 bucket backup options for the data that Kinesis Data Firehose delivers to the HTTP endpoint destination. You can back up all documents (AllData) or only the documents that Kinesis Data Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).<br />
  
  Required: No<br />
  
  Allowed values: <code>AllData | FailedDataOnly</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<'AllData' | 'FailedDataOnly'>;
}
