2015-12-22 6 views
0

Запуск с Ansible, и я пытаюсь использовать ReST API для взаимодействия с внешним приложением. Возможно, мне не хватает чего-то простого здесь.Сравнение переменных в шаблоне для сборки JSON - Ansible

Я пытаюсь сравнить каждый хост в моем файле инвентаря с именем POD, указанным в файле переменных, используемым ролью, вызывающей шаблон jinja2.

Мой файл инвентаризации выглядит следующим образом:

[all] 
    'POD-9' 
    'POD-10' 

Variable файл:

pods: 
     params: 
     - name: POD-9 
     - name: POD-10 


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

если заявление, однако, не вступит в силу. Я хочу, чтобы шаблон будет генерироваться только в 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%}

 Смежные вопросы

  • Нет связанных вопросов^_^