Skip to content
v2.275.0

Ec2TaskProps Struct ​

Properties for scheduling an ECS Task on EC2.

Example ​

ts
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 ​

capacityProviderStrategiesoptionalCapacityProviderStrategy[]capacity_provider_strategiesoptionaltyping.List[CapacityProviderStrategy]capacityProviderStrategiesoptionalList<CapacityProviderStrategy>CapacityProviderStrategiesoptionalCapacityProviderStrategy[]CapacityProviderStrategiesoptional*[]CapacityProviderStrategy#
The capacity provider strategy to use for the task.

Default: No capacity provider strategy

deadLetterQueueoptionalIQueuedead_letter_queueoptionalIQueuedeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueueDeadLetterQueueoptionalIQueue#
The SQS queue to be used as deadLetterQueue.

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.

enableEcsManagedTagsoptionalbooleanenable_ecs_managed_tagsoptionalboolenableEcsManagedTagsoptionalBooleanEnableEcsManagedTagsoptionalboolEnableEcsManagedTagsoptional*bool= false#
Specifies whether to enable Amazon ECS managed tags for the task.
enableExecuteCommandoptionalbooleanenable_execute_commandoptionalboolenableExecuteCommandoptionalBooleanEnableExecuteCommandoptionalboolEnableExecuteCommandoptional*bool= false#
Whether to enable execute command functionality for the containers in this task.

If true, this enables execute command functionality on all containers in the task.

groupoptionalstringgroupoptionalstrgroupoptionalStringGroupoptionalstringGroupoptional*string#
Specifies an ECS task group for the task.

Default: No group

inputoptionalScheduleTargetInputinputoptionalScheduleTargetInputinputoptionalScheduleTargetInputInputoptionalScheduleTargetInputInputoptionalScheduleTargetInput#
Input passed to the target.

Default: no input.

maxEventAgeoptionalDurationmax_event_ageoptionalDurationmaxEventAgeoptionalDurationMaxEventAgeoptionalDurationMaxEventAgeoptionalDuration= Duration.hours(24)#
The maximum age of a request that Scheduler sends to a target for processing.

Minimum value of 60. Maximum value of 86400.

placementConstraintsoptionalPlacementConstraint[]placement_constraintsoptionaltyping.List[PlacementConstraint]placementConstraintsoptionalList<PlacementConstraint>PlacementConstraintsoptionalPlacementConstraint[]PlacementConstraintsoptional*[]PlacementConstraint#
The rules that must be met in order to place a task on a container instance.

Default: No placement constraints.

placementStrategiesoptionalPlacementStrategy[]placement_strategiesoptionaltyping.List[PlacementStrategy]placementStrategiesoptionalList<PlacementStrategy>PlacementStrategiesoptionalPlacementStrategy[]PlacementStrategiesoptional*[]PlacementStrategy#
The algorithm for selecting container instances for task placement.

Default: No placement strategies.

propagateTagsoptionalbooleanpropagate_tagsoptionalboolpropagateTagsoptionalBooleanPropagateTagsoptionalboolPropagateTagsoptional*bool#
Specifies whether to propagate the tags from the task definition to the task.

Default: No tag propagation

If no value is specified, the tags are not propagated.

referenceIdoptionalstringreference_idoptionalstrreferenceIdoptionalStringReferenceIdoptionalstringReferenceIdoptional*string#
The reference ID to use for the task.

Default: No reference ID.

retryAttemptsoptionalnumberretry_attemptsoptionalint | floatretryAttemptsoptionalNumberRetryAttemptsoptionaldoubleRetryAttemptsoptional*float64= 185#
The maximum number of times to retry when the target returns an error.

Minimum value of 0. Maximum value of 185.

roleoptionalIRoleroleoptionalIRoleroleoptionalIRoleRoleoptionalIRoleRoleoptionalIRole#
An execution role is an IAM role that EventBridge Scheduler assumes in order to interact with other AWS services on your behalf.

Default: created by target

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.

securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#
The security groups associated with the task.

Default: The security group for the VPC is used.

These security groups must all be in the same VPC. Controls inbound and outbound network access for the task.

tagsoptionalTag[]tagsoptionaltyping.List[Tag]tagsoptionalList<Tag>TagsoptionalTag[]Tagsoptional*[]Tag#
The metadata that you apply to the task to help you categorize and organize them.

Default: No tags

Each tag consists of a key and an optional value, both of which you define.

taskCountoptionalnumbertask_countoptionalint | floattaskCountoptionalNumberTaskCountoptionaldoubleTaskCountoptional*float64= 1#
The number of tasks to create based on TaskDefinition.
taskDefinitionTaskDefinitiontask_definitionTaskDefinitiontaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionTaskDefinitionrequired#
The task definition to use for scheduled tasks.

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.

vpcSubnetsoptionalSubnetSelectionvpc_subnetsoptionalSubnetSelectionvpcSubnetsoptionalSubnetSelectionVpcSubnetsoptionalSubnetSelectionVpcSubnetsoptionalSubnetSelection#
The subnets associated with the task.

Default: all private subnets of the VPC are selected.

These subnets must all be in the same VPC. The task will be launched in these subnets.