Skip to content
Back to main site

AWS Batch

Manage compute-environment, job-queue and job-definition records.

Plan: Pro21 of 48 operations implemented, 1 failed in testing

Submitting a job returns HTTP 501 NotIncluded in Vera 1.2.0-rc.3: the job engine isn't included, and a Pro license doesn't add it.

Example checked on Vera 1.2.2, 8 November 2026. Each coverage note names its own evidence and date.

Activate your license key and start the emulator with the Vera launcher, as in Activate Pro, then run this in a terminal of its own, from an empty scratch directory. It gives the official AWS CLI dummy credentials and a config file of its own, so no AWS account is needed and your own AWS profile isn't touched.

Terminal window
export VERA_ENDPOINT="http://localhost:5003"
export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test
export AWS_REGION=us-east-1 AWS_DEFAULT_REGION=us-east-1
export AWS_SHARED_CREDENTIALS_FILE=/dev/null
export AWS_EC2_METADATA_DISABLED=true
export AWS_PAGER="" AWS_CLI_AUTO_PROMPT=off
unset AWS_PROFILE AWS_DEFAULT_PROFILE
unset AWS_SESSION_TOKEN AWS_SECURITY_TOKEN
unset AWS_WEB_IDENTITY_TOKEN_FILE AWS_ROLE_ARN AWS_ROLE_SESSION_NAME
unset AWS_CONTAINER_CREDENTIALS_FULL_URI
unset AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
cat > vera-aws-config <<'EOF'
[default]
region = us-east-1
output = json
cli_binary_format = base64
s3 =
addressing_style = path
EOF
export AWS_CONFIG_FILE="$PWD/vera-aws-config"

When you've finished every example in this terminal, close it and delete vera-aws-config, not before.

Use the AWS CLI’s batch commands. The emulator serves the 2016-08-10 API over the REST JSON protocol, and the examples use us-east-1.

Register a container job definition and describe it. The image is metadata: this sequence never submits or runs it, and the image is never pulled.

Terminal window
JOB_DEF_ARN=$(aws --endpoint-url "$VERA_ENDPOINT" batch register-job-definition \
--job-definition-name vera-docs-job --type container \
--container-properties '{"image":"example.net/docs-image:latest","vcpus":1,"memory":128,"command":["echo","metadata only"]}' \
--query jobDefinitionArn --output text)
aws --endpoint-url "$VERA_ENDPOINT" batch describe-job-definitions \
--job-definitions "$JOB_DEF_ARN" \
--query 'jobDefinitions[].{Name:jobDefinitionName,Status:status,Type:type}'

The --query picks the definition’s name, status and type:

Output
[
{
"Name": "vera-docs-job",
"Status": "ACTIVE",
"Type": "container"
}
]

To clean up, deregister the job definition:

Terminal window
aws --endpoint-url "$VERA_ENDPOINT" batch deregister-job-definition \
--job-definition "$JOB_DEF_ARN"

The deregistered job definition becomes inactive rather than erased, and lasts until the emulator’s state is discarded: see Running the emulator.

Submitting jobs isn’t available in Vera 1.2.0-rc.3. With a compute environment, a job queue and a job definition in place, submit-job returns HTTP 501 NotIncluded, with the message “Running Batch jobs needs an engine that is not included in this Vera release”. A Pro license doesn’t add the engine.

  • Job definitions as records: registered, described and deregistered, as in the example.
  • Compute environments and job queues as records. In a separate check of Vera 1.2.0-rc.3, an UNMANAGED compute environment, which provisions no capacity, and a job queue on it were created, described and cleaned up.
  • Listed in the earlier implementation inventory; not rechecked against Vera 1.2.0-rc.3: scheduling policies, job listings and job queue snapshots.

The main limits are below. A few more apply to every service, and the API coverage notes cover smaller differences.

  • Jobs can’t be submitted in Vera 1.2.0-rc.3. SubmitJob returns NotIncluded, because this release doesn’t include Batch’s job engine, so there’s no new job to run, describe, cancel or terminate. In Vera 1.2.0 preview, a submitted job was RUNNING at once with container.exitCode 0, even for sh -c 'exit 97' in an image that doesn’t exist, though no worker pulled its image or ran its command.
  • Scheduling wasn’t verified. Retries, job dependencies, array jobs, timeouts, fair-share scheduling, worker capacity and logs weren’t shown to work.
  • Managed capacity wasn’t tested. Only an UNMANAGED compute environment was used, so no EC2 or ECS capacity was provisioned.

