EksJobDefinitionProps

class aws_cdk.aws_batch.EksJobDefinitionProps(*, job_definition_name=None, parameters=None, retry_attempts=None, retry_strategies=None, scheduling_priority=None, timeout=None, container, dns_policy=None, service_account=None, use_host_network=None)

Bases: JobDefinitionProps

Props for EksJobDefinition.

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 (EksContainerDefinition) – The container this Job Definition will run.

  • dns_policy (Optional[DnsPolicy]) – The DNS Policy of the pod used by this Job Definition. Default: DnsPolicy.CLUSTER_FIRST

  • service_account (Optional[str]) – The name of the service account that’s used to run the container. service accounts are Kubernetes method of identification and authentication, roughly analogous to IAM users. Default: - the default service account of the container

  • use_host_network (Optional[bool]) – If specified, the Pod used by this Job Definition will use the host’s network IP address. Otherwise, the Kubernetes pod networking model is enabled. Most AWS Batch workloads are egress-only and don’t require the overhead of IP allocation for each pod for incoming connections. Default: true

ExampleMetadata:

infused

Example:

job_defn = batch.EksJobDefinition(self, "eksf2",
    container=batch.EksContainerDefinition(self, "container",
        image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
        volumes=[batch.EksVolume.empty_dir(
            name="myEmptyDirVolume",
            mount_path="/mount/path",
            medium=batch.EmptyDirMediumType.MEMORY,
            readonly=True,
            size_limit=cdk.Size.mebibytes(2048)
        )]
    )
)

Attributes

container

The container this Job Definition will run.

dns_policy

The DNS Policy of the pod used by this Job Definition.

Default:

DnsPolicy.CLUSTER_FIRST

See:

https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy

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

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

service_account

The name of the service account that’s used to run the container.

service accounts are Kubernetes method of identification and authentication, roughly analogous to IAM users.

Default:
  • the default service account of the container

See:

https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html

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

use_host_network

If specified, the Pod used by this Job Definition will use the host’s network IP address.

Otherwise, the Kubernetes pod networking model is enabled. Most AWS Batch workloads are egress-only and don’t require the overhead of IP allocation for each pod for incoming connections.

Default:

true

See:

https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking