# IJobQueue

Represents a JobQueue.

Extends: IJobQueue
Extends: IResource, IJobQueueRef
Implemented by: JobQueue

- Source: [`aws-batch/lib/job-queue.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-batch/lib/job-queue.ts#L22)
- Type last changed: v2.234.0 · 8 Jan 2026

## Properties

- `computeEnvironments`: [OrderedComputeEnvironment](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.OrderedComputeEnvironment.html)[] — The set of compute environments mapped to a job queue and their order relative to each other.

  The job scheduler uses this parameter to determine which compute environment runs a specific job.
  Compute environments must be in the VALID state before you can associate them with a job queue.
  You can associate up to three compute environments with a job queue.
  All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT);
  EC2 and Fargate compute environments can't be mixed.

  *Note*: All compute environments that are associated with a job queue must share the same architecture.
  AWS Batch doesn't support mixing compute environment architecture types in a single job queue.

- `enabled`: boolean = true — If the job queue is enabled, it is able to accept jobs.

  Otherwise, new jobs can't be added to the queue, but jobs already in the queue can finish.

- `env`: [ResourceEnvironment](/cdk/api/v2/docs/aws-cdk-lib.interfaces.ResourceEnvironment.html) — The environment this resource belongs to.

  For resources that are created and managed in a Stack (those created by
  creating new class instances like `new Role()`, `new Bucket()`, etc.), this
  is always the same as the environment of the stack they belong to.

  For referenced resources (those obtained from referencing methods like
  `Role.fromRoleArn()`, `Bucket.fromBucketName()`, etc.), they might be
  different than the stack they were imported into.

- `jobQueueArn`: string — The ARN of this job queue.

- `jobQueueName`: string — The name of the job queue.

  It can be up to 128 letters long.
  It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_)

- `jobQueueRef`: [JobQueueReference](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_batch.JobQueueReference.html) — A reference to a JobQueue resource.

- `node`: [Node](/cdk/api/v2/docs/constructs.Node.html) — The tree node.

- `priority`: number — The priority of the job queue.

  Job queues with a higher priority are evaluated first when associated with the same compute environment.
  Priority is determined in descending order.
  For example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

- `schedulingPolicy`: [ISchedulingPolicy](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.ISchedulingPolicy.html) — The SchedulingPolicy for this JobQueue.

  **Default:** no scheduling policy

  Instructs the Scheduler how to schedule different jobs.

- `stack`: [Stack](/cdk/api/v2/docs/aws-cdk-lib.Stack.html) — The stack in which this resource is defined.

## Methods

- `addComputeEnvironment(computeEnvironment: IComputeEnvironmentRef, order: number): void` — Add a `ComputeEnvironment` to this Queue.

  The Queue will prefer lower-order `ComputeEnvironment`s.

- `applyRemovalPolicy(policy: RemovalPolicy): void` — Apply the given removal policy to this resource.

  The Removal Policy controls what happens to this resource when it stops
  being managed by CloudFormation, either because you've removed it from the
  CDK application or because you've made a change that requires the resource
  to be replaced.

  The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
  account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).

- `with(...mixins: IMixin[]): IConstruct` — Applies one or more mixins to this construct.

  Mixins are applied in order. The list of constructs is captured at the
  start of the call, so constructs added by a mixin will not be visited.

  **Parameters**

  - `mixins` — The mixins to apply.

  **Returns:** This construct for chaining
