EcsJobDefinitionProps

class aws_cdk.aws_batch.EcsJobDefinitionProps(*, job_definition_name=None, parameters=None, retry_attempts=None, retry_strategies=None, scheduling_priority=None, timeout=None, container, propagate_tags=None)

Bases: JobDefinitionProps

Props for EcsJobDefinition.

Parameters:
  • job_definition_name (Optional[str]) – The name of this job definition. Default: - generated by CloudFormation

  • parameters (Optional[Mapping[str, Any]]) – The default parameters passed to the container These parameters can be referenced in the command that you give to the container. Default: none

  • retry_attempts (Union[int, float, None]) – The number of times to retry a job. The job is retried on failure the same number of attempts as the value. Default: 1

  • retry_strategies (Optional[Sequence[RetryStrategy]]) – Defines the retry behavior for this job. Default: - no RetryStrategy

  • scheduling_priority (Union[int, float, 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. Default: none

  • timeout (Optional[Duration]) – 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. Default: - no timeout

  • container (IEcsContainerDefinition) – The container that this job will run.

  • propagate_tags (Optional[bool]) – Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns. Default: false

ExampleMetadata:

infused

Example:

# vpc: ec2.IVpc


ecs_job = batch.EcsJobDefinition(self, "JobDefn",
    container=batch.EcsEc2ContainerDefinition(self, "containerDefn",
        image=ecs.ContainerImage.from_registry("public.ecr.aws/amazonlinux/amazonlinux:latest"),
        memory=cdk.Size.mebibytes(2048),
        cpu=256
    )
)

queue = batch.JobQueue(self, "JobQueue",
    compute_environments=[batch.OrderedComputeEnvironment(
        compute_environment=batch.ManagedEc2EcsComputeEnvironment(self, "managedEc2CE",
            vpc=vpc
        ),
        order=1
    )],
    priority=10
)

user = iam.User(self, "MyUser")
ecs_job.grant_submit_job(user, queue)

Attributes

container

The container that this job will run.

job_definition_name

The name of this job definition.

Default:
  • generated by CloudFormation

parameters

The default parameters passed to the container These parameters can be referenced in the command that you give to the container.

Default:

none

See:

https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html#parameters

propagate_tags

Whether to propogate tags from the JobDefinition to the ECS task that Batch spawns.

Default:

false

retry_attempts

The number of times to retry a job.

The job is retried on failure the same number of attempts as the value.

Default:

1

retry_strategies

Defines the retry behavior for this job.

Default:
  • no RetryStrategy

scheduling_priority

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.

Default:

none

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.

Default:
  • no timeout