[内容] Ansible 条件判断 when

注意:

在使用 Ansible 魔法变量之前,要先安装 Ansible、添加被 Ansible 管理的主机,并且需要 root 权限

正文:

案例一:判断某 1 个变量是否是 1 个固定值

# vim test.yml

添加以下内容:

......
when: "'test' in group_names"
......


补充:
1) 这里以在 test.yml 中, test 为服务器的所属组为条件判断为例
2) group_names 在这里是魔法变量

案例二:判断某 1 个变量是否和另 1 个变量的值相等

# vim test.yml

添加以下内容:

......
when: inventory_hostname in groups.test
......


补充:
1) 这里以在 test.yml 中,服务器名在 test 组中为条件判断为例
2) inventory_hostname 和 groups.test 在这里都是魔法变量

案例三:判断某 1 个变量是否小于或等于 1 个值

# vim test.yml

添加以下内容:

......
when: ansible_distribution_version is version("7.6","le")
......


补充:
1) 这里以在 test.yml 中,系统的版本是否小于或等于 7.6 为条件判断为例
2) inventory_hostname 和 groups.test 在这里都是魔法变量

案例四:判断某 1 个变量是否大于 1 个值

# vim test.yml

添加以下内容:

......
when: ansible_distribution_version is version("7.6","gt")
......


补充:
1) 这里以在 test.yml 中,系统的版本是否大于 7.6 为条件判断为例
2) inventory_hostname 和 groups.test 在这里都是魔法变量