{
  "description": "PoolStatus contains status information for a single resource pool.",
  "properties": {
    "allocatedDevices": {
      "description": "AllocatedDevices is the number of devices currently allocated to claims. A value of 0 means no devices are allocated. May be unset when validationError is set.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "availableDevices": {
      "description": "AvailableDevices is the number of devices available for allocation. This equals TotalDevices - AllocatedDevices - UnavailableDevices. A value of 0 means no devices are currently available. May be unset when validationError is set.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "driver": {
      "description": "Driver is the DRA driver name for this pool. Must be a DNS subdomain (e.g., \"gpu.example.com\").",
      "type": [
        "string",
        "null"
      ]
    },
    "generation": {
      "description": "Generation is the pool generation observed across all ResourceSlices in this pool. Only the latest generation is reported. During a generation rollout, if not all slices at the latest generation have been published, the pool is included with a validationError and device counts unset.",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "nodeName": {
      "description": "NodeName is the node this pool is associated with. When omitted, the pool is not associated with a specific node. Must be a valid DNS subdomain name (RFC1123).",
      "type": [
        "string",
        "null"
      ]
    },
    "poolName": {
      "description": "PoolName is the name of the pool. Must be a valid resource pool name (DNS subdomains separated by \"/\").",
      "type": [
        "string",
        "null"
      ]
    },
    "resourceSliceCount": {
      "description": "ResourceSliceCount is the number of ResourceSlices that make up this pool. May be unset when validationError is set.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "totalDevices": {
      "description": "TotalDevices is the total number of devices in the pool across all slices. A value of 0 means the pool has no devices. May be unset when validationError is set.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "unavailableDevices": {
      "description": "UnavailableDevices is the number of devices that are not available due to taints or other conditions, but are not allocated. A value of 0 means all unallocated devices are available. May be unset when validationError is set.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "validationError": {
      "description": "ValidationError is set when the pool's data could not be fully validated (e.g., incomplete slice publication). When set, device count fields and ResourceSliceCount may be unset.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "driver",
    "poolName",
    "generation"
  ],
  "type": "object",
  "$schema": "http://json-schema.org/schema#"
}