Ansible
Теория: Условия
Иногда таски в Ansible нужно выполнять только при определенных условиях. Для этого используется механизм conditionals. Для этого используется ключ when с выражением на языке Python. В нем можно напрямую использовать переменные, которые мы определили в плэйбуке, а так же факты, не заворачивая их в шаблон. Рассмотрим несколько примеров:
Первая задача выполняется, только если на целевой машине установлена операционная система Debian. В условии выполняется простое сравнение значения факта ansible_os_family со строкой. Во второй задаче используется более сложная проверка с применением операторов and и or. Такая задача выполнится на CentOs версии 6 и 7.
В условии when могут использоваться переменные (обратите внимание, как в Python делается отрицание):
Условия будут работать и в циклах:
Здесь просто происходит проверка, что значение больше 5. Как видите, знание самого Python не обязательно, потому что сравнение выполняется естественным образом. Но также можно использовать и другие операторы, которые есть в Python.
