diff options
Diffstat (limited to 'roles/zfs/tasks')
| -rw-r--r-- | roles/zfs/tasks/dataset-check-duplicate.yml | 11 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-check-exists.yml | 3 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-confirm-info.yml | 10 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-create.yml | 4 | ||||
| -rw-r--r-- | roles/zfs/tasks/dataset-destroy.yml | 4 |
5 files changed, 32 insertions, 0 deletions
diff --git a/roles/zfs/tasks/dataset-check-duplicate.yml b/roles/zfs/tasks/dataset-check-duplicate.yml new file mode 100644 index 0000000..1272765 --- /dev/null +++ b/roles/zfs/tasks/dataset-check-duplicate.yml @@ -0,0 +1,11 @@ +- name: Check if ZFS dataset exists + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" + register: zfs_dataset_exists_check + ignore_errors: true + +- name: Fail if ZFS dataset already exists + ansible.builtin.fail: + msg: "Dataset {{ zfs_dataset }} is already in-use." + when: not zfs_dataset_exists_check.failed + diff --git a/roles/zfs/tasks/dataset-check-exists.yml b/roles/zfs/tasks/dataset-check-exists.yml new file mode 100644 index 0000000..43de7d4 --- /dev/null +++ b/roles/zfs/tasks/dataset-check-exists.yml @@ -0,0 +1,3 @@ +- name: Check if ZFS dataset exists + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" diff --git a/roles/zfs/tasks/dataset-confirm-info.yml b/roles/zfs/tasks/dataset-confirm-info.yml new file mode 100644 index 0000000..65885fb --- /dev/null +++ b/roles/zfs/tasks/dataset-confirm-info.yml @@ -0,0 +1,10 @@ +- name: Fetch ZFS dataset information + community.general.zfs_facts: + dataset: "{{ zfs_dataset }}" + register: dataset_facts + +- name: Fail if ZFS dataset contains child datasets + ansible.builtin.fail: + msg: "Dataset {{ zfs_dataset }} contains child datasets." + when: dataset_facts.ansible_facts.ansible_zfs_datasets[0].usedbychildren != "0B" + diff --git a/roles/zfs/tasks/dataset-create.yml b/roles/zfs/tasks/dataset-create.yml new file mode 100644 index 0000000..37c6e6b --- /dev/null +++ b/roles/zfs/tasks/dataset-create.yml @@ -0,0 +1,4 @@ +- name: Create ZFS dataset + community.general.zfs: + name: "{{ zfs_dataset }}" + state: present diff --git a/roles/zfs/tasks/dataset-destroy.yml b/roles/zfs/tasks/dataset-destroy.yml new file mode 100644 index 0000000..9159f20 --- /dev/null +++ b/roles/zfs/tasks/dataset-destroy.yml @@ -0,0 +1,4 @@ +- name: Destroy ZFS dataset and all snapshots + community.general.zfs: + name: "{{ zfs_dataset }}" + state: absent |
