1
with_items
の値に一致する値を持つファイルを作成しようとしています。可能なループ - テンプレート値を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 %}
}
が、すべてのファイルには、すべてのドメインとCNAMESを持っている:私が得た最も近いがこれでした。
うわー、私は道にそれをoverthinkingました。これはうまくいく、ありがとう。私は、タスクから渡されない、どこかで定義された変数からテンプレート項目が得られたと思っていたと思います。 – gkrizek