Skip to main content

PUT /nodes/{uuid}

Use this method to modify node properties or perform management actions on a specific the server or Flex System storage node.

This method starts a job that runs in the background to perform the operation. The response header includes a URI in the form /tasks/{task_id} (for example, /tasks/12) that represents the job that is created to perform this request. You can use GET /tasks/{job_list} to monitor the status and progress of the job. If a job was not successfully started, refer to the response code and response body for details.

Authentication

Authentication with username and password is required.

Request URL

PUT https://{management_server_IP}/nodes/{uuid}

where {uuid} is the UUID of the node to be retrieved. To obtain the node UUID, use the GET /nodes method.

Query parameters

ParametersRequired / OptionalDescription
synchronous={Boolean}OptionalWhen modifying attributes, indicates when the job ID is returned
  • true. (default) Returns the job ID and job status after the job is complete.
  • false. Returns the job ID immediately. You can use GET /tasks/{job_list} to monitor the status and progress of the job.

If the powerState=bootToF1 request attribute is specified, indicates when the job ID is returned.

  • true. (default) Returns the job ID and job status after the job is complete.
  • false. Returns the job ID immediately.
Note
This query parameter applies only when a node-properties attribute or powerState=bootToF1 attribute is specified in the request body.
The following example sets synchronous to true.
PUT https://192.0.2.0/nodes/6ED2CB368C594C66C2BB066D5A306138?synchronous=true

Request body

You can specify attributes from one of the following tables in each request.

Note
If you specify one or more request attributes in Table 1 (to modify properties), Table 2 (to modify the power state), or Table 4 (to refresh the inventory), this method starts a job that runs in the background to perform the operation. The response header includes a URI in the form /tasks/{task_id} (for example, /tasks/12) that represents the job that is created to perform this request. You can use GET /tasks/{job_list} to monitor the status and progress of the job. If a job was not successfully started, refer to the response code and response body for details.
Attention
A successful response indicates that the request was successfully created and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
Table 1. Modify node properties.
AttributesRequired / OptionalTypeDescription
cmmDisplayNameOptionalStringChassis name
contactOptionalStringThe chassis contact information
hostnameOptionalStringHostname
ipInterfacesOptionalArrayInformation about the CMM IP addresses
 nameRequiredStringIP Interface name
 IPv4enabledOptionalBooleanIdentifies whether IPv4 is enabled. This can be one of the following values.
  • true. IPv4 is enabled
  • false. IPv4 is disabled
 IPv6enabledOptionalBooleanIdentifies whether IPv6 is enabled. This can be one of the following values.
  • true. IPv6 is enabled
  • false. IPv6 is disabled
 IPv4DHCPmodeOptionalStringIPv4 address assignment method. This can be one of the following values.
  • STATIC_ONLY
  • DHCP_ONLY
  • DHCP_THEN_STATIC
  • UNKNOWN
 IPv6DHCPenabledOptionalBooleanIdentifies whether IPv6 DHCP is enabled. This can be one of the following values.
  • true. IPv6 DHCP is enabled
  • false. IPv6 DHCP is disabled
 IPv6statelessEnabledOptionalBooleanIdentifies whether IPv6 stateless is enabled. This can be one of the following values.
  • true. IPv6 stateless is enabled
  • false. IPv6 stateless is disabled
 IPv6staticEnabledOptionalBooleanIdentifies whether IPv6 static is enabled. This can be one of the following values.
  • true. IPv6 static is enabled
  • false. IPv6 static is disabled
 IPv4assignmentsOptionalArrayInformation about IPv4 assignments
  idRequiredIntegerIPv4 assignment ID
  subnetOptionalStringIPv4 subnet mask
  gatewayOptionalStringIPv4 gateway
  addressOptionalStringIPv4 address
 IPv6assignmentsOptionalArrayInformation about IPv6 assignments
  idRequiredIntegerIPv6 assignment ID
  prefixOptionalIntegerIPv6 prefix
  gatewayOptionalStringIPv6 gateway
  addressOptionalStringIPv6 address
locationOptionalString(Flex System compute nodes only) Location in the chassis
Important
Changes made to the location of the server or storage device using this API method are not reflected in the rack view.
locationOptionalObject(Rack and tower servers only) Information about the location in the rack
Important
Changes made to the location of the server using this API method are not reflected in the rack view.
 locationOptionalStringLocation of the server
 rackOptionalStringRack
 roomOptionalStringRoom
 lowestRackUnitOptionalIntegerLRU
