Skip to main content
POST
Apply a device condition snapshot (internal)

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Body

Bulk per-device, per-source condition snapshot (ADR-0024).

A source publishes its whole observation for one device in a single request; every condition is upserted in one transaction and the status is derived once. The declared source must own every condition type in the batch.

device
string<uuid>
required
source
enum<string>
required
  • ironic - Ironic
  • slurm - Slurm
  • health-status - Health status
  • google-custody - Google custody
  • nvlink-fabric - NVLink fabric
  • backend-fabric - Back-end fabric
Available options:
ironic,
slurm,
health-status,
google-custody,
nvlink-fabric,
backend-fabric
conditions
object[]
required

Response

id
string<uuid>
required
read-only
device
string<uuid>
required

The device this observation belongs to.

type
enum<string>
required
  • ProvisioningHealthy - Provisioning healthy
  • MaintenanceClear - Maintenance clear
  • Enrolled - Enrolled
  • InValidationPool - In validation pool
  • InstanceAllocated - Instance allocated
  • CustomerAllocated - Customer allocated
  • CustomerReady - Customer ready
  • SlurmMember - Slurm member
  • SlurmSchedulable - Slurm schedulable
  • TelemetryHealthy - Telemetry healthy
  • SystemHealthy - System healthy
  • ChassisHealthy - Chassis healthy
  • ProcessorHealthy - Processor healthy
  • MemoryHealthy - Memory healthy
  • StorageHealthy - Storage healthy
  • DiskHealthy - Disk healthy
  • PowerSupplyHealthy - Power supply healthy
  • GpuHealthy - GPU healthy
  • FpgaHealthy - FPGA healthy
  • CustodyIntent - Custody intent
  • FrontendPortsInCustomerVrf - Front-end ports in customer VRF
  • NvLinkGpusInRepairPartition - GPUs in NVLink repair partition
  • BackendPortsInMaintenanceVrf - Back-end ports in maintenance VRF
Available options:
ProvisioningHealthy,
MaintenanceClear,
Enrolled,
InValidationPool,
InstanceAllocated,
CustomerAllocated,
CustomerReady,
SlurmMember,
SlurmSchedulable,
TelemetryHealthy,
SystemHealthy,
ChassisHealthy,
ProcessorHealthy,
MemoryHealthy,
StorageHealthy,
DiskHealthy,
PowerSupplyHealthy,
GpuHealthy,
FpgaHealthy,
CustodyIntent,
FrontendPortsInCustomerVrf,
NvLinkGpusInRepairPartition,
BackendPortsInMaintenanceVrf
status
enum<string>
required
  • True - True
  • False - False
  • Unknown - Unknown
Available options:
True,
False,
Unknown
source
enum<string>
required
  • ironic - Ironic
  • slurm - Slurm
  • health-status - Health status
  • google-custody - Google custody
  • nvlink-fabric - NVLink fabric
  • backend-fabric - Back-end fabric
Available options:
ironic,
slurm,
health-status,
google-custody,
nvlink-fabric,
backend-fabric
condition_of
enum<string>
required

The derived top-level device status this condition contributes to, or none when it is eligibility-only. Stamped by the hub from the code-owned type registry, not the reporting source.

  • operational_status - Operational status
  • health_status - Health status
  • none - None
Available options:
operational_status,
health_status,
none
decisive
boolean
required
read-only

Whether this condition is decisive in the current derivation of its condition_of domain's status from conditions. Maintained by the hub-owned derivation on every materialise; independent of out-of-band status overrides; always false for condition_of=none; never client-set.

observed_at
string<date-time>
required
read-only

When the source made an observation.

last_transitioned_at
string<date-time>
required
read-only

When 'status' last changed value. The upsert path bumps this only on a real status transition, so it survives no-op re-reports of the same status and stays the 'when did this actually flip' signal.

created_at
string<date-time>
required
read-only
updated_at
string<date-time>
required
read-only
reason
string
default:""

Opaque, source-owned CamelCase cause code scoped to the condition type. Fleet Manager does not interpret it; blank when no cause is reported.

Maximum string length: 128
message
string
default:""

Human-readable detail for operators. Optional.

Maximum string length: 4096