# filesystem.acltemplate.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:

#### ACLTemplateQueryResultItem

Type: object
No Additional Properties

##

#### Id

Type: integer

Unique identifier for the ACL template.

##

#### Builtin

Type: boolean

Whether this is a built-in system template or user-created.

##

#### Name

Type: string

Human-readable name for the ACL template.

##

#### Acltype

Type: enum (of string)

ACL type this template provides.

##### Must be one of:

- "NFS4"
- "POSIX1E"

##

#### Acl

Array of Access Control Entries defined by this template.

## Any of

Type: array of object
No Additional Items

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

#### NFS4ACE

Type: object
No Additional Properties

##

#### Tag

Type: enum (of string)

Subject type for this ACE.

- `owner@`: File/directory owner
- `group@`: File/directory primary group
- `everyone@`: All users
- `USER`: Specific user account
- `GROUP`: Specific group

##### Must be one of:

- "owner@"
- "group@"
- "everyone@"
- "USER"
- "GROUP"

##

#### Type

Type: enum (of string)

Access control type.

- `ALLOW`: Grant the specified permissions
- `DENY`: Explicitly deny the specified permissions

##### Must be one of:

- "ALLOW"
- "DENY"

##

#### Perms

Permissions granted or denied by this ACE.

## Any of

#### NFS4ACE_AdvancedPerms

Type: object
No Additional Properties

##

#### Read Data

Type: boolean Default: false

Permission to read file data or list directory contents.

##

#### Write Data

Type: boolean Default: false

Permission to write file data or create files in directory.

##

#### Append Data

Type: boolean Default: false

Permission to append data to files or create subdirectories.

##

#### Read Named Attrs

Type: boolean Default: false

Permission to read named attributes (extended attributes).

##

#### Write Named Attrs

Type: boolean Default: false

Permission to write named attributes (extended attributes).

##

#### Execute

Type: boolean Default: false

Permission to execute files or traverse directories.

##

#### Delete

Type: boolean Default: false

Permission to delete the file or directory.

##

#### Delete Child

Type: boolean Default: false

Permission to delete child files within a directory.

##

#### Read Attributes

Type: boolean Default: false

Permission to read basic file attributes (size, timestamps, etc.).

##

#### Write Attributes

Type: boolean Default: false

Permission to write basic file attributes.

##

#### Read Acl

Type: boolean Default: false

Permission to read the Access Control List.

##

#### Write Acl

Type: boolean Default: false

Permission to modify the Access Control List.

##

#### Write Owner

Type: boolean Default: false

Permission to change the file owner.

##

#### Synchronize

Type: boolean Default: false

Permission to use the file/directory as a synchronization primitive.

#### NFS4ACE_BasicPerms

Type: object
No Additional Properties

##

#### Basic

Type: enum (of string)

Basic permission level for NFS4 ACE.

- `FULL_CONTROL`: Full read, write, execute, and administrative permissions
- `MODIFY`: Read, write, and execute permissions
- `READ`: Read-only permissions
- `TRAVERSE`: Execute/traverse permissions only

##### Must be one of:

- "FULL_CONTROL"
- "MODIFY"
- "READ"
- "TRAVERSE"

##

#### Flags

Inheritance and other behavioral flags for this ACE.

## Any of

#### NFS4ACE_AdvancedFlags

Type: object
No Additional Properties

##

#### File Inherit

Type: boolean Default: false

Apply this ACE to files within directories.

##

#### Directory Inherit

Type: boolean Default: false

Apply this ACE to subdirectories within directories.

##

#### No Propagate Inherit

Type: boolean Default: false

Do not propagate inheritance beyond immediate children.

##

#### Inherit Only

Type: boolean Default: false

This ACE only affects inheritance, not the object itself.

##

#### Inherited

Type: boolean Default: false

This ACE was inherited from a parent directory.

#### NFS4ACE_BasicFlags

Type: object
No Additional Properties

##

#### Basic

Type: enum (of string)

Basic inheritance behavior for NFS4 ACE.

- `INHERIT`: Apply to child files and directories
- `NOINHERIT`: Do not apply to child objects

##### Must be one of:

- "INHERIT"
- "NOINHERIT"

##

#### Id

Default: null

UID or GID when `tag` is "USER" or "GROUP". `null` for special entries.

## Any of

Type: integer

Value must be greater or equal to `-1` and lesser or equal to `2147483647`

Type: null

##

#### Who

Default: null

Username or group name when `tag` is "USER" or "GROUP". `null` for special entries.

## Any of

Type: string
Type: string

Must be at least `1` characters long

Type: null
Type: array of object
No Additional Items

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

#### POSIXACE

Type: object
No Additional Properties

##

#### Tag

Type: enum (of string)

Subject type for this POSIX ACE.

- `USER_OBJ`: File/directory owner
- `GROUP_OBJ`: File/directory primary group
- `OTHER`: All other users
- `MASK`: Maximum permissions for named users and groups
- `USER`: Specific user account
- `GROUP`: Specific group

##### Must be one of:

- "USER_OBJ"
- "GROUP_OBJ"
- "OTHER"
- "MASK"
- "USER"
- "GROUP"

##

#### POSIXACE_Perms

Type: object

Read, write, and execute permissions for this ACE.

No Additional Properties

##

#### Read

Type: boolean

Permission to read file contents or list directory contents.

##

#### Write

Type: boolean

Permission to write file contents or create/delete files in directory.

##

#### Execute

Type: boolean

Permission to execute files or traverse directories.

##

#### Default

Type: boolean

Whether this is a default ACE that applies to newly created child objects.

##

#### Id

Default: null

Numeric user or group ID when tag is `USER` or `GROUP`. `null` for object entries.

## Any of

Type: integer

Value must be greater or equal to `-1` and lesser or equal to `2147483647`

Type: null

##

#### Who

Default: null

Username or group name when tag is `USER` or `GROUP`. `null` for object entries.

## Any of

Type: string
Type: string

Must be at least `1` characters long

Type: null

##

#### Comment

Type: string

Optional descriptive comment about the template's purpose.

#### ACLTemplateQueryResultItem

Type: object
No Additional Properties

##

#### Id

Type: integer

Unique identifier for the ACL template.

##

#### Builtin

Type: boolean

Whether this is a built-in system template or user-created.

##

#### Name

Type: string

Human-readable name for the ACL template.

##

#### Acltype

Type: enum (of string)

ACL type this template provides.

##### Must be one of:

- "NFS4"
- "POSIX1E"

##

#### Acl

Array of Access Control Entries defined by this template.

## Any of

Type: array
No Additional Items

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

Type: object
Type: array
No Additional Items

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

Type: object

##

#### Comment

Type: string

Optional descriptive comment about the template's purpose.

Type: integer

Required roles: FILESYSTEM_ATTRS_READ