如何在IF条件下检查Jinja2 ansible变量中是否定义了列表?

时间:2018-05-22 08:07:35

标签: ansible jinja2

我正在尝试使用jinja2模板迭代列表。我定义了以下变量

vars:
  app_name: testapp
  testapp_env_vars:
    - name: environment
      value: prod
    - name: type
      value: api

我想查看以下内容

1)是否列表" test_app_env_vars"已定义

2)如果已定义,则使用FOR循环遍历列表中的键值对并打​​印以下内容

environment: prod
type: api

我尝试使用以下模板,但其失败

{% if {{ app_name }}_env_vars is defined %}
{% for item in {{ app_name }}_env_vars %}
{{ item.name }}: {{ item.value }}
{% endfor %}
{% endif %}

其中" app_name" =" testapp"已在vars部分中定义。

知道为什么{ app_name }}_env_vars条件中的IF未评估testapp_env_vars

0 个答案:

没有答案