{
  "description": "NodeResourceTopology describes node resources and their topology.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "attributes": {
      "description": "AttributeList contains an array of AttributeInfo objects.",
      "items": {
        "additionalProperties": false,
        "description": "AttributeInfo contains one attribute of a Zone.",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "topologyPolicies": {
      "description": "DEPRECATED (to be removed in v1beta1): use top level attributes if needed",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "zones": {
      "description": "ZoneList contains an array of Zone objects.",
      "items": {
        "additionalProperties": false,
        "description": "Zone represents a resource topology zone, e.g. socket, node, die or core.",
        "properties": {
          "attributes": {
            "description": "AttributeList contains an array of AttributeInfo objects.",
            "items": {
              "additionalProperties": false,
              "description": "AttributeInfo contains one attribute of a Zone.",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "value"
              ],
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "costs": {
            "description": "CostList contains an array of CostInfo objects.",
            "items": {
              "additionalProperties": false,
              "description": "CostInfo describes the cost (or distance) between two Zones.",
              "properties": {
                "name": {
                  "type": "string"
                },
                "value": {
                  "format": "int64",
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "value"
              ],
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "parent": {
            "type": [
              "string",
              "null"
            ]
          },
          "resources": {
            "description": "ResourceInfoList contains an array of ResourceInfo objects.",
            "items": {
              "additionalProperties": false,
              "description": "ResourceInfo contains information about one resource type.",
              "properties": {
                "allocatable": {
                  "description": "Allocatable quantity of the resource, corresponding to allocatable in node status, i.e. total amount of this resource available to be used by pods.",
                  "oneOf": [
                    {
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "type": "string"
                    },
                    {
                      "type": "integer"
                    }
                  ],
                  "x-kubernetes-int-or-string": true
                },
                "available": {
                  "description": "Available is the amount of this resource currently available for new (to be scheduled) pods, i.e. Allocatable minus the resources reserved by currently running pods.",
                  "oneOf": [
                    {
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "type": "string"
                    },
                    {
                      "type": "integer"
                    }
                  ],
                  "x-kubernetes-int-or-string": true
                },
                "capacity": {
                  "description": "Capacity of the resource, corresponding to capacity in node status, i.e. total amount of this resource that the node has.",
                  "oneOf": [
                    {
                      "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$",
                      "type": "string"
                    },
                    {
                      "type": "integer"
                    }
                  ],
                  "x-kubernetes-int-or-string": true
                },
                "name": {
                  "description": "Name of the resource.",
                  "type": "string"
                }
              },
              "required": [
                "allocatable",
                "available",
                "capacity",
                "name"
              ],
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "type"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "zones"
  ],
  "type": "object"
}