REST endpoints: Resources: drives and pools
REST
These endpoints:endpoints Resources:mirror the CLI commands described in Resources overview, Drives, Pools. Each endpoint runs the CLI command named under its heading, so the behavior, defaults, and restrictions are the same; this page lists how to call it over REST.
Conventions that apply to every endpoint (request format, the async and outputType parameters, and the response envelope) are in Requests and responses. In the tables below, Required is Yes when the parameter must always be supplied, No when it is optional, and Depends when it is required only in some combinations (for example, either an application and volume, or a consistency group ID); the CLI chapter for the same command explains the combinations.
DELETE /resources/delete
Delete missing resources.
CLI command: resources delete
Query parameters
entityIds
array of integer
Depends
The missing resource IDs to delete.
all
boolean
Depends
Delete all missing resources.
PUT /resources/drives/approve
Approve new drives.
CLI command: resources drives approve
Body fields (JSON)
DriveIds
array of integer
Depends
Approve newly added drives with these ids.
All
boolean
Depends
Approve all drives.
Patterns
array of string
Depends
Filter drives by name, capacity, serial, or type. Wildcards (*) are supported.
Count
integer
No
Number of drives to take that match the specified patterns.
ManualPool
string
No
Assign the approved drives to this manual pool instead of an automatic pool.
Force
boolean
No
Skip the confirmation prompt.
PUT /resources/drives/enclosures/led_off
Turn off the LED for an enclosure slot.
CLI command: resources drives enclosures led_off
Body fields (JSON)
Enclosure
string
Yes
The enclosure containing the slot.
Slot
integer
Yes
The slot number within the enclosure.
PUT /resources/drives/enclosures/led_on
Turn on the LED for an enclosure slot.
CLI command: resources drives enclosures led_on
Body fields (JSON)
Enclosure
string
Yes
The enclosure containing the slot.
Slot
integer
Yes
The slot number within the enclosure.
GET /resources/drives/enclosures/list
List all available drive enclosures.
CLI command: resources drives enclosures list
This endpoint takes no parameters.
Response: a list of DriveEnclosureElement objects in Result.DriveEnclosures, each with: Identifier (string), Vendor (string), Model (string), Wwid (string), Slots (array of DriveEnclosureSlotElement), Index (integer), Name (string), Led (string: Off / On), DriveId (integer), DriveType (DriveType), DriveSerial (string), DriveCapacityInBytes (integer), DriveApprovedState (UsageState).
PUT /resources/drives/led_off
Turn off the LED for a drive.
CLI command: resources drives led_off
Body fields (JSON)
DriveId
integer
Yes
Turn off the LED for this drive.
PUT /resources/drives/led_on
Turn on the LED for a drive.
CLI command: resources drives led_on
Body fields (JSON)
DriveId
integer
Yes
Turn on the LED for this drive.
GET /resources/drives/list
List all available drives.
CLI command: resources drives list
Query parameters
node
string
No
Show results from a specific node. If omitted, the first available node is used.
errors
boolean
No
Show only components with errors.
details
boolean
No
Show advanced information.
ids
array of integer
No
Filter by drive ID.
led
boolean
No
Show the LED status.
patterns
array of string
No
Filter drives by name, capacity, serial, or type. Wildcards (*) are supported.
secureErase
boolean
No
Show secure erase status.
Response: a list of DriveElement objects in Result.Drives, each with: SecureEraseStatus (DiskSecureEraseStatus), Device (string), ManualPool (string), IsSelfEncryptingDrive (boolean), SelfEncryptingDriveStatus (string: NotInitialized / Initialized / Locked), DeviceName (string), PhysicalSector (string), LogicalSector (string), Model (string), RotationRate (string), EnclosureIndex (string), OSName (string), Version (string), Led (LedState), Type (string: HDD / SSD / NVME), CapacityInBytes (integer), ApprovedState (UsageState).
POST /resources/drives/nvmeof/add
Add an external NVMeOF enclosure.
CLI command: resources drives nvmeof add
Body fields (JSON)
Name
string
Yes
The name of the NVMeOF enclosure.
Nodes
array of string
Yes
The name of the node that connects to the NVMeOF enclosure.
Addresses
array of string
Yes
The IP address of the NVMeOF enclosure connection.
Ports
array of integer
Yes
The port of the NVMeOF enclosure connection.
Types
array of string
Yes
The connection type: rdma or tcp.
AllowUseForMetadata
boolean
No
Allow using drives in this enclosure for metadata. Should be used only if there are no SSD/NVMe drives connected directly to the system.
DELETE /resources/drives/nvmeof/delete
Delete an external NVMeOF enclosure.
CLI command: resources drives nvmeof delete
Query parameters
name
string
Yes
The name of the NVMeOF enclosure to delete.
force
boolean
No
Skip the confirmation prompt.
PUT /resources/drives/nvmeof/edit
Edit an external NVMeOF enclosure.
CLI command: resources drives nvmeof edit
Query parameters
name
string
Yes
The name of the NVMeOF enclosure to edit.
Body fields (JSON)
Name
string
Yes
The name of the NVMeOF enclosure to edit.
Nodes
array of string
No
The name of the node that connects to the NVMeOF enclosure.
Addresses
array of string
No
The IP address of the NVMeOF enclosure connection.
Ports
array of integer
No
The port of the NVMeOF enclosure connection.
Types
array of string
No
The connection type: rdma or tcp.
AllowUseForMetadata
boolean
No
Allow using drives in this enclosure for metadata. Should be used only if there are no SSD/NVMe drives connected directly to the system. In REST one field covers a pair of CLI flags: true applies --allowUseForMetadata, false applies --doNotAllowUseForMetadata, and omitting the field applies neither.
GET /resources/drives/nvmeof/list
List all configured NVMeOF enclosures.
CLI command: resources drives nvmeof list
Query parameters
connectionStatus
boolean
No
Show advanced information per connection.
driveStatus
boolean
No
Show advanced information per recognized drive.
Response: a list of NvmeofEnclosureElement objects in Result.NVMeOFEnclosureDrives, each with: Name (string), AllowUseForMetadata (boolean), DoNotAllowUseForMetadata (boolean), Nodes (array of string), Addresses (array of string), Ports (array of long), Types (array of string), IsConnected (array of bool), DriveCount (array of int), Enclosure (string), Node (string), Address (string), Port (integer), Type (string), IsConnected (boolean), DriveCount (integer), Connection (NvmeofEnclosureConnection), Drives (array of BasicDriveElement), Drive (BasicDriveElement), Connections (array of NvmeofEnclosureConnection).
POST /resources/drives/pools/create
Create a manual pool.
CLI command: resources drives pools create
Body fields (JSON)
Name
string
Yes
The name of the manual pool.
MaxSectorsKb
integer
No
The maximum I/O request size the block layer allows, in KB (100-50000).
DELETE /resources/drives/pools/delete
Delete a manual pool.
CLI command: resources drives pools delete
Query parameters
name
string
Yes
The name of the manual pool to delete.
PUT /resources/drives/pools/edit
Edit a manual pool.
CLI command: resources drives pools edit
Body fields (JSON)
Name
string
Yes
The name of the manual pool to edit.
NewName
string
No
The new name of the manual pool.
MaxSectorsKb
integer
No
The maximum I/O request size the block layer allows, in KB (100-50000).
GET /resources/drives/pools/list
List all available pools.
CLI command: resources drives pools list
Query parameters
drives
boolean
No
Include the drives in each pool.
volumes
boolean
No
Include the volumes in each pool.
capacity
boolean
No
Show basic capacity information.
Response: a list of DrivePoolElement objects in Result.DrivePools, each with: UsedCapacityInBytes (number), MaxSectorsKb (integer), Drives (array of BasicDriveElement), Volumes (array of BasicVolumeElement), IsHdd (boolean), IsSsd (boolean).
PUT /resources/drives/revive
Revive dead drives.
CLI command: resources drives revive
Body fields (JSON)
DriveIds
array of integer
Yes
Revive dead drives with these ids.
ManualPool
string
No
Assign the revived drives to this manual pool.
PUT /resources/drives/secure_erase
Secure erase an unapproved drive.
CLI command: resources drives secure_erase
Body fields (JSON)
DriveId
integer
Yes
Secure erase unapproved drive with this id.
Force
boolean
No
Skip the confirmation prompt.
PUT /resources/drives/sed/erase
Permanently erase a self-encrypting drive using its PSID (cannot be undone; all data is lost).
CLI command: resources drives sed erase
Body fields (JSON)
DriveId
integer
Yes
Erase a self-encrypting drive with this id.
Psid
string
Yes
The drive's PSID, used to authorize the erase.
Force
boolean
No
Skip the confirmation prompt.
PUT /resources/drives/sed/initialize
Initialize self-encrypting drives with a password (for new drives).
CLI command: resources drives sed initialize
Body fields (JSON)
DriveIds
array of integer
Depends
Initialize self-encrypting drives with these ids.
All
boolean
Depends
Initialize all self-encrypting drives.
Password
string
Yes
The password used to initialize the self-encrypting drives. (Must be the same password for all self-encrypting drives on this system)
ConfirmPassword
string
Yes
Re-enter the password to confirm.
GET /resources/drives/sed/list
List self-encrypting drives.
CLI command: resources drives sed list
Query parameters
node
string
No
Show results from a specific node. If omitted, the first available node is used.
Response: a list of DriveElement objects in Result.DriveElement, each with: SecureEraseStatus (DiskSecureEraseStatus), Device (string), ManualPool (string), IsSelfEncryptingDrive (boolean), SelfEncryptingDriveStatus (string: NotInitialized / Initialized / Locked), DeviceName (string), PhysicalSector (string), LogicalSector (string), Model (string), RotationRate (string), EnclosureIndex (string), OSName (string), Version (string), Led (LedState), Type (string: HDD / SSD / NVME), CapacityInBytes (integer), ApprovedState (UsageState).
PUT /resources/drives/sed/supply_password
Set the password used to unlock self-encrypting drives.
CLI command: resources drives sed supply_password
Body fields (JSON)
Password
string
Yes
The password used to unlock the self-encrypting drives.
GET /resources/drives/smart
Get SMART output for a drive.
CLI command: resources drives smart
Query parameters
node
string
Yes
The node to run the SMART command on.
driveid
integer
Yes
The ID of the drive to get SMART data for.
Response: the command output, in the format selected by outputType.
PUT /resources/drives/unapprove
Unapprove existing drive.
CLI command: resources drives unapprove
Body fields (JSON)
DriveId
integer
Yes
Unapprove existing drive with this id.
Force
boolean
No
Skip the confirmation prompt.
Secure_erase
boolean
No
Begin secure erase of the drive after unapproving it.
GET /resources/list
List all hardware resources.
CLI command: resources list
Query parameters
resourceType
string
Yes
The type of resource to list.
node
string
No
Filter by node name.
errors
boolean
No
Show only components with errors.
details
boolean
No
Show advanced information.
sensors
boolean
No
Show sensor information.
ids
array of integer
No
Filter by resource ID.
Response: a list of NodeElement objects in Result.
See also: Requests and responses - Authentication - Examples