# cloud_backup.query

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: filters

#### filters

Type: array Default: []
No Additional Items

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

Type: object

##### Parameter 2: options

#### options

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

##

#### Relationships

Type: boolean Default: true

##

#### Extend

Default: null

## Any of

Type: string
Type: null

##

#### Extend Context

Default: null

## Any of

Type: string
Type: null

##

#### Prefix

Default: null

## Any of

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:

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

##

#### Result

## Any of

Type: array of object
No Additional Items

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

#### CloudBackupQueryResultItem

Type: object
No Additional Properties

##

#### Description

Type: string

The name of the task to display in the UI

##

#### Path

Type: string

The local path to back up beginning with `/mnt` or `/dev/zvol`

##

#### CredentialsEntry

Type: object

Cloud credentials to use for each backup

No Additional Properties

##

#### Id

Type: integer

##

#### Name

Type: string

Must be at least `1` characters long

##

#### Provider

## One of

#### AzureBlobCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"AZUREBLOB"`

##

#### Account

Type: string

Must be at least `1` characters long

##

#### Key

Type: string

Must be at least `1` characters long

##

#### Endpoint

Default: ""

## Any of

Type: const
Specific value: `""`
Type: string Format: uri

Must be at least `1` characters long

Must be at most `2083` characters long

#### B2CredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"B2"`

##

#### Account

Type: string

Must be at least `1` characters long

##

#### Key

Type: string

Must be at least `1` characters long

#### BoxCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"BOX"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

#### DropboxCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"DROPBOX"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

#### FTPCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"FTP"`

##

#### Host

Type: string

Must be at least `1` characters long

##

#### Port

Type: integer Default: 21

##

#### User

Type: string

Must be at least `1` characters long

##

#### Pass

Type: string

#### GoogleCloudStorageCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"GOOGLE_CLOUD_STORAGE"`

##

#### Service Account Credentials

Type: string

Must be at least `1` characters long

#### GoogleDriveCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"GOOGLE_DRIVE"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

##

#### Team Drive

Type: string Default: ""

#### GooglePhotosCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"GOOGLE_PHOTOS"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

#### HTTPCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"HTTP"`

##

#### Url

Type: string Format: uri

Must be at least `1` characters long

Must be at most `2083` characters long

#### HubicCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"HUBIC"`

##

#### Token

Type: string

Must be at least `1` characters long

#### OneDriveCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"ONEDRIVE"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

##

#### Drive Type

Type: enum (of string)

##### Must be one of:

- "PERSONAL"
- "BUSINESS"
- "DOCUMENT_LIBRARY"

##

#### Drive Id

Type: string

#### PCloudCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"PCLOUD"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

##

#### Hostname

Type: string Default: ""

#### S3CredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"S3"`

##

#### Access Key Id

Type: string

Must be at least `1` characters long

##

#### Secret Access Key

Type: string

Must be at least `1` characters long

##

#### Endpoint

Default: ""

## Any of

Type: const
Specific value: `""`
Type: string Format: uri

Must be at least `1` characters long

Must be at most `2083` characters long

##

#### Region

Type: string Default: ""

##

#### Skip Region

Type: boolean Default: false

##

#### Signatures V2

Type: boolean Default: false

##

#### Max Upload Parts

Type: integer Default: 10000

#### SFTPCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"SFTP"`

##

#### Host

Type: string

Must be at least `1` characters long

##

#### Port

Type: integer Default: 22

##

#### User

Type: string

Must be at least `1` characters long

##

#### Pass

Default: null

## Any of

Type: string
Type: null

##

#### Private Key

Default: null

## Any of

Type: integer
Type: null

#### StorjIxCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"STORJ_IX"`

##

#### Access Key Id

Type: string

Must be at least `1` characters long

##

#### Secret Access Key

Type: string

Must be at least `1` characters long

##

#### Endpoint

Type: string Format: uri Default: "https://gateway.storjshare.io/"

Must be at least `1` characters long

Must be at most `2083` characters long

#### SwiftCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"OPENSTACK_SWIFT"`

##

#### User

Type: string

Must be at least `1` characters long

##

#### Key

Type: string

Must be at least `1` characters long

##

#### Auth

Type: string

Must be at least `1` characters long

##

#### User Id

Type: string Default: ""

##

#### Domain

Type: string Default: ""

##

#### Tenant

Type: string Default: ""

##

#### Tenant Id

Type: string Default: ""

##

#### Tenant Domain

Type: string Default: ""

##

#### Region

Type: string Default: ""

##

#### Storage Url

Type: string Default: ""

##

#### Auth Token

Type: string Default: ""

##

#### Application Credential Id

Type: string Default: ""

##

#### Application Credential Name

Type: string Default: ""

##

#### Application Credential Secret

Type: string Default: ""

##

#### Auth Version

## Any of

Type: enum (of integer)

##### Must be one of:

- 0
- 1
- 2
- 3

Type: null

##

#### Endpoint Type

## Any of

Type: enum (of string)

##### Must be one of:

- "public"
- "internal"
- "admin"

Type: null

#### WebDavCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"WEBDAV"`

##

#### Url

Type: string Format: uri

Must be at least `1` characters long

