답변:
템플릿 모듈 의 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