class EcsJobDefinition (construct)
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.Batch.EcsJobDefinition |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsbatch#EcsJobDefinition |
Java | software.amazon.awscdk.services.batch.EcsJobDefinition |
Python | aws_cdk.aws_batch.EcsJobDefinition |
TypeScript (source) | aws-cdk-lib » aws_batch » EcsJobDefinition |
Implements
IConstruct
, IDependable
, IResource
, IJob
A JobDefinition that uses ECS orchestration.
Example
declare const vpc: ec2.IVpc;
const ecsJob = new batch.EcsJobDefinition(this, 'JobDefn', {
container: new batch.EcsEc2ContainerDefinition(this, 'containerDefn', {
image: ecs.ContainerImage.fromRegistry('public.ecr.aws/amazonlinux/amazonlinux:latest'),
memory: cdk.Size.mebibytes(2048),
cpu: 256,
}),
});
const queue = new batch.JobQueue(this, 'JobQueue', {
computeEnvironments: [{
computeEnvironment: new batch.ManagedEc2EcsComputeEnvironment(this, 'managedEc2CE', {
vpc,
}),
order: 1,
}],
priority: 10,
});
const user = new iam.User(this, 'MyUser');
ecsJob.grantSubmitJob(user, queue);
Initializer
new EcsJobDefinition(scope: Construct, id: string, props: EcsJobDefinitionProps)
Parameters
- scope
Construct
- id
string
- props
Ecs
Job Definition Props
Construct Props
Name | Type | Description |
---|---|---|
container | IEcs | The container that this job will run. |
job | string | The name of this job definition. |
parameters? | { [string]: any } | The default parameters passed to the container These parameters can be referenced in the command that you give to the container. |
propagate | boolean | Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns. |
retry | number | The number of times to retry a job. |
retry | Retry [] | Defines the retry behavior for this job. |
scheduling | number | The priority of this Job. |
timeout? | Duration | The timeout time for jobs that are submitted with this job definition. |
container
Type:
IEcs
The container that this job will run.
jobDefinitionName?
Type:
string
(optional, default: generated by CloudFormation)
The name of this job definition.
parameters?
Type:
{ [string]: any }
(optional, default: none)
The default parameters passed to the container These parameters can be referenced in the command
that you give to the container.
See also: https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html#parameters
propagateTags?
Type:
boolean
(optional, default: false)
Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns.
retryAttempts?
Type:
number
(optional, default: 1)
The number of times to retry a job.
The job is retried on failure the same number of attempts as the value.
retryStrategies?
Type:
Retry
[]
(optional, default: no RetryStrategy
)
Defines the retry behavior for this job.
schedulingPriority?
Type:
number
(optional, default: none)
The priority of this Job.
Only used in Fairshare Scheduling to decide which job to run first when there are multiple jobs with the same share identifier.
timeout?
Type:
Duration
(optional, default: no timeout)
The timeout time for jobs that are submitted with this job definition.
After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.
Properties
Name | Type | Description |
---|---|---|
container | IEcs | The container that this job will run. |
env | Resource | The environment this resource belongs to. |
job | string | The ARN of this job definition. |
job | string | The name of this job definition. |
node | Node | The tree node. |
retry | Retry [] | Defines the retry behavior for this job. |
stack | Stack | The stack in which this resource is defined. |
parameters? | { [string]: any } | The default parameters passed to the container These parameters can be referenced in the command that you give to the container. |
propagate | boolean | Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns. |
retry | number | The number of times to retry a job. |
scheduling | number | The priority of this Job. |
timeout? | Duration | The timeout time for jobs that are submitted with this job definition. |
container
Type:
IEcs
The container that this job will run.
env
Type:
Resource
The environment this resource belongs to.
For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.
jobDefinitionArn
Type:
string
The ARN of this job definition.
jobDefinitionName
Type:
string
The name of this job definition.
node
Type:
Node
The tree node.
retryStrategies
Type:
Retry
[]
Defines the retry behavior for this job.
stack
Type:
Stack
The stack in which this resource is defined.
parameters?
Type:
{ [string]: any }
(optional)
The default parameters passed to the container These parameters can be referenced in the command
that you give to the container.
propagateTags?
Type:
boolean
(optional)
Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns.
retryAttempts?
Type:
number
(optional)
The number of times to retry a job.
The job is retried on failure the same number of attempts as the value.
schedulingPriority?
Type:
number
(optional)
The priority of this Job.
Only used in Fairshare Scheduling to decide which job to run first when there are multiple jobs with the same share identifier.
timeout?
Type:
Duration
(optional)
The timeout time for jobs that are submitted with this job definition.
After the amount of time you specify passes, Batch terminates your jobs if they aren't finished.
Methods
Name | Description |
---|---|
add | Add a RetryStrategy to this JobDefinition. |
apply | Apply the given removal policy to this resource. |
grant | Grants the batch:submitJob permission to the identity on both this job definition and the queue . |
to | Returns a string representation of this construct. |
static from | Import a JobDefinition by its arn. |
RetryStrategy(strategy)
addpublic addRetryStrategy(strategy: RetryStrategy): void
Parameters
- strategy
Retry
Strategy
Add a RetryStrategy to this JobDefinition.
RemovalPolicy(policy)
applypublic applyRemovalPolicy(policy: RemovalPolicy): void
Parameters
- policy
Removal
Policy
Apply the given removal policy to this resource.
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
).
SubmitJob(identity, queue)
grantpublic grantSubmitJob(identity: IGrantable, queue: IJobQueue): void
Parameters
- identity
IGrantable
- queue
IJob
Queue
Grants the batch:submitJob
permission to the identity on both this job definition and the queue
.
String()
topublic toString(): string
Returns
string
Returns a string representation of this construct.
JobDefinitionArn(scope, id, jobDefinitionArn)
static frompublic static fromJobDefinitionArn(scope: Construct, id: string, jobDefinitionArn: string): IJobDefinition
Parameters
- scope
Construct
- id
string
- jobDefinitionArn
string
Returns
Import a JobDefinition by its arn.