--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.5 name: baremetalhosts.metal3.io spec: group: metal3.io names: kind: BareMetalHost listKind: BareMetalHostList plural: baremetalhosts shortNames: - bmh - bmhost singular: baremetalhost scope: Namespaced versions: - additionalPrinterColumns: - description: Operational status jsonPath: .status.operationalStatus name: Status priority: 1 type: string - description: Provisioning status jsonPath: .status.provisioning.state name: State type: string - description: Consumer using this host jsonPath: .spec.consumerRef.name name: Consumer type: string - description: Address of management controller jsonPath: .spec.bmc.address name: BMC priority: 1 type: string - description: Whether the host is online or not jsonPath: .spec.online name: Online type: string - description: Type of the most recent error jsonPath: .status.errorType name: Error type: string - description: Time duration since creation of BaremetalHost jsonPath: .metadata.creationTimestamp name: Age type: date name: v1alpha1 schema: openAPIV3Schema: description: BareMetalHost is the Schema for the baremetalhosts API 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 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 metadata: type: object spec: description: BareMetalHostSpec defines the desired state of BareMetalHost. properties: architecture: description: |- CPU architecture of the host, e.g. "x86_64" or "aarch64". If unset, eventually populated by inspection. type: string automatedCleaningMode: default: metadata description: |- When set to disabled, automated cleaning will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string bmc: description: |- How do we connect to the BMC (Baseboard Management Controller) on the host? properties: address: description: |- Address holds the URL for accessing the controller on the network. The scheme part designates the driver to use with the host. type: string credentialsName: description: |- The name of the secret containing the BMC credentials (requires keys "username" and "password"). type: string disableCertificateVerification: description: |- DisableCertificateVerification disables verification of server certificates when using HTTPS to connect to the BMC. This is required when the server certificate is self-signed, but is insecure because it allows a man-in-the-middle to intercept the connection. type: boolean required: - address - credentialsName type: object bootMACAddress: description: |- The MAC address of the NIC used for provisioning the host. In case of network boot, this is the MAC address of the PXE booting interface. The MAC address of the BMC must never be used here! pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string bootMode: description: |- Select the method of initializing the hardware during boot. Defaults to UEFI. Legacy boot should only be used for hardware that does not support UEFI correctly. Set to UEFISecureBoot to turn secure boot on automatically after provisioning. enum: - UEFI - UEFISecureBoot - legacy type: string consumerRef: description: |- ConsumerRef can be used to store information about something that is using a host. When it is not empty, the host is considered "in use". The common use case is a link to a Machine resource when the host is used by Cluster API. properties: apiVersion: description: API version of the referent. type: string fieldPath: description: |- If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. type: string kind: description: |- Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: description: |- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: description: |- Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: description: |- Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: description: |- UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic customDeploy: description: |- A custom deploy procedure. This is an advanced feature that allows using a custom deploy step provided by a site-specific deployment ramdisk. Most users will want to use "image" instead. Setting this field triggers provisioning. properties: method: description: |- Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object description: description: Description is a human-entered text used to help identify the host. type: string disablePowerOff: description: |- When set to true, power off of the node will be disabled, instead, a reboot will be used in place of power on/off type: boolean externallyProvisioned: description: |- ExternallyProvisioned means something else has provisioned the image running on the host, and the operator should only manage the power status. This field is used for integration with already provisioned hosts and when pivoting hosts between clusters. If unsure, leave this field as false. type: boolean firmware: description: |- Firmware (BIOS) configuration for bare metal server. If set, the requested settings will be applied before the host is provisioned. Only some vendor drivers support this field. An alternative is to use HostFirmwareSettings resources that allow changing arbitrary values and support the generic Redfish-based drivers. properties: simultaneousMultithreadingEnabled: description: Allows a single physical processor core to appear as several logical processors. enum: - true - false type: boolean sriovEnabled: description: SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. enum: - true - false type: boolean virtualizationEnabled: description: Supports the virtualization of platform hardware. enum: - true - false type: boolean type: object hardwareProfile: description: |- What is the name of the hardware profile for this host? Hardware profiles are deprecated and should not be used. Use the separate fields Architecture and RootDeviceHints instead. Set to "empty" to prepare for the future version of the API without hardware profiles. type: string image: description: |- Image holds the details of the image to be provisioned. Populating the image will cause the host to start provisioning. properties: checksum: description: |- Checksum is the checksum for the image. Required for all formats except for "live-iso". type: string checksumType: description: |- ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512. The special value "auto" can be used to detect the algorithm from the checksum. If missing, MD5 is used. If in doubt, use "auto". enum: - md5 - sha256 - sha512 - auto type: string format: description: |- Format contains the format of the image (raw, qcow2, ...). When set to "live-iso", an ISO 9660 image referenced by the url will be live-booted and not deployed to disk. enum: - raw - qcow2 - vdi - vmdk - live-iso type: string url: description: URL is a location of an image to deploy. type: string required: - url type: object metaData: description: |- MetaData holds the reference to the Secret containing host metadata which is passed to the Config Drive. By default, metadata will be generated for the host, so most users do not need to set this field. properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic networkData: description: |- NetworkData holds the reference to the Secret containing network configuration which is passed to the Config Drive and interpreted by the first boot software such as cloud-init. properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic online: description: |- Should the host be powered on? If the host is currently in a stable state (e.g. provisioned), its power state will be forced to match this value. type: boolean preprovisioningNetworkDataName: description: |- PreprovisioningNetworkDataName is the name of the Secret in the local namespace containing network configuration which is passed to the preprovisioning image, and to the Config Drive if not overridden by specifying NetworkData. type: string raid: description: |- RAID configuration for bare metal server. If set, the RAID settings will be applied before the host is provisioned. If not, the current settings will not be modified. Only one of the sub-fields hardwareRAIDVolumes and softwareRAIDVolumes can be set at the same time. properties: hardwareRAIDVolumes: description: |- The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID. properties: controller: description: The name of the RAID controller to use. type: string level: description: |- RAID level for the logical disk. The following levels are supported: 0, 1, 2, 5, 6, 1+0, 5+0, 6+0 (drivers may support only some of them). enum: - "0" - "1" - "2" - "5" - "6" - 1+0 - 5+0 - 6+0 type: string name: description: |- Name of the volume. Should be unique within the Node. If not specified, the name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: description: |- Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: description: |- Optional list of physical disk names to be used for the hardware RAID volumes. The disk names are interpreted by the hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: description: |- Select disks with only rotational (if set to true) or solid-state (if set to false) storage. By default, any disks can be picked. type: boolean sizeGibibytes: description: |- Size of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: - level type: object nullable: true type: array softwareRAIDVolumes: description: |- The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting host in case of a disk failure. Software RAID will always be deleted. items: description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID. properties: level: description: |- RAID level for the logical disk. The following levels are supported: 0, 1 and 1+0. enum: - "0" - "1" - 1+0 type: string physicalDisks: description: A list of device hints, the number of items should be greater than or equal to 2. items: description: |- RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: description: |- A Linux device name like "/dev/vda", or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match the actual value exactly. type: string hctl: description: |- A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: description: |- A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: description: |- Device serial number. The hint must match the actual value exactly. type: string vendor: description: |- The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: description: |- Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: description: |- Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: description: |- Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: description: |- Size of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: - level type: object maxItems: 2 nullable: true type: array type: object rootDeviceHints: description: |- Provide guidance about how to choose the device for the image being provisioned. The default is currently to use /dev/sda as the root device. properties: deviceName: description: |- A Linux device name like "/dev/vda", or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match the actual value exactly. type: string hctl: description: |- A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: description: |- A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: description: |- Device serial number. The hint must match the actual value exactly. type: string vendor: description: |- The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: description: |- Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: description: |- Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: description: |- Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object taints: description: |- Taints is the full, authoritative list of taints to apply to the corresponding Machine. This list will overwrite any modifications made to the Machine on an ongoing basis. items: description: |- The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint. properties: effect: description: |- Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: description: |- TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. format: date-time type: string value: description: The taint value corresponding to the taint key. type: string required: - effect - key type: object type: array userData: description: |- UserData holds the reference to the Secret containing the user data which is passed to the Config Drive and interpreted by the first-boot software such as cloud-init. The format of user data is specific to the first-boot software. properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic required: - online type: object status: description: BareMetalHostStatus defines the observed state of BareMetalHost. properties: errorCount: default: 0 description: ErrorCount records how many times the host has encoutered an error since the last successful operation type: integer errorMessage: description: The last error message reported by the provisioning subsystem. type: string errorType: description: |- ErrorType indicates the type of failure encountered when the OperationalStatus is OperationalStatusError enum: - provisioned registration error - registration error - inspection error - preparation error - provisioning error - power management error - servicing error type: string goodCredentials: description: The last credentials we were able to validate as working. properties: credentials: description: |- SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic credentialsVersion: type: string type: object hardware: description: |- The hardware discovered to exist on the host. This field will be removed in the next API version in favour of the separate HardwareData resource. 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 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 type: object 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 if one is present. If both IPv4 and IPv6 addresses are present in a dual-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 type: array type: object 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". Note that this list is not exhaustive, and names may not be stable across 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. "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name that is stable across reboots if one is available. type: string rotational: description: |- Whether this disk represents rotational storage. This field is not recommended for usage, please prefer using 'Type' field instead, this field will 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 type: array systemVendor: description: System vendor information. properties: manufacturer: type: string productName: type: string serialNumber: type: string type: object type: object hardwareProfile: description: |- The name of the profile matching the hardware details. Hardware profiles are deprecated and should not be relied on. type: string lastUpdated: description: LastUpdated identifies when this status was last observed. format: date-time type: string operationHistory: description: |- OperationHistory holds information about operations performed on this host. properties: deprovision: description: |- OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time nullable: true type: string start: format: date-time nullable: true type: string type: object inspect: description: |- OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time nullable: true type: string start: format: date-time nullable: true type: string type: object provision: description: |- OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time nullable: true type: string start: format: date-time nullable: true type: string type: object register: description: |- OperationMetric contains metadata about an operation (inspection, provisioning, etc.) used for tracking metrics. properties: end: format: date-time nullable: true type: string start: format: date-time nullable: true type: string type: object type: object operationalStatus: description: OperationalStatus holds the status of the host enum: - "" - OK - discovered - error - delayed - detached - servicing type: string poweredOn: description: |- The currently detected power state of the host. This field may get briefly out of sync with the actual state of the hardware while provisioning processes are running. type: boolean provisioning: description: Information tracked by the provisioner. properties: ID: description: |- The hosts's ID from the underlying provisioning tool (e.g. the Ironic node UUID). type: string bootMode: description: BootMode indicates the boot mode used to provision the host. enum: - UEFI - UEFISecureBoot - legacy type: string customDeploy: description: Custom deploy procedure applied to the host. properties: method: description: |- Custom deploy method name. This name is specific to the deploy ramdisk used. If you don't have a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object firmware: description: The firmware settings that have been applied. properties: simultaneousMultithreadingEnabled: description: Allows a single physical processor core to appear as several logical processors. enum: - true - false type: boolean sriovEnabled: description: SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. enum: - true - false type: boolean virtualizationEnabled: description: Supports the virtualization of platform hardware. enum: - true - false type: boolean type: object image: description: |- Image holds the details of the last image successfully provisioned to the host. properties: checksum: description: |- Checksum is the checksum for the image. Required for all formats except for "live-iso". type: string checksumType: description: |- ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512. The special value "auto" can be used to detect the algorithm from the checksum. If missing, MD5 is used. If in doubt, use "auto". enum: - md5 - sha256 - sha512 - auto type: string format: description: |- Format contains the format of the image (raw, qcow2, ...). When set to "live-iso", an ISO 9660 image referenced by the url will be live-booted and not deployed to disk. enum: - raw - qcow2 - vdi - vmdk - live-iso type: string url: description: URL is a location of an image to deploy. type: string required: - url type: object raid: description: The RAID configuration that has been applied. properties: hardwareRAIDVolumes: description: |- The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID. properties: controller: description: The name of the RAID controller to use. type: string level: description: |- RAID level for the logical disk. The following levels are supported: 0, 1, 2, 5, 6, 1+0, 5+0, 6+0 (drivers may support only some of them). enum: - "0" - "1" - "2" - "5" - "6" - 1+0 - 5+0 - 6+0 type: string name: description: |- Name of the volume. Should be unique within the Node. If not specified, the name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: description: |- Integer, number of physical disks to use for the logical disk. Defaults to minimum number of disks required for the particular RAID level. minimum: 1 type: integer physicalDisks: description: |- Optional list of physical disk names to be used for the hardware RAID volumes. The disk names are interpreted by the hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: description: |- Select disks with only rotational (if set to true) or solid-state (if set to false) storage. By default, any disks can be picked. type: boolean sizeGibibytes: description: |- Size of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: - level type: object nullable: true type: array softwareRAIDVolumes: description: |- The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. The number of created Software RAID devices must be 1 or 2. If there is only one Software RAID device, it has to be a RAID-1. If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. As the first RAID device will be the deployment device, enforcing a RAID-1 reduces the risk of ending up with a non-booting host in case of a disk failure. Software RAID will always be deleted. items: description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID. properties: level: description: |- RAID level for the logical disk. The following levels are supported: 0, 1 and 1+0. enum: - "0" - "1" - 1+0 type: string physicalDisks: description: A list of device hints, the number of items should be greater than or equal to 2. items: description: |- RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. properties: deviceName: description: |- A Linux device name like "/dev/vda", or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match the actual value exactly. type: string hctl: description: |- A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: description: |- A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: description: |- Device serial number. The hint must match the actual value exactly. type: string vendor: description: |- The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: description: |- Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: description: |- Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: description: |- Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: description: |- Size of the logical disk to be created in GiB. If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: - level type: object maxItems: 2 nullable: true type: array type: object rootDeviceHints: description: The root device hints used to provision the host. properties: deviceName: description: |- A Linux device name like "/dev/vda", or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match the actual value exactly. type: string hctl: description: |- A SCSI bus address like 0:0:0:0. The hint must match the actual value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: description: |- A vendor-specific device identifier. The hint can be a substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: description: |- Device serial number. The hint must match the actual value exactly. type: string vendor: description: |- The name of the vendor or manufacturer of the device. The hint can be a substring of the actual value. type: string wwn: description: |- Unique storage identifier. The hint must match the actual value exactly. type: string wwnVendorExtension: description: |- Unique vendor storage identifier. The hint must match the actual value exactly. type: string wwnWithExtension: description: |- Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object state: description: An indicator for what the provisioner is doing with the host. type: string required: - ID - state type: object triedCredentials: description: The last credentials we sent to the provisioning backend. properties: credentials: description: |- SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace properties: name: description: name is unique within a namespace to reference a secret resource. type: string namespace: description: namespace defines the space within which the secret name must be unique. type: string type: object x-kubernetes-map-type: atomic credentialsVersion: type: string type: object required: - errorCount - errorMessage - operationalStatus - poweredOn - provisioning type: object type: object served: true storage: true subresources: status: {}