REST endpoints: Resources: drives and pools
These endpoints 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
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | The name of the NVMeOF enclosure to edit. |
Body fields (JSON)
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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 | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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)
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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
No comments to display
No comments to display