awspipes

package
v2.66.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 7 Imported by: 1

README

AWS::Pipes Construct Library

This module is part of the AWS Cloud Development Kit project.

import pipes "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::Pipes.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnPipe_CFN_RESOURCE_TYPE_NAME

func CfnPipe_CFN_RESOURCE_TYPE_NAME() *string

func CfnPipe_IsCfnElement

func CfnPipe_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPipe_IsCfnResource

func CfnPipe_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnPipe_IsConstruct

func CfnPipe_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func NewCfnPipe_Override

func NewCfnPipe_Override(c CfnPipe, scope constructs.Construct, id *string, props *CfnPipeProps)

Create a new `AWS::Pipes::Pipe`.

Types

type CfnPipe

type CfnPipe interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The ARN of the pipe.
	AttrArn() *string
	// The time the pipe was created.
	AttrCreationTime() *string
	// The state the pipe is in.
	AttrCurrentState() *string
	// When the pipe was last updated, in [ISO-8601 format](https://docs.aws.amazon.com/https://www.w3.org/TR/NOTE-datetime) (YYYY-MM-DDThh:mm:ss.sTZD).
	AttrLastModifiedTime() *string
	// The reason the pipe is in its current state.
	AttrStateReason() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the pipe.
	Description() *string
	SetDescription(val *string)
	// The state the pipe should be in.
	DesiredState() *string
	SetDesiredState(val *string)
	// The ARN of the enrichment resource.
	Enrichment() *string
	SetEnrichment(val *string)
	// The parameters required to set up enrichment on your pipe.
	EnrichmentParameters() interface{}
	SetEnrichmentParameters(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the pipe.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The ARN of the role that allows the pipe to send data to the target.
	RoleArn() *string
	SetRoleArn(val *string)
	// The ARN of the source resource.
	Source() *string
	SetSource(val *string)
	// The parameters required to set up a source for your pipe.
	SourceParameters() interface{}
	SetSourceParameters(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The list of key-value pairs to associate with the pipe.
	Tags() awscdk.TagManager
	// The ARN of the target resource.
	Target() *string
	SetTarget(val *string)
	// The parameters required to set up a target for your pipe.
	//
	// For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
	TargetParameters() interface{}
	SetTargetParameters(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::Pipes::Pipe`.

Create a pipe. Amazon EventBridge Pipes connect event sources to targets and reduces the need for specialized knowledge and integration code.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPipe := awscdk.Aws_pipes.NewCfnPipe(this, jsii.String("MyCfnPipe"), &CfnPipeProps{
	RoleArn: jsii.String("roleArn"),
	Source: jsii.String("source"),
	Target: jsii.String("target"),

	// the properties below are optional
	Description: jsii.String("description"),
	DesiredState: jsii.String("desiredState"),
	Enrichment: jsii.String("enrichment"),
	EnrichmentParameters: &PipeEnrichmentParametersProperty{
		HttpParameters: &PipeEnrichmentHttpParametersProperty{
			HeaderParameters: map[string]*string{
				"headerParametersKey": jsii.String("headerParameters"),
			},
			PathParameterValues: []*string{
				jsii.String("pathParameterValues"),
			},
			QueryStringParameters: map[string]*string{
				"queryStringParametersKey": jsii.String("queryStringParameters"),
			},
		},
		InputTemplate: jsii.String("inputTemplate"),
	},
	Name: jsii.String("name"),
	SourceParameters: &PipeSourceParametersProperty{
		ActiveMqBrokerParameters: &PipeSourceActiveMQBrokerParametersProperty{
			Credentials: &MQBrokerAccessCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
			},
			QueueName: jsii.String("queueName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
		},
		DynamoDbStreamParameters: &PipeSourceDynamoDBStreamParametersProperty{
			StartingPosition: jsii.String("startingPosition"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			DeadLetterConfig: &DeadLetterConfigProperty{
				Arn: jsii.String("arn"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			MaximumRecordAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
			OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
			ParallelizationFactor: jsii.Number(123),
		},
		FilterCriteria: &FilterCriteriaProperty{
			Filters: []interface{}{
				&FilterProperty{
					Pattern: jsii.String("pattern"),
				},
			},
		},
		KinesisStreamParameters: &PipeSourceKinesisStreamParametersProperty{
			StartingPosition: jsii.String("startingPosition"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			DeadLetterConfig: &DeadLetterConfigProperty{
				Arn: jsii.String("arn"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			MaximumRecordAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
			OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
			ParallelizationFactor: jsii.Number(123),
			StartingPositionTimestamp: jsii.String("startingPositionTimestamp"),
		},
		ManagedStreamingKafkaParameters: &PipeSourceManagedStreamingKafkaParametersProperty{
			TopicName: jsii.String("topicName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			ConsumerGroupId: jsii.String("consumerGroupId"),
			Credentials: &MSKAccessCredentialsProperty{
				ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
				SaslScram512Auth: jsii.String("saslScram512Auth"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			StartingPosition: jsii.String("startingPosition"),
		},
		RabbitMqBrokerParameters: &PipeSourceRabbitMQBrokerParametersProperty{
			Credentials: &MQBrokerAccessCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
			},
			QueueName: jsii.String("queueName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			VirtualHost: jsii.String("virtualHost"),
		},
		SelfManagedKafkaParameters: &PipeSourceSelfManagedKafkaParametersProperty{
			TopicName: jsii.String("topicName"),

			// the properties below are optional
			AdditionalBootstrapServers: []*string{
				jsii.String("additionalBootstrapServers"),
			},
			BatchSize: jsii.Number(123),
			ConsumerGroupId: jsii.String("consumerGroupId"),
			Credentials: &SelfManagedKafkaAccessConfigurationCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
				ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
				SaslScram256Auth: jsii.String("saslScram256Auth"),
				SaslScram512Auth: jsii.String("saslScram512Auth"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			ServerRootCaCertificate: jsii.String("serverRootCaCertificate"),
			StartingPosition: jsii.String("startingPosition"),
			Vpc: &SelfManagedKafkaAccessConfigurationVpcProperty{
				SecurityGroup: []*string{
					jsii.String("securityGroup"),
				},
				Subnets: []*string{
					jsii.String("subnets"),
				},
			},
		},
		SqsQueueParameters: &PipeSourceSqsQueueParametersProperty{
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
		},
	},
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TargetParameters: &PipeTargetParametersProperty{
		BatchJobParameters: &PipeTargetBatchJobParametersProperty{
			JobDefinition: jsii.String("jobDefinition"),
			JobName: jsii.String("jobName"),

			// the properties below are optional
			ArrayProperties: &BatchArrayPropertiesProperty{
				Size: jsii.Number(123),
			},
			ContainerOverrides: &BatchContainerOverridesProperty{
				Command: []*string{
					jsii.String("command"),
				},
				Environment: []interface{}{
					&BatchEnvironmentVariableProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				InstanceType: jsii.String("instanceType"),
				ResourceRequirements: []interface{}{
					&BatchResourceRequirementProperty{
						Type: jsii.String("type"),
						Value: jsii.String("value"),
					},
				},
			},
			DependsOn: []interface{}{
				&BatchJobDependencyProperty{
					JobId: jsii.String("jobId"),
					Type: jsii.String("type"),
				},
			},
			Parameters: map[string]*string{
				"parametersKey": jsii.String("parameters"),
			},
			RetryStrategy: &BatchRetryStrategyProperty{
				Attempts: jsii.Number(123),
			},
		},
		CloudWatchLogsParameters: &PipeTargetCloudWatchLogsParametersProperty{
			LogStreamName: jsii.String("logStreamName"),
			Timestamp: jsii.String("timestamp"),
		},
		EcsTaskParameters: &PipeTargetEcsTaskParametersProperty{
			TaskDefinitionArn: jsii.String("taskDefinitionArn"),

			// the properties below are optional
			CapacityProviderStrategy: []interface{}{
				&CapacityProviderStrategyItemProperty{
					CapacityProvider: jsii.String("capacityProvider"),

					// the properties below are optional
					Base: jsii.Number(123),
					Weight: jsii.Number(123),
				},
			},
			EnableEcsManagedTags: jsii.Boolean(false),
			EnableExecuteCommand: jsii.Boolean(false),
			Group: jsii.String("group"),
			LaunchType: jsii.String("launchType"),
			NetworkConfiguration: &NetworkConfigurationProperty{
				AwsvpcConfiguration: &AwsVpcConfigurationProperty{
					Subnets: []*string{
						jsii.String("subnets"),
					},

					// the properties below are optional
					AssignPublicIp: jsii.String("assignPublicIp"),
					SecurityGroups: []*string{
						jsii.String("securityGroups"),
					},
				},
			},
			Overrides: &EcsTaskOverrideProperty{
				ContainerOverrides: []interface{}{
					&EcsContainerOverrideProperty{
						Command: []*string{
							jsii.String("command"),
						},
						Cpu: jsii.Number(123),
						Environment: []interface{}{
							&EcsEnvironmentVariableProperty{
								Name: jsii.String("name"),
								Value: jsii.String("value"),
							},
						},
						EnvironmentFiles: []interface{}{
							&EcsEnvironmentFileProperty{
								Type: jsii.String("type"),
								Value: jsii.String("value"),
							},
						},
						Memory: jsii.Number(123),
						MemoryReservation: jsii.Number(123),
						Name: jsii.String("name"),
						ResourceRequirements: []interface{}{
							&EcsResourceRequirementProperty{
								Type: jsii.String("type"),
								Value: jsii.String("value"),
							},
						},
					},
				},
				Cpu: jsii.String("cpu"),
				EphemeralStorage: &EcsEphemeralStorageProperty{
					SizeInGiB: jsii.Number(123),
				},
				ExecutionRoleArn: jsii.String("executionRoleArn"),
				InferenceAcceleratorOverrides: []interface{}{
					&EcsInferenceAcceleratorOverrideProperty{
						DeviceName: jsii.String("deviceName"),
						DeviceType: jsii.String("deviceType"),
					},
				},
				Memory: jsii.String("memory"),
				TaskRoleArn: jsii.String("taskRoleArn"),
			},
			PlacementConstraints: []interface{}{
				&PlacementConstraintProperty{
					Expression: jsii.String("expression"),
					Type: jsii.String("type"),
				},
			},
			PlacementStrategy: []interface{}{
				&PlacementStrategyProperty{
					Field: jsii.String("field"),
					Type: jsii.String("type"),
				},
			},
			PlatformVersion: jsii.String("platformVersion"),
			PropagateTags: jsii.String("propagateTags"),
			ReferenceId: jsii.String("referenceId"),
			Tags: []cfnTag{
				&cfnTag{
					Key: jsii.String("key"),
					Value: jsii.String("value"),
				},
			},
			TaskCount: jsii.Number(123),
		},
		EventBridgeEventBusParameters: &PipeTargetEventBridgeEventBusParametersProperty{
			DetailType: jsii.String("detailType"),
			EndpointId: jsii.String("endpointId"),
			Resources: []*string{
				jsii.String("resources"),
			},
			Source: jsii.String("source"),
			Time: jsii.String("time"),
		},
		HttpParameters: &PipeTargetHttpParametersProperty{
			HeaderParameters: map[string]*string{
				"headerParametersKey": jsii.String("headerParameters"),
			},
			PathParameterValues: []*string{
				jsii.String("pathParameterValues"),
			},
			QueryStringParameters: map[string]*string{
				"queryStringParametersKey": jsii.String("queryStringParameters"),
			},
		},
		InputTemplate: jsii.String("inputTemplate"),
		KinesisStreamParameters: &PipeTargetKinesisStreamParametersProperty{
			PartitionKey: jsii.String("partitionKey"),
		},
		LambdaFunctionParameters: &PipeTargetLambdaFunctionParametersProperty{
			InvocationType: jsii.String("invocationType"),
		},
		RedshiftDataParameters: &PipeTargetRedshiftDataParametersProperty{
			Database: jsii.String("database"),
			Sqls: []*string{
				jsii.String("sqls"),
			},

			// the properties below are optional
			DbUser: jsii.String("dbUser"),
			SecretManagerArn: jsii.String("secretManagerArn"),
			StatementName: jsii.String("statementName"),
			WithEvent: jsii.Boolean(false),
		},
		SageMakerPipelineParameters: &PipeTargetSageMakerPipelineParametersProperty{
			PipelineParameterList: []interface{}{
				&SageMakerPipelineParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
		},
		SqsQueueParameters: &PipeTargetSqsQueueParametersProperty{
			MessageDeduplicationId: jsii.String("messageDeduplicationId"),
			MessageGroupId: jsii.String("messageGroupId"),
		},
		StepFunctionStateMachineParameters: &PipeTargetStateMachineParametersProperty{
			InvocationType: jsii.String("invocationType"),
		},
	},
})

func NewCfnPipe

func NewCfnPipe(scope constructs.Construct, id *string, props *CfnPipeProps) CfnPipe

Create a new `AWS::Pipes::Pipe`.

type CfnPipeProps

type CfnPipeProps struct {
	// The ARN of the role that allows the pipe to send data to the target.
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// The ARN of the source resource.
	Source *string `field:"required" json:"source" yaml:"source"`
	// The ARN of the target resource.
	Target *string `field:"required" json:"target" yaml:"target"`
	// A description of the pipe.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The state the pipe should be in.
	DesiredState *string `field:"optional" json:"desiredState" yaml:"desiredState"`
	// The ARN of the enrichment resource.
	Enrichment *string `field:"optional" json:"enrichment" yaml:"enrichment"`
	// The parameters required to set up enrichment on your pipe.
	EnrichmentParameters interface{} `field:"optional" json:"enrichmentParameters" yaml:"enrichmentParameters"`
	// The name of the pipe.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The parameters required to set up a source for your pipe.
	SourceParameters interface{} `field:"optional" json:"sourceParameters" yaml:"sourceParameters"`
	// The list of key-value pairs to associate with the pipe.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// The parameters required to set up a target for your pipe.
	//
	// For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .
	TargetParameters interface{} `field:"optional" json:"targetParameters" yaml:"targetParameters"`
}

Properties for defining a `CfnPipe`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnPipeProps := &CfnPipeProps{
	RoleArn: jsii.String("roleArn"),
	Source: jsii.String("source"),
	Target: jsii.String("target"),

	// the properties below are optional
	Description: jsii.String("description"),
	DesiredState: jsii.String("desiredState"),
	Enrichment: jsii.String("enrichment"),
	EnrichmentParameters: &PipeEnrichmentParametersProperty{
		HttpParameters: &PipeEnrichmentHttpParametersProperty{
			HeaderParameters: map[string]*string{
				"headerParametersKey": jsii.String("headerParameters"),
			},
			PathParameterValues: []*string{
				jsii.String("pathParameterValues"),
			},
			QueryStringParameters: map[string]*string{
				"queryStringParametersKey": jsii.String("queryStringParameters"),
			},
		},
		InputTemplate: jsii.String("inputTemplate"),
	},
	Name: jsii.String("name"),
	SourceParameters: &PipeSourceParametersProperty{
		ActiveMqBrokerParameters: &PipeSourceActiveMQBrokerParametersProperty{
			Credentials: &MQBrokerAccessCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
			},
			QueueName: jsii.String("queueName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
		},
		DynamoDbStreamParameters: &PipeSourceDynamoDBStreamParametersProperty{
			StartingPosition: jsii.String("startingPosition"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			DeadLetterConfig: &DeadLetterConfigProperty{
				Arn: jsii.String("arn"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			MaximumRecordAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
			OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
			ParallelizationFactor: jsii.Number(123),
		},
		FilterCriteria: &FilterCriteriaProperty{
			Filters: []interface{}{
				&FilterProperty{
					Pattern: jsii.String("pattern"),
				},
			},
		},
		KinesisStreamParameters: &PipeSourceKinesisStreamParametersProperty{
			StartingPosition: jsii.String("startingPosition"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			DeadLetterConfig: &DeadLetterConfigProperty{
				Arn: jsii.String("arn"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			MaximumRecordAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
			OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
			ParallelizationFactor: jsii.Number(123),
			StartingPositionTimestamp: jsii.String("startingPositionTimestamp"),
		},
		ManagedStreamingKafkaParameters: &PipeSourceManagedStreamingKafkaParametersProperty{
			TopicName: jsii.String("topicName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			ConsumerGroupId: jsii.String("consumerGroupId"),
			Credentials: &MSKAccessCredentialsProperty{
				ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
				SaslScram512Auth: jsii.String("saslScram512Auth"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			StartingPosition: jsii.String("startingPosition"),
		},
		RabbitMqBrokerParameters: &PipeSourceRabbitMQBrokerParametersProperty{
			Credentials: &MQBrokerAccessCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
			},
			QueueName: jsii.String("queueName"),

			// the properties below are optional
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			VirtualHost: jsii.String("virtualHost"),
		},
		SelfManagedKafkaParameters: &PipeSourceSelfManagedKafkaParametersProperty{
			TopicName: jsii.String("topicName"),

			// the properties below are optional
			AdditionalBootstrapServers: []*string{
				jsii.String("additionalBootstrapServers"),
			},
			BatchSize: jsii.Number(123),
			ConsumerGroupId: jsii.String("consumerGroupId"),
			Credentials: &SelfManagedKafkaAccessConfigurationCredentialsProperty{
				BasicAuth: jsii.String("basicAuth"),
				ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
				SaslScram256Auth: jsii.String("saslScram256Auth"),
				SaslScram512Auth: jsii.String("saslScram512Auth"),
			},
			MaximumBatchingWindowInSeconds: jsii.Number(123),
			ServerRootCaCertificate: jsii.String("serverRootCaCertificate"),
			StartingPosition: jsii.String("startingPosition"),
			Vpc: &SelfManagedKafkaAccessConfigurationVpcProperty{
				SecurityGroup: []*string{
					jsii.String("securityGroup"),
				},
				Subnets: []*string{
					jsii.String("subnets"),
				},
			},
		},
		SqsQueueParameters: &PipeSourceSqsQueueParametersProperty{
			BatchSize: jsii.Number(123),
			MaximumBatchingWindowInSeconds: jsii.Number(123),
		},
	},
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TargetParameters: &PipeTargetParametersProperty{
		BatchJobParameters: &PipeTargetBatchJobParametersProperty{
			JobDefinition: jsii.String("jobDefinition"),
			JobName: jsii.String("jobName"),

			// the properties below are optional
			ArrayProperties: &BatchArrayPropertiesProperty{
				Size: jsii.Number(123),
			},
			ContainerOverrides: &BatchContainerOverridesProperty{
				Command: []*string{
					jsii.String("command"),
				},
				Environment: []interface{}{
					&BatchEnvironmentVariableProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				InstanceType: jsii.String("instanceType"),
				ResourceRequirements: []interface{}{
					&BatchResourceRequirementProperty{
						Type: jsii.String("type"),
						Value: jsii.String("value"),
					},
				},
			},
			DependsOn: []interface{}{
				&BatchJobDependencyProperty{
					JobId: jsii.String("jobId"),
					Type: jsii.String("type"),
				},
			},
			Parameters: map[string]*string{
				"parametersKey": jsii.String("parameters"),
			},
			RetryStrategy: &BatchRetryStrategyProperty{
				Attempts: jsii.Number(123),
			},
		},
		CloudWatchLogsParameters: &PipeTargetCloudWatchLogsParametersProperty{
			LogStreamName: jsii.String("logStreamName"),
			Timestamp: jsii.String("timestamp"),
		},
		EcsTaskParameters: &PipeTargetEcsTaskParametersProperty{
			TaskDefinitionArn: jsii.String("taskDefinitionArn"),

			// the properties below are optional
			CapacityProviderStrategy: []interface{}{
				&CapacityProviderStrategyItemProperty{
					CapacityProvider: jsii.String("capacityProvider"),

					// the properties below are optional
					Base: jsii.Number(123),
					Weight: jsii.Number(123),
				},
			},
			EnableEcsManagedTags: jsii.Boolean(false),
			EnableExecuteCommand: jsii.Boolean(false),
			Group: jsii.String("group"),
			LaunchType: jsii.String("launchType"),
			NetworkConfiguration: &NetworkConfigurationProperty{
				AwsvpcConfiguration: &AwsVpcConfigurationProperty{
					Subnets: []*string{
						jsii.String("subnets"),
					},

					// the properties below are optional
					AssignPublicIp: jsii.String("assignPublicIp"),
					SecurityGroups: []*string{
						jsii.String("securityGroups"),
					},
				},
			},
			Overrides: &EcsTaskOverrideProperty{
				ContainerOverrides: []interface{}{
					&EcsContainerOverrideProperty{
						Command: []*string{
							jsii.String("command"),
						},
						Cpu: jsii.Number(123),
						Environment: []interface{}{
							&EcsEnvironmentVariableProperty{
								Name: jsii.String("name"),
								Value: jsii.String("value"),
							},
						},
						EnvironmentFiles: []interface{}{
							&EcsEnvironmentFileProperty{
								Type: jsii.String("type"),
								Value: jsii.String("value"),
							},
						},
						Memory: jsii.Number(123),
						MemoryReservation: jsii.Number(123),
						Name: jsii.String("name"),
						ResourceRequirements: []interface{}{
							&EcsResourceRequirementProperty{
								Type: jsii.String("type"),
								Value: jsii.String("value"),
							},
						},
					},
				},
				Cpu: jsii.String("cpu"),
				EphemeralStorage: &EcsEphemeralStorageProperty{
					SizeInGiB: jsii.Number(123),
				},
				ExecutionRoleArn: jsii.String("executionRoleArn"),
				InferenceAcceleratorOverrides: []interface{}{
					&EcsInferenceAcceleratorOverrideProperty{
						DeviceName: jsii.String("deviceName"),
						DeviceType: jsii.String("deviceType"),
					},
				},
				Memory: jsii.String("memory"),
				TaskRoleArn: jsii.String("taskRoleArn"),
			},
			PlacementConstraints: []interface{}{
				&PlacementConstraintProperty{
					Expression: jsii.String("expression"),
					Type: jsii.String("type"),
				},
			},
			PlacementStrategy: []interface{}{
				&PlacementStrategyProperty{
					Field: jsii.String("field"),
					Type: jsii.String("type"),
				},
			},
			PlatformVersion: jsii.String("platformVersion"),
			PropagateTags: jsii.String("propagateTags"),
			ReferenceId: jsii.String("referenceId"),
			Tags: []cfnTag{
				&cfnTag{
					Key: jsii.String("key"),
					Value: jsii.String("value"),
				},
			},
			TaskCount: jsii.Number(123),
		},
		EventBridgeEventBusParameters: &PipeTargetEventBridgeEventBusParametersProperty{
			DetailType: jsii.String("detailType"),
			EndpointId: jsii.String("endpointId"),
			Resources: []*string{
				jsii.String("resources"),
			},
			Source: jsii.String("source"),
			Time: jsii.String("time"),
		},
		HttpParameters: &PipeTargetHttpParametersProperty{
			HeaderParameters: map[string]*string{
				"headerParametersKey": jsii.String("headerParameters"),
			},
			PathParameterValues: []*string{
				jsii.String("pathParameterValues"),
			},
			QueryStringParameters: map[string]*string{
				"queryStringParametersKey": jsii.String("queryStringParameters"),
			},
		},
		InputTemplate: jsii.String("inputTemplate"),
		KinesisStreamParameters: &PipeTargetKinesisStreamParametersProperty{
			PartitionKey: jsii.String("partitionKey"),
		},
		LambdaFunctionParameters: &PipeTargetLambdaFunctionParametersProperty{
			InvocationType: jsii.String("invocationType"),
		},
		RedshiftDataParameters: &PipeTargetRedshiftDataParametersProperty{
			Database: jsii.String("database"),
			Sqls: []*string{
				jsii.String("sqls"),
			},

			// the properties below are optional
			DbUser: jsii.String("dbUser"),
			SecretManagerArn: jsii.String("secretManagerArn"),
			StatementName: jsii.String("statementName"),
			WithEvent: jsii.Boolean(false),
		},
		SageMakerPipelineParameters: &PipeTargetSageMakerPipelineParametersProperty{
			PipelineParameterList: []interface{}{
				&SageMakerPipelineParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
		},
		SqsQueueParameters: &PipeTargetSqsQueueParametersProperty{
			MessageDeduplicationId: jsii.String("messageDeduplicationId"),
			MessageGroupId: jsii.String("messageGroupId"),
		},
		StepFunctionStateMachineParameters: &PipeTargetStateMachineParametersProperty{
			InvocationType: jsii.String("invocationType"),
		},
	},
}

type CfnPipe_AwsVpcConfigurationProperty

type CfnPipe_AwsVpcConfigurationProperty struct {
	// Specifies the subnets associated with the task.
	//
	// These subnets must all be in the same VPC. You can specify as many as 16 subnets.
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
	// Specifies whether the task's elastic network interface receives a public IP address.
	//
	// You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .
	AssignPublicIp *string `field:"optional" json:"assignPublicIp" yaml:"assignPublicIp"`
	// Specifies the security groups associated with the task.
	//
	// These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
}

This structure specifies the VPC subnets and security groups for the task, and whether a public IP address is to be used.

This structure is relevant only for ECS tasks that use the `awsvpc` network mode.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

awsVpcConfigurationProperty := &AwsVpcConfigurationProperty{
	Subnets: []*string{
		jsii.String("subnets"),
	},

	// the properties below are optional
	AssignPublicIp: jsii.String("assignPublicIp"),
	SecurityGroups: []*string{
		jsii.String("securityGroups"),
	},
}

type CfnPipe_BatchArrayPropertiesProperty

type CfnPipe_BatchArrayPropertiesProperty struct {
	// The size of the array, if this is an array batch job.
	Size *float64 `field:"optional" json:"size" yaml:"size"`
}

The array properties for the submitted job, such as the size of the array.

The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchArrayPropertiesProperty := &BatchArrayPropertiesProperty{
	Size: jsii.Number(123),
}

type CfnPipe_BatchContainerOverridesProperty

type CfnPipe_BatchContainerOverridesProperty struct {
	// The command to send to the container that overrides the default command from the Docker image or the task definition.
	Command *[]*string `field:"optional" json:"command" yaml:"command"`
	// The environment variables to send to the container.
	//
	// You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.
	//
	// > Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// The instance type to use for a multi-node parallel job.
	//
	// > This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
	InstanceType *string `field:"optional" json:"instanceType" yaml:"instanceType"`
	// The type and amount of resources to assign to a container.
	//
	// This overrides the settings in the job definition. The supported resources include `GPU` , `MEMORY` , and `VCPU` .
	ResourceRequirements interface{} `field:"optional" json:"resourceRequirements" yaml:"resourceRequirements"`
}

The overrides that are sent to a container.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchContainerOverridesProperty := &BatchContainerOverridesProperty{
	Command: []*string{
		jsii.String("command"),
	},
	Environment: []interface{}{
		&BatchEnvironmentVariableProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
	InstanceType: jsii.String("instanceType"),
	ResourceRequirements: []interface{}{
		&BatchResourceRequirementProperty{
			Type: jsii.String("type"),
			Value: jsii.String("value"),
		},
	},
}

type CfnPipe_BatchEnvironmentVariableProperty

type CfnPipe_BatchEnvironmentVariableProperty struct {
	// The name of the key-value pair.
	//
	// For environment variables, this is the name of the environment variable.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The value of the key-value pair.
	//
	// For environment variables, this is the value of the environment variable.
	Value *string `field:"optional" json:"value" yaml:"value"`
}

The environment variables to send to the container.

You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.

> Environment variables cannot start with " `AWS Batch` ". This naming convention is reserved for variables that AWS Batch sets.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchEnvironmentVariableProperty := &BatchEnvironmentVariableProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

type CfnPipe_BatchJobDependencyProperty

type CfnPipe_BatchJobDependencyProperty struct {
	// The job ID of the AWS Batch job that's associated with this dependency.
	JobId *string `field:"optional" json:"jobId" yaml:"jobId"`
	// The type of the job dependency.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

An object that represents an AWS Batch job dependency.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchJobDependencyProperty := &BatchJobDependencyProperty{
	JobId: jsii.String("jobId"),
	Type: jsii.String("type"),
}

type CfnPipe_BatchResourceRequirementProperty

type CfnPipe_BatchResourceRequirementProperty struct {
	// The type of resource to assign to a container.
	//
	// The supported resources include `GPU` , `MEMORY` , and `VCPU` .
	Type *string `field:"required" json:"type" yaml:"type"`
	// The quantity of the specified resource to reserve for the container. The values vary based on the `type` specified.
	//
	// - **type="GPU"** - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.
	//
	// > GPUs aren't available for jobs that are running on Fargate resources.
	// - **type="MEMORY"** - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to `Memory` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/) and the `--memory` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/) . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to `Memory` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/) and the `--memory` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/) .
	//
	// > If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see [Memory management](https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) in the *AWS Batch User Guide* .
	//
	// For jobs that are running on Fargate resources, then `value` is the hard limit (in MiB), and must match one of the supported values and the `VCPU` values must be one of the values supported for that memory value.
	//
	// - **value = 512** - `VCPU` = 0.25
	// - **value = 1024** - `VCPU` = 0.25 or 0.5
	// - **value = 2048** - `VCPU` = 0.25, 0.5, or 1
	// - **value = 3072** - `VCPU` = 0.5, or 1
	// - **value = 4096** - `VCPU` = 0.5, 1, or 2
	// - **value = 5120, 6144, or 7168** - `VCPU` = 1 or 2
	// - **value = 8192** - `VCPU` = 1, 2, 4, or 8
	// - **value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360** - `VCPU` = 2 or 4
	// - **value = 16384** - `VCPU` = 2, 4, or 8
	// - **value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720** - `VCPU` = 4
	// - **value = 20480, 24576, or 28672** - `VCPU` = 4 or 8
	// - **value = 36864, 45056, 53248, or 61440** - `VCPU` = 8
	// - **value = 32768, 40960, 49152, or 57344** - `VCPU` = 8 or 16
	// - **value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880** - `VCPU` = 16
	// - **type="VCPU"** - The number of vCPUs reserved for the container. This parameter maps to `CpuShares` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/) and the `--cpu-shares` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/) . Each vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.
	//
	// The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see [AWS Fargate quotas](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html#service-quotas-fargate) in the *AWS General Reference* .
	//
	// For jobs that are running on Fargate resources, then `value` must match one of the supported values and the `MEMORY` values must be one of the values supported for that `VCPU` value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16
	//
	// - **value = 0.25** - `MEMORY` = 512, 1024, or 2048
	// - **value = 0.5** - `MEMORY` = 1024, 2048, 3072, or 4096
	// - **value = 1** - `MEMORY` = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
	// - **value = 2** - `MEMORY` = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
	// - **value = 4** - `MEMORY` = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
	// - **value = 8** - `MEMORY` = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
	// - **value = 16** - `MEMORY` = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880.
	Value *string `field:"required" json:"value" yaml:"value"`
}

The type and amount of a resource to assign to a container.

The supported resources include `GPU` , `MEMORY` , and `VCPU` .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchResourceRequirementProperty := &BatchResourceRequirementProperty{
	Type: jsii.String("type"),
	Value: jsii.String("value"),
}

type CfnPipe_BatchRetryStrategyProperty

type CfnPipe_BatchRetryStrategyProperty struct {
	// The number of times to move a job to the `RUNNABLE` status.
	//
	// If the value of `attempts` is greater than one, the job is retried on failure the same number of attempts as the value.
	Attempts *float64 `field:"optional" json:"attempts" yaml:"attempts"`
}

The retry strategy that's associated with a job.

For more information, see [Automated job retries](https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) in the *AWS Batch User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

batchRetryStrategyProperty := &BatchRetryStrategyProperty{
	Attempts: jsii.Number(123),
}

type CfnPipe_CapacityProviderStrategyItemProperty

type CfnPipe_CapacityProviderStrategyItemProperty struct {
	// The short name of the capacity provider.
	CapacityProvider *string `field:"required" json:"capacityProvider" yaml:"capacityProvider"`
	// The base value designates how many tasks, at a minimum, to run on the specified capacity provider.
	//
	// Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0 is used.
	Base *float64 `field:"optional" json:"base" yaml:"base"`
	// The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider.
	//
	// The weight value is taken into consideration after the base value, if defined, is satisfied.
	Weight *float64 `field:"optional" json:"weight" yaml:"weight"`
}

The details of a capacity provider strategy.

To learn more, see [CapacityProviderStrategyItem](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html) in the Amazon ECS API Reference.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

capacityProviderStrategyItemProperty := &CapacityProviderStrategyItemProperty{
	CapacityProvider: jsii.String("capacityProvider"),

	// the properties below are optional
	Base: jsii.Number(123),
	Weight: jsii.Number(123),
}

type CfnPipe_DeadLetterConfigProperty

type CfnPipe_DeadLetterConfigProperty struct {
	// The ARN of the Amazon SQS queue specified as the target for the dead-letter queue.
	Arn *string `field:"optional" json:"arn" yaml:"arn"`
}

A `DeadLetterConfig` object that contains information about a dead-letter queue configuration.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

deadLetterConfigProperty := &DeadLetterConfigProperty{
	Arn: jsii.String("arn"),
}

type CfnPipe_EcsContainerOverrideProperty

type CfnPipe_EcsContainerOverrideProperty struct {
	// The command to send to the container that overrides the default command from the Docker image or the task definition.
	//
	// You must also specify a container name.
	Command *[]*string `field:"optional" json:"command" yaml:"command"`
	// The number of `cpu` units reserved for the container, instead of the default value from the task definition.
	//
	// You must also specify a container name.
	Cpu *float64 `field:"optional" json:"cpu" yaml:"cpu"`
	// The environment variables to send to the container.
	//
	// You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. You must also specify a container name.
	Environment interface{} `field:"optional" json:"environment" yaml:"environment"`
	// A list of files containing the environment variables to pass to a container, instead of the value from the container definition.
	EnvironmentFiles interface{} `field:"optional" json:"environmentFiles" yaml:"environmentFiles"`
	// The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition.
	//
	// If your container attempts to exceed the memory specified here, the container is killed. You must also specify a container name.
	Memory *float64 `field:"optional" json:"memory" yaml:"memory"`
	// The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition.
	//
	// You must also specify a container name.
	MemoryReservation *float64 `field:"optional" json:"memoryReservation" yaml:"memoryReservation"`
	// The name of the container that receives the override.
	//
	// This parameter is required if any override is specified.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The type and amount of a resource to assign to a container, instead of the default value from the task definition.
	//
	// The only supported resource is a GPU.
	ResourceRequirements interface{} `field:"optional" json:"resourceRequirements" yaml:"resourceRequirements"`
}

The overrides that are sent to a container.

An empty container override can be passed in. An example of an empty container override is `{"containerOverrides": [ ] }` . If a non-empty container override is specified, the `name` parameter must be included.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsContainerOverrideProperty := &EcsContainerOverrideProperty{
	Command: []*string{
		jsii.String("command"),
	},
	Cpu: jsii.Number(123),
	Environment: []interface{}{
		&EcsEnvironmentVariableProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
	EnvironmentFiles: []interface{}{
		&EcsEnvironmentFileProperty{
			Type: jsii.String("type"),
			Value: jsii.String("value"),
		},
	},
	Memory: jsii.Number(123),
	MemoryReservation: jsii.Number(123),
	Name: jsii.String("name"),
	ResourceRequirements: []interface{}{
		&EcsResourceRequirementProperty{
			Type: jsii.String("type"),
			Value: jsii.String("value"),
		},
	},
}

type CfnPipe_EcsEnvironmentFileProperty

type CfnPipe_EcsEnvironmentFileProperty struct {
	// The file type to use.
	//
	// The only supported value is `s3` .
	Type *string `field:"required" json:"type" yaml:"type"`
	// The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.
	Value *string `field:"required" json:"value" yaml:"value"`
}

A list of files containing the environment variables to pass to a container.

You can specify up to ten environment files. The file must have a `.env` file extension. Each line in an environment file should contain an environment variable in `VARIABLE=VALUE` format. Lines beginning with `#` are treated as comments and are ignored. For more information about the environment variable file syntax, see [Declare default environment variables in file](https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/) .

If there are environment variables specified using the `environment` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying environment variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide* .

This parameter is only supported for tasks hosted on Fargate using the following platform versions:

- Linux platform version `1.4.0` or later. - Windows platform version `1.0.0` or later.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsEnvironmentFileProperty := &EcsEnvironmentFileProperty{
	Type: jsii.String("type"),
	Value: jsii.String("value"),
}

type CfnPipe_EcsEnvironmentVariableProperty

type CfnPipe_EcsEnvironmentVariableProperty struct {
	// The name of the key-value pair.
	//
	// For environment variables, this is the name of the environment variable.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The value of the key-value pair.
	//
	// For environment variables, this is the value of the environment variable.
	Value *string `field:"optional" json:"value" yaml:"value"`
}

The environment variables to send to the container.

You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. You must also specify a container name.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsEnvironmentVariableProperty := &EcsEnvironmentVariableProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

type CfnPipe_EcsEphemeralStorageProperty

type CfnPipe_EcsEphemeralStorageProperty struct {
	// The total amount, in GiB, of ephemeral storage to set for the task.
	//
	// The minimum supported value is `21` GiB and the maximum supported value is `200` GiB.
	SizeInGiB *float64 `field:"required" json:"sizeInGiB" yaml:"sizeInGiB"`
}

The amount of ephemeral storage to allocate for the task.

This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on Fargate . For more information, see [Fargate task storage](https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) in the *Amazon ECS User Guide for Fargate* .

> This parameter is only supported for tasks hosted on Fargate using Linux platform version `1.4.0` or later. This parameter is not supported for Windows containers on Fargate .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsEphemeralStorageProperty := &EcsEphemeralStorageProperty{
	SizeInGiB: jsii.Number(123),
}

type CfnPipe_EcsInferenceAcceleratorOverrideProperty

type CfnPipe_EcsInferenceAcceleratorOverrideProperty struct {
	// The Elastic Inference accelerator device name to override for the task.
	//
	// This parameter must match a `deviceName` specified in the task definition.
	DeviceName *string `field:"optional" json:"deviceName" yaml:"deviceName"`
	// The Elastic Inference accelerator type to use.
	DeviceType *string `field:"optional" json:"deviceType" yaml:"deviceType"`
}

Details on an Elastic Inference accelerator task override.

This parameter is used to override the Elastic Inference accelerator specified in the task definition. For more information, see [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/userguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsInferenceAcceleratorOverrideProperty := &EcsInferenceAcceleratorOverrideProperty{
	DeviceName: jsii.String("deviceName"),
	DeviceType: jsii.String("deviceType"),
}

type CfnPipe_EcsResourceRequirementProperty

type CfnPipe_EcsResourceRequirementProperty struct {
	// The type of resource to assign to a container.
	//
	// The supported values are `GPU` or `InferenceAccelerator` .
	Type *string `field:"required" json:"type" yaml:"type"`
	// The value for the specified resource type.
	//
	// If the `GPU` type is used, the value is the number of physical `GPUs` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on.
	//
	// If the `InferenceAccelerator` type is used, the `value` matches the `deviceName` for an InferenceAccelerator specified in a task definition.
	Value *string `field:"required" json:"value" yaml:"value"`
}

The type and amount of a resource to assign to a container.

The supported resource types are GPUs and Elastic Inference accelerators. For more information, see [Working with GPUs on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) or [Working with Amazon Elastic Inference on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html) in the *Amazon Elastic Container Service Developer Guide*

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsResourceRequirementProperty := &EcsResourceRequirementProperty{
	Type: jsii.String("type"),
	Value: jsii.String("value"),
}

type CfnPipe_EcsTaskOverrideProperty

type CfnPipe_EcsTaskOverrideProperty struct {
	// One or more container overrides that are sent to a task.
	ContainerOverrides interface{} `field:"optional" json:"containerOverrides" yaml:"containerOverrides"`
	// The cpu override for the task.
	Cpu *string `field:"optional" json:"cpu" yaml:"cpu"`
	// The ephemeral storage setting override for the task.
	//
	// > This parameter is only supported for tasks hosted on Fargate that use the following platform versions:
	// >
	// > - Linux platform version `1.4.0` or later.
	// > - Windows platform version `1.0.0` or later.
	EphemeralStorage interface{} `field:"optional" json:"ephemeralStorage" yaml:"ephemeralStorage"`
	// The Amazon Resource Name (ARN) of the task execution IAM role override for the task.
	//
	// For more information, see [Amazon ECS task execution IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) in the *Amazon Elastic Container Service Developer Guide* .
	ExecutionRoleArn *string `field:"optional" json:"executionRoleArn" yaml:"executionRoleArn"`
	// The Elastic Inference accelerator override for the task.
	InferenceAcceleratorOverrides interface{} `field:"optional" json:"inferenceAcceleratorOverrides" yaml:"inferenceAcceleratorOverrides"`
	// The memory override for the task.
	Memory *string `field:"optional" json:"memory" yaml:"memory"`
	// The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume.
	//
	// All containers in this task are granted the permissions that are specified in this role. For more information, see [IAM Role for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide* .
	TaskRoleArn *string `field:"optional" json:"taskRoleArn" yaml:"taskRoleArn"`
}

The overrides that are associated with a task.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ecsTaskOverrideProperty := &EcsTaskOverrideProperty{
	ContainerOverrides: []interface{}{
		&EcsContainerOverrideProperty{
			Command: []*string{
				jsii.String("command"),
			},
			Cpu: jsii.Number(123),
			Environment: []interface{}{
				&EcsEnvironmentVariableProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
			EnvironmentFiles: []interface{}{
				&EcsEnvironmentFileProperty{
					Type: jsii.String("type"),
					Value: jsii.String("value"),
				},
			},
			Memory: jsii.Number(123),
			MemoryReservation: jsii.Number(123),
			Name: jsii.String("name"),
			ResourceRequirements: []interface{}{
				&EcsResourceRequirementProperty{
					Type: jsii.String("type"),
					Value: jsii.String("value"),
				},
			},
		},
	},
	Cpu: jsii.String("cpu"),
	EphemeralStorage: &EcsEphemeralStorageProperty{
		SizeInGiB: jsii.Number(123),
	},
	ExecutionRoleArn: jsii.String("executionRoleArn"),
	InferenceAcceleratorOverrides: []interface{}{
		&EcsInferenceAcceleratorOverrideProperty{
			DeviceName: jsii.String("deviceName"),
			DeviceType: jsii.String("deviceType"),
		},
	},
	Memory: jsii.String("memory"),
	TaskRoleArn: jsii.String("taskRoleArn"),
}

type CfnPipe_FilterCriteriaProperty

type CfnPipe_FilterCriteriaProperty struct {
	// The event patterns.
	Filters interface{} `field:"optional" json:"filters" yaml:"filters"`
}

The collection of event patterns used to filter events.

For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the *Amazon EventBridge User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

filterCriteriaProperty := &FilterCriteriaProperty{
	Filters: []interface{}{
		&FilterProperty{
			Pattern: jsii.String("pattern"),
		},
	},
}

type CfnPipe_FilterProperty

type CfnPipe_FilterProperty struct {
	// The event pattern.
	Pattern *string `field:"optional" json:"pattern" yaml:"pattern"`
}

Filter events using an event pattern.

For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the *Amazon EventBridge User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

filterProperty := &FilterProperty{
	Pattern: jsii.String("pattern"),
}

type CfnPipe_MQBrokerAccessCredentialsProperty

type CfnPipe_MQBrokerAccessCredentialsProperty struct {
	// The ARN of the Secrets Manager secret.
	BasicAuth *string `field:"required" json:"basicAuth" yaml:"basicAuth"`
}

The AWS Secrets Manager secret that stores your broker credentials.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mQBrokerAccessCredentialsProperty := &MQBrokerAccessCredentialsProperty{
	BasicAuth: jsii.String("basicAuth"),
}

type CfnPipe_MSKAccessCredentialsProperty

type CfnPipe_MSKAccessCredentialsProperty struct {
	// The ARN of the Secrets Manager secret.
	ClientCertificateTlsAuth *string `field:"optional" json:"clientCertificateTlsAuth" yaml:"clientCertificateTlsAuth"`
	// The ARN of the Secrets Manager secret.
	SaslScram512Auth *string `field:"optional" json:"saslScram512Auth" yaml:"saslScram512Auth"`
}

The AWS Secrets Manager secret that stores your stream credentials.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mSKAccessCredentialsProperty := &MSKAccessCredentialsProperty{
	ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
	SaslScram512Auth: jsii.String("saslScram512Auth"),
}

type CfnPipe_NetworkConfigurationProperty

type CfnPipe_NetworkConfigurationProperty struct {
	// Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used.
	//
	// This structure is relevant only for ECS tasks that use the `awsvpc` network mode.
	AwsvpcConfiguration interface{} `field:"optional" json:"awsvpcConfiguration" yaml:"awsvpcConfiguration"`
}

This structure specifies the network configuration for an Amazon ECS task.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

networkConfigurationProperty := &NetworkConfigurationProperty{
	AwsvpcConfiguration: &AwsVpcConfigurationProperty{
		Subnets: []*string{
			jsii.String("subnets"),
		},

		// the properties below are optional
		AssignPublicIp: jsii.String("assignPublicIp"),
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
	},
}

type CfnPipe_PipeEnrichmentHttpParametersProperty

type CfnPipe_PipeEnrichmentHttpParametersProperty struct {
	// The headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
	HeaderParameters interface{} `field:"optional" json:"headerParameters" yaml:"headerParameters"`
	// The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards ("*").
	PathParameterValues *[]*string `field:"optional" json:"pathParameterValues" yaml:"pathParameterValues"`
	// The query string keys/values that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
	QueryStringParameters interface{} `field:"optional" json:"queryStringParameters" yaml:"queryStringParameters"`
}

These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.

In the latter case, these are merged with any InvocationParameters specified on the Connection, with any values from the Connection taking precedence.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeEnrichmentHttpParametersProperty := &PipeEnrichmentHttpParametersProperty{
	HeaderParameters: map[string]*string{
		"headerParametersKey": jsii.String("headerParameters"),
	},
	PathParameterValues: []*string{
		jsii.String("pathParameterValues"),
	},
	QueryStringParameters: map[string]*string{
		"queryStringParametersKey": jsii.String("queryStringParameters"),
	},
}

type CfnPipe_PipeEnrichmentParametersProperty

type CfnPipe_PipeEnrichmentParametersProperty struct {
	// Contains the HTTP parameters to use when the target is a API Gateway REST endpoint or EventBridge ApiDestination.
	//
	// If you specify an API Gateway REST API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.
	HttpParameters interface{} `field:"optional" json:"httpParameters" yaml:"httpParameters"`
	// Valid JSON text passed to the enrichment.
	//
	// In this case, nothing from the event itself is passed to the enrichment. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .
	InputTemplate *string `field:"optional" json:"inputTemplate" yaml:"inputTemplate"`
}

The parameters required to set up enrichment on your pipe.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeEnrichmentParametersProperty := &PipeEnrichmentParametersProperty{
	HttpParameters: &PipeEnrichmentHttpParametersProperty{
		HeaderParameters: map[string]*string{
			"headerParametersKey": jsii.String("headerParameters"),
		},
		PathParameterValues: []*string{
			jsii.String("pathParameterValues"),
		},
		QueryStringParameters: map[string]*string{
			"queryStringParametersKey": jsii.String("queryStringParameters"),
		},
	},
	InputTemplate: jsii.String("inputTemplate"),
}

type CfnPipe_PipeSourceActiveMQBrokerParametersProperty

type CfnPipe_PipeSourceActiveMQBrokerParametersProperty struct {
	// The credentials needed to access the resource.
	Credentials interface{} `field:"required" json:"credentials" yaml:"credentials"`
	// The name of the destination queue to consume.
	QueueName *string `field:"required" json:"queueName" yaml:"queueName"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
}

The parameters for using an Active MQ broker as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceActiveMQBrokerParametersProperty := &PipeSourceActiveMQBrokerParametersProperty{
	Credentials: &MQBrokerAccessCredentialsProperty{
		BasicAuth: jsii.String("basicAuth"),
	},
	QueueName: jsii.String("queueName"),

	// the properties below are optional
	BatchSize: jsii.Number(123),
	MaximumBatchingWindowInSeconds: jsii.Number(123),
}

type CfnPipe_PipeSourceDynamoDBStreamParametersProperty

type CfnPipe_PipeSourceDynamoDBStreamParametersProperty struct {
	// (Streams only) The position in a stream from which to start reading.
	//
	// *Valid values* : `TRIM_HORIZON | LATEST`.
	StartingPosition *string `field:"required" json:"startingPosition" yaml:"startingPosition"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// Define the target queue to send dead-letter queue events to.
	DeadLetterConfig interface{} `field:"optional" json:"deadLetterConfig" yaml:"deadLetterConfig"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// (Streams only) Discard records older than the specified age.
	//
	// The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records.
	MaximumRecordAgeInSeconds *float64 `field:"optional" json:"maximumRecordAgeInSeconds" yaml:"maximumRecordAgeInSeconds"`
	// (Streams only) Discard records after the specified number of retries.
	//
	// The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.
	MaximumRetryAttempts *float64 `field:"optional" json:"maximumRetryAttempts" yaml:"maximumRetryAttempts"`
	// (Streams only) Define how to handle item process failures.
	//
	// `AUTOMATIC_BISECT` halves each batch and retry each half until all the records are processed or there is one failed message left in the batch.
	OnPartialBatchItemFailure *string `field:"optional" json:"onPartialBatchItemFailure" yaml:"onPartialBatchItemFailure"`
	// (Streams only) The number of batches to process concurrently from each shard.
	//
	// The default value is 1.
	ParallelizationFactor *float64 `field:"optional" json:"parallelizationFactor" yaml:"parallelizationFactor"`
}

The parameters for using a DynamoDB stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceDynamoDBStreamParametersProperty := &PipeSourceDynamoDBStreamParametersProperty{
	StartingPosition: jsii.String("startingPosition"),

	// the properties below are optional
	BatchSize: jsii.Number(123),
	DeadLetterConfig: &DeadLetterConfigProperty{
		Arn: jsii.String("arn"),
	},
	MaximumBatchingWindowInSeconds: jsii.Number(123),
	MaximumRecordAgeInSeconds: jsii.Number(123),
	MaximumRetryAttempts: jsii.Number(123),
	OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
	ParallelizationFactor: jsii.Number(123),
}

type CfnPipe_PipeSourceKinesisStreamParametersProperty

type CfnPipe_PipeSourceKinesisStreamParametersProperty struct {
	// (Streams only) The position in a stream from which to start reading.
	StartingPosition *string `field:"required" json:"startingPosition" yaml:"startingPosition"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// Define the target queue to send dead-letter queue events to.
	DeadLetterConfig interface{} `field:"optional" json:"deadLetterConfig" yaml:"deadLetterConfig"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// (Streams only) Discard records older than the specified age.
	//
	// The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, EventBridge never discards old records.
	MaximumRecordAgeInSeconds *float64 `field:"optional" json:"maximumRecordAgeInSeconds" yaml:"maximumRecordAgeInSeconds"`
	// (Streams only) Discard records after the specified number of retries.
	//
	// The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, EventBridge retries failed records until the record expires in the event source.
	MaximumRetryAttempts *float64 `field:"optional" json:"maximumRetryAttempts" yaml:"maximumRetryAttempts"`
	// (Streams only) Define how to handle item process failures.
	//
	// `AUTOMATIC_BISECT` halves each batch and retry each half until all the records are processed or there is one failed message left in the batch.
	OnPartialBatchItemFailure *string `field:"optional" json:"onPartialBatchItemFailure" yaml:"onPartialBatchItemFailure"`
	// (Streams only) The number of batches to process concurrently from each shard.
	//
	// The default value is 1.
	ParallelizationFactor *float64 `field:"optional" json:"parallelizationFactor" yaml:"parallelizationFactor"`
	// With `StartingPosition` set to `AT_TIMESTAMP` , the time from which to start reading, in Unix time seconds.
	StartingPositionTimestamp *string `field:"optional" json:"startingPositionTimestamp" yaml:"startingPositionTimestamp"`
}

The parameters for using a Kinesis stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceKinesisStreamParametersProperty := &PipeSourceKinesisStreamParametersProperty{
	StartingPosition: jsii.String("startingPosition"),

	// the properties below are optional
	BatchSize: jsii.Number(123),
	DeadLetterConfig: &DeadLetterConfigProperty{
		Arn: jsii.String("arn"),
	},
	MaximumBatchingWindowInSeconds: jsii.Number(123),
	MaximumRecordAgeInSeconds: jsii.Number(123),
	MaximumRetryAttempts: jsii.Number(123),
	OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
	ParallelizationFactor: jsii.Number(123),
	StartingPositionTimestamp: jsii.String("startingPositionTimestamp"),
}

type CfnPipe_PipeSourceManagedStreamingKafkaParametersProperty

type CfnPipe_PipeSourceManagedStreamingKafkaParametersProperty struct {
	// The name of the topic that the pipe will read from.
	TopicName *string `field:"required" json:"topicName" yaml:"topicName"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// The name of the destination queue to consume.
	ConsumerGroupId *string `field:"optional" json:"consumerGroupId" yaml:"consumerGroupId"`
	// The credentials needed to access the resource.
	Credentials interface{} `field:"optional" json:"credentials" yaml:"credentials"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// (Streams only) The position in a stream from which to start reading.
	StartingPosition *string `field:"optional" json:"startingPosition" yaml:"startingPosition"`
}

The parameters for using an MSK stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceManagedStreamingKafkaParametersProperty := &PipeSourceManagedStreamingKafkaParametersProperty{
	TopicName: jsii.String("topicName"),

	// the properties below are optional
	BatchSize: jsii.Number(123),
	ConsumerGroupId: jsii.String("consumerGroupId"),
	Credentials: &MSKAccessCredentialsProperty{
		ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
		SaslScram512Auth: jsii.String("saslScram512Auth"),
	},
	MaximumBatchingWindowInSeconds: jsii.Number(123),
	StartingPosition: jsii.String("startingPosition"),
}

type CfnPipe_PipeSourceParametersProperty

type CfnPipe_PipeSourceParametersProperty struct {
	// The parameters for using an Active MQ broker as a source.
	ActiveMqBrokerParameters interface{} `field:"optional" json:"activeMqBrokerParameters" yaml:"activeMqBrokerParameters"`
	// The parameters for using a DynamoDB stream as a source.
	DynamoDbStreamParameters interface{} `field:"optional" json:"dynamoDbStreamParameters" yaml:"dynamoDbStreamParameters"`
	// The collection of event patterns used to filter events.
	//
	// For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the *Amazon EventBridge User Guide* .
	FilterCriteria interface{} `field:"optional" json:"filterCriteria" yaml:"filterCriteria"`
	// The parameters for using a Kinesis stream as a source.
	KinesisStreamParameters interface{} `field:"optional" json:"kinesisStreamParameters" yaml:"kinesisStreamParameters"`
	// The parameters for using an MSK stream as a source.
	ManagedStreamingKafkaParameters interface{} `field:"optional" json:"managedStreamingKafkaParameters" yaml:"managedStreamingKafkaParameters"`
	// The parameters for using a Rabbit MQ broker as a source.
	RabbitMqBrokerParameters interface{} `field:"optional" json:"rabbitMqBrokerParameters" yaml:"rabbitMqBrokerParameters"`
	// The parameters for using a self-managed Apache Kafka stream as a source.
	SelfManagedKafkaParameters interface{} `field:"optional" json:"selfManagedKafkaParameters" yaml:"selfManagedKafkaParameters"`
	// The parameters for using a Amazon SQS stream as a source.
	SqsQueueParameters interface{} `field:"optional" json:"sqsQueueParameters" yaml:"sqsQueueParameters"`
}

The parameters required to set up a source for your pipe.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceParametersProperty := &PipeSourceParametersProperty{
	ActiveMqBrokerParameters: &PipeSourceActiveMQBrokerParametersProperty{
		Credentials: &MQBrokerAccessCredentialsProperty{
			BasicAuth: jsii.String("basicAuth"),
		},
		QueueName: jsii.String("queueName"),

		// the properties below are optional
		BatchSize: jsii.Number(123),
		MaximumBatchingWindowInSeconds: jsii.Number(123),
	},
	DynamoDbStreamParameters: &PipeSourceDynamoDBStreamParametersProperty{
		StartingPosition: jsii.String("startingPosition"),

		// the properties below are optional
		BatchSize: jsii.Number(123),
		DeadLetterConfig: &DeadLetterConfigProperty{
			Arn: jsii.String("arn"),
		},
		MaximumBatchingWindowInSeconds: jsii.Number(123),
		MaximumRecordAgeInSeconds: jsii.Number(123),
		MaximumRetryAttempts: jsii.Number(123),
		OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
		ParallelizationFactor: jsii.Number(123),
	},
	FilterCriteria: &FilterCriteriaProperty{
		Filters: []interface{}{
			&FilterProperty{
				Pattern: jsii.String("pattern"),
			},
		},
	},
	KinesisStreamParameters: &PipeSourceKinesisStreamParametersProperty{
		StartingPosition: jsii.String("startingPosition"),

		// the properties below are optional
		BatchSize: jsii.Number(123),
		DeadLetterConfig: &DeadLetterConfigProperty{
			Arn: jsii.String("arn"),
		},
		MaximumBatchingWindowInSeconds: jsii.Number(123),
		MaximumRecordAgeInSeconds: jsii.Number(123),
		MaximumRetryAttempts: jsii.Number(123),
		OnPartialBatchItemFailure: jsii.String("onPartialBatchItemFailure"),
		ParallelizationFactor: jsii.Number(123),
		StartingPositionTimestamp: jsii.String("startingPositionTimestamp"),
	},
	ManagedStreamingKafkaParameters: &PipeSourceManagedStreamingKafkaParametersProperty{
		TopicName: jsii.String("topicName"),

		// the properties below are optional
		BatchSize: jsii.Number(123),
		ConsumerGroupId: jsii.String("consumerGroupId"),
		Credentials: &MSKAccessCredentialsProperty{
			ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
			SaslScram512Auth: jsii.String("saslScram512Auth"),
		},
		MaximumBatchingWindowInSeconds: jsii.Number(123),
		StartingPosition: jsii.String("startingPosition"),
	},
	RabbitMqBrokerParameters: &PipeSourceRabbitMQBrokerParametersProperty{
		Credentials: &MQBrokerAccessCredentialsProperty{
			BasicAuth: jsii.String("basicAuth"),
		},
		QueueName: jsii.String("queueName"),

		// the properties below are optional
		BatchSize: jsii.Number(123),
		MaximumBatchingWindowInSeconds: jsii.Number(123),
		VirtualHost: jsii.String("virtualHost"),
	},
	SelfManagedKafkaParameters: &PipeSourceSelfManagedKafkaParametersProperty{
		TopicName: jsii.String("topicName"),

		// the properties below are optional
		AdditionalBootstrapServers: []*string{
			jsii.String("additionalBootstrapServers"),
		},
		BatchSize: jsii.Number(123),
		ConsumerGroupId: jsii.String("consumerGroupId"),
		Credentials: &SelfManagedKafkaAccessConfigurationCredentialsProperty{
			BasicAuth: jsii.String("basicAuth"),
			ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
			SaslScram256Auth: jsii.String("saslScram256Auth"),
			SaslScram512Auth: jsii.String("saslScram512Auth"),
		},
		MaximumBatchingWindowInSeconds: jsii.Number(123),
		ServerRootCaCertificate: jsii.String("serverRootCaCertificate"),
		StartingPosition: jsii.String("startingPosition"),
		Vpc: &SelfManagedKafkaAccessConfigurationVpcProperty{
			SecurityGroup: []*string{
				jsii.String("securityGroup"),
			},
			Subnets: []*string{
				jsii.String("subnets"),
			},
		},
	},
	SqsQueueParameters: &PipeSourceSqsQueueParametersProperty{
		BatchSize: jsii.Number(123),
		MaximumBatchingWindowInSeconds: jsii.Number(123),
	},
}

type CfnPipe_PipeSourceRabbitMQBrokerParametersProperty

type CfnPipe_PipeSourceRabbitMQBrokerParametersProperty struct {
	// The credentials needed to access the resource.
	Credentials interface{} `field:"required" json:"credentials" yaml:"credentials"`
	// The name of the destination queue to consume.
	QueueName *string `field:"required" json:"queueName" yaml:"queueName"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// The name of the virtual host associated with the source broker.
	VirtualHost *string `field:"optional" json:"virtualHost" yaml:"virtualHost"`
}

The parameters for using a Rabbit MQ broker as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceRabbitMQBrokerParametersProperty := &PipeSourceRabbitMQBrokerParametersProperty{
	Credentials: &MQBrokerAccessCredentialsProperty{
		BasicAuth: jsii.String("basicAuth"),
	},
	QueueName: jsii.String("queueName"),

	// the properties below are optional
	BatchSize: jsii.Number(123),
	MaximumBatchingWindowInSeconds: jsii.Number(123),
	VirtualHost: jsii.String("virtualHost"),
}

type CfnPipe_PipeSourceSelfManagedKafkaParametersProperty

type CfnPipe_PipeSourceSelfManagedKafkaParametersProperty struct {
	// The name of the topic that the pipe will read from.
	TopicName *string `field:"required" json:"topicName" yaml:"topicName"`
	// An array of server URLs.
	AdditionalBootstrapServers *[]*string `field:"optional" json:"additionalBootstrapServers" yaml:"additionalBootstrapServers"`
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// The name of the destination queue to consume.
	ConsumerGroupId *string `field:"optional" json:"consumerGroupId" yaml:"consumerGroupId"`
	// The credentials needed to access the resource.
	Credentials interface{} `field:"optional" json:"credentials" yaml:"credentials"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
	// The ARN of the Secrets Manager secret used for certification.
	ServerRootCaCertificate *string `field:"optional" json:"serverRootCaCertificate" yaml:"serverRootCaCertificate"`
	// (Streams only) The position in a stream from which to start reading.
	StartingPosition *string `field:"optional" json:"startingPosition" yaml:"startingPosition"`
	// This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.
	Vpc interface{} `field:"optional" json:"vpc" yaml:"vpc"`
}

The parameters for using a self-managed Apache Kafka stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceSelfManagedKafkaParametersProperty := &PipeSourceSelfManagedKafkaParametersProperty{
	TopicName: jsii.String("topicName"),

	// the properties below are optional
	AdditionalBootstrapServers: []*string{
		jsii.String("additionalBootstrapServers"),
	},
	BatchSize: jsii.Number(123),
	ConsumerGroupId: jsii.String("consumerGroupId"),
	Credentials: &SelfManagedKafkaAccessConfigurationCredentialsProperty{
		BasicAuth: jsii.String("basicAuth"),
		ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
		SaslScram256Auth: jsii.String("saslScram256Auth"),
		SaslScram512Auth: jsii.String("saslScram512Auth"),
	},
	MaximumBatchingWindowInSeconds: jsii.Number(123),
	ServerRootCaCertificate: jsii.String("serverRootCaCertificate"),
	StartingPosition: jsii.String("startingPosition"),
	Vpc: &SelfManagedKafkaAccessConfigurationVpcProperty{
		SecurityGroup: []*string{
			jsii.String("securityGroup"),
		},
		Subnets: []*string{
			jsii.String("subnets"),
		},
	},
}

type CfnPipe_PipeSourceSqsQueueParametersProperty

type CfnPipe_PipeSourceSqsQueueParametersProperty struct {
	// The maximum number of records to include in each batch.
	BatchSize *float64 `field:"optional" json:"batchSize" yaml:"batchSize"`
	// The maximum length of a time to wait for events.
	MaximumBatchingWindowInSeconds *float64 `field:"optional" json:"maximumBatchingWindowInSeconds" yaml:"maximumBatchingWindowInSeconds"`
}

The parameters for using a Amazon SQS stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeSourceSqsQueueParametersProperty := &PipeSourceSqsQueueParametersProperty{
	BatchSize: jsii.Number(123),
	MaximumBatchingWindowInSeconds: jsii.Number(123),
}

type CfnPipe_PipeTargetBatchJobParametersProperty

type CfnPipe_PipeTargetBatchJobParametersProperty struct {
	// The job definition used by this job.
	//
	// This value can be one of `name` , `name:revision` , or the Amazon Resource Name (ARN) for the job definition. If name is specified without a revision then the latest active revision is used.
	JobDefinition *string `field:"required" json:"jobDefinition" yaml:"jobDefinition"`
	// The name of the job.
	//
	// It can be up to 128 letters long. The first character must be alphanumeric, can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
	JobName *string `field:"required" json:"jobName" yaml:"jobName"`
	// The array properties for the submitted job, such as the size of the array.
	//
	// The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.
	ArrayProperties interface{} `field:"optional" json:"arrayProperties" yaml:"arrayProperties"`
	// The overrides that are sent to a container.
	ContainerOverrides interface{} `field:"optional" json:"containerOverrides" yaml:"containerOverrides"`
	// A list of dependencies for the job.
	//
	// A job can depend upon a maximum of 20 jobs. You can specify a `SEQUENTIAL` type dependency without specifying a job ID for array jobs so that each child array job completes sequentially, starting at index 0. You can also specify an `N_TO_N` type dependency with a job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each dependency to complete before it can begin.
	DependsOn interface{} `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition.
	//
	// Parameters are specified as a key and value pair mapping. Parameters included here override any corresponding parameter defaults from the job definition.
	Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
	// The retry strategy to use for failed jobs.
	//
	// When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.
	RetryStrategy interface{} `field:"optional" json:"retryStrategy" yaml:"retryStrategy"`
}

The parameters for using an AWS Batch job as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetBatchJobParametersProperty := &PipeTargetBatchJobParametersProperty{
	JobDefinition: jsii.String("jobDefinition"),
	JobName: jsii.String("jobName"),

	// the properties below are optional
	ArrayProperties: &BatchArrayPropertiesProperty{
		Size: jsii.Number(123),
	},
	ContainerOverrides: &BatchContainerOverridesProperty{
		Command: []*string{
			jsii.String("command"),
		},
		Environment: []interface{}{
			&BatchEnvironmentVariableProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
		InstanceType: jsii.String("instanceType"),
		ResourceRequirements: []interface{}{
			&BatchResourceRequirementProperty{
				Type: jsii.String("type"),
				Value: jsii.String("value"),
			},
		},
	},
	DependsOn: []interface{}{
		&BatchJobDependencyProperty{
			JobId: jsii.String("jobId"),
			Type: jsii.String("type"),
		},
	},
	Parameters: map[string]*string{
		"parametersKey": jsii.String("parameters"),
	},
	RetryStrategy: &BatchRetryStrategyProperty{
		Attempts: jsii.Number(123),
	},
}

type CfnPipe_PipeTargetCloudWatchLogsParametersProperty

type CfnPipe_PipeTargetCloudWatchLogsParametersProperty struct {
	// The name of the log stream.
	LogStreamName *string `field:"optional" json:"logStreamName" yaml:"logStreamName"`
	// The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.
	Timestamp *string `field:"optional" json:"timestamp" yaml:"timestamp"`
}

The parameters for using an CloudWatch Logs log stream as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetCloudWatchLogsParametersProperty := &PipeTargetCloudWatchLogsParametersProperty{
	LogStreamName: jsii.String("logStreamName"),
	Timestamp: jsii.String("timestamp"),
}

type CfnPipe_PipeTargetEcsTaskParametersProperty

type CfnPipe_PipeTargetEcsTaskParametersProperty struct {
	// The ARN of the task definition to use if the event target is an Amazon ECS task.
	TaskDefinitionArn *string `field:"required" json:"taskDefinitionArn" yaml:"taskDefinitionArn"`
	// The capacity provider strategy to use for the task.
	//
	// If a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.
	CapacityProviderStrategy interface{} `field:"optional" json:"capacityProviderStrategy" yaml:"capacityProviderStrategy"`
	// Specifies whether to enable Amazon ECS managed tags for the task.
	//
	// For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.
	EnableEcsManagedTags interface{} `field:"optional" json:"enableEcsManagedTags" yaml:"enableEcsManagedTags"`
	// Whether or not to enable the execute command functionality for the containers in this task.
	//
	// If true, this enables execute command functionality on all containers in the task.
	EnableExecuteCommand interface{} `field:"optional" json:"enableExecuteCommand" yaml:"enableExecuteCommand"`
	// Specifies an Amazon ECS task group for the task.
	//
	// The maximum length is 255 characters.
	Group *string `field:"optional" json:"group" yaml:"group"`
	// Specifies the launch type on which your task is running.
	//
	// The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .
	LaunchType *string `field:"optional" json:"launchType" yaml:"launchType"`
	// Use this structure if the Amazon ECS task uses the `awsvpc` network mode.
	//
	// This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.
	//
	// If you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.
	NetworkConfiguration interface{} `field:"optional" json:"networkConfiguration" yaml:"networkConfiguration"`
	// The overrides that are associated with a task.
	Overrides interface{} `field:"optional" json:"overrides" yaml:"overrides"`
	// An array of placement constraint objects to use for the task.
	//
	// You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
	PlacementConstraints interface{} `field:"optional" json:"placementConstraints" yaml:"placementConstraints"`
	// The placement strategy objects to use for the task.
	//
	// You can specify a maximum of five strategy rules per task.
	PlacementStrategy interface{} `field:"optional" json:"placementStrategy" yaml:"placementStrategy"`
	// Specifies the platform version for the task.
	//
	// Specify only the numeric portion of the platform version, such as `1.1.0` .
	//
	// This structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .
	PlatformVersion *string `field:"optional" json:"platformVersion" yaml:"platformVersion"`
	// Specifies whether to propagate the tags from the task definition to the task.
	//
	// If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the `TagResource` API action.
	PropagateTags *string `field:"optional" json:"propagateTags" yaml:"propagateTags"`
	// The reference ID to use for the task.
	ReferenceId *string `field:"optional" json:"referenceId" yaml:"referenceId"`
	// The metadata that you apply to the task to help you categorize and organize them.
	//
	// Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The number of tasks to create based on `TaskDefinition` .
	//
	// The default is 1.
	TaskCount *float64 `field:"optional" json:"taskCount" yaml:"taskCount"`
}

The parameters for using an Amazon ECS task as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetEcsTaskParametersProperty := &PipeTargetEcsTaskParametersProperty{
	TaskDefinitionArn: jsii.String("taskDefinitionArn"),

	// the properties below are optional
	CapacityProviderStrategy: []interface{}{
		&CapacityProviderStrategyItemProperty{
			CapacityProvider: jsii.String("capacityProvider"),

			// the properties below are optional
			Base: jsii.Number(123),
			Weight: jsii.Number(123),
		},
	},
	EnableEcsManagedTags: jsii.Boolean(false),
	EnableExecuteCommand: jsii.Boolean(false),
	Group: jsii.String("group"),
	LaunchType: jsii.String("launchType"),
	NetworkConfiguration: &NetworkConfigurationProperty{
		AwsvpcConfiguration: &AwsVpcConfigurationProperty{
			Subnets: []*string{
				jsii.String("subnets"),
			},

			// the properties below are optional
			AssignPublicIp: jsii.String("assignPublicIp"),
			SecurityGroups: []*string{
				jsii.String("securityGroups"),
			},
		},
	},
	Overrides: &EcsTaskOverrideProperty{
		ContainerOverrides: []interface{}{
			&EcsContainerOverrideProperty{
				Command: []*string{
					jsii.String("command"),
				},
				Cpu: jsii.Number(123),
				Environment: []interface{}{
					&EcsEnvironmentVariableProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				EnvironmentFiles: []interface{}{
					&EcsEnvironmentFileProperty{
						Type: jsii.String("type"),
						Value: jsii.String("value"),
					},
				},
				Memory: jsii.Number(123),
				MemoryReservation: jsii.Number(123),
				Name: jsii.String("name"),
				ResourceRequirements: []interface{}{
					&EcsResourceRequirementProperty{
						Type: jsii.String("type"),
						Value: jsii.String("value"),
					},
				},
			},
		},
		Cpu: jsii.String("cpu"),
		EphemeralStorage: &EcsEphemeralStorageProperty{
			SizeInGiB: jsii.Number(123),
		},
		ExecutionRoleArn: jsii.String("executionRoleArn"),
		InferenceAcceleratorOverrides: []interface{}{
			&EcsInferenceAcceleratorOverrideProperty{
				DeviceName: jsii.String("deviceName"),
				DeviceType: jsii.String("deviceType"),
			},
		},
		Memory: jsii.String("memory"),
		TaskRoleArn: jsii.String("taskRoleArn"),
	},
	PlacementConstraints: []interface{}{
		&PlacementConstraintProperty{
			Expression: jsii.String("expression"),
			Type: jsii.String("type"),
		},
	},
	PlacementStrategy: []interface{}{
		&PlacementStrategyProperty{
			Field: jsii.String("field"),
			Type: jsii.String("type"),
		},
	},
	PlatformVersion: jsii.String("platformVersion"),
	PropagateTags: jsii.String("propagateTags"),
	ReferenceId: jsii.String("referenceId"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TaskCount: jsii.Number(123),
}

type CfnPipe_PipeTargetEventBridgeEventBusParametersProperty

type CfnPipe_PipeTargetEventBridgeEventBusParametersProperty struct {
	// A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.
	DetailType *string `field:"optional" json:"detailType" yaml:"detailType"`
	// The URL subdomain of the endpoint.
	//
	// For example, if the URL for Endpoint is https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is `abcde.veo` .
	EndpointId *string `field:"optional" json:"endpointId" yaml:"endpointId"`
	// AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns.
	//
	// Any number, including zero, may be present.
	Resources *[]*string `field:"optional" json:"resources" yaml:"resources"`
	// The source of the event.
	Source *string `field:"optional" json:"source" yaml:"source"`
	// The time stamp of the event, per [RFC3339](https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc3339.txt) . If no time stamp is provided, the time stamp of the [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) call is used.
	Time *string `field:"optional" json:"time" yaml:"time"`
}

The parameters for using an EventBridge event bus as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetEventBridgeEventBusParametersProperty := &PipeTargetEventBridgeEventBusParametersProperty{
	DetailType: jsii.String("detailType"),
	EndpointId: jsii.String("endpointId"),
	Resources: []*string{
		jsii.String("resources"),
	},
	Source: jsii.String("source"),
	Time: jsii.String("time"),
}

type CfnPipe_PipeTargetHttpParametersProperty

type CfnPipe_PipeTargetHttpParametersProperty struct {
	// The headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
	HeaderParameters interface{} `field:"optional" json:"headerParameters" yaml:"headerParameters"`
	// The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards ("*").
	PathParameterValues *[]*string `field:"optional" json:"pathParameterValues" yaml:"pathParameterValues"`
	// The query string keys/values that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
	QueryStringParameters interface{} `field:"optional" json:"queryStringParameters" yaml:"queryStringParameters"`
}

These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetHttpParametersProperty := &PipeTargetHttpParametersProperty{
	HeaderParameters: map[string]*string{
		"headerParametersKey": jsii.String("headerParameters"),
	},
	PathParameterValues: []*string{
		jsii.String("pathParameterValues"),
	},
	QueryStringParameters: map[string]*string{
		"queryStringParametersKey": jsii.String("queryStringParameters"),
	},
}

type CfnPipe_PipeTargetKinesisStreamParametersProperty

type CfnPipe_PipeTargetKinesisStreamParametersProperty struct {
	// Determines which shard in the stream the data record is assigned to.
	//
	// Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.
	PartitionKey *string `field:"required" json:"partitionKey" yaml:"partitionKey"`
}

The parameters for using a Kinesis stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetKinesisStreamParametersProperty := &PipeTargetKinesisStreamParametersProperty{
	PartitionKey: jsii.String("partitionKey"),
}

type CfnPipe_PipeTargetLambdaFunctionParametersProperty

type CfnPipe_PipeTargetLambdaFunctionParametersProperty struct {
	// Specify whether to invoke the function synchronously or asynchronously.
	//
	// - `REQUEST_RESPONSE` (default) - Invoke synchronously. This corresponds to the `RequestResponse` option in the `InvocationType` parameter for the Lambda [Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) API.
	// - `FIRE_AND_FORGET` - Invoke asynchronously. This corresponds to the `Event` option in the `InvocationType` parameter for the Lambda [Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestSyntax) API.
	//
	// For more information, see [Invocation types](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-invocation) in the *Amazon EventBridge User Guide* .
	InvocationType *string `field:"optional" json:"invocationType" yaml:"invocationType"`
}

The parameters for using a Lambda function as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetLambdaFunctionParametersProperty := &PipeTargetLambdaFunctionParametersProperty{
	InvocationType: jsii.String("invocationType"),
}

type CfnPipe_PipeTargetParametersProperty

type CfnPipe_PipeTargetParametersProperty struct {
	// The parameters for using an AWS Batch job as a target.
	BatchJobParameters interface{} `field:"optional" json:"batchJobParameters" yaml:"batchJobParameters"`
	// The parameters for using an CloudWatch Logs log stream as a target.
	CloudWatchLogsParameters interface{} `field:"optional" json:"cloudWatchLogsParameters" yaml:"cloudWatchLogsParameters"`
	// The parameters for using an Amazon ECS task as a target.
	EcsTaskParameters interface{} `field:"optional" json:"ecsTaskParameters" yaml:"ecsTaskParameters"`
	// The parameters for using an EventBridge event bus as a target.
	EventBridgeEventBusParameters interface{} `field:"optional" json:"eventBridgeEventBusParameters" yaml:"eventBridgeEventBusParameters"`
	// These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.
	HttpParameters interface{} `field:"optional" json:"httpParameters" yaml:"httpParameters"`
	// Valid JSON text passed to the target.
	//
	// In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .
	InputTemplate *string `field:"optional" json:"inputTemplate" yaml:"inputTemplate"`
	// The parameters for using a Kinesis stream as a source.
	KinesisStreamParameters interface{} `field:"optional" json:"kinesisStreamParameters" yaml:"kinesisStreamParameters"`
	// The parameters for using a Lambda function as a target.
	LambdaFunctionParameters interface{} `field:"optional" json:"lambdaFunctionParameters" yaml:"lambdaFunctionParameters"`
	// These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API BatchExecuteStatement.
	RedshiftDataParameters interface{} `field:"optional" json:"redshiftDataParameters" yaml:"redshiftDataParameters"`
	// The parameters for using a SageMaker pipeline as a target.
	SageMakerPipelineParameters interface{} `field:"optional" json:"sageMakerPipelineParameters" yaml:"sageMakerPipelineParameters"`
	// The parameters for using a Amazon SQS stream as a source.
	SqsQueueParameters interface{} `field:"optional" json:"sqsQueueParameters" yaml:"sqsQueueParameters"`
	// The parameters for using a Step Functions state machine as a target.
	StepFunctionStateMachineParameters interface{} `field:"optional" json:"stepFunctionStateMachineParameters" yaml:"stepFunctionStateMachineParameters"`
}

The parameters required to set up a target for your pipe.

For more information about pipe target parameters, including how to use dynamic path parameters, see [Target parameters](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes-event-target.html) in the *Amazon EventBridge User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetParametersProperty := &PipeTargetParametersProperty{
	BatchJobParameters: &PipeTargetBatchJobParametersProperty{
		JobDefinition: jsii.String("jobDefinition"),
		JobName: jsii.String("jobName"),

		// the properties below are optional
		ArrayProperties: &BatchArrayPropertiesProperty{
			Size: jsii.Number(123),
		},
		ContainerOverrides: &BatchContainerOverridesProperty{
			Command: []*string{
				jsii.String("command"),
			},
			Environment: []interface{}{
				&BatchEnvironmentVariableProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
			InstanceType: jsii.String("instanceType"),
			ResourceRequirements: []interface{}{
				&BatchResourceRequirementProperty{
					Type: jsii.String("type"),
					Value: jsii.String("value"),
				},
			},
		},
		DependsOn: []interface{}{
			&BatchJobDependencyProperty{
				JobId: jsii.String("jobId"),
				Type: jsii.String("type"),
			},
		},
		Parameters: map[string]*string{
			"parametersKey": jsii.String("parameters"),
		},
		RetryStrategy: &BatchRetryStrategyProperty{
			Attempts: jsii.Number(123),
		},
	},
	CloudWatchLogsParameters: &PipeTargetCloudWatchLogsParametersProperty{
		LogStreamName: jsii.String("logStreamName"),
		Timestamp: jsii.String("timestamp"),
	},
	EcsTaskParameters: &PipeTargetEcsTaskParametersProperty{
		TaskDefinitionArn: jsii.String("taskDefinitionArn"),

		// the properties below are optional
		CapacityProviderStrategy: []interface{}{
			&CapacityProviderStrategyItemProperty{
				CapacityProvider: jsii.String("capacityProvider"),

				// the properties below are optional
				Base: jsii.Number(123),
				Weight: jsii.Number(123),
			},
		},
		EnableEcsManagedTags: jsii.Boolean(false),
		EnableExecuteCommand: jsii.Boolean(false),
		Group: jsii.String("group"),
		LaunchType: jsii.String("launchType"),
		NetworkConfiguration: &NetworkConfigurationProperty{
			AwsvpcConfiguration: &AwsVpcConfigurationProperty{
				Subnets: []*string{
					jsii.String("subnets"),
				},

				// the properties below are optional
				AssignPublicIp: jsii.String("assignPublicIp"),
				SecurityGroups: []*string{
					jsii.String("securityGroups"),
				},
			},
		},
		Overrides: &EcsTaskOverrideProperty{
			ContainerOverrides: []interface{}{
				&EcsContainerOverrideProperty{
					Command: []*string{
						jsii.String("command"),
					},
					Cpu: jsii.Number(123),
					Environment: []interface{}{
						&EcsEnvironmentVariableProperty{
							Name: jsii.String("name"),
							Value: jsii.String("value"),
						},
					},
					EnvironmentFiles: []interface{}{
						&EcsEnvironmentFileProperty{
							Type: jsii.String("type"),
							Value: jsii.String("value"),
						},
					},
					Memory: jsii.Number(123),
					MemoryReservation: jsii.Number(123),
					Name: jsii.String("name"),
					ResourceRequirements: []interface{}{
						&EcsResourceRequirementProperty{
							Type: jsii.String("type"),
							Value: jsii.String("value"),
						},
					},
				},
			},
			Cpu: jsii.String("cpu"),
			EphemeralStorage: &EcsEphemeralStorageProperty{
				SizeInGiB: jsii.Number(123),
			},
			ExecutionRoleArn: jsii.String("executionRoleArn"),
			InferenceAcceleratorOverrides: []interface{}{
				&EcsInferenceAcceleratorOverrideProperty{
					DeviceName: jsii.String("deviceName"),
					DeviceType: jsii.String("deviceType"),
				},
			},
			Memory: jsii.String("memory"),
			TaskRoleArn: jsii.String("taskRoleArn"),
		},
		PlacementConstraints: []interface{}{
			&PlacementConstraintProperty{
				Expression: jsii.String("expression"),
				Type: jsii.String("type"),
			},
		},
		PlacementStrategy: []interface{}{
			&PlacementStrategyProperty{
				Field: jsii.String("field"),
				Type: jsii.String("type"),
			},
		},
		PlatformVersion: jsii.String("platformVersion"),
		PropagateTags: jsii.String("propagateTags"),
		ReferenceId: jsii.String("referenceId"),
		Tags: []cfnTag{
			&cfnTag{
				Key: jsii.String("key"),
				Value: jsii.String("value"),
			},
		},
		TaskCount: jsii.Number(123),
	},
	EventBridgeEventBusParameters: &PipeTargetEventBridgeEventBusParametersProperty{
		DetailType: jsii.String("detailType"),
		EndpointId: jsii.String("endpointId"),
		Resources: []*string{
			jsii.String("resources"),
		},
		Source: jsii.String("source"),
		Time: jsii.String("time"),
	},
	HttpParameters: &PipeTargetHttpParametersProperty{
		HeaderParameters: map[string]*string{
			"headerParametersKey": jsii.String("headerParameters"),
		},
		PathParameterValues: []*string{
			jsii.String("pathParameterValues"),
		},
		QueryStringParameters: map[string]*string{
			"queryStringParametersKey": jsii.String("queryStringParameters"),
		},
	},
	InputTemplate: jsii.String("inputTemplate"),
	KinesisStreamParameters: &PipeTargetKinesisStreamParametersProperty{
		PartitionKey: jsii.String("partitionKey"),
	},
	LambdaFunctionParameters: &PipeTargetLambdaFunctionParametersProperty{
		InvocationType: jsii.String("invocationType"),
	},
	RedshiftDataParameters: &PipeTargetRedshiftDataParametersProperty{
		Database: jsii.String("database"),
		Sqls: []*string{
			jsii.String("sqls"),
		},

		// the properties below are optional
		DbUser: jsii.String("dbUser"),
		SecretManagerArn: jsii.String("secretManagerArn"),
		StatementName: jsii.String("statementName"),
		WithEvent: jsii.Boolean(false),
	},
	SageMakerPipelineParameters: &PipeTargetSageMakerPipelineParametersProperty{
		PipelineParameterList: []interface{}{
			&SageMakerPipelineParameterProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
	},
	SqsQueueParameters: &PipeTargetSqsQueueParametersProperty{
		MessageDeduplicationId: jsii.String("messageDeduplicationId"),
		MessageGroupId: jsii.String("messageGroupId"),
	},
	StepFunctionStateMachineParameters: &PipeTargetStateMachineParametersProperty{
		InvocationType: jsii.String("invocationType"),
	},
}

type CfnPipe_PipeTargetRedshiftDataParametersProperty

type CfnPipe_PipeTargetRedshiftDataParametersProperty struct {
	// The name of the database.
	//
	// Required when authenticating using temporary credentials.
	Database *string `field:"required" json:"database" yaml:"database"`
	// The SQL statement text to run.
	Sqls *[]*string `field:"required" json:"sqls" yaml:"sqls"`
	// The database user name.
	//
	// Required when authenticating using temporary credentials.
	DbUser *string `field:"optional" json:"dbUser" yaml:"dbUser"`
	// The name or ARN of the secret that enables access to the database.
	//
	// Required when authenticating using Secrets Manager .
	SecretManagerArn *string `field:"optional" json:"secretManagerArn" yaml:"secretManagerArn"`
	// The name of the SQL statement.
	//
	// You can name the SQL statement when you create it to identify the query.
	StatementName *string `field:"optional" json:"statementName" yaml:"statementName"`
	// Indicates whether to send an event back to EventBridge after the SQL statement runs.
	WithEvent interface{} `field:"optional" json:"withEvent" yaml:"withEvent"`
}

These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API BatchExecuteStatement.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetRedshiftDataParametersProperty := &PipeTargetRedshiftDataParametersProperty{
	Database: jsii.String("database"),
	Sqls: []*string{
		jsii.String("sqls"),
	},

	// the properties below are optional
	DbUser: jsii.String("dbUser"),
	SecretManagerArn: jsii.String("secretManagerArn"),
	StatementName: jsii.String("statementName"),
	WithEvent: jsii.Boolean(false),
}

type CfnPipe_PipeTargetSageMakerPipelineParametersProperty

type CfnPipe_PipeTargetSageMakerPipelineParametersProperty struct {
	// List of Parameter names and values for SageMaker Model Building Pipeline execution.
	PipelineParameterList interface{} `field:"optional" json:"pipelineParameterList" yaml:"pipelineParameterList"`
}

The parameters for using a SageMaker pipeline as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetSageMakerPipelineParametersProperty := &PipeTargetSageMakerPipelineParametersProperty{
	PipelineParameterList: []interface{}{
		&SageMakerPipelineParameterProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
}

type CfnPipe_PipeTargetSqsQueueParametersProperty

type CfnPipe_PipeTargetSqsQueueParametersProperty struct {
	// This parameter applies only to FIFO (first-in-first-out) queues.
	//
	// The token used for deduplication of sent messages.
	MessageDeduplicationId *string `field:"optional" json:"messageDeduplicationId" yaml:"messageDeduplicationId"`
	// The FIFO message group ID to use as the target.
	MessageGroupId *string `field:"optional" json:"messageGroupId" yaml:"messageGroupId"`
}

The parameters for using a Amazon SQS stream as a source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetSqsQueueParametersProperty := &PipeTargetSqsQueueParametersProperty{
	MessageDeduplicationId: jsii.String("messageDeduplicationId"),
	MessageGroupId: jsii.String("messageGroupId"),
}

type CfnPipe_PipeTargetStateMachineParametersProperty

type CfnPipe_PipeTargetStateMachineParametersProperty struct {
	// Specify whether to invoke the Step Functions state machine synchronously or asynchronously.
	//
	// - `REQUEST_RESPONSE` (default) - Invoke synchronously. For more information, see [StartSyncExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartSyncExecution.html) in the *AWS Step Functions API Reference* .
	//
	// > `REQUEST_RESPONSE` is not supported for `STANDARD` state machine workflows.
	// - `FIRE_AND_FORGET` - Invoke asynchronously. For more information, see [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html) in the *AWS Step Functions API Reference* .
	//
	// For more information, see [Invocation types](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html#pipes-invocation) in the *Amazon EventBridge User Guide* .
	InvocationType *string `field:"optional" json:"invocationType" yaml:"invocationType"`
}

The parameters for using a Step Functions state machine as a target.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

pipeTargetStateMachineParametersProperty := &PipeTargetStateMachineParametersProperty{
	InvocationType: jsii.String("invocationType"),
}

type CfnPipe_PlacementConstraintProperty

type CfnPipe_PlacementConstraintProperty struct {
	// A cluster query language expression to apply to the constraint.
	//
	// You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, see [Cluster Query Language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the Amazon Elastic Container Service Developer Guide.
	Expression *string `field:"optional" json:"expression" yaml:"expression"`
	// The type of constraint.
	//
	// Use distinctInstance to ensure that each task in a particular group is running on a different container instance. Use memberOf to restrict the selection to a group of valid candidates.
	Type *string `field:"optional" json:"type" yaml:"type"`
}

An object representing a constraint on task placement.

To learn more, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the Amazon Elastic Container Service Developer Guide.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

placementConstraintProperty := &PlacementConstraintProperty{
	Expression: jsii.String("expression"),
	Type: jsii.String("type"),
}

type CfnPipe_PlacementStrategyProperty

type CfnPipe_PlacementStrategyProperty struct {
	// The field to apply the placement strategy against.
	//
	// For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this field is not used.
	Field *string `field:"optional" json:"field" yaml:"field"`
	// The type of placement strategy.
	//
	// The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the field parameter. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified with the field parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory (but still enough to run the task).
	Type *string `field:"optional" json:"type" yaml:"type"`
}

The task placement strategy for a task or service.

To learn more, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the Amazon Elastic Container Service Service Developer Guide.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

placementStrategyProperty := &PlacementStrategyProperty{
	Field: jsii.String("field"),
	Type: jsii.String("type"),
}

type CfnPipe_SageMakerPipelineParameterProperty

type CfnPipe_SageMakerPipelineParameterProperty struct {
	// Name of parameter to start execution of a SageMaker Model Building Pipeline.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Value of parameter to start execution of a SageMaker Model Building Pipeline.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Name/Value pair of a parameter to start execution of a SageMaker Model Building Pipeline.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sageMakerPipelineParameterProperty := &SageMakerPipelineParameterProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

type CfnPipe_SelfManagedKafkaAccessConfigurationCredentialsProperty

type CfnPipe_SelfManagedKafkaAccessConfigurationCredentialsProperty struct {
	// The ARN of the Secrets Manager secret.
	BasicAuth *string `field:"optional" json:"basicAuth" yaml:"basicAuth"`
	// The ARN of the Secrets Manager secret.
	ClientCertificateTlsAuth *string `field:"optional" json:"clientCertificateTlsAuth" yaml:"clientCertificateTlsAuth"`
	// The ARN of the Secrets Manager secret.
	SaslScram256Auth *string `field:"optional" json:"saslScram256Auth" yaml:"saslScram256Auth"`
	// The ARN of the Secrets Manager secret.
	SaslScram512Auth *string `field:"optional" json:"saslScram512Auth" yaml:"saslScram512Auth"`
}

The AWS Secrets Manager secret that stores your stream credentials.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

selfManagedKafkaAccessConfigurationCredentialsProperty := &SelfManagedKafkaAccessConfigurationCredentialsProperty{
	BasicAuth: jsii.String("basicAuth"),
	ClientCertificateTlsAuth: jsii.String("clientCertificateTlsAuth"),
	SaslScram256Auth: jsii.String("saslScram256Auth"),
	SaslScram512Auth: jsii.String("saslScram512Auth"),
}

type CfnPipe_SelfManagedKafkaAccessConfigurationVpcProperty

type CfnPipe_SelfManagedKafkaAccessConfigurationVpcProperty struct {
	// Specifies the security groups associated with the stream.
	//
	// These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.
	SecurityGroup *[]*string `field:"optional" json:"securityGroup" yaml:"securityGroup"`
	// Specifies the subnets associated with the stream.
	//
	// These subnets must all be in the same VPC. You can specify as many as 16 subnets.
	Subnets *[]*string `field:"optional" json:"subnets" yaml:"subnets"`
}

This structure specifies the VPC subnets and security groups for the stream, and whether a public IP address is to be used.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

selfManagedKafkaAccessConfigurationVpcProperty := &SelfManagedKafkaAccessConfigurationVpcProperty{
	SecurityGroup: []*string{
		jsii.String("securityGroup"),
	},
	Subnets: []*string{
		jsii.String("subnets"),
	},
}

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL