{
  "description": "DeviceClassSpec is used in a [DeviceClass] to define what can be allocated and how to configure it.",
  "properties": {
    "config": {
      "description": "Config defines configuration parameters that apply to each device that is claimed via this class. Some classses may potentially be satisfied by multiple drivers, so each instance of a vendor configuration applies to exactly one driver.\n\nThey are passed to the driver, but are not considered while allocating the claim.",
      "items": {
        "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.31.13/_definitions.json#/definitions/io.k8s.api.resource.v1alpha3.DeviceClassConfiguration"
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-list-type": "atomic"
    },
    "selectors": {
      "description": "Each selector must be satisfied by a device which is claimed via this class.",
      "items": {
        "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.31.13/_definitions.json#/definitions/io.k8s.api.resource.v1alpha3.DeviceSelector"
      },
      "type": [
        "array",
        "null"
      ],
      "x-kubernetes-list-type": "atomic"
    },
    "suitableNodes": {
      "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.31.13/_definitions.json#/definitions/io.k8s.api.core.v1.NodeSelector",
      "description": "Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a claim that has not been allocated yet *and* that claim gets allocated through a control plane controller. It is ignored when the claim does not use a control plane controller for allocation.\n\nSetting this field is optional. If unset, all Nodes are candidates.\n\nThis is an alpha field and requires enabling the DRAControlPlaneController feature gate."
    }
  },
  "type": "object",
  "$schema": "http://json-schema.org/schema#"
}