homeserver/roles/mgrote_zfs_manage_datasets/tasks/main.yml

60 lines
3.0 KiB
YAML

---
- name: create datasets or set options
become: true
community.general.zfs:
name: "{{ item.dataset }}"
state: "{{ item.state | default('present') }}"
extra_zfs_properties:
quota: "{{ item.quota | default(omit) }}"
reservation: "{{ item.reservation | default(omit) }}"
recordsize: "{{ item.recordsize | default(omit) }}"
mountpoint: "{{ item.mountpoint | default(omit) }}"
sharenfs: "{{ item.sharenfs | default(omit) }}"
checksum: "{{ item.checksum | default(omit) }}"
compression: "{{ item.compression | default(omit) }}"
atime: "{{ item.atime | default(omit) }}"
devices: "{{ item.devices | default(omit) }}"
exec: "{{ item.exec | default(omit) }}"
setuid: "{{ item.setuid | default(omit) }}"
readonly: "{{ item.readonly | default(omit) }}"
zoned: "{{ item.zoned | default(omit) }}"
snapdir: "{{ item.snapdir | default(omit) }}"
aclmode: "{{ item.aclmode | default(omit) }}"
aclinherit: "{{ item.aclinherit | default(omit) }}"
canmount: "{{ item.canmount | default(omit) }}"
xattr: "{{ item.xattr | default(omit) }}"
copies: "{{ item.copies | default(omit) }}"
vscan: "{{ item.vscan | default(omit) }}"
nbmand: "{{ item.nbmand | default(omit) }}"
sharesmb: "{{ item.sharesmb | default(omit) }}"
refquota: "{{ item.refquota | default(omit) }}"
refreservation: "{{ item.refreservation | default(omit) }}"
primarycache: "{{ item.primarycache | default(omit) }}"
secondarycache: "{{ item.secondarycache | default(omit) }}"
logbias: "{{ item.logbias | default(omit) }}"
dedup: "{{ item.dedup | default(omit) }}"
mlslabel: "{{ item.mlslabel | default(omit) }}"
sync: "{{ item.sync | default(omit) }}"
dnodesize: "{{ item.dnodesize | default(omit) }}"
volmode: "{{ item.volmode | default(omit) }}"
filesystem_limit: "{{ item.filesystem_limit | default(omit) }}"
snapshot_limit: "{{ item.snapshot_limit | default(omit) }}"
filesystem_count: "{{ item.filesystem_count | default(omit) }}"
snapshot_count: "{{ item.snapshot_count | default(omit) }}"
snapdev: "{{ item.snapdev | default(omit) }}"
acltype: "{{ item.acltype | default(omit) }}"
context: "{{ item.context | default(omit) }}"
fscontext: "{{ item.fscontext | default(omit) }}"
defcontext: "{{ item.defcontext | default(omit) }}"
rootcontext: "{{ item.rootcontext | default(omit) }}"
relatime: "{{ item.relatime | default(omit) }}"
redundant_metadata: "{{ item.redundant_metadata | default(omit) }}"
overlay: "{{ item.overlay | default(omit) }}"
encryption: "{{ item.encryption | default(omit) }}"
keylocation: "{{ item.keylocation | default(omit) }}"
keyformat: "{{ item.keyformat | default(omit) }}"
pbkdf2iters: "{{ item.pbkdf2iters | default(omit) }}"
special_small_blocks: "{{ item.special_small_blocks | default(omit) }}"
loop: "{{ zfs_datasets }}"
when: zfs_datasets is defined # führe nur aus wenn die Variable gesetzt ist