Ansible 可以在角色变量文件中使用Jinja2表达式

Ansible 可以在角色变量文件中使用Jinja2表达式,ansible,jinja2,ansible-2.x,ansible-template,Ansible,Jinja2,Ansible 2.x,Ansible Template,我想知道是否可以在vars文件中使用Jinja2{%if%}表达式 所以说我有: az: az1: foo az2: bar az3: foobar {% if az == az['az1'] %} floating_ip_pool = bar {% endif %} 基本上,我试图避免每次都设置这些变量,因为它们总是基于az 谢谢。这不是有效的语法。vars文件必须首先被解析为YAML文档,引入Jinja语法会导致YAML不再有效 您可以这样做: az: az1: foo a

我想知道是否可以在vars文件中使用Jinja2{%if%}表达式

所以说我有:

az:
 az1: foo
 az2: bar
 az3: foobar

{% if az == az['az1'] %}
  floating_ip_pool = bar
{% endif %}
基本上,我试图避免每次都设置这些变量,因为它们总是基于az


谢谢。

这不是有效的语法。vars文件必须首先被解析为YAML文档,引入Jinja语法会导致YAML不再有效

您可以这样做:

az:
 az1: foo
 az2: bar
 az3: foobar

floating_ip_pool: "{% if target_az == az['az1'] %}bar{% endif %}"