Я пытаюсь создать переменную, если существует другая переменная с определенным значением.
- set_fact: "var_B=somevalue"
when: "var_A is defined and var_A.split(':')[0] > 2"
Это не работает. любые решения
Я думаю, вы хотите получить какой-то номер от var_A, верно?
подобно 5
из строки 5:8:9:3
.
В этом случае вам следует выполнить приведение типа:
- set_fact: "var_B=somevalue"
when: "var_A is defined and var_A.split(':')[0]|int > 2"
Заметка |int
фильтр применен.
В противном случае вы сравниваете строку "5"
и номер 2
.
В Python (который находится под капотом Ansible) строка всегда больше целого числа.