Expected Rack Group

Update Expected Rack Group

Update an existing Expected Rack Group identified by its id.

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

Infrastructure Provider must own the Expected Rack Group.

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

rackGroupId is immutable: an update that changes it is rejected with 400 before any database mutation.

patch/v2/org/{org}/nico/expected-rack-group/{id}

Request body

idstring uuid nullable

Unique identifier (UUID) of the Expected Rack Group to update. Can be omitted or set to null. A supplied string must match the URL path UUID in lowercase, hyphenated form. Empty strings, invalid UUIDs, and mismatched IDs are rejected with HTTP 400.

rackGroupIdstring nullable

Operator-supplied rack group identifier. Immutable on update: omit this field, send null, or provide the existing value without changing the identity. A changed value is rejected because Core uses rackGroupId as the identity key.

topologystring nullable

Optional replacement topology identifier, non-blank and at most 128 characters.

namestring nullable

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

descriptionstring nullable

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

labelsobject nullable

Label keys must not be empty or whitespace-only. Keys and values may contain at most 255 characters and must not contain the Unicode NUL character (U+0000). Empty values are allowed.

Example request

{
  "topology": "gb300_nvl72r1_c2g4",
  "racks": [
    {
      "rackId": "rack-01",
      "members": []
    },
    {
      "rackId": "rack-02",
      "members": []
    },
    {
      "rackId": "rack-03",
      "members": []
    }
  ],
  "name": "NVL rack group 1 (updated)",
  "description": "Production NVL rack group in row A, expanded membership",
  "labels": {
    "chassis.manufacturer": "NVIDIA",
    "chassis.serial-number": "NVRK0001001",
    "chassis.model": "GB200-NVL72",
    "location.datacenter": "phx-dc01",
    "location.position": "A1"
  }
}

Response

OK

idstring uuid

Unique identifier (UUID) for the Expected Rack Group

rackGroupIdstring

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

siteIdstring uuid

ID of the Site the Expected Rack Group belongs to

topologystring

External group-level NVLink topology identifier.

namestring

Human-readable name of the Expected Rack Group

descriptionstring

Human-readable description of the Expected Rack Group

labelsLabels

Label keys must not be empty or whitespace-only. Keys and values may contain at most 255 characters and must not contain the Unicode NUL character (U+0000). Empty values are allowed.

createdstring date-time

ISO 8601 datetime when the Expected Rack Group was created

updatedstring date-time

ISO 8601 datetime when the Expected Rack Group was last updated

Example response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "rackGroupId": "nvl5-gp1-jhb01",
  "siteId": "f97df110-f4de-492e-8849-4a6af68026b0",
  "topology": "gb200_nvl72r1_c2g4",
  "racks": [
    {
      "rackId": "rack-01",
      "members": [
        {
          "type": "NVSwitch",
          "manufacturer": "NVIDIA",
          "id": "switch-01"
        }
      ]
    },
    {
      "rackId": "rack-02",
      "members": []
    }
  ],
  "name": "NVL rack group 1",
  "description": "Production NVL rack group in row A",
  "labels": {
    "chassis.manufacturer": "NVIDIA",
    "chassis.serial-number": "NVRK0001001",
    "chassis.model": "GB200-NVL72",
    "location.region": "us-west-2",
    "location.datacenter": "phx-dc01",
    "location.room": "room-1",
    "location.position": "A1"
  },
  "created": "2019-08-24T14:15:22Z",
  "updated": "2019-08-24T14:15:22Z"
}

Changes

Changed in 3 of the 162 revisions of this API.35

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

  • e8a756ae257731See the full diff
    • ▲

      added 'else' subschema to the request body

      request-body-else-added

    • ▲

      added 'if' subschema to the request body

      request-body-if-added

    • ▲

      the request property type changed from object to no type

      request-property-type-changed

    • ○

      added subschema #2 to the request property oneOf list

      request-property-one-of-added

    • ○

      endpoint added

      endpoint-added