从Ansible开始,我正在尝试使用ReST API与外部application.Maybe交互,我在这里遗漏了一些简单的东西。
我尝试将清单文件中的每个主机与调用jinja2模板的角色使用的变量文件中指定的POD名称进行比较。
我的清单文件如下所示:
[all]
'POD-9'
'POD-10'
变量文件:
pods:
params:
- name: POD-9
- name: POD-10
{% for pod in pods.params %}
{% if '{{ inventory_hostname }}' == '{{ pod.name }}' %}
<generate JSON template here>
{% endif %}
{% endfor %}
但是,if语句不会生效。我希望仅在inventory_hostname中生成的模板与变量文件中的pod名称相同
当前JSON文件包含:{ "pod":{ "name":"POD-9“} "pod":{
"name": "POD-10" } }
发布于 2015-12-22 16:13:09
在Jinja2中,双花括号用作打印语句。如果访问标记内的变量,请不要用大括号将它们括起来
{% for pod in pods.params %}
{% if inventory_hostname == pod.name %}
<generate JSON template here>
{% endif %}
{% endfor %}
发布于 2015-12-22 16:16:22
找到问题:{% if pod.name == inventory_hostname %}
https://stackoverflow.com/questions/34410777
复制相似问题