// Code generated by "go generate". Please don't change this file directly.

package pipes

import (
	"github.com/awslabs/goformation/v7/cloudformation/policies"
)

// Pipe_PipeTargetParameters AWS CloudFormation Resource (AWS::Pipes::Pipe.PipeTargetParameters)
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html
type Pipe_PipeTargetParameters struct {

	// BatchJobParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-batchjobparameters
	BatchJobParameters *Pipe_PipeTargetBatchJobParameters `json:"BatchJobParameters,omitempty"`

	// CloudWatchLogsParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-cloudwatchlogsparameters
	CloudWatchLogsParameters *Pipe_PipeTargetCloudWatchLogsParameters `json:"CloudWatchLogsParameters,omitempty"`

	// EcsTaskParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-ecstaskparameters
	EcsTaskParameters *Pipe_PipeTargetEcsTaskParameters `json:"EcsTaskParameters,omitempty"`

	// EventBridgeEventBusParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-eventbridgeeventbusparameters
	EventBridgeEventBusParameters *Pipe_PipeTargetEventBridgeEventBusParameters `json:"EventBridgeEventBusParameters,omitempty"`

	// HttpParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-httpparameters
	HttpParameters *Pipe_PipeTargetHttpParameters `json:"HttpParameters,omitempty"`

	// InputTemplate AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-inputtemplate
	InputTemplate *string `json:"InputTemplate,omitempty"`

	// KinesisStreamParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-kinesisstreamparameters
	KinesisStreamParameters *Pipe_PipeTargetKinesisStreamParameters `json:"KinesisStreamParameters,omitempty"`

	// LambdaFunctionParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-lambdafunctionparameters
	LambdaFunctionParameters *Pipe_PipeTargetLambdaFunctionParameters `json:"LambdaFunctionParameters,omitempty"`

	// RedshiftDataParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-redshiftdataparameters
	RedshiftDataParameters *Pipe_PipeTargetRedshiftDataParameters `json:"RedshiftDataParameters,omitempty"`

	// SageMakerPipelineParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-sagemakerpipelineparameters
	SageMakerPipelineParameters *Pipe_PipeTargetSageMakerPipelineParameters `json:"SageMakerPipelineParameters,omitempty"`

	// SqsQueueParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-sqsqueueparameters
	SqsQueueParameters *Pipe_PipeTargetSqsQueueParameters `json:"SqsQueueParameters,omitempty"`

	// StepFunctionStateMachineParameters AWS CloudFormation Property
	// Required: false
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-stepfunctionstatemachineparameters
	StepFunctionStateMachineParameters *Pipe_PipeTargetStateMachineParameters `json:"StepFunctionStateMachineParameters,omitempty"`

	// AWSCloudFormationDeletionPolicy represents a CloudFormation DeletionPolicy
	AWSCloudFormationDeletionPolicy policies.DeletionPolicy `json:"-"`

	// AWSCloudFormationUpdateReplacePolicy represents a CloudFormation UpdateReplacePolicy
	AWSCloudFormationUpdateReplacePolicy policies.UpdateReplacePolicy `json:"-"`

	// AWSCloudFormationDependsOn stores the logical ID of the resources to be created before this resource
	AWSCloudFormationDependsOn []string `json:"-"`

	// AWSCloudFormationMetadata stores structured data associated with this resource
	AWSCloudFormationMetadata map[string]interface{} `json:"-"`

	// AWSCloudFormationCondition stores the logical ID of the condition that must be satisfied for this resource to be created
	AWSCloudFormationCondition string `json:"-"`
}

// AWSCloudFormationType returns the AWS CloudFormation resource type
func (r *Pipe_PipeTargetParameters) AWSCloudFormationType() string {
	return "AWS::Pipes::Pipe.PipeTargetParameters"
}
