replication.query

Sent on replication changes.

Type: object

ReplicationAddedEvent

Type: object
No Additional Properties

Id

Type: integer

ReplicationEntry

Type: object
No Additional Properties

Id

Type: integer

Name

Type: string

name for replication task

Must be at least 1 characters long

Direction

Type: enum (of string)

whether task will PUSH or PULL snapshots

Must be one of:
  • "PUSH"
  • "PULL"

Transport

Type: enum (of string)

method of snapshots transfer
* SSH transfers snapshots via SSH connection. This method is supported everywhere but does not achieve
great performance
* SSH+NETCAT uses unencrypted connection for data transfer. This can only be used in trusted networks
and requires a port (specified by range from netcat_active_side_port_min to netcat_active_side_port_max)
to be open on netcat_active_side
* LOCAL replicates to or from localhost

Must be one of:
  • "SSH"
  • "SSH+NETCAT"
  • "LOCAL"

Default: null

Keychain Credential of type SSH_CREDENTIALS

KeychainCredentialEntry

Type: object
No Additional Properties

Id

Type: integer

Name

Type: string

Distinguishes this Keychain Credential from others.

Must be at least 1 characters long

Type

Type: enum (of string)
Must be one of:
  • "SSH_KEY_PAIR"
  • "SSH_CREDENTIALS"

Attributes


SSHKeyPair

Type: object

At least one of the two keys must be provided on creation.

No Additional Properties

Private Key

Default: null

Type: string
Type: null

Public Key

Default: null

Can be omitted and automatically derived from the private key.

Type: string
Type: null

SSHCredentials

Type: object
No Additional Properties

Host

Type: string

Port

Type: integer Default: 22

Username

Type: string Default: "root"

Private Key

Type: integer

Keychain Credential ID.

Remote Host Key

Type: string

Can be discovered with keychaincredential.remotesshhostkeyscan.

Connect Timeout

Type: integer Default: 10
Type: null

Netcat Active Side

Default: null

Type: enum (of string)
Must be one of:
  • "LOCAL"
  • "REMOTE"
Type: null

Netcat Active Side Listen Address

Default: null

Type: string
Type: null

Netcat Active Side Port Min

Default: null

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: null

Netcat Active Side Port Max

Default: null

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: null

Netcat Passive Side Connect Address

Default: null

Type: string
Type: null

Sudo

Type: boolean Default: false

whether SSH and SSH+NETCAT transports should use sudo (which is expected to be passwordless) to run zfs
command on the remote machine.

Source Datasets

Type: array of string

list of datasets to replicate snapshots from

Must contain a minimum of 1 items

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

Target Dataset

Type: string

dataset to put snapshots into

Recursive

Type: boolean

Exclude

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

Properties

Type: boolean Default: true

whether we should send dataset properties along with snapshots

Properties Exclude

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

Must be at least 1 characters long

Properties Override

Type: object Default: {}

Each additional property must conform to the following schema

Type: string

Replicate

Type: boolean Default: false

Encryption

Type: boolean Default: false

Encryption Inherit

Default: null

Type: boolean
Type: null

Encryption Key

Default: null

Type: string
Type: null

Encryption Key Format

Default: null

Type: enum (of string)
Must be one of:
  • "HEX"
  • "PASSPHRASE"
Type: null

Encryption Key Location

Default: null

Type: string
Type: null

Periodic Snapshot Tasks

Type: array of object

list of periodic snapshot tasks that are sources of snapshots for this replication task. Only push replication
tasks can be bound to periodic snapshot tasks.

No Additional Items
Each item of this array must be:

PoolSnapshotTaskDBEntry

Type: object
No Additional Properties

Dataset

Type: string

Recursive

Type: boolean Default: false

Lifetime Value

Type: integer Default: 2

Lifetime Unit

Type: enum (of string) Default: "WEEK"
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"

Enabled

Type: boolean Default: true

Exclude

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

Naming Schema

Type: string Default: "auto-%Y-%m-%d_%H-%M"

Allow Empty

Type: boolean Default: true

PoolSnapshotTaskCron

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"

Id

Type: integer

State

Type: string

Naming Schema

Type: array of string Default: []

list of naming schemas for pull replication

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

Also Include Naming Schema

Type: array of string Default: []

list of naming schemas for push replication

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

Name Regex

Default: null

replicate all snapshots which names match specified regular expression

Type: string

Must be at least 1 characters long

Type: null

Auto

Type: boolean

allows replication to run automatically on schedule or after bound periodic snapshot task

Default: null

schedule to run replication task. Only auto replication tasks without bound periodic snapshot tasks can have a
schedule

ReplicationTimeCronModel

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"
Type: null

Default: null

restricts when replication task with bound periodic snapshot tasks runs. For example, you can have periodic
snapshot tasks that run every 15 minutes, but only run replication task every hour.

ReplicationTimeCronModel

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"
Type: null

Only Matching Schedule

Type: boolean Default: false

will only replicate snapshots that match schedule or restrict_schedule

Allow From Scratch

Type: boolean Default: false

