Skip to navigation

Update Machine Spectrum-X multiplane maintenance

View as Markdown

Atomically update the Cartesian product of the selected rails and planes. Supply exactly one of rail, allRails, or railRange and exactly one of plane, allPlanes, or planeRange. Ranges are inclusive and ascending. All selected interfaces must be declared on the Machine; an undeclared selection rejects the complete update. Unselected interfaces are unchanged. maintenanceMode true disables links; false enables them. An omitted or null reference preserves the saved reference; an empty string clears it.

For Infrastructure Providers: Org must have an Infrastructure Provider entity and own the Site that the Machine belongs to. User must have authorization role with PROVIDER_ADMIN suffix.

When the Machine has a Tenant Instance attached, acknowledgeAttachedInstance must be set to true in order to acknowledge the risk. A 200 response confirms that the desired configuration was saved, but not completion of the hardware operation. User should fetch Machine details in order to detect whether DPU observations have the desired interface revision and the requested maintenance mode or if it has an error. The returned API data are separate per DPU and may be absent or describe an earlier revision while operation is in progress.

Authentication

AuthorizationBearer
export JWT_BEARER_TOKEN="<jwt-bearer-token>"

# Example org name: "acme-inc
export ORG_NAME=<org-name>

# Use the JWT bearer token in your API request auth header:
curl -v -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $JWT_BEARER_TOKEN" https://nico-rest-api.nico.svc.cluster.local/v2/org/$ORG_NAME/nico/user/current

Path parameters

orgstringRequired
Name of the Org
machineIdstringRequired
ID of the Machine

Request

This endpoint expects an object.
maintenanceModebooleanRequired

True disables the selected links; false enables them.

railintegerOptional0-3
Single rail to update, from 0 through 3. Supply exactly one of rail, allRails, or railRange.
allRailsbooleanOptional
Select all four rails. If supplied, must be true. Supply exactly one of rail, allRails, or railRange.
railRangeobjectOptional
Inclusive ascending range of rails to update. Both endpoints must be from 0 through 3. Supply exactly one of rail, allRails, or railRange.
planeintegerOptional0-7
Single plane to update on each selected rail, from 0 through 7. Supply exactly one of plane, allPlanes, or planeRange.
allPlanesbooleanOptional
Select all eight planes on each selected rail. If supplied, must be true. Supply exactly one of plane, allPlanes, or planeRange.
planeRangeobjectOptional
Inclusive ascending range of planes to update on each selected rail. Both endpoints must be from 0 through 7. Supply exactly one of plane, allPlanes, or planeRange.
referencestring or nullOptional

Omit or send null to preserve it; send an empty string to clear it.

acknowledgeAttachedInstancebooleanOptional
Must be true when an Instance is attached to the Machine. Acknowledges that maintenance changes may disrupt the Instance's Tenant workload.

Response

Saved desired configuration with the latest available per-DPU observations

machineIdstring
ID of the Machine whose maintenance configuration and DPU observations are returned.
interfaceslist of objects
Declared interfaces ordered by rail and plane.
dpuStatuseslist of objects

One entry per associated BlueField-4 DPU, ordered by DPU ID. Empty when none are present.

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
412
Precondition Failed Error
500
Internal Server Error
503
Service Unavailable Error
504
Gateway Timeout Error