Expected Machine

Batch Update Expected Machines

Changed on

Update multiple Expected Machines in a single request. All machines must belong to the same site.

All items in a batch update must provide the same set of fields, except that bmcIpAddress may be omitted or set to null to preserve that machine's current BMC IP address.

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

Infrastructure Provider must own the Expected Machines.

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

Maximum batch size: 100 Expected Machines per request.

patch/v2/org/{org}/nico/expected-machine/batch

Request

  • Base URL
    https://nico-rest-api.nico.svc.cluster.local
  • URL
    https://nico-rest-api.nico.svc.cluster.local/v2/org/{org}/nico/expected-machine/batch
  • Auth
    HTTP bearer

Request body

idstring uuid nullable

ID of the Expected Machine to update.

For single updates, omit id or set it to null to use the ID from the URL path. A non-null body id must match the URL ID and use lowercase, hyphenated UUID format. Otherwise, REST returns HTTP 400.

Required and non-null in every batch update item.

bmcMacAddressstring nullable

The Expected Machine's BMC MAC address is immutable after creation. Omit this field, or provide another case/separator spelling of the current MAC as a compatibility no-op.

defaultBmcUsernamestring nullable

Username for accessing the Expected Machine's BMC. Omission or null preserves the value. A non-empty value can be supplied without defaultBmcPassword.

defaultBmcPasswordstring nullable

Password for accessing the Expected Machine's BMC. Omission or null preserves the value. A non-empty value can be supplied without defaultBmcUsername.

chassisSerialNumberstring nullable

Serial number of the Expected Machine's chassis

fallbackDPUSerialNumbersstring[] nullable

Serial numbers of the Expected Machine's fallback DPUs (Data Processing Units)

skuIdstring nullable

Optional ID of an existing SKU at this Expected Machine's Site. Omission or null preserves the current SKU association in single and batch PATCH requests. REST rejects an empty string with HTTP 400. PATCH cannot remove the SKU association.

rackIdstring nullable

Optional rack identifier for this component

bmcIpAddressstring nullable

Optional BMC IP address (IPv4 or IPv6). A non-empty address sets the value and pre-allocates a reserved IP for the BMC. It must not be unspecified, multicast, or IPv4 limited broadcast. An empty string clears the value. Omission or null preserves the current value.

namestring nullable

Display name for this component

manufacturerstring nullable

Manufacturer of this component

modelstring nullable

Model of this component

descriptionstring nullable

Description of this component

serverNamestring nullable

Optional server name advertised to connected switches in LLDP responses and used for cable validation. An empty string clears the current value. Omission or null preserves it.

slotIdinteger nullable

Slot ID within the rack

trayIdxinteger nullable

Tray index within the rack

hostIdinteger nullable

Host ID within the tray

isDpfEnabledboolean nullable

When true, this host is eligible for DPF-based provisioning. Optional. Omission or null leaves the existing setting unchanged. An explicit true or false value updates the setting.

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.

Example request

[
  {
    "defaultBmcUsername": "newadmin",
    "defaultBmcPassword": "newpassword123",
    "chassisSerialNumber": "CHASSIS-54321",
    "skuId": "sku-xyz789",
    "rackId": "rack-02",
    "isDpfEnabled": false,
    "interfaces": [
      {
        "identifier": {
          "macAddress": "02:00:00:00:00:10"
        },
        "nicType": "CX9",
        "fixedIp": "192.0.2.10"
      }
    ],
    "manufacturer": "Lenovo",
    "labels": {
      "environment": "staging",
      "rack": "B2"
    }
  }
]

Response

OK

idstring uuid

Unique identifier for the Expected Machine

siteIdstring uuid

ID of the site the Expected Machine belongs to

bmcMacAddressstring

MAC address of the Expected Machine's BMC (Baseboard Management Controller)

chassisSerialNumberstring

Serial number of the Expected Machine's chassis

fallbackDPUSerialNumbersstring[]

Serial numbers of the Expected Machine's fallback DPUs (Data Processing Units)

skuIdstring nullable

Stored SKU ID for this Expected Machine, or null when no association is stored. The ID can belong to another Site, including when inventory synchronization imports an entry configured directly in Core.

machineIdstring nullable

Stored Machine ID for this Expected Machine, or null when no association is stored. The ID can belong to another Site.

rackIdstring nullable

Optional rack identifier for this component

bmcIpAddressstring nullable

Optional BMC IP address (IPv4 or IPv6). When set, pre-allocates a reserved IP for the BMC.

namestring nullable

Display name for this component

manufacturerstring nullable

Manufacturer of this component

modelstring nullable

Model of this component

descriptionstring nullable

Description of this component

serverNamestring nullable

Optional server name advertised to connected switches in LLDP responses and used for cable validation.

slotIdinteger nullable

Slot ID within the rack

trayIdxinteger nullable

Tray index within the rack

hostIdinteger nullable

Host ID within the tray

isDpfEnabledboolean

When true, this host is eligible for DPF-based provisioning. Returns the effective setting: true when no value is configured. An explicitly configured false value is returned as false.

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 Machine was created

updatedstring date-time

ISO 8601 datetime when the Expected Machine was last updated

Example response

[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "siteId": "f97df110-f4de-492e-8849-4a6af68026b0",
    "bmcMacAddress": "00:1A:2B:3C:4D:5E",
    "bmcIpAddress": "192.168.1.100",
    "chassisSerialNumber": "CHASSIS-12345",
    "fallbackDPUSerialNumbers": [
      "DPU-001",
      "DPU-002"
    ],
    "interfaces": [
      {
        "identifier": {
          "macAddress": "02:00:00:00:00:10",
          "astra": null
        },
        "macAddress": "02:00:00:00:00:10",
        "nicType": "CX9",
        "fixedIp": "192.0.2.10"
      },
      {
        "identifier": {
          "macAddress": null,
          "astra": {
            "physicalName": "C1-1-L1",
            "logicalName": "eth_r0_p0"
          }
        },
        "macAddress": null,
        "nicType": "CX9",
        "fixedIp": "192.0.2.11"
      }
    ],
    "skuId": "lenovo.sr650v2.cpu.1",
    "machineId": "fm100ht4v4mce2qstjnl8970nnj3ie6ecek4mtjn27pea4kre5gsa49jg0g",
    "rackId": "rack-01",
    "isDpfEnabled": true,
    "manufacturer": "Lenovo",
    "labels": {
      "environment": "production",
      "rack": "A1"
    },
    "created": "2019-08-24T14:15:22Z",
    "updated": "2019-08-24T14:15:22Z"
  }
]

Changes

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became optional for the status

    • info

      added the new optional request property ///

    • info

      added the new optional request property /

    • info

      the request property /// became nullable

    • info

      the request property /// became optional

    • info

      request property /// deprecated

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      response property items/interfaces/items/macAddress deprecated

    • breaking

      added subschema #2 to the /// response property oneOf list for the response status

    • breaking

      the /// response's property type changed from array to no type for status