Ich versuche, Dateien zu erstellen, deren Werte mit ihren with_items
Werten übereinstimmen.Ansible-Schleife - wie Vorlagenwerte mit with_items übereinstimmen?
Ich habe eine var Liste wie folgt:
sites:
- domain: google.com
cname: blue
- domain: facebook.com
cname: green
- domain: twitter.com
cname: red
ich erstellen einzelne Dateien für jedes der Objekte in der Liste in dieser Aufgabe:
- name: Create files
template:
src: file.conf
dest: "/etc/nginx/conf.d/{{item.cname}}.conf"
with_items: "{{sites}}"
Diese beiden großen arbeiten. Was muss ich in meiner Vorlagendatei dafür haben, erstellen Sie eine Datei mit dem Namen blue.conf
und hat google.com
darin nur.
Ich habe viele Variationen ausprobiert. Der nächstgelegene ich bekam, war dies:
server {
listen 80;
listen [::]:80;
{% for item in sites %}
server_name {{item.cname}}.es.nodesource.io;
location/{
proxy_pass {{item.domain}};
}
{% endfor %}
}
, dass einzelne Dateien erstellen, aber jede Datei hat alle Domänen und cnames.
Wow, ich so, wie es Grübeln wurde. Das funktioniert, danke. Ich denke, dass ich dachte, dass es die Template-Elemente von Variablen bekommen hat, die irgendwo definiert sind und nicht von der Aufgabe übernommen wurden. – gkrizek