community.general.zfs module – Manage zfs

Note

This module is part of the community.general collection (version 9.5.1).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.zfs.

Synopsis

  • Manages ZFS file systems, volumes, clones and snapshots

Parameters

Parameter

Comments

extra_zfs_properties

dictionary

A dictionary of zfs properties to be set.

See the zfs(8) man page for more information.

Default: {}

name

string / required

File system, snapshot or volume name, for example rpool/myfs.

origin

string

Snapshot from which to create a clone.

state

string / required

Whether to create (present), or remove (absent) a file system, snapshot or volume. All parents/children will be created/destroyed as needed to reach the desired state.

Choices:

  • "absent"

  • "present"

Attributes

Attribute

Support

Description

check_mode

Support: partial

In certain situations it may report a task as changed that will not be reported as changed when check_mode is disabled.

For example, this might occur when the zpool altroot option is set or when a size is written using human-readable notation, such as 1M or 1024K, instead of as an unqualified byte count, such as 1048576.

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: full

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

- name: Create a new file system called myfs in pool rpool with the setuid property turned off
  community.general.zfs:
    name: rpool/myfs
    state: present
    extra_zfs_properties:
      setuid: 'off'

- name: Create a new volume called myvol in pool rpool.
  community.general.zfs:
    name: rpool/myvol
    state: present
    extra_zfs_properties:
      volsize: 10M

- name: Create a snapshot of rpool/myfs file system.
  community.general.zfs:
    name: rpool/myfs@mysnapshot
    state: present

- name: Create a new file system called myfs2 with snapdir enabled
  community.general.zfs:
    name: rpool/myfs2
    state: present
    extra_zfs_properties:
      snapdir: enabled

- name: Create a new file system by cloning a snapshot
  community.general.zfs:
    name: rpool/cloned_fs
    state: present
    origin: rpool/myfs@mysnapshot

- name: Destroy a filesystem
  community.general.zfs:
    name: rpool/myfs
    state: absent

Authors

  • Johan Wiren (@johanwiren)