Ansible Conditional Checks

Conditional checks use the when: syntax. When conditions can use raw Jinja2 expressions (regex) but can execute regular python code so can access methods like String.find() to check for a text match in a String. Multiple conditions should be enclosed with parenthesis, multiple conditions can be specified in a list where they are all required to be true (logical AND).

Example

when: 
  - tomcat_status_result.stdout.find("JVM is running.") > -1
  - tomcat_status_result.stderr != ""
  - tomcat_status_result.rc == 0

---
- hosts: all
  tasks:
    - name: "print inventory vars"
      debug:
        var: "{{ item }}"
      with_items:
        - inventory_dir
        - inventory_file
      when: inventory_dir | regex_search('dev$')

- hosts: all
  tasks:
    - name: "apply stub role"
      include_role:
        name: issuer-wallet-stub
      when: inventory_dir | regex_search('dev$')