1
我正在嘗試創建值與其with_items
值相匹配的文件。Ansible循環 - 如何使用with_items匹配模板值?
我有一個變種列表,像這樣:
sites:
- domain: google.com
cname: blue
- domain: facebook.com
cname: green
- domain: twitter.com
cname: red
我爲每一個在此任務列表中的對象的單個文件:
- name: Create files
template:
src: file.conf
dest: "/etc/nginx/conf.d/{{item.cname}}.conf"
with_items: "{{sites}}"
這些工作都很大。我需要在我的模板文件中爲它創建一個名爲blue.conf
的文件,並在其中有google.com
只有。
我已經嘗試了很多變化。我得到的最接近的是:
server {
listen 80;
listen [::]:80;
{% for item in sites %}
server_name {{item.cname}}.es.nodesource.io;
location/{
proxy_pass {{item.domain}};
}
{% endfor %}
}
這將創建單個文件,但每個文件都包含所有域和cnames。
哇,我得太多方法了。這工作,謝謝。我想我以爲它從某個地方定義的變量中獲得了模板項目,而不是從任務中傳入。 – gkrizek