# Setup module filter question

**URL:** <https://forum.ansible.com/t/setup-module-filter-question/25601>\
**Category:** Ansible Project\
**Created:** [September 26, 2017, 4:58pm UTC](https://forum.ansible.com/t/setup-module-filter-question/25601 "2017-09-26T16:58:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dyioulos](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dyioulos/32/8363_2.png) [@dyioulos](https://forum.ansible.com/u/dyioulos)\
**Post date:** [September 26, 2017, 4:58pm UTC](https://forum.ansible.com/t/setup-module-filter-question/25601/1 "2017-09-26T16:58:47Z")

</div>

Hello, everyone.

I’m trying to get ipv4 facts returned via the command line, so I run “ansible myhost -m setup -a filter=”" ". . If I run ansible myhost -m setup -a filter=“ansible\_eth\*”, I get:

myhost | SUCCESS =\> {  
“ansible\_facts”: {  
“ansible\_eth0”: {  
“active”: true,  
“device”: “eth0”,  
“features”: {},  
“ipv4”: {  
“address”: “69.x.x.24”,  
“broadcast”: “69.x.x.255”,  
“netmask”: “255.255.252.0”,  
“network”: “69.x.x.0”  
},  
“ipv4\_secondaries”: [  
{  
“address”: “69.x.x.101”,  
“broadcast”: “69.x.x.255”,  
“netmask”: “255.255.252.0”,  
“network”: “69.x.x.0”  
}  
],  
“ipv6”: [  
{  
“address”: “fe80::”,  
“prefix”: “64”,  
“scope”: “link”  
}  
],  
“macaddress”: “00:00:00:00:00:00”,  
“module”: “vmxnet”,  
“mtu”: 1500,  
“pciid”: “0000:02:00.0”,  
“promisc”: false,  
“speed”: 1000,  
“type”: “ether”  
},

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [September 26, 2017, 5:01pm UTC](https://forum.ansible.com/t/setup-module-filter-question/25601/2 "2017-09-26T17:01:24Z")

</div>

The filter functionality of the setup module only works for top level keys.

To get more advanced filtering, you’ll need a playbook, and to use jinja to get what you are wanting.

---

<div class="post-metadata">

**Author:** ![dyioulos](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/dyioulos/32/8363_2.png) [@dyioulos](https://forum.ansible.com/u/dyioulos)\
**Post date:** [September 26, 2017, 5:11pm UTC](https://forum.ansible.com/t/setup-module-filter-question/25601/3 "2017-09-26T17:11:49Z")

</div>

Thanks, Matt.

---

<div class="post-metadata">

**Author:** ![Soniya\_panwar](https://avatars.discourse-cdn.com/v4/letter/s/22d042/32.png) [@Soniya\_panwar](https://forum.ansible.com/u/Soniya_panwar)\
**Post date:** [September 27, 2017, 6:29am UTC](https://forum.ansible.com/t/setup-module-filter-question/25601/4 "2017-09-27T06:29:17Z")

</div>

Hello,  
As the filter option filters only the first level key of ansible\_facts.

if you want to get it by adhoc command only then you can try this command to get a bit similar result:

**ansible myhost -m setup -a filter=“ansible\_default\_ipv4”**
