Creating job definitions using ContainerProperties - Amazon Batch
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Creating job definitions using ContainerProperties

The following is an empty job definition template that includes a single container. You can use this template to create your job definition, which can then be saved to a file and used with the Amazon CLI --cli-input-json option. For more information about these parameters, see Job definition parameters for ContainerProperties.

{ "jobDefinitionName": "", "type": "container", "parameters": { "KeyName": "" }, "schedulingPriority": 0, "containerProperties": { "image": "", "vcpus": 0, "memory": 0, "command": [ "" ], "jobRoleArn": "", "executionRoleArn": "", "volumes": [ { "host": { "sourcePath": "" }, "name": "", "efsVolumeConfiguration": { "fileSystemId": "", "rootDirectory": "", "transitEncryption": "ENABLED", "transitEncryptionPort": 0, "authorizationConfig": { "accessPointId": "", "iam": "DISABLED" } } } ], "environment": [ { "name": "", "value": "" } ], "mountPoints": [ { "containerPath": "", "readOnly": true, "sourceVolume": "" } ], "readonlyRootFilesystem": true, "privileged": true, "ulimits": [ { "hardLimit": 0, "name": "", "softLimit": 0 } ], "user": "", "instanceType": "", "resourceRequirements": [ { "value": "", "type": "MEMORY" } ], "linuxParameters": { "devices": [ { "hostPath": "", "containerPath": "", "permissions": [ "WRITE" ] } ], "initProcessEnabled": true, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "", "size": 0, "mountOptions": [ "" ] } ], "maxSwap": 0, "swappiness": 0 }, "logConfiguration": { "logDriver": "syslog", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] }, "secrets": [ { "name": "", "valueFrom": "" } ], "networkConfiguration": { "assignPublicIp": "DISABLED" }, "fargatePlatformConfiguration": { "platformVersion": "" } }, "nodeProperties": { "numNodes": 0, "mainNode": 0, "nodeRangeProperties": [ { "targetNodes": "", "container": { "image": "", "vcpus": 0, "memory": 0, "command": [ "" ], "jobRoleArn": "", "executionRoleArn": "", "volumes": [ { "host": { "sourcePath": "" }, "name": "", "efsVolumeConfiguration": { "fileSystemId": "", "rootDirectory": "", "transitEncryption": "DISABLED", "transitEncryptionPort": 0, "authorizationConfig": { "accessPointId": "", "iam": "ENABLED" } } } ], "environment": [ { "name": "", "value": "" } ], "mountPoints": [ { "containerPath": "", "readOnly": true, "sourceVolume": "" } ], "readonlyRootFilesystem": true, "privileged": true, "ulimits": [ { "hardLimit": 0, "name": "", "softLimit": 0 } ], "user": "", "instanceType": "", "resourceRequirements": [ { "value": "", "type": "MEMORY" } ], "linuxParameters": { "devices": [ { "hostPath": "", "containerPath": "", "permissions": [ "WRITE" ] } ], "initProcessEnabled": true, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "", "size": 0, "mountOptions": [ "" ] } ], "maxSwap": 0, "swappiness": 0 }, "logConfiguration": { "logDriver": "awslogs", "options": { "KeyName": "" }, "secretOptions": [ { "name": "", "valueFrom": "" } ] }, "secrets": [ { "name": "", "valueFrom": "" } ], "networkConfiguration": { "assignPublicIp": "DISABLED" }, "fargatePlatformConfiguration": { "platformVersion": "" } } } ] }, "retryStrategy": { "attempts": 0, "evaluateOnExit": [ { "onStatusReason": "", "onReason": "", "onExitCode": "", "action": "RETRY" } ] }, "propagateTags": true, "timeout": { "attemptDurationSeconds": 0 }, "tags": { "KeyName": "" }, "platformCapabilities": [ "EC2" ], "eksProperties": { "podProperties": { "serviceAccountName": "", "hostNetwork": true, "dnsPolicy": "", "containers": [ { "name": "", "image": "", "imagePullPolicy": "", "command": [ "" ], "args": [ "" ], "env": [ { "name": "", "value": "" } ], "resources": { "limits": { "KeyName": "" }, "requests": { "KeyName": "" } }, "volumeMounts": [ { "name": "", "mountPath": "", "readOnly": true } ], "securityContext": { "runAsUser": 0, "runAsGroup": 0, "privileged": true, "readOnlyRootFilesystem": true, "runAsNonRoot": true } } ], "volumes": [ { "name": "", "hostPath": { "path": "" }, "emptyDir": { "medium": "", "sizeLimit": "" }, "secret": { "secretName": "", "optional": true } } ] } } }
Note

You can generate a singtle-container job definition template with the following Amazon CLI command:

$ aws batch register-job-definition --generate-cli-skeleton