我是 ansible 的新手,但我找不到这个问题的答案,我认为这个问题看起来很简单..
在剧本中,您可以使用示例{{ ansible_eth0["ipv4"]["address"] }}
或{{ ansible_eth0.ipv4.address }}
.
如何使用类似的东西获取与仅信息命令相同的信息 ansible all -m setup -a "filter=???"
作为filter
,我已经尝试了您想在剧本中使用的语法,以及一些与*
.
这甚至是收集此类数据的正确方法吗?
遗憾的是,这不受支持。从在线文档:
filter 选项仅过滤 ansible_facts 下的第一级子项。
由于ansible_interface
事实是 JSON 文档结构中的第一级子键,因此您可以访问的最小值如下:
# ansible localhost -m setup -a 'filter=ansible_p5p1'
localhost | success >> {
"ansible_facts": {
"ansible_p5p1": {
"active": true,
"device": "p5p1",
"ipv4": {
"address": "10.0.0.2",
"netmask": "255.255.255.0",
"network": "10.0.0.0"
},
"ipv6": [
{
"address": "fd6c:xxxx:xxxx::2",
"prefix": "64",
"scope": "global"
},
{
"address": "fe80::xxxx:xxxx:xxxx:5a56",
"prefix": "64",
"scope": "link"
}
],
"macaddress": "xx:xx:xx:xx:xx:xx",
"module": "foo",
"mtu": 1500,
"promisc": false,
"type": "ether"
}
},
"changed": false
}
Run Code Online (Sandbox Code Playgroud)
如果您的系统已经facter
或ohai
已安装,您可以从ansible
以下位置访问相同的信息:
# ansible localhost -m setup -a 'filter=facter_ipaddress_p5p1'
localhost | success >> {
"ansible_facts": {
"facter_ipaddress_p5p1": "10.0.0.2"
},
"changed": false
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12431 次 |
最近记录: |