nameOptionalStringServer name
userDescriptionOptionalStringThe server description
The following example modifies the hostname, location, and contact information for the target server.
{
"contact": "new contact",
"hostname":"",
"location": {
"location":"new location"
}
}
Table 2. Modifying the power state
AttributesRequired / OptionalTypeDescription
powerStateOptionalStringPerforms a power operation on the device. This can be one of the following values:
  • powerOn. Powers on the server.
  • powerOff. Powers off the server immediately.
  • powerCycleHard. .
  • powerCycleSoft. Restarts the server immediately.
  • powerCycleSoftGrace. Restarts the server gracefully (shuts down the operating system where applicable).
  • virtualReseat. Calls the CMM function to simulate removing power from the bay.
  • powerNMI. Restarts the server with non-maskable interrupt (performs a diagnostic interrupt).
  • bootToF1. (Lenovo devices only) Restarts the server to BIOS/UEFI (F1) Setup. This is supported for non-ThinkServer servers that are supported without limitations
  • PXEHard. (Lenovo Flex System, System x, and ThinkSystem servers only) Restarts the server immediately, and boots the server to the Preboot Execution Environment (PXE) network.
    Note
    PXE-boot related UEFI settings must be configured on the server.

For edge devices, only powerCycleSoft and powerCycleSoftGrace are supported.

If you specify this attribute, this method starts a job that runs in the background to perform the operation. The response header includes a URI in the form /tasks/{task_id} (for example, /tasks/12) that represents the job that is created to perform this request. You can use GET /tasks/{job_list} to monitor the status and progress of the job. If a job was not successfully started, refer to the response code and response body for details.
Attention
A successful response indicates that the request was successfully created and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
The following example restarts the target server:
{
"powerState": "powerCycleSoft"
}
Table 3. Configure device authentication and access control.
Note
Only users with lxc-supervisor or lxc-security-admin authority can modify the access-control settings.
AttributesRequired / OptionalTypeDescription
securityDescriptorRequiredObjectInformation about the authentication enablement and support the associated stored credentials for a managed device
 managedAuthEnabledOptionalBooleanIndicates whether the device uses managed authentication. This can be one of the following values.
  • true. The device uses managed authentication.

  • false. The device uses local authentication

 publicAccessOptionalBooleanIndicates whether the resource can be accessed by all role groups. This can be one of the following values.
  • true. The resource is can be access by all role group.

  • false. The resource is restricted to specific role groups.

 roleGroupsOptionalArray of stringsList of role groups that are permitted to view and manage this device
 storedCredentialsRequired if managedAuthEnabled is set to trueObjectInformation about the stored credential that is associated with this device, if applicable.
  idRequired if managedAuthEnabled is set to trueStringID of the stored credential to associated with the device
The following example enables managed authentication and associates a stored credential account with the device.
{
"securityDescriptor" : {
"managedAuthEnabled" : true,
"storedCredential": {
"id":"249721...",
}
}
}
The following example disables managed authentication to use local authentication instead.
{
"securityDescriptor": {
"managedAuthEnabled" : false,
}
}
The following example restricts access to the managed device to members of the specified role groups:
{
"securityDescriptor": {
"publicAccess": false,
"roleGroups": ["sales-os-admin","corp_fw_admin"]
}
}
Table 4. Refresh the inventory
AttributesRequired / OptionalTypeDescription
refreshInventoryOptionalStringRefreshes inventory for the device.
If you specify this attribute, this method starts a job that runs in the background to perform the operation. The response header includes a URI in the form /tasks/{task_id} (for example, /tasks/12) that represents the job that is created to perform this request. You can use GET /tasks/{job_list} to monitor the status and progress of the job. If a job was not successfully started, refer to the response code and response body for details.
Attention
A successful response indicates that the request was successfully created and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
The following example refreshes inventory for the target server.
{
"refreshInventory": "true"
}
Table 5. Configure the boot order.
AttributesRequired / OptionalTypeDescription
bootOrderOptionalArrayBoot order settings
 bootOrderListRequiredArray 
  currentBootOrderDevicesRequiredArray of stringsList of potential boot devices
Tip
To obtain the boot-order device values, use in GET /nodes method.
  bootTypeOptionalStringBoot type of the boot order setting. This can be one of the following values.
  • BootOrder

  • CDDVDROMBootOrder

  • HardDiskBootOrder

  • NetworkBootOrder

  • Permanent

  • SingleUse

  • USBBootOrder

  • WakeOnLan

