Creating job definitions using ContainerProperties - AWS Batch

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 AWS 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 AWS CLI command:

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