cloudsync.restore

Create the opposite of cloud sync task id (PULL if it was PUSH and vice versa).

Type: object

Type: array
No Additional Items

Tuple Validation

Parameter 1: id

id

Type: integer

ID of the cloud sync task to restore from.

Parameter 2: opts

opts

Type: object

Restore operation configuration options.

No Additional Properties

Description

Type: string Default: ""

Description for the restore operation.

Transfer Mode

Type: enum (of string)

Transfer mode for the restore operation.

Must be one of:
  • "SYNC"
  • "COPY"

Path

Type: string

Local path where files will be restored.

Must be at least 1 characters long

CloudSyncEntry

Type: object

The created restore task configuration.

No Additional Properties

Id

Type: integer

Unique identifier for this cloud storage configuration.

Description

Type: string Default: ""

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.

Dataset


The ZFS dataset containing this path (e.g., 'tank/backup'). This is a read-only field automatically resolved from "path". May be null if dataset is unavailable.

Type: string
Type: null

Relative Path


The path relative to the dataset mountpoint (e.g., 'subdir/data'). This is a read-only field automatically resolved from "path". May be null if dataset is unavailable.

Type: string
Type: null

CredentialsEntry

Type: object

Cloud credentials to use for each backup.

No Additional Properties

Id

Type: integer

Unique identifier for the cloud credential.

Name

Type: string

Human-readable name for the cloud credential.

Must be at least 1 characters long

Provider


Cloud provider configuration including type and authentication details.

AzureBlobCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Microsoft Azure Blob storage.

Specific value: "AZUREBLOB"

Account

Type: string

Azure Blob Storage account name for authentication.

Must be at least 1 characters long

Key

Type: string

Azure Blob Storage access key for authentication.

Must be at least 1 characters long

Endpoint

Default: ""

Custom Azure Blob Storage endpoint URL. Empty string for default endpoints.

Type: const
Specific value: ""
Type: stringFormat: uri

Must be at least 1 characters long

Must be at most 2083 characters long

B2CredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Backblaze B2 storage.

Specific value: "B2"

Account

Type: string

Backblaze B2 account ID for authentication.

Must be at least 1 characters long

Key

Type: string

Backblaze B2 application key for authentication.

Must be at least 1 characters long

BoxCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Box cloud storage.

Specific value: "BOX"

Client Id

Type: string Default: ""

Box OAuth application client ID.

Client Secret

Type: string Default: ""

Box OAuth application client secret.

Token

Type: string

Box OAuth access token for API authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

DropboxCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Dropbox storage.

Specific value: "DROPBOX"

Client Id

Type: string Default: ""

Dropbox OAuth application client ID.

Client Secret

Type: string Default: ""

Dropbox OAuth application client secret.

Token

Type: string

Dropbox OAuth access token for API authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

FTPCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for FTP.

Specific value: "FTP"

Host

Type: string

FTP server hostname or IP address.

Must be at least 1 characters long

Port

Type: integer Default: 21

FTP server port number.

User

Type: string

FTP username for authentication.

Must be at least 1 characters long

Pass

Type: string

FTP password for authentication.

GoogleCloudStorageCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Google Cloud Storage.

Specific value: "GOOGLE_CLOUD_STORAGE"

Service Account Credentials

Type: string

JSON service account credentials for Google Cloud Storage authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

GoogleDriveCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Google Drive.

Specific value: "GOOGLE_DRIVE"

Client Id

Type: string Default: ""

OAuth client ID for Google Drive API access.

Client Secret

Type: string Default: ""

OAuth client secret for Google Drive API access.

Token

Type: string

OAuth access token for Google Drive authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

Team Drive

Type: string Default: ""

Google Drive team drive ID or empty string for personal drive.

GooglePhotosCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Google Photos.

Specific value: "GOOGLE_PHOTOS"

Client Id

Type: string Default: ""

OAuth client ID for Google Photos API access.

Client Secret

Type: string Default: ""

OAuth client secret for Google Photos API access.

Token

Type: string

OAuth access token for Google Photos authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

HTTPCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for HTTP.

Specific value: "HTTP"

Url

Type: stringFormat: uri

HTTP URL for file access.

Must be at least 1 characters long

Must be at most 2083 characters long

HubicCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Hubic.

