jinja2模板中的Ansible变量

jinja2模板中的Ansible变量,ansible,jinja2,Ansible,Jinja2,我有一个带有jinja2模板的小剧本,用于应用nginx配置。 此模板使用一些变量 在我的变量文件中,我有: --- domains: - test@example.com server_name {{ domains }}; server_name ['test@example.com']; 在我的模板文件中,我有: --- domains: - test@example.com server_name {{ domains }}; server_name ['tes

我有一个带有jinja2模板的小剧本,用于应用nginx配置。 此模板使用一些变量

在我的变量文件中,我有:

---
domains:
  - test@example.com
server_name  {{ domains }};
server_name  ['test@example.com'];
在我的模板文件中,我有:

---
domains:
  - test@example.com
server_name  {{ domains }};
server_name  ['test@example.com'];
部署playbook后,我的配置文件中有:

---
domains:
  - test@example.com
server_name  {{ domains }};
server_name  ['test@example.com'];
我只能打印什么test@example.com? 没有['…']


提前谢谢

如果您只有一个域,您可以创建一个域而不是一个域:

域:test@example.com
然后使用Jinja2模板,例如:

server_name  {{ domain }};
如果您有多个:

域:
- one@example.com
- two@example.com
- three@example.com
您可以浏览以下列表:

{% for domain in domains %}
server_name  {{ domain }};
{% endfor %}
这将创建一个类似以下内容的文件:

server_name  one@example.com;
server_name  two@example.com;
server_name  three@example.com;

如果您只有一个域,您可以创建一个域,而不是:

域:test@example.com
然后使用Jinja2模板,例如:

server_name  {{ domain }};
如果您有多个:

域:
- one@example.com
- two@example.com
- three@example.com
您可以浏览以下列表:

{% for domain in domains %}
server_name  {{ domain }};
{% endfor %}
这将创建一个类似以下内容的文件:

server_name  one@example.com;
server_name  two@example.com;
server_name  three@example.com;