aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
869 lines • 132 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Specifies a pipe.
*
* Amazon EventBridge Pipes connect event sources to targets and reduces the need for specialized knowledge and integration code.
*
* > As an aid to help you jumpstart developing CloudFormation templates, the EventBridge console enables you to create templates from the existing pipes in your account. For more information, see [Generate an CloudFormation template from EventBridge Pipes](https://docs.aws.amazon.com/eventbridge/latest/userguide/pipes-generate-template.html) in the *Amazon EventBridge User Guide* .
*
* @cloudformationResource AWS::Pipes::Pipe
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pipes-pipe.html
*/
export declare class CfnPipe extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnPipe from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPipe;
/**
* The ARN of the pipe.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The time the pipe was created.
*
* @cloudformationAttribute CreationTime
*/
readonly attrCreationTime: string;
/**
* The state the pipe is in.
*
* @cloudformationAttribute CurrentState
*/
readonly 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).
*
* @cloudformationAttribute LastModifiedTime
*/
readonly attrLastModifiedTime: string;
/**
* The reason the pipe is in its current state.
*
* @cloudformationAttribute StateReason
*/
readonly attrStateReason: string;
/**
* A description of the pipe.
*/
description?: string;
/**
* The state the pipe should be in.
*/
desiredState?: string;
/**
* The ARN of the enrichment resource.
*/
enrichment?: string;
/**
* The parameters required to set up enrichment on your pipe.
*/
enrichmentParameters?: cdk.IResolvable | CfnPipe.PipeEnrichmentParametersProperty;
/**
* The identifier of the AWS KMS customer managed key for EventBridge to use, if you choose to use a customer managed key to encrypt pipe data.
*/
kmsKeyIdentifier?: string;
/**
* The logging configuration settings for the pipe.
*/
logConfiguration?: cdk.IResolvable | CfnPipe.PipeLogConfigurationProperty;
/**
* The name of the pipe.
*/
name?: string;
/**
* The ARN of the role that allows the pipe to send data to the target.
*/
roleArn: string;
/**
* The ARN of the source resource.
*/
source: string;
/**
* The parameters required to set up a source for your pipe.
*/
sourceParameters?: cdk.IResolvable | CfnPipe.PipeSourceParametersProperty;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The list of key-value pairs to associate with the pipe.
*/
tagsRaw?: Record<string, string>;
/**
* The ARN of the target resource.
*/
target: string;
/**
* The parameters required to set up a target for your pipe.
*/
targetParameters?: cdk.IResolvable | CfnPipe.PipeTargetParametersProperty;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnPipeProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPipe {
/**
* 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* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html
*/
interface PipeTargetParametersProperty {
/**
* The parameters for using an AWS Batch job as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-batchjobparameters
*/
readonly batchJobParameters?: cdk.IResolvable | CfnPipe.PipeTargetBatchJobParametersProperty;
/**
* The parameters for using an CloudWatch Logs log stream as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-cloudwatchlogsparameters
*/
readonly cloudWatchLogsParameters?: cdk.IResolvable | CfnPipe.PipeTargetCloudWatchLogsParametersProperty;
/**
* The parameters for using an Amazon ECS task as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-ecstaskparameters
*/
readonly ecsTaskParameters?: cdk.IResolvable | CfnPipe.PipeTargetEcsTaskParametersProperty;
/**
* The parameters for using an EventBridge event bus as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-eventbridgeeventbusparameters
*/
readonly eventBridgeEventBusParameters?: cdk.IResolvable | CfnPipe.PipeTargetEventBridgeEventBusParametersProperty;
/**
* These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-httpparameters
*/
readonly httpParameters?: cdk.IResolvable | CfnPipe.PipeTargetHttpParametersProperty;
/**
* 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) .
*
* To remove an input template, specify an empty string.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-inputtemplate
*/
readonly inputTemplate?: string;
/**
* The parameters for using a Kinesis stream as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-kinesisstreamparameters
*/
readonly kinesisStreamParameters?: cdk.IResolvable | CfnPipe.PipeTargetKinesisStreamParametersProperty;
/**
* The parameters for using a Lambda function as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-lambdafunctionparameters
*/
readonly lambdaFunctionParameters?: cdk.IResolvable | CfnPipe.PipeTargetLambdaFunctionParametersProperty;
/**
* These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API BatchExecuteStatement.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-redshiftdataparameters
*/
readonly redshiftDataParameters?: cdk.IResolvable | CfnPipe.PipeTargetRedshiftDataParametersProperty;
/**
* The parameters for using a SageMaker pipeline as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-sagemakerpipelineparameters
*/
readonly sageMakerPipelineParameters?: cdk.IResolvable | CfnPipe.PipeTargetSageMakerPipelineParametersProperty;
/**
* The parameters for using a Amazon SQS stream as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-sqsqueueparameters
*/
readonly sqsQueueParameters?: cdk.IResolvable | CfnPipe.PipeTargetSqsQueueParametersProperty;
/**
* The parameters for using a Step Functions state machine as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-stepfunctionstatemachineparameters
*/
readonly stepFunctionStateMachineParameters?: cdk.IResolvable | CfnPipe.PipeTargetStateMachineParametersProperty;
/**
* The parameters for using a Timestream for LiveAnalytics table as a target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetparameters.html#cfn-pipes-pipe-pipetargetparameters-timestreamparameters
*/
readonly timestreamParameters?: cdk.IResolvable | CfnPipe.PipeTargetTimestreamParametersProperty;
}
/**
* The parameters for using a Step Functions state machine as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetstatemachineparameters.html
*/
interface PipeTargetStateMachineParametersProperty {
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetstatemachineparameters.html#cfn-pipes-pipe-pipetargetstatemachineparameters-invocationtype
*/
readonly invocationType?: string;
}
/**
* These are custom parameter to be used when the target is an API Gateway REST APIs or EventBridge ApiDestinations.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargethttpparameters.html
*/
interface PipeTargetHttpParametersProperty {
/**
* The headers that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargethttpparameters.html#cfn-pipes-pipe-pipetargethttpparameters-headerparameters
*/
readonly headerParameters?: cdk.IResolvable | Record<string, string>;
/**
* The path parameter values to be used to populate API Gateway REST API or EventBridge ApiDestination path wildcards ("*").
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargethttpparameters.html#cfn-pipes-pipe-pipetargethttpparameters-pathparametervalues
*/
readonly pathParameterValues?: Array<string>;
/**
* The query string keys/values that need to be sent as part of request invoking the API Gateway REST API or EventBridge ApiDestination.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargethttpparameters.html#cfn-pipes-pipe-pipetargethttpparameters-querystringparameters
*/
readonly queryStringParameters?: cdk.IResolvable | Record<string, string>;
}
/**
* The parameters for using a Amazon SQS stream as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetsqsqueueparameters.html
*/
interface PipeTargetSqsQueueParametersProperty {
/**
* This parameter applies only to FIFO (first-in-first-out) queues.
*
* The token used for deduplication of sent messages.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetsqsqueueparameters.html#cfn-pipes-pipe-pipetargetsqsqueueparameters-messagededuplicationid
*/
readonly messageDeduplicationId?: string;
/**
* The FIFO message group ID to use as the target.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetsqsqueueparameters.html#cfn-pipes-pipe-pipetargetsqsqueueparameters-messagegroupid
*/
readonly messageGroupId?: string;
}
/**
* The parameters for using an CloudWatch Logs log stream as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetcloudwatchlogsparameters.html
*/
interface PipeTargetCloudWatchLogsParametersProperty {
/**
* The name of the log stream.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetcloudwatchlogsparameters.html#cfn-pipes-pipe-pipetargetcloudwatchlogsparameters-logstreamname
*/
readonly logStreamName?: string;
/**
* The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetcloudwatchlogsparameters.html#cfn-pipes-pipe-pipetargetcloudwatchlogsparameters-timestamp
*/
readonly timestamp?: string;
}
/**
* The parameters for using a Kinesis stream as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetkinesisstreamparameters.html
*/
interface PipeTargetKinesisStreamParametersProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetkinesisstreamparameters.html#cfn-pipes-pipe-pipetargetkinesisstreamparameters-partitionkey
*/
readonly partitionKey: string;
}
/**
* The parameters for using a SageMaker pipeline as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetsagemakerpipelineparameters.html
*/
interface PipeTargetSageMakerPipelineParametersProperty {
/**
* List of Parameter names and values for SageMaker Model Building Pipeline execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetsagemakerpipelineparameters.html#cfn-pipes-pipe-pipetargetsagemakerpipelineparameters-pipelineparameterlist
*/
readonly pipelineParameterList?: Array<cdk.IResolvable | CfnPipe.SageMakerPipelineParameterProperty> | cdk.IResolvable;
}
/**
* Name/Value pair of a parameter to start execution of a SageMaker Model Building Pipeline.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-sagemakerpipelineparameter.html
*/
interface SageMakerPipelineParameterProperty {
/**
* Name of parameter to start execution of a SageMaker Model Building Pipeline.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-sagemakerpipelineparameter.html#cfn-pipes-pipe-sagemakerpipelineparameter-name
*/
readonly name: string;
/**
* Value of parameter to start execution of a SageMaker Model Building Pipeline.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-sagemakerpipelineparameter.html#cfn-pipes-pipe-sagemakerpipelineparameter-value
*/
readonly value: string;
}
/**
* The parameters for using an EventBridge event bus as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html
*/
interface PipeTargetEventBridgeEventBusParametersProperty {
/**
* A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html#cfn-pipes-pipe-pipetargeteventbridgeeventbusparameters-detailtype
*/
readonly detailType?: string;
/**
* 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` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html#cfn-pipes-pipe-pipetargeteventbridgeeventbusparameters-endpointid
*/
readonly endpointId?: string;
/**
* AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns.
*
* Any number, including zero, may be present.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html#cfn-pipes-pipe-pipetargeteventbridgeeventbusparameters-resources
*/
readonly resources?: Array<string>;
/**
* The source of the event.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html#cfn-pipes-pipe-pipetargeteventbridgeeventbusparameters-source
*/
readonly source?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargeteventbridgeeventbusparameters.html#cfn-pipes-pipe-pipetargeteventbridgeeventbusparameters-time
*/
readonly time?: string;
}
/**
* The parameters for using a Lambda function as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetlambdafunctionparameters.html
*/
interface PipeTargetLambdaFunctionParametersProperty {
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetlambdafunctionparameters.html#cfn-pipes-pipe-pipetargetlambdafunctionparameters-invocationtype
*/
readonly invocationType?: string;
}
/**
* The parameters for using an Amazon ECS task as a target.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html
*/
interface PipeTargetEcsTaskParametersProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-capacityproviderstrategy
*/
readonly capacityProviderStrategy?: Array<CfnPipe.CapacityProviderStrategyItemProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* 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.
*
* @default - false
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-enableecsmanagedtags
*/
readonly enableEcsManagedTags?: boolean | cdk.IResolvable;
/**
* 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.
*
* @default - false
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-enableexecutecommand
*/
readonly enableExecuteCommand?: boolean | cdk.IResolvable;
/**
* Specifies an Amazon ECS task group for the task.
*
* The maximum length is 255 characters.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-group
*/
readonly group?: string;
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-launchtype
*/
readonly launchType?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-networkconfiguration
*/
readonly networkConfiguration?: cdk.IResolvable | CfnPipe.NetworkConfigurationProperty;
/**
* The overrides that are associated with a task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-overrides
*/
readonly overrides?: CfnPipe.EcsTaskOverrideProperty | cdk.IResolvable;
/**
* 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).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-placementconstraints
*/
readonly placementConstraints?: Array<cdk.IResolvable | CfnPipe.PlacementConstraintProperty> | cdk.IResolvable;
/**
* The placement strategy objects to use for the task.
*
* You can specify a maximum of five strategy rules per task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-placementstrategy
*/
readonly placementStrategy?: Array<cdk.IResolvable | CfnPipe.PlacementStrategyProperty> | cdk.IResolvable;
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-platformversion
*/
readonly platformVersion?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-propagatetags
*/
readonly propagateTags?: string;
/**
* The reference ID to use for the task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-referenceid
*/
readonly referenceId?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* The number of tasks to create based on `TaskDefinition` .
*
* The default is 1.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-taskcount
*/
readonly taskCount?: number;
/**
* The ARN of the task definition to use if the event target is an Amazon ECS task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-pipetargetecstaskparameters.html#cfn-pipes-pipe-pipetargetecstaskparameters-taskdefinitionarn
*/
readonly taskDefinitionArn: string;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementconstraint.html
*/
interface PlacementConstraintProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementconstraint.html#cfn-pipes-pipe-placementconstraint-expression
*/
readonly expression?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementconstraint.html#cfn-pipes-pipe-placementconstraint-type
*/
readonly type?: string;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementstrategy.html
*/
interface PlacementStrategyProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementstrategy.html#cfn-pipes-pipe-placementstrategy-field
*/
readonly field?: string;
/**
* 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).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-placementstrategy.html#cfn-pipes-pipe-placementstrategy-type
*/
readonly type?: string;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-capacityproviderstrategyitem.html
*/
interface CapacityProviderStrategyItemProperty {
/**
* 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.
*
* @default - 0
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-capacityproviderstrategyitem.html#cfn-pipes-pipe-capacityproviderstrategyitem-base
*/
readonly base?: number;
/**
* The short name of the capacity provider.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-capacityproviderstrategyitem.html#cfn-pipes-pipe-capacityproviderstrategyitem-capacityprovider
*/
readonly capacityProvider: string;
/**
* 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.
*
* @default - 0
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-capacityproviderstrategyitem.html#cfn-pipes-pipe-capacityproviderstrategyitem-weight
*/
readonly weight?: number;
}
/**
* The overrides that are associated with a task.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html
*/
interface EcsTaskOverrideProperty {
/**
* One or more container overrides that are sent to a task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-containeroverrides
*/
readonly containerOverrides?: Array<CfnPipe.EcsContainerOverrideProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The cpu override for the task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-cpu
*/
readonly cpu?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-ephemeralstorage
*/
readonly ephemeralStorage?: CfnPipe.EcsEphemeralStorageProperty | cdk.IResolvable;
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-executionrolearn
*/
readonly executionRoleArn?: string;
/**
* The Elastic Inference accelerator override for the task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-inferenceacceleratoroverrides
*/
readonly inferenceAcceleratorOverrides?: Array<CfnPipe.EcsInferenceAcceleratorOverrideProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The memory override for the task.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-memory
*/
readonly memory?: string;
/**
* 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* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecstaskoverride.html#cfn-pipes-pipe-ecstaskoverride-taskrolearn
*/
readonly taskRoleArn?: string;
}
/**
* 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* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsinferenceacceleratoroverride.html
*/
interface EcsInferenceAcceleratorOverrideProperty {
/**
* The Elastic Inference accelerator device name to override for the task.
*
* This parameter must match a `deviceName` specified in the task definition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsinferenceacceleratoroverride.html#cfn-pipes-pipe-ecsinferenceacceleratoroverride-devicename
*/
readonly deviceName?: string;
/**
* The Elastic Inference accelerator type to use.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsinferenceacceleratoroverride.html#cfn-pipes-pipe-ecsinferenceacceleratoroverride-devicetype
*/
readonly deviceType?: string;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsephemeralstorage.html
*/
interface EcsEphemeralStorageProperty {
/**
* 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.
*
* @default - 0
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsephemeralstorage.html#cfn-pipes-pipe-ecsephemeralstorage-sizeingib
*/
readonly sizeInGiB: number;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html
*/
interface EcsContainerOverrideProperty {
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-command
*/
readonly command?: Array<string>;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-cpu
*/
readonly cpu?: number;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-environment
*/
readonly environment?: Array<CfnPipe.EcsEnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* A list of files containing the environment variables to pass to a container, instead of the value from the container definition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-environmentfiles
*/
readonly environmentFiles?: Array<CfnPipe.EcsEnvironmentFileProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-memory
*/
readonly memory?: number;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-memoryreservation
*/
readonly memoryReservation?: number;
/**
* The name of the container that receives the override.
*
* This parameter is required if any override is specified.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-name
*/
readonly name?: string;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecscontaineroverride.html#cfn-pipes-pipe-ecscontaineroverride-resourcerequirements
*/
readonly resourceRequirements?: Array<CfnPipe.EcsResourceRequirementProperty | cdk.IResolvable> | cdk.IResolvable;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsenvironmentvariable.html
*/
interface EcsEnvironmentVariableProperty {
/**
* The name of the key-value pair.
*
* For environment variables, this is the name of the environment variable.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsenvironmentvariable.html#cfn-pipes-pipe-ecsenvironmentvariable-name
*/
readonly name?: string;
/**
* The value of the key-value pair.
*
* For environment variables, this is the value of the environment variable.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsenvironmentvariable.html#cfn-pipes-pipe-ecsenvironmentvariable-value
*/
readonly value?: string;
}
/**
* 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*
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pipes-pipe-ecsresourcerequirement.html
*/
interface EcsResourceRequirementProperty {
/**