Specific value: "HUBIC"

Token

Type: string

OAuth access token for Hubic authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

MegaCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for MEGA.

Specific value: "MEGA"

User

Type: string

MEGA username for authentication.

Must be at least 1 characters long

Pass

Type: string

MEGA password for authentication.

Must be at least 1 characters long

OneDriveCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for OneDrive.

Specific value: "ONEDRIVE"

Client Id

Type: string Default: ""

OAuth client ID for OneDrive API access.

Client Secret

Type: string Default: ""

OAuth client secret for OneDrive API access.

Token

Type: string

OAuth access token for OneDrive authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

Drive Type

Type: enum (of string)

Type of OneDrive to access.

Must be one of:
  • "PERSONAL"
  • "BUSINESS"
  • "DOCUMENT_LIBRARY"

Drive Id

Type: string

OneDrive drive identifier.

PCloudCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for pCloud.

Specific value: "PCLOUD"

Client Id

Type: string Default: ""

OAuth client ID for pCloud API access.

Client Secret

Type: string Default: ""

OAuth client secret for pCloud API access.

Token

Type: string

OAuth access token for pCloud authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

Hostname

Type: string Default: ""

pCloud hostname or empty string for default.

S3CredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for S3-compatible storage.

Specific value: "S3"

Access Key Id

Type: string

S3 access key ID for authentication.

Must be at least 1 characters long

Secret Access Key

Type: string

S3 secret access key for authentication.

Must be at least 1 characters long

Endpoint

Default: ""

S3-compatible endpoint URL or empty string for AWS S3.

Type: const
Specific value: ""
Type: stringFormat: uri

Must be at least 1 characters long

Must be at most 2083 characters long

Region

Type: string Default: ""

S3 region or empty string for default.

Skip Region

Type: boolean Default: false

Whether to skip region validation.

Signatures V2

Type: boolean Default: false

Whether to use AWS Signature Version 2.

Max Upload Parts

Type: integer Default: 10000

Maximum number of parts for multipart uploads.

Provider

Type: string Default: "Other"

S3 provider. See cloudsync.credentials.s3_provider_choices for possible values.

Force Path Style

Type: boolean Default: true

If true use path style access if false use virtual hosted style.

Sign Accept Encoding

Type: boolean Default: true

Set this to false if your S3 server is behind a proxy that modified HTTP headers and you are experiencing SignatureDoesNotMatch error.

SFTPCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for SFTP.

Specific value: "SFTP"

Host

Type: string

SFTP server hostname or IP address.

Must be at least 1 characters long

Port

Type: integer Default: 22

SFTP server port number.

User

Type: string

SFTP username for authentication.

Must be at least 1 characters long

Pass

Default: null

SFTP password for authentication or null for key-based auth.

Type: string
Type: null

Private Key

Default: null

SSH private key ID for authentication or null for password auth.

Type: integer
Type: null

StorjIxCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Storj decentralized storage.

Specific value: "STORJ_IX"

Access Key Id

Type: string

Storj S3-compatible access key ID for authentication.

Must be at least 1 characters long

Secret Access Key

Type: string

Storj S3-compatible secret access key for authentication.

Must be at least 1 characters long

Endpoint

Type: stringFormat: uri Default: "https://gateway.storjshare.io/"

Storj gateway endpoint URL for S3-compatible access.

Must be at least 1 characters long

Must be at most 2083 characters long

SwiftCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for OpenStack Swift storage.

Specific value: "OPENSTACK_SWIFT"

User

Type: string

Swift username for authentication.

Must be at least 1 characters long

Key

Type: string

Swift password or API key for authentication.

Must be at least 1 characters long

Auth

Type: string

Swift authentication URL endpoint.

Must be at least 1 characters long

User Id

Type: string Default: ""

Swift user ID for authentication.

Domain

Type: string Default: ""

Swift domain name for authentication.

Tenant

Type: string Default: ""

Swift tenant name for multi-tenancy.

Tenant Id

Type: string Default: ""

Swift tenant ID for multi-tenancy.

Tenant Domain

Type: string Default: ""

Swift tenant domain name.

Region

Type: string Default: ""

Swift region name for geographic distribution.

Storage Url

Type: string Default: ""

Swift storage URL endpoint.

Auth Token

Type: string Default: ""

