При использовании шаблонного модуля создается полный файл шаблона.
Что вы можете сделать, это динамически создать файл таким образом, как показано в шаблоне Jinja2:
This is content of my file, not being replaced.
{% for item in some_variable %}
{% {{ item }} %}
{% endfor %}
And here is the end of the file, not being replaced.
Однако создается впечатление, что вы пытаетесь редактировать файл / etc / hosts или что-то подобное. Вы не должны использовать шаблон для этого варианта использования.
Использование lineinfile идеально подходит для этих сценариев ios. Попробуйте что-то вроде:
- name: Add the hosts names and IPs to /etc/hosts
lineinfile:
dest: /etc/hosts
regexp: '.*{{ item }}$'
line: "{{ hostvars[item]['ansible_default_ipv4']['address'] }} {{item}}"
state: present
when: hostvars[item]['ansible_facts']['default_ipv4'] is defined
with_items:
- "{{ groups['all'] }}"