Ansible: Когда Переменная — Определена | Существует | Пуста | True

При работе с переменными в Ansible-плейбуках, как правило, рекомендуется проверять, существует ли переменная и каково ее значение.

В частности, это помогает избегать различных ошибок, вроде ‘VARIABLE IS NOT DEFINED‘.

В данном контексте существует несколько полезных проверок, которые можно выполнить, с помощью Jinja2 фильтров в Ansible.

В этой статье я покажу примеры того, как проверить переменную в Ansible: существует ли она или нет, является ли она пустой, и имеет ли она значение True или False.

Дельный Совет: Проверка Переменных в Jinja2 — Определена | Существует | Пуста | True. Читать далее →

Выражение ‘When’ в Ansible: Проверка Переменных

Узнать определена ли (существует ли) переменная в Ansible:

tasks:

- shell: echo "The variable 'foo' is defined: '{{ foo }}'"
  when: foo is defined

- fail: msg="The variable 'bar' is not defined"
  when: bar is undefined

Проверить является ли переменная в Ansible пустой:

tasks:
- fail: msg="The variable 'bar' is empty"
  when: bar|length == 0

- shell: echo "The variable 'foo' is not empty: '{{ foo }}'"
  when: for|length > 0

Убедиться что переменная в Ansible определена и не является пустой:

tasks:

- shell: echo "The variable 'foo' is defined and not empty"
  when: (foo is defined) and (foo|length > 0)

- fail: msg="The variable 'bar' is not defined or empty"
  when: (bar is not defined) or (bar|length == 0)

Дельный Совет: Ansible Playbook — Печать Переменных & Вывод Всех Переменных! Читать далее →

Узнать имеет ли переменная в Ansible значение True или False:

tasks:

- shell: echo "The variable 'foo' is 'True'"
  when: foo|bool == True

- shell: echo "The variable 'bar' is 'False'"
  when: bar|bool == False