Skip to main content

PUT /canisters/{uuid}

Use this method to modify properties, refresh inventory, or perform a power operation on a specific Flex System storage controller (canister).

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 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.

Authentication

Authentication with username and password is required.

Request URL

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

where {uuid} is the UUID of the storage controller to be retrieved. To obtain the storage-controller UUID, use the GET /canisters 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 immediately.
GET https://192.0.2.0/canisters/6ED2CB368C594C66C2BB066D5A306138?synchronous=false

Request body

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

Table 1. Modify storage-controller properties.
AttributesRequired / OptionalTypeDescription
contactOptionalStringStorage-controller contact information
domainNameOptionalStringStorage-controller domain name
hostnameOptionalStringStorage-controller hostname
ipInterfacesOptionalArrayInformation about the storage-controller IP addresses
Note
If specified, you must also specify the name attribute.
 IPv4DHCPmodeOptionalStringThe IPv4 DHCP mode. This can be one of the following values.
  • STATIC_ONLY
  • DHCP_ONLY
  • DHCP_THEN_STATIC
  • UNKNOWN
 IPv4enabledOptionalBooleanIdentifies whether IPv4 is enabled. This can be one of the following values.
  • true. IPv4 is enabled
  • false. IPv4 is disabled
 IPv6DHCPenabledOptionalBooleanIdentifies whether IPv6 DHCP is enabled. This can be one of the following values.
  • true. IPv6 DHCP is enabled
  • false. IPv6 DHCP is disabled
 IPv6enabledOptionalBooleanIdentifies whether IPv6 is enabled. This can be one of the following values.
  • true. IPv6 is enabled
  • false. IPv6 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
Note
If specified, you must also specify the id attribute.
  addressOptionalStringIPv4 address
  gatewayOptionalStringIPv4 gateway
  idRequiredIntegerIPv4 assignment ID
  subnetOptionalStringIPv4 subnet mask
 IPv6assignmentsOptionalArrayInformation about IPv6 assignments
Note
If specified, you must also specify the id attribute.
  addressOptionalStringIPv6 address
  gatewayOptionalStringIPv6 gateway
  idRequiredIntegerIPv6 assignment ID
  prefixOptionalIntegerIPv6 prefix
 nameRequiredStringIP Interface name
locationOptionalObjectInformation about the storage-controller location
Important
Changes made to the location of the storage controller that is using this API method are not reflected in the rack view.
 locationOptionalStringLocation of the storage-controller
userDescriptionOptionalStringStorage-controller description

The following example modifies the hostname, location, and contact information for the target storage controller:

{
"contact": "new contact",
"hostname":"",
"location": {"location":"new location"}
}
Table 2. Modify the power state
AttributesRequired / OptionalTypeDescription
powerStateOptionalStringPerforms a power operation on the storage controller. This can be one of the following values.
  • powerOn. Power on the storage controller
  • powerOff. Power off the storage controller immediately
  • powerCycleSoft. Restart the storage controller immediately
  • virtualReseat. Calls the CMM function to simulate removing power from the bay.
The following example restarts the target storage controller:
{
"powerState": "powerCycleSoft"
}
Table 3. Refresh the inventory
AttributesRequired / OptionalTypeDescription
refreshInventoryOptionalStringRefreshes inventory for the storage controller
The following example refreshes inventory for the target storage controller.
{
"refreshInventory": "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 parameters 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."
}]
}