# pool.snapshot.create

Take a snapshot from a given dataset.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: data

#### data

Configuration for creating a snapshot with either an explicit name or naming schema.

## Any of

#### PoolSnapshotCreateWithName

Type: object
No Additional Properties

##

#### Dataset

Type: string

Name of the dataset to create a snapshot of.

Must be at least `1` characters long

##

#### Recursive

Type: boolean Default: false

Whether to recursively snapshot child datasets.

##

#### Exclude

Type: array of string Default: []

Array of dataset patterns to exclude from recursive snapshots.

No Additional Items

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

Type: string

##

#### Vmware Sync

Type: boolean Default: false

Whether to sync VMware VMs before taking the snapshot.

##

#### Suspend Vms

Type: boolean Default: false

Temporarily suspend VMs before taking snapshot.

##

#### Properties

Type: object Default: {}

Object mapping ZFS property names to values to set on the snapshot.

##

#### Name

Type: string

Explicit name for the snapshot.

Must be at least `1` characters long

#### PoolSnapshotCreateWithSchema

Type: object
No Additional Properties

##

#### Dataset

Type: string

Name of the dataset to create a snapshot of.

Must be at least `1` characters long

##

#### Recursive

Type: boolean Default: false

Whether to recursively snapshot child datasets.

##

#### Exclude

Type: array of string Default: []

Array of dataset patterns to exclude from recursive snapshots.

No Additional Items

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

Type: string

##

#### Vmware Sync

Type: boolean Default: false

Whether to sync VMware VMs before taking the snapshot.

##

#### Suspend Vms

Type: boolean Default: false

Temporarily suspend VMs before taking snapshot.

##

#### Properties

Type: object Default: {}

Object mapping ZFS property names to values to set on the snapshot.

##

#### Naming Schema

Type: string

Naming schema pattern to generate the snapshot name automatically.

Must be at least `1` characters long

##

#### PoolSnapshotCreateUpdateEntry

Type: object

Information about the newly created snapshot.

No Additional Properties

##

#### Id

Type: string

Full snapshot identifier including dataset and snapshot name.

##

#### Properties

Type: object

Object mapping ZFS property names to their values and metadata.

##

Each additional property must conform to the following schema

#### PoolSnapshotEntryPropertyFields

Type: object
No Additional Properties

##

#### Value

Type: string

Current effective value of the ZFS property as a string.

##

#### Rawvalue

Type: string

Raw string value of the ZFS property as stored.

##

#### Source

Type: enum (of string)

Source of the property value.

- `NONE`: Property is not set
- `DEFAULT`: Using ZFS default value
- `LOCAL`: Set locally on this snapshot
- `TEMPORARY`: Temporary override value
- `INHERITED`: Inherited from parent dataset
- `RECEIVED`: Set by ZFS receive operation

##### Must be one of:

- "NONE"
- "DEFAULT"
- "LOCAL"
- "TEMPORARY"
- "INHERITED"
- "RECEIVED"

##

#### Parsed

Type: object

Property value parsed into the appropriate type (string, boolean, integer, etc.).

##

#### Pool

Type: string

Name of the ZFS pool containing this snapshot.

##

#### Name

Type: string

Full name of the snapshot including dataset path.

##

#### Type

Type: const

Type identifier indicating this is a ZFS snapshot.

Specific value: `"SNAPSHOT"`

##

#### Snapshot Name

Type: string

Just the snapshot name portion without the dataset path.

##

#### Dataset

Type: string

Name of the dataset this snapshot was taken from.

##

#### Createtxg

Type: string

Transaction group ID when the snapshot was created.

Required roles: SNAPSHOT_WRITE