ansible自定义变量在when中判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible自定义变量在when中判断相关的知识,希望对你有一定的参考价值。


1、hosts中定义

在hosts自定义模块中新添加了一个字段
vi hosts
[test]
10.10.10.10 iswar=true
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=123456

iswar这个变量想在yaml中进行when判断
方法一:
when: " iswar == true"
这个样子可以使用,但是会报一个warning
"[WARNING] when statements should not include jinja2 templating delimiters such as or % %. Found: iswar == true"

方法二:
when: iswar == "true"
但是下面两种方式就不行,这两种都不会进行判断
when: iswar == true
when: "iswar == true"

2、在vars_files中定义

cat test_module/test_module.yaml
iswar: true

vars_files: test_module/test_module.yaml
iswar这个变量想在yaml中进行when判断
方法一:
when: " iswar == true"
还是会报那个warning
方法二:
when: iswar == true
#注意此处true不能有"",如果有""则不判断
其他方式几乎都不判断

以上是关于ansible自定义变量在when中判断的主要内容,如果未能解决你的问题,请参考以下文章

ansible变量类型

ansible-playbook之条件判断

Ansible9:条件语句

Ansible之主机清单及playbook剧本

Ansible之主机清单及playbook剧本

006.Ansible自定义变量