This page is about conditional operators in Ansible.
state : {{ "present"
if (ansible_distribution_release in
([ "wheezy", "jessie", "stretch",
"precise", "trusty", "xenial", "bionic" ]))
else "absent" }}
See Loop
variable value can be made conditional.
Example:
- name: Include version-specific variables for CentOS/RHEL.
include_vars: "RedHat-{{ ansible_distribution_version.split('.')[0] }}.yml"
when: ansible_distribution == 'CentOS' or
ansible_distribution == 'Red Hat Enterprise Linux' or
ansible_distribution == 'RedHat'
- name: Install mapr-core
vars:
packages_Suse: ['mapr-compat-suse', 'mapr-core', 'mapr-core-internal']
packages_RedHat: ['mapr-core', 'mapr-core-internal']
packages_Debian: ['mapr-core', 'mapr-core-internal']
package: name={{ item }} state=present
with_items: "{{ vars['packages_' + ansible_os_family] }}"
register: core_result
Conditional statement that returns a boolean
logrotate__enabled|bool
item.filename|d()
item.state is undefined
item.state == 'file'
item.state != 'absent'
ansible_distribution_release in ([ "wheezy", "jessie", "stretch", "precise", "trusty", "xenial", "bionic" ])
and # and
or # or
(a and b) # grouping