Назад | Перейти на главную страницу

функция разделения в Ansible Conditioning

Я пытаюсь создать переменную, если существует другая переменная с определенным значением.

- 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) строка всегда больше целого числа.