
주어진변하기 쉬운구조
syncjobs:
- filename: output1.bash
content: data1
- filename: output2.bash
content: data2
나는 그것을 반복하여 파일을 만들고 싶습니다.ansible.내장.템플릿필드를 사용하여파일 이름에 대한목적지. 나는 이것을 달성 할 수 있습니다
- name: Create scripts
ansible.builtin.template:
src: template.bash.j2
dest: /opt/bin/{{ item.filename }}
owner: root
mode: "u+x,o-r"
backup: true
with_items: "{{ syncjobs }}"
하지만 구체적인 문제를 해결하는 방법을 알 수 없습니다.콘텐츠필드의동기화 작업템플릿 파일에 dict가 있습니다. 물론 변수에 액세스할 수 있습니다.동기화 작업하지만 문제를 해결해야 합니다.콘텐츠관련 분야의사전모든 특정 반복에 대해.
나는 다음과 같은 추가 사실을 설정하려고했습니다.현재_파일이름에게항목.파일 이름안에앤서블.빌트인.블록, 하지만 안타깝게도 블록에 대해서는 루프가 지원되지 않는 것 같습니다.
답변1
플레이북과 똑같은 방식입니다. {{ item }}
템플릿에도 동일한 변수가 있으므로 {{ item.content }}
템플릿 파일에서 참조하시면 됩니다. (실제로,모두플레이북 변수는 템플릿에서 사용할 수 있으며, 호출된 플레이북의 특정 위치에 존재하는 것과 동일한 세트입니다 ansible.builtin.template
.)