Swift authentication token for pre-authenticated access.

Application Credential Id

Type: string Default: ""

Swift application credential ID for authentication.

Application Credential Name

Type: string Default: ""

Swift application credential name for authentication.

Application Credential Secret

Type: string Default: ""

Swift application credential secret for authentication.

Auth Version


Swift authentication API version.

  • 0: Legacy auth
  • 1: TempAuth
  • 2: Keystone v2.0
  • 3: Keystone v3
  • null: Auto-detect

Type: enum (of integer)
Must be one of:
  • 0
  • 1
  • 2
  • 3
Type: null

Endpoint Type


Swift endpoint type to use.

  • public: Public endpoint (default)
  • internal: Internal network endpoint
  • admin: Administrative endpoint
  • null: Use default

Type: enum (of string)
Must be one of:
  • "public"
  • "internal"
  • "admin"
Type: null

WebDavCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for WebDAV servers.

Specific value: "WEBDAV"

Url

Type: stringFormat: uri

WebDAV server URL endpoint.

Must be at least 1 characters long

Must be at most 2083 characters long

Vendor

Type: enum (of string)

WebDAV server vendor type for compatibility optimizations.

  • NEXTCLOUD: Nextcloud server
  • OWNCLOUD: ownCloud server
  • SHAREPOINT: Microsoft SharePoint
  • OTHER: Generic WebDAV server
Must be one of:
  • "NEXTCLOUD"
  • "OWNCLOUD"
  • "SHAREPOINT"
  • "OTHER"

User

Type: string

WebDAV username for authentication.

Pass

Type: string

WebDAV password for authentication.

YandexCredentialsModel

Type: object
No Additional Properties

Type

Type: const

Cloud provider type identifier for Yandex Disk storage.

Specific value: "YANDEX"

Client Id

Type: string Default: ""

Yandex OAuth application client ID.

Client Secret

Type: string Default: ""

Yandex OAuth application client secret.

Token

Type: string

Yandex OAuth access token for API authentication.

Must be at least 1 characters long

Must be at most 2147483647 characters long

Type: object

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

CloudCron

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 Default: ""

A Bash script to run immediately before every backup.

Must be at most 2147483647 characters long

Post Script

Type: string Default: ""

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

Must be at most 2147483647 characters long

Snapshot

Type: boolean Default: false

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 Default: ""

(Slated for removal).

Must be at most 2147483647 characters long

Enabled

Type: boolean Default: true

Can enable/disable the task.

Job


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

Type: object
Type: null

Locked

Type: boolean

A locked task cannot run.

Bwlimit

Type: array of object

Schedule of bandwidth limits.

No Additional Items
Each item of this array must be:

CloudSyncBwlimit

Type: object
No Additional Properties

Time

Type: string

Time at which the bandwidth limit takes effect in 24-hour format.


Examples:

"00:00"
"06:30"
"18:00"
"23:00"

Bandwidth


Bandwidth limit in bytes per second (upload and download).

Type: integer

Value must be strictly greater than 0

Type: null

Transfers

Default: null

Maximum number of parallel file transfers. null for default.

Type: integer

Value must be strictly greater than 0

Type: null

Direction

Type: enum (of string)

Direction of the cloud sync operation.

  • PUSH: Upload local files to cloud storage
  • PULL: Download files from cloud storage to local storage
Must be one of:
  • "PUSH"
  • "PULL"

Transfer Mode

Type: enum (of string)

How files are transferred between local and cloud storage.

  • SYNC: Synchronize directories (add new, update changed, remove deleted)
  • COPY: Copy files without removing any existing files
  • MOVE: Move files (copy then delete from source)
Must be one of:
  • "SYNC"
  • "COPY"
  • "MOVE"

Encryption

Type: boolean Default: false

Whether to encrypt files before uploading to cloud storage.

Filename Encryption

Type: boolean Default: false

Whether to encrypt filenames in addition to file contents.

Encryption Password

Type: string Default: ""

Password for client-side encryption. Empty string if encryption is disabled.

Encryption Salt

Type: string Default: ""

Salt value for encryption key derivation. Empty string if encryption is disabled.

Create Empty Src Dirs

Type: boolean Default: false

Whether to create empty directories in the destination that exist in the source.



Required roles: CLOUD_SYNC_WRITE