Условные операторы в Ansible позволяют контролировать выполнение задач на основе определённых условий. 2 Это полезно, когда нужно выполнять разные действия в зависимости от состояния системы или значения определённых переменных. 2
Для использования условных операторов в Ansible используется ключ when с выражением на языке Python. 3 В нём можно напрямую использовать переменные, которые определены в плейбуке, а также факты, не заворачивая их в шаблон. 3
Пример использования: 2
---- name: Conditional Examplehosts: localhostgather_facts: yestasks:- name: Check OS family debug: msg: 'This is a Debian-based system' when: ansible_os_family == 'Debian'- name: Check OS family (alternative) debug: msg: 'This is not a Debian-based system' when: ansible_os_family != 'Debian'
В этом примере первая задача будет выполняться, только если система основана на Debian (ansibleosfamily == 'Debian'), а вторая — если система не основана на Debian (ansibleosfamily != 'Debian'). 2
Также условные операторы можно использовать в циклах. 3 Если объединить утверждение when с циклом, Ansible будет обрабатывать условие отдельно для каждого элемента. 4 Так можно выполнить задачу для некоторых элементов цикла и пропустить её для других. 4