PUT /chassis/<UUID>

Use PUT to modify properties or refresh inventory for a specific Flex System chassis.

The request body differs depending on the action that you want to perform. You can use this PUT method to perform the following management actions.

If the PUT method results in a job getting started, this method returns a URI that contains the job ID for the job that is created to perform this request. You can use GET /tasks/detail to monitor the status and progress of the job.

Authentication

Authentication with user name and password is required.

Request URL

PUT https://<management_server_IP>/chassis/<UUID>

where <UUID> is the UUID of the chassis. To obtain the chassis UUID, use the GET /chassis method.

Query parameters

Attributes Required / Optional Description
synchronous=<value> Optional When 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/detail to monitor the status and progress of the job.

Note: This query parameter applies only when one or more property parameters are specified in the request body.

Request body

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

Note: If you specify one or more attributes in Table 1 (to modify properties) or Table 2 (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/detail 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 transmitted and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
Table 1. Modify chassis attributes.
Attributes Required / Optional Type Description
cmmDisplayName Optional String CMM display name
contact Optional String Chassis contact information
domainName Optional String Chassis domain name
hostname Optional String Chassis hostname
location Optional Array Information about the chassis location
Important: Changes made to the location of the chassis using this API method are not reflected in the rack view.
  location Optional String New location of the chassis
  lowestRackUnit Optional Integer Lowest rack unit where the chassis is installed in the rack
  rack Optional String Rack location
  room Optional String Room location
userDescription Optional String Chassis description
Table 2. Refresh the inventory
Attributes Required / Optional Type Description
refreshInventory Optional String Refreshes inventory for the chassis
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/detail 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 transmitted and accepted by the management server. It does not indicate that the operation that is associated with the job was successful.
Table 3. Configure device authentication and access control.
Note: Only users with lxc-supervisor or lxc-security-admin privileges can modify the access-control settings.
Attributes Required / Optional Type Description
securityDescriptor Required Object Information about the authentication enablement and support the associated stored credentials for a managed device
  managedAuthEnabled Optional Boolean Indicates 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

  publicAccess Optional Boolean Indicates 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.

  roleGroups Optional Array of strings List of role groups that are permitted to view and manage this device
  storedCredentials Required if managedAuthEnabled is set to true Object Information about the stored credential that is associated with this device, if applicable
    id Required if managedAuthEnabled is set to true String ID of the stored credential to associated with the device
Table 4. Configure the security policy.
Attributes Required / Optional Type Description
securityPolicy Optional Object Information about the security policy
  mmPolicyLevel Required ID of the stored credential to associated with the device Policy level to be used. This can be one of the following values.
  • LEGACY
  • SECURE
Table 5. Configure LED states.
Attributes Required / Optional Type Description
leds Optional Object Changes the state of the location LED
  name Required String Description of the LED (for example, "Fault" or "Power". To obtain the names of LEDs for a specific chassis, use the GET /chassis/<UUID_list> method.
  state Required String State of LED. This can be one of the following values.
  • off
  • on
  • blinking

To obtain the current state of the LED, use the GET /chassis/<UUID_list> method.

Table 6. Configure the failover to a back CMM
Attributes Required / Optional Type Description
cmmFailover Optional Boolean Indicates whether to initiate a failover. This can be one of the following values.
  • true. Initiate a failover.
  • false. Do not initiate a failover.
Table 7. Configure TLS and NIST mode.
Attributes Required / Optional Type Description
nist Optional Object Information about NIST settings
  currentValue Required String Cryptography mode to be used. This can be one of the following values.
  • Unknown
  • Compatibility
  • Nist_800_131A_Strict
  • Nist_800_131A_Custom
tlsVersion Optional Object Information about TLS settings
  currentValue Required String SSL or TLS protocol and version to be used. This can be one of the following values.
  • Unknown
  • SSL_30
  • TLS_10. IMM - TLS1.0
  • TLS_11. IMM - TLS1.1
  • TLS_12. IMM - TLS1.2
  • TLS_12_Server_Client
  • TLS_12_Server
Table 8. Configure the encapsulation mode
Attributes Required / Optional Type Description
encapsulationMode Optional String Encapsulation 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.

Request example

The following example modifies the hostname, location, and contact information for a CMM:
{
   "contact": "new contact",
   "hostname":"", 
   "location": {"location":"new location"}
}
The following example enables managed authentication and associates a stored credential account with the device:
{
   "securityDescriptor" : {
      "managedAuthEnabled" : true,
      "storedCredentials": {
         "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"]
   }
}
The following example modifies the security policy for a chassis:
{
   "securityPolicy: {
      "cmmPolicyLevel": "SECURE"
   }
}
The following example configures failover to a backup CMM:
{
   "cmmFailover": true
}
The following example modifies the encapsulation mode:
{
   "encapsulationMode": "encapsulationLite"
}
The following example turns off the Location LED.
{
   "leds":[{
      "name":"Location",
      "state":"off"
   }]
}
The following example modifies the cryptographic settings for a CMM:
{
    "nist": {"currentValue": "NIST"}
}
The following example refreshes inventory for the target chassis.
{
   "refreshInventory": "true" 
}
The following example modifies the security policy for a chassis:
{
    securityPolicy: {"cmmPolicyLevel": "SECURE"}
}

Response codes

Code Description
200 OK
400 Bad request
401 Unauthorized
403 Forbidden
404 Not Found
409 Conflict
500 Internal server error

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.

Response example

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."
   }]
}