我的主机有 3 个网络 IP 地址,稍后在我的剧本中需要其中一个。
在我的剧本中,我运行了以下设置模块:
- name: Gather Networks Facts into Variable
setup:
register: setup
- name: Debug Set Facts
debug:
var: setup.ansible_facts.ansible_ip_addresses
提供以下输出:
{
"setup.ansible_facts.ansible_ip_addresses": [
"10.0.2.15",
"fe80::85ae:2178:df12:8da0",
"192.168.99.63",
"fe80::3871:2201:c0ab:6e39",
"192.168.0.63",
"fe80::79c5:aa03:47ff:bf65",
"fd89:8d5f:2227:0:79c5:aa03:47ff:bf65",
"2a02:c7f:9420:7100:79c5:aa03:47ff:bf65"
]
}
我正在尝试通过使用前三个八位字节或 192.168.0 进行搜索来找到 192.168.0.63。然后,我还想将该值转化为事实,以便稍后在我的剧本中使用它。
使用 Ansible 或 Jinja2 搜索和找到该值的最佳方法是什么?