AnsibleUndefinedVariable:未找到具有以下名称的变量:region1a“}
我想在比较该地区是否为首都后得到信息输出? 帮助我了解如何正确使用查找AnsibleUndefinedVariable:未找到具有以下名称的变量:region1a“},ansible,jinja2,ansible-template,Ansible,Jinja2,Ansible Template,我想在比较该地区是否为首都后得到信息输出? 帮助我了解如何正确使用查找 {% if capital == lookup('vars', item) %} yes {% else %} no {% endif %} 或 我得到以下错误 failed: [localhost] (item=region1a) => {"ansible_loop_var": "item", "changed": false, "item&qu
{% if capital == lookup('vars', item) %} yes {% else %} no {% endif %}
或
我得到以下错误
failed: [localhost] (item=region1a) => {"ansible_loop_var": "item", "changed": false, "item": "region1a", "msg": AnsibleError: template error while templating string: expected token ':', got '}'
这里{{item}}是一个变量=region1a
我有这些变量
vars:
AllCountry:
- name1
- name2
name1:
- region1a
- region1b
name2:
- region2a
- region2b
capital:
- region1a
- region2a
我错在哪里?在我看来,这就是你想要实现的目标:
{% if item in capital %} yes {% else %} no {% endif %}
.假设你在两个国家有两个名称相同的地区,一个是其中一个国家的首都,而另一个不是另一个国家的首都,你会怎么做
我真的会选择一种更为紧凑的字典,比如:
国家:
国家1:
区域:
-区域1
-区域2
-区域3
首都:区域1
国家2:
区域:
-区域4
-区域5
首都:区域5
但是如果没有您的实际用例以及您正试图用所有这些构建的内容,就很难就要构建的数据结构的正确类型提出建议。我使用建议的结构并得到以下错误:AnsibleUndefinedVariable:“masterN”未定义。如果您重新构建数据结构,这将是一个完全不同的问题,当然,它可以作为一个单独的问题,并与此联系起来。
{% if item in capital %} yes {% else %} no {% endif %}