Ansible -IFthenwhen-Conditionals

xiaoxiao2021-03-01  5

IF/then/when-Conditionals Ansible uses expressions and built-ins with when ,changed_when , and failed_when so you can describe these things to Ansible with as much precision as possible.

Jinja2 allows the definition of literals like strings ( “string” ), integers ( 42 ), floats ( 42.33 ), lists ( [1,2, 3] ), tuples (like lists, but can’t be modified) dictionaries ( {key: value, key2: value2} ), and booleans ( true or false ).

Jinja2 also allows basic math operations, like addition, subtraction, multiplication and division, and comparisons( == forequality, != forinequality, >= forgreaterthanorequalto,etc.).Logicaloperatorsare and , or , and not , and you can group expressions by placing them within parenthesis.

--- - hosts: appserver tasks: - name: Do something only for version 4 of the software. command: "hostname" when: software_version.split('.')[0] == '4'


- name: Create a register to represent the status if the /dev/sda6 exsited shell: df -h | grep sda6 register: dev_sda6_result ignore_errors: True tags: docker - name: Copy to all hosts copy: dest=/usr/bin/docker-thinpool mode=0755 when: dev_sda6_result | succeeded tags: docker - yum: name=mysql-server state=present when: is_db_server