EcsTaskProps Struct
Properties to define an ECS Event Task.
Example
import * as ecs from 'aws-cdk-lib/aws-ecs';
declare const cluster: ecs.ICluster;
declare const taskDefinition: ecs.TaskDefinition;
const rule = new events.Rule(this, 'Rule', {
schedule: events.Schedule.rate(cdk.Duration.hours(1)),
});
rule.addTarget(new targets.EcsTask({
cluster,
taskDefinition,
taskCount: 1,
// Overrides the cpu and memory values in the task definition
cpu: '512',
memory: '512',
}));
Properties
assignPublicIpoptionalbooleanassign_public_ipoptionalboolassignPublicIpoptionalBooleanAssignPublicIpoptionalboolAssignPublicIpoptional*bool#Default: true if the subnet type is PUBLIC, otherwise false
You can specify true only when LaunchType is set to FARGATE.
containerOverridesoptionalContainerOverride[]container_overridesoptionaltyping.List[ContainerOverride]containerOverridesoptionalList<ContainerOverride>ContainerOverridesoptionalContainerOverride[]ContainerOverridesoptional*[]ContainerOverride#Key is the name of the container to override, value is the values you want to override.
Default: The task definition's CPU value
deadLetterQueueoptionalIQueuedead_letter_queueoptionalIQueuedeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueue#Default: no dead-letter queue
notes
The events not successfully delivered are automatically retried for a specified period of time, depending on the retry policy of the target. If an event is not delivered before all retry attempts are exhausted, it will be sent to the dead letter queue.
enableExecuteCommandoptionalbooleanenable_execute_commandoptionalboolenableExecuteCommandoptionalBooleanEnableExecuteCommandoptionalboolEnableExecuteCommandoptional*bool= false#If true, this enables execute command functionality on all containers in the task.
ephemeralStorageoptionalEphemeralStorageOverrideephemeral_storageoptionalEphemeralStorageOverrideephemeralStorageoptionalEphemeralStorageOverrideEphemeralStorageoptionalEphemeralStorageOverrideEphemeralStorageoptionalEphemeralStorageOverride#Default: The task definition's ephemeral storage value
NOTE: 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.
executionRoleoptionalIRoleexecution_roleoptionalIRoleexecutionRoleoptionalIRoleExecutionRoleoptionalIRoleExecutionRoleoptionalIRole#Default: The task definition's execution role
The Amazon Resource Name (ARN) of the task execution role override for the task.
inferenceAcceleratorOverridesoptionalInferenceAcceleratorOverride[]inference_accelerator_overridesoptionaltyping.List[InferenceAcceleratorOverride]inferenceAcceleratorOverridesoptionalList<InferenceAcceleratorOverride>InferenceAcceleratorOverridesoptionalInferenceAcceleratorOverride[]InferenceAcceleratorOverridesoptional*[]InferenceAcceleratorOverride#Default: The task definition's inference accelerator overrides
launchTypeoptionalLaunchTypelaunch_typeoptionalLaunchTypelaunchTypeoptionalLaunchTypeLaunchTypeoptionalLaunchTypeLaunchTypeoptionalLaunchType#Default: 'EC2' if isEc2Compatible for the taskDefinition is true, otherwise 'FARGATE'
The launch type that you specify here must match one of the launch type (compatibilities) of the target task.
maxEventAgeoptionalDurationmax_event_ageoptionalDurationmaxEventAgeoptionalDurationMaxEventAgeoptionalDurationMaxEventAgeoptionalDuration= Duration.hours(24)#Minimum value of 60. Maximum value of 86400.
Default: The task definition's memory value
platformVersionoptionalFargatePlatformVersionplatform_versionoptionalFargatePlatformVersionplatformVersionoptionalFargatePlatformVersionPlatformVersionoptionalFargatePlatformVersionPlatformVersionoptionalFargatePlatformVersion#Default: ECS will set the Fargate platform version to 'LATEST'
Unless you have specific compatibility requirements, you don't need to specify this.
propagateTagsoptionalPropagatedTagSourcepropagate_tagsoptionalPropagatedTagSourcepropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSource#Default: Tags will not be propagated
If no value is specified, the tags are not propagated.
retryAttemptsoptionalnumberretry_attemptsoptionalint | floatretryAttemptsoptionalNumberRetryAttemptsoptionaldoubleRetryAttemptsoptional*float64= 185#Minimum value of 0. Maximum value of 185.
Default: A new IAM role is created
securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#Default: A new security group is created
(Only applicable in case the TaskDefinition is configured for AwsVpc networking)
subnetSelectionoptionalSubnetSelectionsubnet_selectionoptionalSubnetSelectionsubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelection#Default: Private subnets
(Only applicable in case the TaskDefinition is configured for AwsVpc networking)
tagsoptionalTag[]tagsoptionaltyping.List[Tag]tagsoptionalList<Tag>TagsoptionalTag[]Tagsoptional*[]Tag#Default: No additional tags are applied to the task
Each tag consists of a key and an optional value, both of which you define.
taskCountoptionalnumbertask_countoptionalint | floattaskCountoptionalNumberTaskCountoptionaldoubleTaskCountoptional*float64= 1#taskDefinitionITaskDefinitiontask_definitionITaskDefinitiontaskDefinitionITaskDefinitionTaskDefinitionITaskDefinitionTaskDefinitionITaskDefinitionrequired#