Ansible Jinja loop all groups except
Rédigé par uTux Aucun commentaireI want to generate a /usr/local/etc/backuppc/hosts with all hosts from the ansible inventory, but exclude a group.
Inventory:
[dbservers]
db1
db2
db3
[DisableBackup]
db3
hosts.j2:
# {{ ansible_managed }}
{% for hosts in groups['all'] | difference(groups['DisableBackup']) %}
{{ hosts }}
{% endfor %}
tasks/generate_hosts.yml:
- name: Generate hosts file
template:
src: hosts.j2
dest: "{{ backuppc__confdir }}/hosts"
owner: "{{ backuppc__user }}"
group: "{{ backuppc__group }}"
mode: 0644
force: yes
Run:
ansible-playbook -i inventory install_backuppc.yml
Result:
cat /usr/local/etc/backuppc/hosts
# Ansible managed
db1
db2