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