Every operation in AWS's published 2016-08-10 API (SDK model, botocore 1.43.105), and whether the emulator implements it. Availability combines the earlier implementation inventory with the dated observations below; checking a page's example does not verify every operation. Each note names its evidence first; an observation given without a build or date comes from earlier testing, on 3 November 2026. What the statuses mean

OperationStatusNotes
CancelJobImplementedSucceeds, but the job stays RUNNING. Local observation: Vera 1.2.0 preview, 5 November 2026 — the same for a RUNNING job, which matches AWS: a running job needs TerminateJob. Cancelling SUBMITTED, PENDING or RUNNABLE jobs wasn't tested.
CancelJobsNot implemented
CreateComputeEnvironmentImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — created an UNMANAGED compute environment, which provisions no capacity.
CreateConsumableResourceNot implemented
CreateJobQueueImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — created a job queue.
CreateQuotaShareNot implemented
CreateSchedulingPolicyImplemented
CreateServiceEnvironmentNot implemented
DeleteComputeEnvironmentImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — deleted the disabled compute environment.
DeleteConsumableResourceNot implemented
DeleteJobQueueImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — deleted the disabled job queue.
DeleteQuotaShareNot implemented
DeleteSchedulingPolicyImplemented
DeleteServiceEnvironmentNot implemented
DeregisterJobDefinitionImplementedLocal observation: Vera 1.2.0-rc.3, 6 November 2026 — deregistered the example's job definition, which can remain as an inactive record.
DescribeComputeEnvironmentsImplemented
DescribeConsumableResourceNot implemented
DescribeJobDefinitionsImplemented
DescribeJobQueuesImplemented
DescribeJobsImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — described the job record before and after TerminateJob. In Vera 1.2.0-rc.3, SubmitJob returns NotIncluded, so this can't be repeated with a new job; this operation itself wasn't retested.
DescribeQuotaShareNot implemented
DescribeSchedulingPoliciesImplemented
DescribeServiceEnvironmentsNot implemented
DescribeServiceJobNot implemented
GetJobQueueSnapshotImplemented
ListConsumableResourcesNot implemented
ListJobsImplemented
ListJobsByConsumableResourceNot implemented
ListQuotaSharesNot implemented
ListSchedulingPoliciesImplemented
ListServiceJobsNot implemented
ListTagsForResourceNot implemented
RegisterJobDefinitionImplementedLocal observation: Vera 1.2.0-rc.3, 6 November 2026 — registered the example's container job definition, which read back ACTIVE. Its image is only metadata: nothing is pulled or run.
SubmitJobFailed in testingLocal observation: Vera 1.2.0-rc.3, 6 November 2026 — returns HTTP 501 NotIncluded: running Batch jobs needs an engine that isn't included in this Vera release. This was after a compute environment, job queue and job definition were created. A Pro license doesn't add the engine. The earlier observations that follow don't describe Vera 1.2.0-rc.3. Local observation: earlier testing, 3 November 2026 — the job was RUNNING at once, but nothing ran it: no worker pulled its image or ran its command. Local observation: Vera 1.2.0 preview, 5 November 2026 — the same, with container.exitCode 0 already set, even for a command of sh -c 'exit 97' in an image that doesn't exist.
SubmitServiceJobNot implemented
TagResourceNot implemented
TerminateJobImplementedMakes the job FAILED, with your reason as its status reason. Local observation: Vera 1.2.0 preview, 5 November 2026 — the same, and the terminated job's record stayed available to DescribeJobs. In a separate check, it recorded exit code 137. In Vera 1.2.0-rc.3, SubmitJob returns NotIncluded, so this can't be repeated with a new job; this operation itself wasn't retested.
TerminateJobsNot implemented
TerminateServiceJobNot implemented
TerminateServiceJobsNot implemented
UntagResourceNot implemented
UpdateComputeEnvironmentImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — disabled a compute environment.
UpdateConsumableResourceNot implemented
UpdateJobQueueImplementedLocal observation: Vera 1.2.0 preview, 5 November 2026 — disabled a job queue.
UpdateQuotaShareNot implemented
UpdateSchedulingPolicyImplemented
UpdateServiceEnvironmentNot implemented
UpdateServiceJobNot implemented