gkr*_*zek 4 jinja2 ansible ansible-template
我正在尝试创建具有与其with_items值匹配的值的文件.
我有一个像这样的var列表:
sites:
- domain: google.com
cname: blue
- domain: facebook.com
cname: green
- domain: twitter.com
cname: red
Run Code Online (Sandbox Code Playgroud)
我为此任务中的列表中的每个对象创建单个文件:
- name: Create files
template:
src: file.conf
dest: "/etc/nginx/conf.d/{{item.cname}}.conf"
with_items: "{{sites}}"
Run Code Online (Sandbox Code Playgroud)
这些都很有效.我需要什么,有我的模板文件为它创建一个名为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 %}
}
Run Code Online (Sandbox Code Playgroud)
这将创建单个文件,但每个文件都包含所有域和名称.
您已经item定义了变量并将其传递给模板,因此无需再次循环.
尝试:
server {
listen 80;
listen [::]:80;
server_name {{item.cname}}.es.nodesource.io;
location / {
proxy_pass {{item.domain}};
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6100 次 |
| 最近记录: |