Documentation

    zfs

    Manage ZFS datasets.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    create_parent   boolean   Create parent datasets. [default: false]
    extra_properties   object   Dict of properties that trigger change on any modification.
    force   boolean   Force unmount. [default: false]
    name true string   Dataset name (e.g., rpool/ROOT/ubuntu).
    properties   object   Dict of dataset properties (mountpoint, compression, encryption, etc.).
    recursive   boolean   Apply recursively. [default: false]
    snapshot_suffix   string   Snapshot suffix (used with state: snapshot).
    state   string info
    present
    absent
    mounted
    unmounted
    snapshot
    State of the dataset. [default: "info"]

    Example

    - name: Create encrypted root dataset
      zfs:
        name: rpool/ROOT
        state: present
        properties:
          mountpoint: legacy
          canmount: on
          encryption: aes-256-gcm
          keylocation: file:etc/zfs/zfs-key
          keyformat: passphrase
    
    - name: Create dataset with compression
      zfs:
        name: rpool/ROOT/ubuntu
        state: present
        create_parent: true
        properties:
          mountpoint: /
          compression: zstd
          atime: off
          recordsize: 32K
    
    - name: Create unmounted dataset for OpenEBS
      zfs:
        name: rpool/openebs
        state: present
        properties:
          mountpoint: none
          canmount: off
    
    - name: Create snapshot
      zfs:
        name: rpool/ROOT/ubuntu
        state: snapshot
        snapshot_suffix: pre-upgrade
        recursive: true
    
    - name: Mount dataset
      zfs:
        name: rpool/ROOT/ubuntu
        state: mounted
    
    - name: Unmount dataset
      zfs:
        name: rpool/ROOT/ubuntu
        state: unmounted
    
    - name: Destroy dataset
      zfs:
        name: rpool/old
        state: absent
        recursive: true