import { Value } from '../../../cloudformation/Value';
import { S3DestinationConfigurationProps } from './S3DestinationConfigurationProps';
import { SplunkRetryOptionsProps } from './SplunkRetryOptionsProps';
import { ProcessingConfigurationProps } from './ProcessingConfigurationProps';
import { CloudWatchLoggingOptionsProps } from './CloudWatchLoggingOptionsProps';
/**
  The <code>SplunkDestinationConfiguration</code> property type specifies the configuration of a destination in Splunk for a Kinesis Data Firehose delivery stream.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html">the AWS Docs</a>
*/
export interface SplunkDestinationConfigurationProps {
    /** <code>HECEndpoint</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecendpoint"></a>
  The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.<br />
  
  Required: Yes<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</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> */
    hECEndpoint: Value<string>;
    /** <code>S3Configuration</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-s3configuration"></a>
  The configuration for the backup Amazon S3 location.<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>HECToken</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hectoken"></a>
  This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.<br />
  
  Required: Yes<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>2048</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> */
    hECToken: Value<string>;
    /** <code>RetryOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-retryoptions"></a>
  The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk, or if it doesn’t receive an acknowledgment of receipt from Splunk.<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?: SplunkRetryOptionsProps;
    /** <code>HECEndpointType</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecendpointtype"></a>
  This type can be either <code>Raw</code> or <code>Event</code>.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>Event | Raw</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> */
    hECEndpointType: Value<'Event' | 'Raw'>;
    /** <code>HECAcknowledgmentTimeoutInSeconds</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecacknowledgmenttimeoutinseconds"></a>
  The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.<br />
  
  Required: No<br />
  
  Minimum: <code>180</code><br />
  
  Maximum: <code>600</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> */
    hECAcknowledgmentTimeoutInSeconds?: Value<number>;
    /** <code>ProcessingConfiguration</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-processingconfiguration"></a>
  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>CloudWatchLoggingOptions</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-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;
    /** <code>S3BackupMode</code>  <a name="cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-s3backupmode"></a>
  Defines how documents should be delivered to Amazon S3. When set to <code>FailedEventsOnly</code>, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to <code>AllEvents</code>, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. The default value is <code>FailedEventsOnly</code>.<br />
  You can update this backup mode from <code>FailedEventsOnly</code> to <code>AllEvents</code>. You can’t update it from <code>AllEvents</code> to <code>FailedEventsOnly</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>AllEvents | FailedEventsOnly</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<'AllEvents' | 'FailedEventsOnly'>;
}
