답변:
템플릿 모듈 의 force 매개 변수를 사용할 수 있습니다 .
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
로부터 Ansible 템플릿 모듈 문서 :
force : 기본값은 yes이며 컨텐츠가 소스와 다른 경우 원격 파일을 대체합니다. 그렇지 않으면 대상이없는 경우에만 파일이 전송됩니다.
다른 답변 stat은 force 매개 변수가 작성된 후에 추가 되었으므로 사용 됩니다.
먼저 대상 파일이 존재하는지 확인한 후 결과 출력에 따라 결정을 내릴 수 있습니다.
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