【发布时间】:2020-12-29 14:06:50
【问题描述】:
我正在尝试创建一个 ansible playbook 来设置多个节点。在我的变量中,我有以下结构:
nodes:
- nodename: foonode
othervalue: foo
booleanvalue: true
- nodename: barnode
othervalue: bar
布尔值是可选的,并且默认为 false。稍后可能会有更多可选值。现在我只想使用可选的布尔值。
- name: "Debug"
debug:
msg: "Do something useful here"
when: when: nodes | selectattr('nodename', 'equalto', ansible_hostname) | map(attribute='booleanvalue') | first | bool
只要布尔值存在,这段代码 sn-p 就可以工作。但它不适用于 barnode。因为我使用的是 2.9.6,所以我不能使用 map(attribute='booleanvalue', default='whatever')。是否有其他或更好的方法可以使其与可选值一起使用?
【问题讨论】:
标签: ansible