我有一个包含网络上主机详细信息的变量(称为“主机列表”-我相信您将其称为字典,但我不确定术语。该变量在 group_vars/all 的文件中定义,所以它是在所有剧本中都可用(不确定这是否重要)。
我有一个剧本,只有在 hostlist 的主机名列表中找不到 ansible_hostname 时我才想运行它。hostlist 中的主机名是变量的属性之一,但我再次不确定“属性”是否是正确的术语......
主机列表定义为:
hostlist:
- { name: 'host1', ip_addr: '192.168.2.31', hostgrp: 'physical_workstation' }
- { name: 'host2', ip_addr: '192.168.2.32', hostgrp: 'physical_workstation' }
- { name: 'host3', ip_addr: '192.168.2.33', hostgrp: 'virtual_machine' }
我用来尝试使其正常工作的游戏是:
- name: Conditional test
debug:
msg: "ansible_hostname not found in hostlist."
when: ansible_hostname not in hostlist.name
我不确定条件中所需的语法,或者我想要的是否可以通过这种方式实现?