2015-12-22 49 views
0

从Ansible开始,我试图使用ReST API与外部应用程序进行交互。也许我在这里缺少一些简单的东西。比较模板中的变量来构建JSON - Ansible

我想比较我的清单文件中的每个主机与调用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要生成的模板是在可变文件

当前JSON文件包括都等于吊舱名: { “吊舱”:{ “名称”:“POD-9” } “荚”:{
“名”: “POD-10” }}

回答

2

在Jinja2的双花括号用作打印语句。如果您访问的变量内标签不把牙套周围

{% for pod in pods.params %} 
    {% if inventory_hostname == pod.name %} 
     <generate JSON template here> 
    {% endif %} 
{% endfor %} 
+0

谢谢 - 迪伊 – Dee

0

发现了问题: {%如果pod.name == inventory_hostname%}