Skip to navigation

Create Expected Rack Group

View as Markdown

Create an Expected Rack Group to declare racks and devices at a Site. The rackGroupId is an opaque operator-supplied string identifier (UUID syntax is not required) that uniquely identifies the group within the Site.

Org must have an Infrastructure Provider entity. User must have authorization role with PROVIDER_ADMIN suffix.

Alternatively, Tenant Admins with TargetedInstanceCreation capability can also create Expected Rack Groups if they have an account with the Site’s Infrastructure Provider.

Chassis identity and physical location information are conveyed via well-known label keys in labels:

  • chassis.manufacturer, chassis.serial-number, chassis.model
  • location.region, location.datacenter, location.room, location.position

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

Request

Expected Rack Group creation request
siteIdstringRequiredformat: "uuid"
ID of the Site the Expected Rack Group belongs to
rackGroupIdstringRequired1-128 characters

Operator-supplied identifier for the rack group (opaque string; UUID syntax is not required). Must be non-empty and unique within the Site.

topologystringRequired1-128 characters

External group-level NVLink topology identifier, non-blank and at most 128 characters.

protocolstringRequired1-128 characters

Rack fabric protocol, non-blank and at most 128 characters. NVLINK_V6 enables GB-to-VR profile topology normalization.

rackslist of objects or nullOptional

Ordered racks and their devices. Rack IDs and device identity tuples must be unique across the group, with case-sensitive comparison. A provided array replaces the complete list; on PATCH, omission or null preserves it and [] clears it. On create, omission or null supplies an empty list.

namestring or nullOptionalformat: "^[\x00-\x7F]*$"<=256 characters

ASCII human-readable name, at most 256 characters. An empty string is allowed.

descriptionstring or nullOptional<=1024 characters

Human-readable description, at most 1024 UTF-8 bytes. An empty string is allowed.

labelsmap from strings to stringsOptional

User-defined key-value pairs with ASCII keys and Unicode values, each at most 255 UTF-8 bytes. Well-known keys (chassis.*, location.*) are used to convey chassis identity and physical location.

Response

Created
idstringOptionalRead-onlyformat: "uuid"

Unique identifier (UUID) for the Expected Rack Group

rackGroupIdstringOptionalRead-only

Operator-supplied identifier for the rack group (opaque string; UUID syntax is not required). Unique within a Site.

siteIdstringOptionalRead-onlyformat: "uuid"
ID of the Site the Expected Rack Group belongs to
siteobject or nullOptional

Site details when requested through includeRelation; otherwise null.

topologystringOptional

External group-level NVLink topology identifier.

protocolstring or nullOptional
Rack fabric protocol. Null only for declarations created before protocol became required.
rackslist of objectsOptional

Ordered racks and their devices. Arrays are always present, including empty lists. Rack IDs and device identity tuples are unique across the group, with case-sensitive comparison.

namestringOptional

Human-readable name of the Expected Rack Group

descriptionstringOptional

Human-readable description of the Expected Rack Group

labelsmap from strings to stringsOptional

User-defined key-value pairs for organizing and categorizing Expected Rack Groups. Well-known keys (chassis.*, location.*) are used to convey chassis identity and physical location.

createddatetimeOptionalRead-only
ISO 8601 datetime when the Expected Rack Group was created
updateddatetimeOptionalRead-only
ISO 8601 datetime when the Expected Rack Group was last updated

Errors

400
Bad Request Error
403
Forbidden Error
409
Conflict Error