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 == "2019"    # 表示当 ansible_date_time.year 的值等于 2019 时,就使用 shell 模块执行 touch /tmp/when.txt 命令

 

 

 

 

 

     

posted @ 2019-01-03 18:22  孔雀东南飞  阅读(2748)  评论(0编辑  收藏  举报