jinja2 模板中的 Ansible 变量
Ansible variable in jinja2 template
我有一个带有 jinja2 模板的小剧本来应用 nginx 配置。
此模板使用了一些变量。
在我的变量文件中有:
---
domains:
- test@example.com
在我的模板文件中有:
server_name {{ domains }};
部署剧本后,在我的配置文件中我有:
server_name ['test@example.com'];
如何才能只打印 test@example.com?没有 ['...']?
提前致谢!
如果您只有一个域,您可以只创建一个 simple variable instead of a list variable:
domain: test@example.com
然后使用 Jinja2 模板,例如:
server_name {{ domain }};
如果你有多个:
domains:
- one@example.com
- two@example.com
- three@example.com
您可以 loop 遍历列表:
{% for domain in domains %}
server_name {{ domain }};
{% endfor %}
这将创建如下文件:
server_name one@example.com;
server_name two@example.com;
server_name three@example.com;
我有一个带有 jinja2 模板的小剧本来应用 nginx 配置。 此模板使用了一些变量。
在我的变量文件中有:
---
domains:
- test@example.com
在我的模板文件中有:
server_name {{ domains }};
部署剧本后,在我的配置文件中我有:
server_name ['test@example.com'];
如何才能只打印 test@example.com?没有 ['...']?
提前致谢!
如果您只有一个域,您可以只创建一个 simple variable instead of a list variable:
domain: test@example.com
然后使用 Jinja2 模板,例如:
server_name {{ domain }};
如果你有多个:
domains:
- one@example.com
- two@example.com
- three@example.com
您可以 loop 遍历列表:
{% for domain in domains %}
server_name {{ domain }};
{% endfor %}
这将创建如下文件:
server_name one@example.com;
server_name two@example.com;
server_name three@example.com;