Ansible: 관련 변수를 사용하여 템플릿을 반복합니다.

Ansible: 관련 변수를 사용하여 템플릿을 반복합니다.

주어진변하기 쉬운구조

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.)

관련 정보