{
  "description": "HardwareData is the Schema for the hardwaredata API.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "HardwareDataSpec defines the desired state of HardwareData.",
      "properties": {
        "hardware": {
          "description": "The hardware discovered on the host during its inspection.",
          "properties": {
            "cpu": {
              "description": "Details of the CPU(s) in the system.",
              "properties": {
                "arch": {
                  "type": "string"
                },
                "clockMegahertz": {
                  "description": "ClockSpeed is a clock speed in MHz",
                  "format": "double",
                  "type": "number"
                },
                "count": {
                  "type": "integer"
                },
                "flags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "model": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "firmware": {
              "description": "System firmware information.",
              "properties": {
                "bios": {
                  "description": "The BIOS for this firmware",
                  "properties": {
                    "date": {
                      "description": "The release/build date for this BIOS",
                      "type": "string"
                    },
                    "vendor": {
                      "description": "The vendor name for this BIOS",
                      "type": "string"
                    },
                    "version": {
                      "description": "The version of the BIOS",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "hostname": {
              "type": "string"
            },
            "nics": {
              "description": "List of network interfaces for the host.",
              "items": {
                "description": "NIC describes one network interface on the host.",
                "properties": {
                  "ip": {
                    "description": "The IP address of the interface. This will be an IPv4 or IPv6 address\nif one is present.  If both IPv4 and IPv6 addresses are present in a\ndual-stack environment, two nics will be output, one with each IP.",
                    "type": "string"
                  },
                  "mac": {
                    "description": "The device MAC address",
                    "pattern": "[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}",
                    "type": "string"
                  },
                  "model": {
                    "description": "The vendor and product IDs of the NIC, e.g. \"0x8086 0x1572\"",
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the network interface, e.g. \"en0\"",
                    "type": "string"
                  },
                  "pxe": {
                    "description": "Whether the NIC is PXE Bootable",
                    "type": "boolean"
                  },
                  "speedGbps": {
                    "description": "The speed of the device in Gigabits per second",
                    "type": "integer"
                  },
                  "vlanId": {
                    "description": "The untagged VLAN ID",
                    "format": "int32",
                    "maximum": 4094,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "vlans": {
                    "description": "The VLANs available",
                    "items": {
                      "description": "VLAN represents the name and ID of a VLAN.",
                      "properties": {
                        "id": {
                          "description": "VLANID is a 12-bit 802.1Q VLAN identifier",
                          "format": "int32",
                          "maximum": 4094,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "ramMebibytes": {
              "description": "The host's amount of memory in Mebibytes.",
              "type": "integer"
            },
            "storage": {
              "description": "List of storage (disk, SSD, etc.) available to the host.",
              "items": {
                "description": "Storage describes one storage device (disk, SSD, etc.) on the host.",
                "properties": {
                  "alternateNames": {
                    "description": "A list of alternate Linux device names of the disk, e.g. \"/dev/sda\".\nNote that this list is not exhaustive, and names may not be stable\nacross reboots.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "hctl": {
                    "description": "The SCSI location of the device",
                    "type": "string"
                  },
                  "model": {
                    "description": "Hardware model",
                    "type": "string"
                  },
                  "name": {
                    "description": "A Linux device name of the disk, e.g.\n\"/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0\". This will be a name\nthat is stable across reboots if one is available.",
                    "type": "string"
                  },
                  "rotational": {
                    "description": "Whether this disk represents rotational storage.\nThis field is not recommended for usage, please\nprefer using 'Type' field instead, this field\nwill be deprecated eventually.",
                    "type": "boolean"
                  },
                  "serialNumber": {
                    "description": "The serial number of the device",
                    "type": "string"
                  },
                  "sizeBytes": {
                    "description": "The size of the disk in Bytes",
                    "format": "int64",
                    "type": "integer"
                  },
                  "type": {
                    "description": "Device type, one of: HDD, SSD, NVME.",
                    "enum": [
                      "HDD",
                      "SSD",
                      "NVME"
                    ],
                    "type": "string"
                  },
                  "vendor": {
                    "description": "The name of the vendor of the device",
                    "type": "string"
                  },
                  "wwn": {
                    "description": "The WWN of the device",
                    "type": "string"
                  },
                  "wwnVendorExtension": {
                    "description": "The WWN Vendor extension of the device",
                    "type": "string"
                  },
                  "wwnWithExtension": {
                    "description": "The WWN with the extension",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            },
            "systemVendor": {
              "description": "System vendor information.",
              "properties": {
                "manufacturer": {
                  "type": "string"
                },
                "productName": {
                  "type": "string"
                },
                "serialNumber": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