will destroy all snapshots on target side and replicate everything from scratch if none of the snapshots on
target side matches source snapshots

Readonly

Type: enum (of string) Default: "SET"

controls destination datasets readonly property:
* SET will set all destination datasets to readonly=on after finishing the replication
* REQUIRE will require all existing destination datasets to have readonly=on property
* IGNORE will avoid this kind of behavior

Must be one of:
  • "SET"
  • "REQUIRE"
  • "IGNORE"

Hold Pending Snapshots

Type: boolean Default: false

will prevent source snapshots from being deleted by retention of replication fails for some reason

Retention Policy

Type: enum (of string)

specifies how to delete old snapshots on target side:
* SOURCE deletes snapshots that are absent on source side
* CUSTOM deletes snapshots that are older than lifetime_value and lifetime_unit
* NONE does not delete any snapshots

Must be one of:
  • "SOURCE"
  • "CUSTOM"
  • "NONE"

Lifetime Value

Default: null

Type: integer

Value must be greater or equal to 1

Type: null

Lifetime Unit

Default: null

Type: enum (of string)
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"
Type: null

Lifetimes

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

ReplicationLifetimeModel

Type: object
No Additional Properties

CronModel

Type: object

Each field can either be a single value or a comma-separated list of values.
A "*" represents the full list of values.

No Additional Properties

Minute

Type: string Default: "*"

"00" - "59"

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)

Lifetime Value

Type: integer

Value must be greater or equal to 1

Lifetime Unit

Type: enum (of string)
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"

Compression

Default: null

compresses SSH stream. Available only for SSH transport

Type: enum (of string)
Must be one of:
  • "LZ4"
  • "PIGZ"
  • "PLZIP"
Type: null

Speed Limit

Default: null

limits speed of SSH stream. Available only for SSH transport

Type: integer

Value must be greater or equal to 1

Type: null

Large Block

Type: boolean Default: true

Embed

Type: boolean Default: false

Compressed

Type: boolean Default: true

Retries

Type: integer Default: 5

number of retries before considering replication failed

Value must be greater or equal to 1

Logging Level

Default: null

Type: enum (of string)
Must be one of:
  • "DEBUG"
  • "INFO"
  • "WARNING"
  • "ERROR"
Type: null

Enabled

Type: boolean Default: true

State

Type: object

Job


Type: object
Type: null

Has Encrypted Dataset Keys

Type: boolean

ReplicationChangedEvent

Type: object
No Additional Properties

Id

Type: integer

ReplicationEntry

Type: object
No Additional Properties

Id

Type: integer

Name

Type: string

name for replication task

Must be at least 1 characters long

Direction

Type: enum (of string)

whether task will PUSH or PULL snapshots

Must be one of:
  • "PUSH"
  • "PULL"

Transport

Type: enum (of string)

method of snapshots transfer
* SSH transfers snapshots via SSH connection. This method is supported everywhere but does not achieve
great performance
* SSH+NETCAT uses unencrypted connection for data transfer. This can only be used in trusted networks
and requires a port (specified by range from netcat_active_side_port_min to netcat_active_side_port_max)
to be open on netcat_active_side
* LOCAL replicates to or from localhost

Must be one of:
  • "SSH"
  • "SSH+NETCAT"
  • "LOCAL"

Default: null

Keychain Credential of type SSH_CREDENTIALS

KeychainCredentialEntry

Type: object
No Additional Properties

Id

Type: integer

Name

Type: string

Distinguishes this Keychain Credential from others.

Must be at least 1 characters long

Type

Type: enum (of string)
Must be one of:
  • "SSH_KEY_PAIR"
  • "SSH_CREDENTIALS"

Attributes


SSHKeyPair

Type: object

At least one of the two keys must be provided on creation.

No Additional Properties

Private Key

Default: null

Type: string
Type: null

Public Key

Default: null

Can be omitted and automatically derived from the private key.

Type: string
Type: null

SSHCredentials

Type: object
No Additional Properties

Host

Type: string

Port

Type: integer Default: 22

Username

Type: string Default: "root"

Private Key

Type: integer

Keychain Credential ID.

Remote Host Key

Type: string

Can be discovered with keychaincredential.remotesshhostkeyscan.

Connect Timeout

Type: integer Default: 10
Type: null

Netcat Active Side

Default: null

Type: enum (of string)
Must be one of:
  • "LOCAL"
  • "REMOTE"
Type: null

Netcat Active Side Listen Address

Default: null

Type: string
Type: null

Netcat Active Side Port Min

Default: null

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: null

Netcat Active Side Port Max

Default: null

Type: integer

Value must be greater or equal to 1 and lesser or equal to 65535

Type: null

Netcat Passive Side Connect Address

Default: null

Type: string
Type: null

Sudo

Type: boolean Default: false

whether SSH and SSH+NETCAT transports should use sudo (which is expected to be passwordless) to run zfs
command on the remote machine.

Source Datasets

Type: array of string

list of datasets to replicate snapshots from

Must contain a minimum of 1 items

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

Target Dataset

Type: string

dataset to put snapshots into

Recursive

Type: boolean