The following example changes the boot order.
{
"bootOrder": {
"bootOrderList": [{
"currentBootOrderDevices": [
"HardDrive 0",
"CDROM 0",
"Hard Drive 1"
],
"bootType": "BootOrder"
}]
}
}
Table 6. Configure the TLS protocol and NIST compliance.
AttributesRequired / OptionalTypeDescription
nistOptionalObjectInformation about NIST
 currentValueRequiredStringCryptography mode that is set. This can be one of the following values.
  • Unknown
  • Compatibility
  • Nist_800_131A_Strict
  • Nist_800_131A_Custom
tlsVersionOptionalObjectInformation about the SSL or TLS protocol
 currentValueRequiredStringSSL or TLS protocol and version that is set. This can be one of the following values.
  • unsupported
  • TLS_12. TLS v1.2
  • TLS_13. TLS v1.3
The following example changes the cryptography settings:
{
"nist": {
"currentValue": "Compatibility"
}
}
Table 7. Configure the encapsulation mode
AttributesRequired / OptionalTypeDescription
encapsulationModeOptionalStringEncapsulation mode. This can be one of the following values.
  • normal. Encapsulation is disabled for this node.

    The global encapsulation setting is disabled by default. When disabled, the device encapsulation mode is set to normal and the firewall rules are not changed as part of the management process.

  • encapsulationLite. Encapsulation is enabled for this node.

    When the global encapsulation setting is enabled and the device supports encapsulation, XClarity Administrator communicates with the device during the management process to change the device encapsulation mode to encapsulationLite and to change the firewall rules on the device to limit incoming requests to those only from XClarity Administrator.

The following example updates the encapsulation mode:
{
"encapsulationMode": "encapsulationLite
}
Table 8. Configure LED states.
AttributesRequired / OptionalTypeDescription
ledsOptionalObjectState of the location LED.
 nameRequiredStringDescription of the LED (for example, Fault or Power. To obtain the names of LEDs for a specific server, use the GET /nodes/{uuid_list} method.
 stateRequiredStringState of LED. This can be one of the following values.
  • off
  • on
  • blinking

To obtain the current state of the LED, use the GET /nodes/{uuid_list} method.

Note
Location LED on ThinkServer servers can be on or off. Blinking is not supported.
The following example turns on the Information LED.
{
"leds":[{
"name":"Information",
"state":"on"
}]
}
Table 9. Clear the SEL log
AttributesRequired / OptionalTypeDescription
selLogOptionalStringClears the SEL log for the device. This value is always cleared.
If you specify this attribute, this method starts a job that runs in the background to perform the operation. The response header includes a URI in the form /tasks/{task_id} (for example, /tasks/12) that represents the job that is created to perform this request. You can use GET /tasks/{job_list} to monitor the status and progress of the job. If a job was not successfully started, refer to the response code and response body for details.
Attention
A successful response indicates that the request was successfully created and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
Table 10. Modify the asset tag
AttributesRequired / OptionalTypeDescription
assetTagRequiredString(ThinkSystem rack servers only) Name or Tag that represents the server or other physical enclosure
The following example modifies the asset tag.
{
"assetTag": "Server_1"
}
Table 11. Enable or disable System Guard
AttributesRequired / OptionalTypeDescription
systemGuardEnabledRequiredBoolean(ThinkSystem rack servers only) Indicates whether to enable System Guard. This can be one of the following values.
  • true. System Guard is enabled. A snapshot of hardware inventory is collected automatically for comparison purposes.
  • false. System Guard is disabled.
The following example modifies the asset tag.
{
"systemGuardEnabled": true
}

Response codes

CodeDescriptionComments
200OKThe request completed successfully.
400Bad RequestA query parameter or request attribute is missing or not valid, or the operation is not supported. A descriptive error message is returned in the response body.
401UnauthorizedThe user cannot be authenticated. Authentication has not been provided or has failed. A descriptive error message is returned in the response body.
403ForbiddenThe orchestrator server was prevented from fulfilling the request. A descriptive error message is returned in the response body. Ensure that you have privileges to perform the request.
404Not foundA specified resource cannot be found. A descriptive error message is returned in the response body.
409ConflictThere is a conflict with the current state of the resource. A descriptive error message is returned in the response body.
500Internal Server ErrorAn internal error occurred. A descriptive error message is returned in the response body.

Response body

The response body provides information about the success or failure of the request. The attributes in the response body differ depending on the specified request attributes.

Note
A response body is not returned for some requests.

The following example is returned when the "refreshInventory": "true" is specified in the request body to refresh the device inventory.

{
"statusCode": 200,
"statusDescription": "The request completed successfully.",
"messages": [{
"explanation": "refreshInventory request for target 6ED2CB368C594C66C2BB066D5A306138 has
completed successfully.",
"id": "FQXDM0200",
"recovery": "",
"recoveryUrl": "",
"text": "The request completed successfully."
}]
}