@aws-cdk_aws-batch-alpha.EksJobDefinition

class EksJobDefinition (construct) ๐Ÿ”น

LanguageType name
.NETAmazon.CDK.AWS.Batch.Alpha.EksJobDefinition
Gogithub.com/aws/aws-cdk-go/awscdkbatchalpha/v2#EksJobDefinition
Javasoftware.amazon.awscdk.services.batch.alpha.EksJobDefinition
Pythonaws_cdk.aws_batch_alpha.EksJobDefinition
TypeScript (source)@aws-cdk/aws-batch-alpha ยป EksJobDefinition

Implements IConstruct, IDependable, IResource, IEksJobDefinition, IJobDefinition

A JobDefinition that uses Eks orchestration.

Example

import * as cdk from 'aws-cdk-lib';
const jobDefn = new batch.EksJobDefinition(this, 'eksf2', {
  container: new batch.EksContainerDefinition(this, 'container', {
    image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
    volumes: [batch.EksVolume.emptyDir({
      name: 'myEmptyDirVolume',
      mountPath: '/mount/path',
      medium: batch.EmptyDirMediumType.MEMORY,
      readonly: true,
      sizeLimit: cdk.Size.mebibytes(2048),
    })],
  }),
});

Initializer

new EksJobDefinition(scope: Construct, id: string, props: EksJobDefinitionProps)

Parameters

  • scope Construct
  • id string
  • props EksJobDefinitionProps

Construct Props

NameTypeDescription
container๐Ÿ”นEksContainerDefinitionThe container this Job Definition will run.
dnsPolicy?๐Ÿ”นDnsPolicyThe DNS Policy of the pod used by this Job Definition.
jobDefinitionName?๐Ÿ”นstringThe 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.
retryAttempts?๐Ÿ”นnumberThe number of times to retry a job.
retryStrategies?๐Ÿ”นRetryStrategy[]Defines the retry behavior for this job.
schedulingPriority?๐Ÿ”นnumberThe priority of this Job.
serviceAccount?๐Ÿ”นstringThe name of the service account that's used to run the container.
timeout?๐Ÿ”นDurationThe timeout time for jobs that are submitted with this job definition.
useHostNetwork?๐Ÿ”นbooleanIf specified, the Pod used by this Job Definition will use the host's network IP address.

container๐Ÿ”น

Type: EksContainerDefinition

The container this Job Definition will run.


dnsPolicy?๐Ÿ”น

Type: DnsPolicy (optional, default: DnsPolicy.CLUSTER_FIRST)

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

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


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


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: RetryStrategy[] (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.


serviceAccount?๐Ÿ”น

Type: string (optional, default: the default service account of the container)

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.

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


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.


useHostNetwork?๐Ÿ”น

Type: boolean (optional, default: true)

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.

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

Properties

NameTypeDescription
container๐Ÿ”นEksContainerDefinitionThe container this Job Definition will run.
env๐Ÿ”นResourceEnvironmentThe environment this resource belongs to.
jobDefinitionArn๐Ÿ”นstringThe ARN of this job definition.
jobDefinitionName๐Ÿ”นstringThe name of this job definition.
node๐Ÿ”นNodeThe tree node.
retryStrategies๐Ÿ”นRetryStrategy[]Defines the retry behavior for this job.
stack๐Ÿ”นStackThe stack in which this resource is defined.
dnsPolicy?๐Ÿ”นDnsPolicyThe DNS Policy of the pod used by 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.
retryAttempts?๐Ÿ”นnumberThe number of times to retry a job.
schedulingPriority?๐Ÿ”นnumberThe priority of this Job.
serviceAccount?๐Ÿ”นstringThe name of the service account that's used to run the container.
timeout?๐Ÿ”นDurationThe timeout time for jobs that are submitted with this job definition.
useHostNetwork?๐Ÿ”นbooleanIf specified, the Pod used by this Job Definition will use the host's network IP address.

container๐Ÿ”น

Type: EksContainerDefinition

The container this Job Definition will run.


env๐Ÿ”น

Type: ResourceEnvironment

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: RetryStrategy[]

Defines the retry behavior for this job.


stack๐Ÿ”น

Type: Stack

The stack in which this resource is defined.


dnsPolicy?๐Ÿ”น

Type: DnsPolicy (optional)

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


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.


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.


serviceAccount?๐Ÿ”น

Type: string (optional)

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.


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.


useHostNetwork?๐Ÿ”น

Type: boolean (optional)

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.

Methods

NameDescription
addRetryStrategy(strategy)๐Ÿ”นAdd a RetryStrategy to this JobDefinition.
applyRemovalPolicy(policy)๐Ÿ”นApply the given removal policy to this resource.
toString()๐Ÿ”นReturns a string representation of this construct.
static fromEksJobDefinitionArn(scope, id, eksJobDefinitionArn)๐Ÿ”นImport an EksJobDefinition by its arn.

addRetryStrategy(strategy)๐Ÿ”น

public addRetryStrategy(strategy: RetryStrategy): void

Parameters

  • strategy RetryStrategy

Add a RetryStrategy to this JobDefinition.


applyRemovalPolicy(policy)๐Ÿ”น

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

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).


toString()๐Ÿ”น

public toString(): string

Returns

  • string

Returns a string representation of this construct.


static fromEksJobDefinitionArn(scope, id, eksJobDefinitionArn)๐Ÿ”น

public static fromEksJobDefinitionArn(scope: Construct, id: string, eksJobDefinitionArn: string): IEksJobDefinition

Parameters

  • scope Construct
  • id string
  • eksJobDefinitionArn string

Returns

  • IEksJobDefinition

Import an EksJobDefinition by its arn.