AWS::Batch::JobDefinition - AWS CloudFormation


The AWS::Batch::JobDefinition resource specifies the parameters for an AWS Batch job definition. For more information, see Job Definitions in the AWS Batch User Guide.


To declare this entity in your AWS CloudFormation template, use the following syntax:


{ "Type" : "AWS::Batch::JobDefinition", "Properties" : { "ContainerProperties" : ContainerProperties, "JobDefinitionName" : String, "NodeProperties" : NodeProperties, "Parameters" : Json, "RetryStrategy" : RetryStrategy, "Timeout" : Timeout, "Type" : String } }



An object with various properties specific to container-based jobs.

Required: No

Type: ContainerProperties

Update requires: No interruption


The name of the job definition.

Required: No

Type: String

Update requires: Replacement


An object with various properties specific to multi-node parallel jobs.

Required: No

Type: NodeProperties

Update requires: No interruption


Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters in the AWS Batch User Guide.

Required: No

Type: Json

Update requires: No interruption


The retry strategy to use for failed jobs that are submitted with this job definition.

Required: No

Type: RetryStrategy

Update requires: No interruption


The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished.

Required: No

Type: Timeout

Update requires: No interruption


The type of job definition.

Required: Yes

Type: String

Allowed values: container | multinode

Update requires: No interruption

Return values


When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the job definition ARN, such as arn:aws:batch:us-east-1:111122223333:job-definition/test-gpu:2.

For more information about using the Ref function, see Ref.


Test nvidia-smi

The following example tests the nvidia-smi command on a GPU instance to verify that the GPU is working inside the container. For more information, see Test GPU Functionality in the AWS Batch User Guide.


{ "JobDefinition": { "Type": "AWS::Batch::JobDefinition", "Properties": { "Type": "container", "JobDefinitionName": "nvidia-smi", "ContainerProperties": { "MountPoints": [ { "ReadOnly": false, "SourceVolume": "nvidia", "ContainerPath": "/usr/local/nvidia" } ], "Volumes": [ { "Host": { "SourcePath": "/var/lib/nvidia-docker/volumes/nvidia_driver/latest" }, "Name": "nvidia" } ], "Command": [ "nvidia-smi" ], "Memory": 2000, "Privileged": true, "JobRoleArn": "String", "ReadonlyRootFilesystem": true, "Vcpus": 2, "Image": "nvidia/cuda" } } } }


JobDefinition: Type: AWS::Batch::JobDefinition Properties: Type: container JobDefinitionName: nvidia-smi ContainerProperties: MountPoints: - ReadOnly: false SourceVolume: nvidia ContainerPath: /usr/local/nvidia Volumes: - Host: SourcePath: /var/lib/nvidia-docker/volumes/nvidia_driver/latest Name: nvidia Command: - nvidia-smi Memory: 2000 Privileged: true JobRoleArn: String ReadonlyRootFilesystem: true Vcpus: 2 Image: nvidia/cuda

See also