Here is a truncated version of a fact for one network interface on a server:
“ansible_eth2”: {
“active”: true,
“device”: “eth2”,
“macaddress”: “30:0e:d5:cb:11:fe”,
“type”: “ether”
},
And there are similar facts for each network interface.
Given that, I need to be able to find the value for “device” for a specific macaddress value.
How would I do that?
This worked great, thank you!
For the record, here is the current version of my test playbook:
vars:
target_macaddr: “0c:c4:7a:17:9a:94”
tasks:
- debug:
var: hostvars[inventory_hostname][‘ansible_’ + item].device
when: hostvars[inventory_hostname][‘ansible_’ + item].macaddress is defined and hostvars[inventory_hostname][‘ansible_’ + item].macaddress == target_macaddr
with_items: ‘{{ ansible_interfaces }}’
Which prints out the device whose macaddr is the target.