Я был бы счастлив, если бы смог определить переменную, но мне нужно быть динамичным c например:
if {{var}} = 1, то var2 = лето, иначе var2 = winter.
Мне нужно определить это в дополнение к моей задаче. Возможно ли в ansible?
Используйте тройной фильтр. Например,
- set_fact: var2: "{{ (var|int == 1)|ternary('summer', 'winter') }}"
Следующий вариант: Jinja2 if оператор
- set_fact: var2: "{% if var|int == 1 %}summer{% else %}winter{% endif %}"
Попробуйте это в своем vars/main.yml:
vars/main.yml
var2: "{% if var == 1 %}summer{% else %}winter{% endif %}"
Обновить :
Установка порта в зависимости от режима работы:
port: "{% if runmode == 'author' %}4502{% else %}4503{% endif %}"
Можете ли вы просто сделать это:
var2 = none; if({{var}} == 1) var2 = summer; else var2 = winter;