pool.dataset.query

Query Pool Datasets with query-filters and query-options.

We provide two ways to retrieve datasets. The first is a flat structure (default), where all datasets in the system are returned as separate objects which contain all data there is for their children. This retrieval type is slightly slower because of duplicates in each object. The second type is hierarchical, where only top level datasets are returned in the list. They contain all the children in the children key. This retrieval type is slightly faster. These options are controlled by the query-options.extra.flat attribute (default true).

In some cases it might be desirable to only retrieve details of a dataset itself and not it’s children, in this case query-options.extra.retrieve_children should be explicitly specified and set to false which will result in children not being retrieved.

In case only some properties are desired to be retrieved for datasets, consumer should specify query-options.extra.properties which when null ( which is the default ) will retrieve all properties and otherwise a list can be specified like [“type”, “used”, “available”] to retrieve selective properties. If no properties are desired, in that case an empty list should be sent. It should be noted that specifying empty list will still retrieve user properties. If user properties are not desired, in that case query-options.extra.retrieve_user_props should be set to false.

query-options.extra.snapshots can be set to retrieve snapshot(s) of dataset in question.

query-options.extra.snapshots_recursive can be set to retrieve snapshot(s) recursively of dataset in question. If query-options.extra.snapshots_recursive and query-options.extra.snapshots are set, snapshot(s) will be retrieved recursively.

query-options.extra.snapshots_properties can be specified to list out properties which should be retrieved for snapshot(s) related to each dataset. By default only name of the snapshot would be retrieved, however if null is specified all properties of the snapshot would be retrieved in this case.

Type: object

Type: array
No Additional Items

Tuple Validation

Parameter 1: filters

filters

Type: array Default: []

List of filters for query results. See API documentation for "Query Methods" for more guidance.

No Additional Items
Each item of this array must be:
Type: object

Examples:

[
    [
        "name",
        "=",
        "bob"
    ]
]
[
    [
        "OR",
        [
            [
                [
                    "name",
                    "=",
                    "bob"
                ]
            ],
            [
                [
                    "name",
                    "=",
                    "larry"
                ]
            ]
        ]
    ]
]
Parameter 2: options

options

Type: object
Default:
{ "relationships": true, "extend": null, "extend_fk": [], "extend_context": null, "prefix": null, "extra": {}, "order_by": [], "select": [], "count": false, "get": false, "offset": 0, "limit": 0, "force_sql_filters": false }

Query options customize the results returned by a query method. More complete documentation with examples
are covered in the "Query methods" section of the TrueNAS API documentation.

No Additional Properties

Relationships

Type: boolean Default: true

Extend

Default: null

Type: string
Type: null

Extend Fk

Type: array of string Default: []
No Additional Items
Each item of this array must be:
Type: string

Extend Context

Default: null

Type: string
Type: null

Prefix

Default: null

Type: string
Type: null

Extra

Type: object Default: {}

Extra options are defined on a per-endpoint basis and are described in the documentation for the associated
query method.

Order By

Type: array of string Default: []

An array of field names describing the manner in which query results should be ordered. The field names may
also have one of more of the following special prefixes: - (reverse sort direction), nulls_first: (place
any null values at the head of the results list), nulls_last: (place any null values at the tail of the
results list).

No Additional Items
Each item of this array must be:
Type: string

Example:

[
    "size",
    "-devname",
    "nulls_first:-expiretime"
]

Select

Type: array Default: []

An array of field names specifying the exact fields to include in the query return. The dot character .
may be used to explicitly select only subkeys of the query result.

No Additional Items
Each item of this array must be:

Type: string
Type: array
No Additional Items
Each item of this array must be:
Type: object

Example:

[
    "username",
    "Authentication.status"
]

Count

Type: boolean Default: false

Return a numeric value representing the number of items that match the specified query-filters.

Get

Type: boolean Default: false

Return the JSON object of the first result matching the specified query-filters. The query fails
if there specified query-filters return no results.

Offset

Type: integer Default: 0

This specifies the beginning offset of the results array. When combined with the limit query-option
it may be used to implement pagination of large results arrays. WARNING: some query methods provide
volatile results and the onus is on the developer to understand whether pagination is appropriate
for a particular query API method.

Limit

Type: integer Default: 0

This specifies the maximum number of results matching the specified query-filters to return. When
combined wtih the offset query-option it may be used to implement pagination of large results arrays.
WARNING: some query methods provide volatile results and the onus is on the developer to understand whether
pagination is appropriate for a particular query API method.

Force Sql Filters

Type: boolean Default: false

Result


Type: array of object
No Additional Items
Each item of this array must be:

PoolDatasetQueryResultItem

Type: object
No Additional Properties

Id

Type: string

Type

Type: string

Name

Type: string

Pool

Type: string

Encrypted

Type: boolean

Encryption Root


Type: string
Type: null

Key Loaded


Type: boolean
Type: null

Children

Type: array
No Additional Items
Each item of this array must be:
Type: object

User Properties

Type: object

Locked

Type: boolean

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

PoolDatasetEntryProperty

Type: object
No Additional Properties

Parsed

Type: object

Rawvalue


Type: string
Type: null

Value


Type: string
Type: null

Source


Type: string
Type: null

Source Info

Type: object

Mountpoint


Type: string
Type: null

PoolDatasetQueryResultItem

Type: object
No Additional Properties

Id

Type: string

Type

Type: string

Name

Type: string

Pool

Type: string

Encrypted

Type: boolean

Encryption Root


Type: string
Type: null

Key Loaded


Type: boolean
Type: null

Children

Type: array
No Additional Items
Each item of this array must be:
Type: object

User Properties

Type: object

Locked

Type: boolean

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Type: object

Mountpoint


Type: string
Type: null
Type: integer


Required roles: DATASET_READ