Я'м через Анзибль 1.6.6 на положение моей машины.
Нет [шаблон задачи][мод] шаблон в мой PlayBook, который создает конечный файл из шаблонов Jinja2:
tasks:
- template: src=somefile.j2 dest=/etc/somefile.conf
Я не хочу, чтобы заменить некий-файл.conf
и если он уже существует. Это возможно с Анзибль? Если да, то как?
[мод] шаблон: http://docs.ansible.com/template_module.html
Вы можете проверить существование файла, используя стат, а затем использовать шаблон только если файл не существует.
tasks:
- stat: path=/etc/somefile.conf
register: st
- template: src=somefile.j2 dest=/etc/somefile.conf
when: not st.stat.exists
Вы можете просто использовать силу параметр модуля шаблона:
tasks:
- template: src=somefile.j2 dest=/etc/somefile.conf force=no
Или называя задач ;-)
tasks:
- name: Create file from template if it doesn't exist already.
template:
src: somefile.j2
dest:/etc/somefile.conf
force: no
От модуль Анзибль шаблон документы:
группа: значение по умолчанию-Yes, которые заменят удаленный файл при содержание отличаются от источника. Если нет, то файл будет перевод если пункт назначения не существует.
Другие ответы использовать стат
потому что силу параметр был добавлен после того, как они были написаны.
Вы можете сначала проверить, что конечный файл существует, или нет, а затем принять решение, основываясь на выход его's в результате.
tasks:
- name: Check that the somefile.conf exists
stat:
path: /etc/somefile.conf
register: stat_result
- name: Copy the template, if it doesnt exist already
template:
src: somefile.j2
dest: /etc/somefile.conf
when: stat_result.stat.exists == False
По мне, самое простое решение-использовать атрибут "от силы=нет" из шаблона модуль