AWS::Batch::JobDefinition
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.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Batch::JobDefinition", "Properties" : { "Type" :String, "Parameters" :Json, "NodeProperties" : NodeProperties, "Timeout" : Timeout, "ContainerProperties" : ContainerProperties, "JobDefinitionName" :String, "RetryStrategy" : RetryStrategy } }
YAML
Type: "AWS::Batch::JobDefinition" Properties: Type:StringParameters:JsonNodeProperties: NodeProperties Timeout: Timeout ContainerProperties: ContainerProperties JobDefinitionName:StringRetryStrategy: RetryStrategy
Properties
Type-
The type of job definition.
Required: Yes
Type: String
Update requires: No Interruption
Parameters-
Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. For more information about specifying parameters, see Job Definition Parameters in the AWS Batch User Guide.
Required: No
Type: JSON object
Update requires: No Interruption
NodeProperties-
An object representing the node properties of a multi-node parallel job.
Required: No
Type: NodeProperties
Update requires: No interruption
JobDefinitionName-
The name of the job definition.
Required: No
Type: String
Update requires: Replacement
ContainerProperties-
An object with various properties specific to container-based jobs.
Required: Yes
Type: AWS Batch JobDefinition ContainerProperties
Update requires: No Interruption
Timeout-
Specifies a job timeout configuration.
Required: No
Type: AWS Batch JobDefinition Timeout
Update requires: No Interruption
RetryStrategy-
The retry strategy to use for failed jobs that are submitted with this job definition.
Required: No
Type: AWS Batch JobDefinition RetryStrategy
Update requires: No Interruption
Return Values
Ref
When you pass the logical ID of an AWS::Batch::JobDefinition resource
to the intrinsic Ref function, the function 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.
Examples
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.
JSON
{ "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" } } } }
YAML
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
