Ansible Conditionals
Jump to navigation
Jump to search
External
Internal
Overview
Tasks can be conditionally executed based on facts, registered variables or playbook or inventory variables. The conditional is introduced by the task configuration keyword when:
.
The variables must not be enclosed in Template:...
when used in when:
expressions.
- name: Download Amazon Corretto
get_url:
url: https://corretto.aws/downloads/latest/amazon-corretto-11-x64-macos-jdk.pkg
dest: /tmp
when: java_vendor == "Amazon"
- name: Install Nginx
apt:
pkg: nginx
state: installed
update_cache: true
when: ppastable|success
notify:
- Start Nginx
Expressions
Undefined Variables
Do not attempt to dereference with "{{ ... }}" until it is established the variable is defined:
- name: Test whether a variable is defined
debug:
msg: "some_var is not defined"
when: some_var is not defined
Logical Operators
Parentheses can be used in expressions.
and
or
not
- name: "info"
when: not java_updated
debug:
msg: "Java was NOT updated"