
鑑於多變的結構
syncjobs:
- filename: output1.bash
content: data1
- filename: output2.bash
content: data2
我想循環它創建文件ansible.builtin.template使用字段檔案名稱為了目的地。我可以透過以下方式實現這一點
- 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 }}"
但我不知道如何解決具體問題內容場從同步作業模板檔案中的字典。當然我可以訪問變量同步作業,但我需要解決內容來自相關領域字典對於每個特定的迭代。
我試圖設定一個額外的事實,例如目前檔案名稱到項目.檔名裡面一個ansible.builtin.block,但不幸的是塊似乎不支援循環。
答案1
跟劇本裡的一模一樣。模板中也有相同的變量,因此可以在模板文件中{{ item }}
引用。 {{ item.content }}
(實際上,全部playbook 變數在範本中可用,與呼叫的 playbook 特定位置存在的集合相同ansible.builtin.template
。