{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aws-batch/json-schema/aws-batch-describe-job-queues-response-schema.json",
  "title": "DescribeJobQueuesResponse",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aws-batch-job-queues-api-openapi.yml#/components/schemas/DescribeJobQueuesResponse",
  "type": "object",
  "properties": {
    "jobQueues": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/JobQueueDetail"
      },
      "description": "The list of job queues."
    },
    "nextToken": {
      "type": "string",
      "description": "The nextToken value to include in a future DescribeJobQueues request. When the results of a DescribeJobQueues request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return."
    }
  },
  "$defs": {
    "ComputeEnvironmentOrder": {
      "type": "object",
      "properties": {
        "order": {
          "type": "integer",
          "description": "The order of the compute environment. Compute environments are tried in ascending order. For example, if two compute environments are associated with a job queue, the compute environment with a lower order integer value is tried for job placement first."
        },
        "computeEnvironment": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the compute environment."
        }
      },
      "required": [
        "order",
        "computeEnvironment"
      ]
    },
    "JobQueueDetail": {
      "type": "object",
      "properties": {
        "jobQueueName": {
          "type": "string",
          "description": "The job queue name."
        },
        "jobQueueArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the job queue."
        },
        "state": {
          "type": "string",
          "enum": [
            "ENABLED",
            "DISABLED"
          ],
          "description": "Describes the ability of the queue to accept new jobs. If the job queue state is ENABLED, it can accept jobs. If the job queue state is DISABLED, new jobs can't be added to the queue, but jobs already in the queue can finish."
        },
        "schedulingPolicyArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) of the scheduling policy. The format is aws:Partition:batch:Region:Account:scheduling-policy/Name . For example, aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy."
        },
        "status": {
          "type": "string",
          "enum": [
            "CREATING",
            "UPDATING",
            "DELETING",
            "DELETED",
            "VALID",
            "INVALID"
          ],
          "description": "The status of the job queue (for example, CREATING or VALID)."
        },
        "statusReason": {
          "type": "string",
          "description": "A short, human-readable string to provide additional details for the current status of the job queue."
        },
        "priority": {
          "type": "integer",
          "description": "The priority of the job queue. Job queue priority determines the order that job queues are evaluated when multiple queues dispatch jobs within a shared compute environment. A higher value for priority indicates a higher priority. Queues are evaluated in cycles, in descending order by priority. For example, a job queue with a priority value of 10 is evaluated before a queue with a priority value of 1. All of the compute environments must be either Amazon EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT). Amazon EC2 and Fargate compute environments can't be mixed. Job queue priority doesn't"
        },
        "computeEnvironmentOrder": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ComputeEnvironmentOrder"
          },
          "description": "The compute environments that are attached to the job queue and the order that job placement is preferred. Compute environments are selected for job placement in ascending order."
        },
        "serviceEnvironmentOrder": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ServiceEnvironmentOrder"
          },
          "description": "The order of the service environment associated with the job queue. Job queues with a higher priority are evaluated first when associated with the same service environment."
        },
        "jobQueueType": {
          "type": "string",
          "enum": [
            "EKS",
            "ECS",
            "ECS_FARGATE",
            "SAGEMAKER_TRAINING",
            "ECS_MANAGED_INSTANCES"
          ],
          "description": "The type of job queue. For service jobs that run on SageMaker Training, this value is SAGEMAKER_TRAINING. For regular container jobs, this value is EKS, ECS, or ECS_FARGATE depending on the compute environment."
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "The tags that are applied to the job queue. For more information, see Tagging your Batch resources in Batch User Guide."
        },
        "jobStateTimeLimitActions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/JobStateTimeLimitAction"
          },
          "description": "The set of actions that Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times. Batch will perform each action after maxTimeSeconds has passed."
        }
      },
      "required": [
        "jobQueueName",
        "jobQueueArn",
        "state",
        "priority",
        "computeEnvironmentOrder"
      ]
    },
    "JobStateTimeLimitAction": {
      "type": "object",
      "properties": {
        "reason": {
          "type": "string",
          "description": "The reason to log for the action being taken."
        },
        "state": {
          "type": "string",
          "enum": [
            "RUNNABLE"
          ],
          "description": "The state of the job needed to trigger the action. The only supported value is RUNNABLE."
        },
        "maxTimeSeconds": {
          "type": "integer",
          "description": "The approximate amount of time, in seconds, that must pass with the job in the specified state before the action is taken. The minimum value is 600 (10 minutes) and the maximum value is 86,400 (24 hours)."
        },
        "action": {
          "type": "string",
          "enum": [
            "CANCEL",
            "TERMINATE"
          ],
          "description": "The action to take when a job is at the head of the job queue in the specified state for the specified period of time. For job queues connected to a ECS, FARGATE or EKS compute environment, the only supported value is CANCEL, which will cancel the job. For job queues connected to a SAGEMAKER_TRAINING service environment, the only supported value is TERMINATE, which will terminate the job."
        }
      },
      "required": [
        "reason",
        "state",
        "maxTimeSeconds",
        "action"
      ]
    },
    "ServiceEnvironmentOrder": {
      "type": "object",
      "properties": {
        "order": {
          "type": "integer",
          "description": "The order of the service environment. Job queues with a higher priority are evaluated first when associated with the same service environment."
        },
        "serviceEnvironment": {
          "type": "string",
          "description": "The name or ARN of the service environment."
        }
      },
      "required": [
        "order",
        "serviceEnvironment"
      ]
    }
  }
}