The machine, as the installer sees it.
curl --request GET \ --url https://192.0.2.10:9443/v1/installer/hardware \ --header 'Authorization: <Authorization>'Disks (with what holds them, SMART health where smartctl can read it, and whether each can become a data disk), NICs, the CPU and its virtualisation extensions, memory and PCI devices. Read on every call; nothing is cached.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The hardware inventory.
object
object
Physical cores, all sockets.
Logical CPUs.
The virtualisation extension the CPU advertises.
Whether /dev/kvm exists (the extension is enabled in firmware and the module loaded).
object
object
The disk’s /dev/disk/by-id aliases, best first. A data disk is named by the first.
What already holds data on the disk, including md members and arrays.
object
Nothing holds the disk; using it as a data disk wipes nothing.
The disk carries the running system (something on it is mounted).
The SMART verdict. unknown is never healthy.
object
object
-1 when unknown.
The OOB NIC stage 1 configured; this API is served on it.
One PCI function (the inventory).
object
The IPv4 DNS servers the host itself uses (/etc/resolv.conf,
loopback left out): what stage 1 set on the NIC, or what DHCP
handed out. A suggestion for dns.upstreamServers, which takes
the same kind of address; the installer never copies them there
by itself.
Example
{ "cpu": { "virtualization": "vmx" }, "disks": [ { "holders": [ { "kind": "partition-table" } ], "smart": { "condition": "unknown" } } ], "nics": [ { "link": "up" } ], "pciDevices": [ { "category": "gpu" } ]}No install code, or the wrong one.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}Too many wrong install codes; wait for Retry-After.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}Headers
Section titled “Headers”Seconds until the next attempt is considered.
The installer failed to answer.
RFC 7807 problem details, the control plane’s shape.
object
Field errors, for INVALID_CONFIG.
object
The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "code": "example", "requestId": "example", "errors": [ { "field": "example", "message": "example" } ]}