在ansible中,是否可以测试IP地址是否在子网列表之一中? 即我有一个子网列表:['10.10.10.0/24','10.10.12.0/24'] 还有一个 IP 地址:'10.10.12.8'
如何使用“when”语句测试 IP 地址是否位于某个子网中?
ansible.utils
集合中,实际上,您可以在该集合中找到的第一个 test 就是测试 in_any_network
,它将帮助您实现所需的目标。
鉴于:
- ansible.builtin.debug:
msg: "{{ _ip }} is in {{ _networks }}"
when: _ip is ansible.utils.in_any_network _networks
vars:
_ip: 10.10.12.8
_networks: ['10.10.10.0/24','10.10.12.0/24']
您将得到:
ok: [localhost] =>
msg: 10.10.12.8 is in ['10.10.10.0/24', '10.10.12.0/24']