# iscsi.extent.query

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:
{ "extra": {}, "order_by": [], "select": [], "count": false, "get": false, "offset": 0, "limit": 0, "force_sql_filters": false }

Query options including pagination, ordering, and additional parameters.

No Additional Properties

##

#### 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:

## Any of

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

Force use of SQL for result filtering to reduce response time. May not work for all methods.

##

#### Result

## Any of

Type: array of object
No Additional Items

##### Each item of this array must be:

#### iSCSITargetExtentQueryResultItem

Type: object
No Additional Properties

##

#### Id

Type: integer

Unique identifier for the iSCSI extent.

##

#### Name

Type: string

Name of the iSCSI extent.

Must be at least `1` characters long

Must be at most `64` characters long

##

#### Type

Type: enum (of string)

Type of the extent storage backend.

##### Must be one of:

- "DISK"
- "FILE"

##

#### Disk

Disk device to use for the extent or `null` if using a file.

## Any of

Type: string
Type: null

##

#### Serial

Serial number for the extent or `null` to auto-generate.

## Any of

Type: string
Type: null

##

#### Path

File path for file-based extents or `null` if using a disk.

## Any of

Type: string
Type: null

##

#### Dataset

The ZFS dataset containing the file-based extent (e.g., 'tank/iscsi'). Returns `null` for non-FILE extent types (DISK, ZVOL) or if the FILE path cannot be resolved yet (encrypted dataset not unlocked, etc.). This is a read-only field automatically populated from "path".

## Any of

Type: string
Type: null

##

#### Relative Path

The path of the file-based extent relative to the dataset mountpoint (e.g., 'extents/lun0.img'). An empty string indicates the file is at the dataset root. Returns `null` for non-FILE types or if the path cannot be resolved yet. This is a read-only field automatically populated from "path".

## Any of

Type: string
Type: null

##

#### Filesize

Size of the file-based extent in bytes.

## Any of

Type: string
Type: integer

##

#### Blocksize

Type: enum (of integer)

Block size for the extent in bytes.

##### Must be one of:

- 512
- 1024
- 2048
- 4096

##

#### Pblocksize

Type: boolean

Whether to use physical block size reporting.

##

#### Avail Threshold

Available space threshold percentage or `null` to disable.

## Any of

Type: integer

Value must be greater or equal to `1` and lesser or equal to `99`

Type: null

##

#### Comment

Type: string

Optional comment describing the extent.

##

#### Naa

Type: string

Network Address Authority (NAA) identifier for the extent.

Must be at most `34` characters long

##

#### Insecure Tpc

Type: boolean

Whether to enable insecure Third Party Copy (TPC) operations.

##

#### Xen

Type: boolean

Whether to enable Xen compatibility mode.

##

#### Rpm

Type: enum (of string)

Reported RPM type for the extent.

##### Must be one of:

- "UNKNOWN"
- "SSD"
- "5400"
- "7200"
- "10000"
- "15000"

##

#### Ro

Type: boolean

Whether the extent is read-only.

##

#### Enabled

Type: boolean

Whether the extent is enabled and available for use.

##

#### Vendor

Type: string

Vendor string reported by the extent.

##

#### Product Id

Product ID string for the extent or `null` for default.

## Any of

Type: string

Must be at least `1` characters long

Must be at most `16` characters long

Type: null

##

#### Locked

Read-only value indicating whether the iscsi extent is located on a locked dataset.

- `true`: The extent is in a locked dataset.
- `false`: The extent is not in a locked dataset.
- `null`: Lock status is not available because path locking information was not requested.

## Any of

Type: boolean
Type: null

#### iSCSITargetExtentQueryResultItem

Type: object
No Additional Properties

##

#### Id

Type: integer

Unique identifier for the iSCSI extent.

##

#### Name

Type: string

Name of the iSCSI extent.

Must be at least `1` characters long

Must be at most `64` characters long

##

#### Type

Type: enum (of string)

Type of the extent storage backend.

##### Must be one of:

- "DISK"
- "FILE"

##

#### Disk

Disk device to use for the extent or `null` if using a file.

## Any of

Type: string
Type: null

##

#### Serial

Serial number for the extent or `null` to auto-generate.

## Any of

Type: string
Type: null

##

#### Path

File path for file-based extents or `null` if using a disk.

## Any of

Type: string
Type: null

##

#### Dataset

The ZFS dataset containing the file-based extent (e.g., 'tank/iscsi'). Returns `null` for non-FILE extent types (DISK, ZVOL) or if the FILE path cannot be resolved yet (encrypted dataset not unlocked, etc.). This is a read-only field automatically populated from "path".

## Any of

Type: string
Type: null

##

#### Relative Path

The path of the file-based extent relative to the dataset mountpoint (e.g., 'extents/lun0.img'). An empty string indicates the file is at the dataset root. Returns `null` for non-FILE types or if the path cannot be resolved yet. This is a read-only field automatically populated from "path".

## Any of

Type: string
Type: null

##

#### Filesize

Size of the file-based extent in bytes.

## Any of

Type: string
Type: integer

##

#### Blocksize

Type: enum (of integer)

Block size for the extent in bytes.

##### Must be one of:

- 512
- 1024
- 2048
- 4096

##

#### Pblocksize

Type: boolean

Whether to use physical block size reporting.

##

#### Avail Threshold

Available space threshold percentage or `null` to disable.

## Any of

Type: integer

Value must be greater or equal to `1` and lesser or equal to `99`

Type: null

##

#### Comment

Type: string

Optional comment describing the extent.

##

#### Naa

Type: string

Network Address Authority (NAA) identifier for the extent.

Must be at most `34` characters long

##

#### Insecure Tpc

Type: boolean

Whether to enable insecure Third Party Copy (TPC) operations.

##

#### Xen

Type: boolean

Whether to enable Xen compatibility mode.

##

#### Rpm

Type: enum (of string)

Reported RPM type for the extent.

##### Must be one of:

- "UNKNOWN"
- "SSD"
- "5400"
- "7200"
- "10000"
- "15000"

##

#### Ro

Type: boolean

Whether the extent is read-only.

##

#### Enabled

Type: boolean

Whether the extent is enabled and available for use.

##

#### Vendor

Type: string

Vendor string reported by the extent.

##

#### Product Id

Product ID string for the extent or `null` for default.

## Any of

Type: string

Must be at least `1` characters long

Must be at most `16` characters long

Type: null

##

#### Locked

Read-only value indicating whether the iscsi extent is located on a locked dataset.

- `true`: The extent is in a locked dataset.
- `false`: The extent is not in a locked dataset.
- `null`: Lock status is not available because path locking information was not requested.

## Any of

Type: boolean
Type: null
Type: integer

Required roles: SHARING_ISCSI_EXTENT_READ