Определите переменную, если выход другой переменной - PullRequest
0 голосов
/ 02 августа 2020

Я был бы счастлив, если бы смог определить переменную, но мне нужно быть динамичным c например:

if {{var}} = 1, то var2 = лето, иначе var2 = winter.

Мне нужно определить это в дополнение к моей задаче. Возможно ли в ansible?

Ответы [ 3 ]

2 голосов
/ 02 августа 2020

Используйте тройной фильтр. Например,


- set_fact:
    var2: "{{ (var|int == 1)|ternary('summer', 'winter') }}"

Следующий вариант: Jinja2 if оператор

- set_fact:
    var2: "{% if var|int == 1 %}summer{% else %}winter{% endif %}"
2 голосов
/ 02 августа 2020

Попробуйте это в своем vars/main.yml:

var2: "{% if var == 1 %}summer{% else %}winter{% endif %}"

Обновить :

Установка порта в зависимости от режима работы:

port: "{% if runmode == 'author' %}4502{% else %}4503{% endif %}"
0 голосов
/ 02 августа 2020

Можете ли вы просто сделать это:

var2 = none;
if({{var}} == 1)
    var2 = summer;
else
    var2 = winter;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...