- name: "Looking for interface holding {{ net }}" set_fact: "{{ var }}": "{{ eth['device'] }}" vars: eth: "{{ hostvars[inventory_hostname]['ansible_' + item] | default({}) }}" ipv4: "{{ eth['ipv4'] | default({}) }}" q: "{{ eth | json_query('ipv4_secondaries[*].network') }}" sec: "{{ ((q == ands_none) or (q == '')) | ternary([], q) }}" nets: "{{ sec | union([ipv4.network]) }}" when: - eth['type'] is defined - eth['ipv4'] is defined - eth['device'] is defined - eth['type'] == 'ether' - net | ipaddr('network') in nets with_items: - "{{ hostvars[inventory_hostname]['ansible_interfaces'] }}"