Skip to main content

PUT /chassis/{uuid}

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

Note
You cannot modify properties for a DenseChassis.

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}/chassis/{uuid}

where {uuid} is the UUID of the chassis. To obtain the chassis UUID, use the GET /chassis method.

Query parameters

AttributesRequired / OptionalDescription
synchronous={value}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.
Note
This query parameter applies only when one or more property parameters are specified in the request body.
The following example returns the job ID and job status after the job is complete.
GET https://192.0.2.0/chassis/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 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/{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 chassis attributes.
AttributesRequired / OptionalTypeDescription
cmmDisplayNameOptionalStringCMM display name
contactOptionalStringChassis contact information
domainNameOptionalStringChassis domain name
hostnameOptionalStringChassis hostname
locationOptionalArrayInformation about the chassis location
Important
Changes made to the location of the chassis using this API method are not reflected in the rack view.
 locationOptionalStringNew location of the chassis
 lowestRackUnitOptionalIntegerLowest rack unit where the chassis is installed in the rack
 rackOptionalStringRack location
 roomOptionalStringRoom location
userDescriptionOptionalStringChassis description
The following example modifies the hostname, location, and contact information for a CMM:
{
"contact": "new contact",
"hostname":"",
"location": {"location":"new location"}
}
Table 2. Refresh the inventory
AttributesRequired / OptionalTypeDescription
refreshInventoryOptionalStringRefreshes 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/{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 chassis.
{
"refreshInventory": "true"
}
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.
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,
"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"]
}
}
Table 4. Configure the security policy.
AttributesRequired / OptionalTypeDescription
securityPolicyOptionalObjectInformation about the security policy
 mmPolicyLevelRequiredID of the stored credential to associated with the devicePolicy level to be used. This can be one of the following values.
  • LEGACY
  • SECURE
The following example modifies the security policy for a device.
{
"securityPolicy: {
"cmmPolicyLevel": "SECURE"
}
}
Table 5. Configure LED states.
AttributesRequired / OptionalTypeDescription
ledsOptionalObjectChanges the state of the location LED
 nameRequiredStringDescription 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.
 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 /chassis/{uuid_list} method.

The following example turns off the Location LED.
{
"leds":[{
"name":"Location",
"state":"off"
}]
}
Table 6. Configure the failover to a back CMM
AttributesRequired / OptionalTypeDescription
cmmFailoverOptionalBooleanIndicates whether to initiate a failover. This can be one of the following values.
  • true. Initiate a failover.
  • false. Do not initiate a failover.
The following example configures failover to a backup CMM:
{
"cmmFailover": true
}
Table 7. Configure TLS and NIST mode.
AttributesRequired / OptionalTypeDescription
nistOptionalObjectInformation about NIST settings
 currentValueRequiredStringCryptography mode to be used. This can be one of the following values.
  • Unknown
  • Compatibility
  • Nist_800_131A_Strict
  • Nist_800_131A_Custom
tlsVersionOptionalObjectInformation about TLS settings
 currentValueRequiredStringSSL or TLS protocol and version to be used. This can be one of the following values.
  • unsupported
  • TLS_12. TLS v1.2
  • TLS_13. TLS v1.3
The following example modifies the cryptographic settings for a device.
{
"nist": {"currentValue": "NIST"}
}
Table 8. 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 modifies the encapsulation mode.
{
"encapsulationMode": "encapsulationLite"
}

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 if the request is successful and the "refreshInventory": "true" request parameter is specified 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."
}]
}