This worked great, thank you!

For the record, here is the current version of my test playbook:

- hosts: foo.example.com

  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.


>
On Tuesday, November 22, 2016 at 1:05:58 PM UTC-8, Kai Stian Olstad wrote:
>
> On 22. nov. 2016 21:18, Don Jackson wrote: 
> > 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? 
>
> Something like this. 
>
> mac.yml 
> --- 
> - debug: msg="This is the mac" 
>   when: hostvars[inventory_hostname]['ansible_' + item].macaddress | 
> default() == "xx:xx:xx:xx:xx:xx" 
>
>
> play.yml 
> --- 
> - hosts: all 
>   tasks: 
>     - include: mac.yml 
>       with_items: "{{ ansible_interfaces }}" 
>
>
> -- 
> Kai Stian Olstad 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/8c8fceec-e852-4887-a8b0-fd2ebb041225%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to