値と一致する値を持つファイルを作成しようとしていwith_items
ます。
次のような var リストがあります。
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 %}
}
これにより個別のファイルが作成されますが、すべてのファイルにはすべてのドメインと cname が含まれています。