Exclude

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

Properties

Type: boolean Default: true

whether we should send dataset properties along with snapshots

Properties Exclude

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

Must be at least 1 characters long

Properties Override

Type: object Default: {}

Each additional property must conform to the following schema

Type: string

Replicate

Type: boolean Default: false

Encryption

Type: boolean Default: false

Encryption Inherit

Default: null

Type: boolean
Type: null

Encryption Key

Default: null

Type: string
Type: null

Encryption Key Format

Default: null

Type: enum (of string)
Must be one of:
  • "HEX"
  • "PASSPHRASE"
Type: null

Encryption Key Location

Default: null

Type: string
Type: null

Periodic Snapshot Tasks

Type: array of object

list of periodic snapshot tasks that are sources of snapshots for this replication task. Only push replication
tasks can be bound to periodic snapshot tasks.

No Additional Items
Each item of this array must be:

PoolSnapshotTaskDBEntry

Type: object
No Additional Properties

Dataset

Type: string

Recursive

Type: boolean Default: false

Lifetime Value

Type: integer Default: 2

Lifetime Unit

Type: enum (of string) Default: "WEEK"
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"

Enabled

Type: boolean Default: true

Exclude

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

Naming Schema

Type: string Default: "auto-%Y-%m-%d_%H-%M"

Allow Empty

Type: boolean Default: true

PoolSnapshotTaskCron

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"

Id

Type: integer

State

Type: string

Naming Schema

Type: array of string Default: []

list of naming schemas for pull replication

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

Also Include Naming Schema

Type: array of string Default: []

list of naming schemas for push replication

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

Name Regex

Default: null

replicate all snapshots which names match specified regular expression

Type: string

Must be at least 1 characters long

Type: null

Auto

Type: boolean

allows replication to run automatically on schedule or after bound periodic snapshot task

Default: null

schedule to run replication task. Only auto replication tasks without bound periodic snapshot tasks can have a
schedule

ReplicationTimeCronModel

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"
Type: null

Default: null

restricts when replication task with bound periodic snapshot tasks runs. For example, you can have periodic
snapshot tasks that run every 15 minutes, but only run replication task every hour.

ReplicationTimeCronModel

Type: object
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)

Begin

Type: string Default: "00:00"

End

Type: string Default: "23:59"
Type: null

Only Matching Schedule

Type: boolean Default: false

will only replicate snapshots that match schedule or restrict_schedule

Allow From Scratch

Type: boolean Default: false

will destroy all snapshots on target side and replicate everything from scratch if none of the snapshots on
target side matches source snapshots

Readonly

Type: enum (of string) Default: "SET"

controls destination datasets readonly property:
* SET will set all destination datasets to readonly=on after finishing the replication
* REQUIRE will require all existing destination datasets to have readonly=on property
* IGNORE will avoid this kind of behavior

Must be one of:
  • "SET"
  • "REQUIRE"
  • "IGNORE"

Hold Pending Snapshots

Type: boolean Default: false

will prevent source snapshots from being deleted by retention of replication fails for some reason

Retention Policy

Type: enum (of string)

specifies how to delete old snapshots on target side:
* SOURCE deletes snapshots that are absent on source side
* CUSTOM deletes snapshots that are older than lifetime_value and lifetime_unit
* NONE does not delete any snapshots

Must be one of:
  • "SOURCE"
  • "CUSTOM"
  • "NONE"

Lifetime Value

Default: null

Type: integer

Value must be greater or equal to 1

Type: null

Lifetime Unit

Default: null

Type: enum (of string)
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"
Type: null

Lifetimes

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

ReplicationLifetimeModel

Type: object
No Additional Properties

CronModel

Type: object

Each field can either be a single value or a comma-separated list of values.
A "*" represents the full list of values.

No Additional Properties

Minute

Type: string Default: "*"

"00" - "59"

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)

Lifetime Value

Type: integer

Value must be greater or equal to 1

Lifetime Unit

Type: enum (of string)
Must be one of:
  • "HOUR"
  • "DAY"
  • "WEEK"
  • "MONTH"
  • "YEAR"

Compression

Default: null

compresses SSH stream. Available only for SSH transport

Type: enum (of string)
Must be one of:
  • "LZ4"
  • "PIGZ"
  • "PLZIP"
Type: null

Speed Limit

Default: null

limits speed of SSH stream. Available only for SSH transport

Type: integer

Value must be greater or equal to 1

Type: null

Large Block

Type: boolean Default: true

Embed

Type: boolean Default: false

Compressed

Type: boolean Default: true

Retries

Type: integer Default: 5

number of retries before considering replication failed

Value must be greater or equal to 1

Logging Level

Default: null

Type: enum (of string)
Must be one of:
  • "DEBUG"
  • "INFO"
  • "WARNING"
  • "ERROR"
Type: null

Enabled

Type: boolean Default: true

State

Type: object

Job


Type: object
Type: null

Has Encrypted Dataset Keys

Type: boolean

ReplicationRemovedEvent

Type: object
No Additional Properties

Id

Type: integer


Required roles: REPLICATION_TASK_READ