import { PipeTargetStateMachineParametersProps } from './PipeTargetStateMachineParametersProps';
import { PipeTargetHttpParametersProps } from './PipeTargetHttpParametersProps';
import { PipeTargetSqsQueueParametersProps } from './PipeTargetSqsQueueParametersProps';
import { PipeTargetCloudWatchLogsParametersProps } from './PipeTargetCloudWatchLogsParametersProps';
import { PipeTargetKinesisStreamParametersProps } from './PipeTargetKinesisStreamParametersProps';
import { Value } from '../../../cloudformation/Value';
import { PipeTargetSageMakerPipelineParametersProps } from './PipeTargetSageMakerPipelineParametersProps';
import { PipeTargetEventBridgeEventBusParametersProps } from './PipeTargetEventBridgeEventBusParametersProps';
import { PipeTargetLambdaFunctionParametersProps } from './PipeTargetLambdaFunctionParametersProps';
import { PipeTargetEcsTaskParametersProps } from './PipeTargetEcsTaskParametersProps';
import { PipeTargetBatchJobParametersProps } from './PipeTargetBatchJobParametersProps';
import { PipeTargetRedshiftDataParametersProps } from './PipeTargetRedshiftDataParametersProps';
/**
  The parameters required to set up a target for your pipe.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html">the AWS Docs</a>
*/
export interface PipeTargetParametersProps {
    /** <code>StepFunctionStateMachineParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-stepfunctionstatemachineparameters"></a>
  The parameters for using a Step Functions state machine as a target.<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> */
    stepFunctionStateMachineParameters?: PipeTargetStateMachineParametersProps;
    /** <code>HttpParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-httpparameters"></a>
  These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.<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> */
    httpParameters?: PipeTargetHttpParametersProps;
    /** <code>SqsQueueParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-sqsqueueparameters"></a>
  The parameters for using a Amazon SQS stream as a target.<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> */
    sqsQueueParameters?: PipeTargetSqsQueueParametersProps;
    /** <code>CloudWatchLogsParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-cloudwatchlogsparameters"></a>
  The parameters for using an CloudWatch Logs log stream as a target.<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> */
    cloudWatchLogsParameters?: PipeTargetCloudWatchLogsParametersProps;
    /** <code>KinesisStreamParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-kinesisstreamparameters"></a>
  The parameters for using a Kinesis stream as a target.<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> */
    kinesisStreamParameters?: PipeTargetKinesisStreamParametersProps;
    /** <code>InputTemplate</code>  <a name="cfn-pipes-pipe-pipetargetparameters-inputtemplate"></a>
  Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see <a href="http://www.rfc-editor.org/rfc/rfc7159.txt">The JavaScript Object Notation (JSON) Data Interchange Format</a>.<br />
  To remove an input template, specify an empty string.<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> */
    inputTemplate?: Value<string>;
    /** <code>SageMakerPipelineParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-sagemakerpipelineparameters"></a>
  The parameters for using a SageMaker pipeline as a target.<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> */
    sageMakerPipelineParameters?: PipeTargetSageMakerPipelineParametersProps;
    /** <code>EventBridgeEventBusParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-eventbridgeeventbusparameters"></a>
  The parameters for using an EventBridge event bus as a target.<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> */
    eventBridgeEventBusParameters?: PipeTargetEventBridgeEventBusParametersProps;
    /** <code>LambdaFunctionParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-lambdafunctionparameters"></a>
  The parameters for using a Lambda function as a target.<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> */
    lambdaFunctionParameters?: PipeTargetLambdaFunctionParametersProps;
    /** <code>EcsTaskParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-ecstaskparameters"></a>
  The parameters for using an Amazon ECS task as a target.<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> */
    ecsTaskParameters?: PipeTargetEcsTaskParametersProps;
    /** <code>BatchJobParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-batchjobparameters"></a>
  The parameters for using an AWS Batch job as a target.<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> */
    batchJobParameters?: PipeTargetBatchJobParametersProps;
    /** <code>RedshiftDataParameters</code>  <a name="cfn-pipes-pipe-pipetargetparameters-redshiftdataparameters"></a>
  These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API BatchExecuteStatement.<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> */
    redshiftDataParameters?: PipeTargetRedshiftDataParametersProps;
}
