Ansible Playbook 使用条件判断语句

时间:2023-03-09 00:12:55
Ansible Playbook 使用条件判断语句

先介绍一下 gather_facts 参数,该参数用于指定在执行任务前,是否先执行 setup 模块获取主机相关信息,以便给后面的任务使用

[root@localhost ~]# ansible 192.168.119.134 -m setup    # 查看主机的facter信息
192.168.119.134 | SUCCESS => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"192.168.119.134"
......

条件判断语句写法:

[root@localhost ~]$ cat when.yml
---
- hosts: 192.168.119.134
user: root
gather_facts: True # 必须先开启这个
tasks:
- name: use when
shell: touch /tmp/when.txt
when: ansible_date_time.year == "" # 表示当 ansible_date_time.year 的值等于 2019 时,就使用 shell 模块执行 touch /tmp/when.txt 命令