{
  "description": "ResourcePoolStatusRequestStatus contains the calculated pool status information.",
  "properties": {
    "conditions": {
      "description": "Conditions provide information about the state of the request. A condition with type=Complete or type=Failed will always be set when the status is populated.\n\nKnown condition types: - \"Complete\": True when the request has been processed successfully - \"Failed\": True when the request could not be processed",
      "items": {
        "description": "Condition contains details for one aspect of the current state of this API Resource.",
        "properties": {
          "lastTransitionTime": {
            "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON.  Wrappers are provided for many of the factory methods that the time package offers.",
            "format": "date-time",
            "type": "string"
          },
          "message": {
            "description": "message is a human readable message indicating details about the transition. This may be an empty string.",
            "type": "string"
          },
          "observedGeneration": {
            "description": "observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "reason": {
            "description": "reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.",
            "type": "string"
          },
          "status": {
            "description": "status of the condition, one of True, False, Unknown.",
            "type": "string"
          },
          "type": {
            "description": "type of condition in CamelCase or in foo.example.com/CamelCase.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "status",
          "lastTransitionTime",
          "reason",
          "message"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-list-map-keys": [
        "type"
      ],
      "x-kubernetes-list-type": "map",
      "x-kubernetes-patch-merge-key": "type",
      "x-kubernetes-patch-strategy": "merge"
    },
    "poolCount": {
      "description": "PoolCount is the total number of pools that matched the filter criteria, regardless of truncation. This helps users understand how many pools exist even when the response is truncated. A value of 0 means no pools matched the filter criteria.",
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "pools": {
      "description": "Pools contains the first `spec.limit` matching pools, sorted by driver then pool name. If `len(pools) < poolCount`, the list was truncated. When omitted, no pools matched the request filters.",
      "items": {
        "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"
          },
          "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"
          },
          "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"
          },
          "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",
          "null"
        ]
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-list-type": "atomic"
    }
  },
  "required": [
    "poolCount"
  ],
  "type": "object",
  "$schema": "http://json-schema.org/schema#"
}