我想获取清单文件中定义的主机的公共IP
[test-sites:children]
test-site-1
[test-site-1]
test-site-1-2 ipv4=192.168.0.1 ipv6=....
如何获取清单文件中定义的“ test-site-1-2”的ipv4和ipv6地址?我已经检查了this的答案,但给出了所有地址(公共和私人)。我只对清单文件中定义的ip感兴趣。
答案 0 :(得分:1)
[test-site-1]
test-site-1-2 ipv4=192.168.0.1 ipv6=....
Q:“如何获取清单文件中定义的“ test-site-1-2”的ipv4和ipv6地址?”
A:如果剧本在“ test-site-1-2”上运行,则直接引用变量即可。例如
- hosts: test-site-1-2
tasks:
- debug:
var: ipv4
- debug:
var: ipv6
如果其他主机需要这些变量,则需要引用“ hostvars”。例如
- hosts: test-site-1
tasks:
- debug:
var: hostvars['test-site-1-2'].ipv4
- debug:
var: hostvars['test-site-1-2'].ipv6
请参见Basic inventory。