pool.dataset.encryption_summary¶
Retrieve summary of all encrypted roots under id.
Keys/passphrase can be supplied to check if the keys are valid.
- Example output: [
- { “name”: “vol”, “key_format”: “PASSPHRASE”, “key_present_in_database”: false, “valid_key”: true, “locked”: true, “unlock_error”: null, “unlock_successful”: true }, {
“name”: “vol/c1/d1”, “key_format”: “PASSPHRASE”, “key_present_in_database”: false, “valid_key”: false, “locked”: true, “unlock_error”: “Provided key is invalid”, “unlock_successful”: false }, { “name”: “vol/c”, “key_format”: “PASSPHRASE”, “key_present_in_database”: false, “valid_key”: false, “locked”: true, “unlock_error”: “Key not provided”, “unlock_successful”: false }, { “name”: “vol/c/d2”, “key_format”: “PASSPHRASE”, “key_present_in_database”: false, “valid_key”: false, “locked”: true, “unlock_error”: “Child cannot be unlocked when parent “vol/c” is locked and provided key is invalid”, “unlock_successful”: false }
]
No Additional Items
Tuple Validation
Parameter 1: id
id
Type: stringThe dataset ID (full path) to generate an encryption summary for.
Parameter 2: options
options
Type: objectOptions for generating the encryption summary including force settings and datasets.
No Additional PropertiesKey File
Type: boolean Default: falseWhether keys are provided via key files rather than directly.
Force
Type: boolean Default: falseForce unlock operations even if mount paths already exist.
Datasets
Type: array of object Default: []Array of dataset-specific unlock options and credentials.
No Additional ItemsEach item of this array must be:
PoolDatasetEncryptionSummaryOptionsDataset
Type: objectNo Additional Properties
Force
Type: boolean Default: falseForce unlock even if the mount path already exists and is not empty.
Name
Type: stringThe dataset name to unlock.
Must be at least 1
characters long
Key
Type: stringRaw hex-encoded encryption key for this dataset.
Must be at least 64
characters long
Must be at most 64
characters long
Passphrase
Type: stringPassphrase for this dataset if using passphrase-based encryption.
Must be at least 1
characters long
Result
Type: array of objectArray of encryption status information for datasets that would be affected by an unlock operation.
No Additional ItemsEach item of this array must be:
PoolDatasetEncryptionSummary
Type: objectThere are 2 keys which show if a recursive unlock operation is done for id
, which dataset will be unlocked and if not why it won't be unlocked. The keys namely are unlock_successful
and unlock_error
. The former is a boolean value showing if unlock would succeed/fail. The latter is description why it failed if it failed.
In some cases it's possible that the provided key/passphrase is valid but the path where the dataset is supposed to be mounted after being unlocked already exists and is not empty. In this case, unlock operation would fail and unlock_error
will reflect this error appropriately. This can be overridden by setting options.datasets.X.force
boolean flag or by setting options.force
flag. In practice, when the dataset is going to be unlocked and these flags have been provided to pool.dataset.unlock
, system will rename the directory/file path where the dataset should be mounted resulting in successful unlock of the dataset.
If a dataset is already unlocked, it will show up as true for "unlocksuccessful" regardless of what key user provided as the unlock keys in the output are to reflect what a real unlock operation would behave. If user is interested in seeing if a provided key is valid or not, then the key to look out for in the output is "validkey" which based on what system has in database or if a user provided one, validates the key and sets a boolean value for the dataset.
No Additional PropertiesName
Type: stringThe dataset name.
Key Format
Type: stringThe format of the encryption key (hex, raw, or passphrase).
Key Present In Database
Type: booleanWhether an encryption key for this dataset exists in the system database.
Valid Key
Type: booleanWhether the provided key is valid for this dataset.
Locked
Type: booleanWhether the dataset is currently locked.
Unlock Error
Error message if unlock would fail, or null
if unlock would succeed.
Unlock Successful
Type: booleanWhether an unlock operation would be successful.
Required roles: DATASET_READ