Infelizmente, isso não é suportado. A partir da documentação on-line :
The filter option filters only the first level subkey below ansible_facts.
Como o ansible_interface
fact é uma subchave de primeiro nível na estrutura do documento JSON, o mínimo que você pode acessar é algo como:
# 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
}
Se seus sistemas tiverem facter
ou ohai
instalado, você poderá acessar as mesmas informações em ansible
:
# ansible localhost -m setup -a 'filter=facter_ipaddress_p5p1'
localhost | success >> {
"ansible_facts": {
"facter_ipaddress_p5p1": "10.0.0.2"
},
"changed": false
}