Skip to main content

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

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