Ec2TaskProps Struct
Properties for scheduling an ECS Task on EC2.
Example
import * as ecs from 'aws-cdk-lib/aws-ecs';
declare const cluster: ecs.ICluster;
declare const taskDefinition: ecs.Ec2TaskDefinition;
new Schedule(this, 'Schedule', {
schedule: ScheduleExpression.rate(cdk.Duration.minutes(60)),
target: new targets.EcsRunEc2Task(cluster, {
taskDefinition,
}),
});
Properties
capacityProviderStrategiesCapacityProviderStrategy[]capacity_provider_strategiestyping.List[CapacityProviderStrategy]capacityProviderStrategiesList<CapacityProviderStrategy>CapacityProviderStrategiesCapacityProviderStrategy[]CapacityProviderStrategies*[]CapacityProviderStrategy= No capacity provider strategy#deadLetterQueueIQueuedead_letter_queueIQueuedeadLetterQueueIQueueDeadLetterQueueIQueueDeadLetterQueueIQueue= 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.
enableEcsManagedTagsbooleanenable_ecs_managed_tagsboolenableEcsManagedTagsBooleanEnableEcsManagedTagsboolEnableEcsManagedTags*bool= false#enableExecuteCommandbooleanenable_execute_commandboolenableExecuteCommandBooleanEnableExecuteCommandboolEnableExecuteCommand*bool= false#If true, this enables execute command functionality on all containers in the task.
inputScheduleTargetInputinputScheduleTargetInputinputScheduleTargetInputInputScheduleTargetInputInputScheduleTargetInput= no input.#maxEventAgeDurationmax_event_ageDurationmaxEventAgeDurationMaxEventAgeDurationMaxEventAgeDuration= Duration.hours(24)#Minimum value of 60. Maximum value of 86400.
placementConstraintsPlacementConstraint[]placement_constraintstyping.List[PlacementConstraint]placementConstraintsList<PlacementConstraint>PlacementConstraintsPlacementConstraint[]PlacementConstraints*[]PlacementConstraint= No placement constraints.#placementStrategiesPlacementStrategy[]placement_strategiestyping.List[PlacementStrategy]placementStrategiesList<PlacementStrategy>PlacementStrategiesPlacementStrategy[]PlacementStrategies*[]PlacementStrategy= No placement strategies.#propagateTagsbooleanpropagate_tagsboolpropagateTagsBooleanPropagateTagsboolPropagateTags*bool= No tag propagation#If no value is specified, the tags are not propagated.
referenceIdstringreference_idstrreferenceIdStringReferenceIdstringReferenceId*string= No reference ID.#retryAttemptsnumberretry_attemptsint | floatretryAttemptsNumberRetryAttemptsdoubleRetryAttempts*float64= 185#Minimum value of 0. Maximum value of 185.
notes
If none provided templates target will automatically create an IAM role with all the minimum necessary permissions to interact with the templated target. If you wish you may specify your own IAM role, then the templated targets will grant minimal required permissions.
securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGroup= The security group for the VPC i…#These security groups must all be in the same VPC. Controls inbound and outbound network access for the task.
default
Default: The security group for the VPC is used.
Each tag consists of a key and an optional value, both of which you define.
taskDefinitionTaskDefinitiontask_definitionTaskDefinitiontaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionrequired#Note: this must be TaskDefinition, and not ITaskDefinition, as it requires properties that are not known for imported task definitions If you want to run a RunTask with an imported task definition, consider using a Universal target.
vpcSubnetsSubnetSelectionvpc_subnetsSubnetSelectionvpcSubnetsSubnetSelectionVpcSubnetsSubnetSelectionVpcSubnetsSubnetSelection= all private subnets of the VPC a…#These subnets must all be in the same VPC. The task will be launched in these subnets.
default
Default: all private subnets of the VPC are selected.