Must be at most `2083` characters long

##

#### Vendor

Type: enum (of string)

##### Must be one of:

- "NEXTCLOUD"
- "OWNCLOUD"
- "SHAREPOINT"
- "OTHER"

##

#### User

Type: string

##

#### Pass

Type: string

#### YandexCredentialsModel

Type: object
No Additional Properties

##

#### Type

Type: const
Specific value: `"YANDEX"`

##

#### Client Id

Type: string Default: ""

##

#### Client Secret

Type: string Default: ""

##

#### Token

Type: string

Must be at least `1` characters long

##

#### Attributes

Type: object

Additional information for each backup, e.g. bucket name

##

#### CloudBackupCron

Type: object

Cron schedule dictating when the task should run

No Additional Properties

##

#### Minute

Type: string Default: "00"

##

#### Hour

Type: string Default: "*"

"00" - "23"

##

#### Dom

Type: string Default: "*"

"1" - "31"

##

#### Month

Type: string Default: "*"

"1" (January) - "12" (December)

##

#### Dow

Type: string Default: "*"

"1" (Monday) - "7" (Sunday)

##

#### Pre Script

Type: string

A Bash script to run immediately before every backup

##

#### Post Script

Type: string

A Bash script to run immediately after every backup if it succeeds

##

#### Snapshot

Type: boolean

Whether to create a temporary snapshot of the dataset before every backup

##

#### Include

Type: array of string

Paths to pass to `restic backup --include`

No Additional Items

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

Type: string

Must be at least `1` characters long

##

#### Exclude

Type: array of string

Paths to pass to `restic backup --exclude`

No Additional Items

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

Type: string

Must be at least `1` characters long

##

#### Args

Type: string

(Slated for removal)

##

#### Enabled

Type: boolean

Can enable/disable the task

##

#### Password

Type: string

Password for the remote repository

Must be at least `1` characters long

##

#### Keep Last

Type: integer

How many of the most recent backup snapshots to keep after each backup

Value must be strictly greater than `0`

##

#### Transfer Setting

Type: enum (of string)

DEFAULT:
- pack size given by `$RESTIC_PACK_SIZE` (default 16 MiB)
- read concurrency given by `$RESTIC_READ_CONCURRENCY` (default 2 files)
PERFORMANCE:
- pack size = 29 MiB
- read concurrency given by `$RESTIC_READ_CONCURRENCY` (default 2 files)
FAST_STORAGE:
- pack size = 58 MiB
- read concurrency = 100 files

##### Must be one of:

- "DEFAULT"
- "PERFORMANCE"
- "FAST_STORAGE"

##

#### Absolute Paths

Type: boolean

Whether to preserve absolute paths in each backup (cannot be set when `snapshot=True`)

##

#### Id

Type: integer

##

#### Job

Information regarding the task's job state, e.g. progress

## Any of

Type: object
Type: null

##

#### Locked

Type: boolean

A locked task cannot run

#### CloudBackupQueryResultItem

Type: object
No Additional Properties

##

#### Description

Type: string

The name of the task to display in the UI

##

#### Path

Type: string

The local path to back up beginning with `/mnt` or `/dev/zvol`

##

Type: object

Cloud credentials to use for each backup

##

#### Attributes

Type: object

Additional information for each backup, e.g. bucket name

##

Type: object

Cron schedule dictating when the task should run

##

#### Pre Script

Type: string

A Bash script to run immediately before every backup

##

#### Post Script

Type: string

A Bash script to run immediately after every backup if it succeeds

##

#### Snapshot

Type: boolean

Whether to create a temporary snapshot of the dataset before every backup

##

#### Include

Type: array of string

Paths to pass to `restic backup --include`

No Additional Items

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

Type: string

Must be at least `1` characters long

##

#### Exclude

Type: array of string

Paths to pass to `restic backup --exclude`

No Additional Items

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

Type: string

Must be at least `1` characters long

##

#### Args

Type: string

(Slated for removal)

##

#### Enabled

Type: boolean

Can enable/disable the task

##

#### Password

Type: string

Password for the remote repository

Must be at least `1` characters long

##

#### Keep Last

Type: integer

How many of the most recent backup snapshots to keep after each backup

Value must be strictly greater than `0`

##

#### Transfer Setting

Type: enum (of string)

DEFAULT:
- pack size given by `$RESTIC_PACK_SIZE` (default 16 MiB)
- read concurrency given by `$RESTIC_READ_CONCURRENCY` (default 2 files)
PERFORMANCE:
- pack size = 29 MiB
- read concurrency given by `$RESTIC_READ_CONCURRENCY` (default 2 files)
FAST_STORAGE:
- pack size = 58 MiB
- read concurrency = 100 files

##### Must be one of:

- "DEFAULT"
- "PERFORMANCE"
- "FAST_STORAGE"

##

#### Absolute Paths

Type: boolean

Whether to preserve absolute paths in each backup (cannot be set when `snapshot=True`)

##

#### Id

Type: integer

##

#### Job

Information regarding the task's job state, e.g. progress

## Any of

Type: object
Type: null

##

#### Locked

Type: boolean

A locked task cannot run

Type: integer

Required roles: CLOUD_BACKUP_READ