Cómo crear una copia condicional en Ansible basada en la membresía de red (subred)

Quiero copiar una versión de un archivo a un servidor si tiene una interfaz en una subred específica, o una versión diferente si no tiene una interfaz en esa subred. A continuación hay una solución que funciona, pero creo que no es óptima. Espero que haya una mejor manera que cumpla con los siguientes criterios ...

se mantiene dinámico (use hechos, no quiero tener que establecer variables manualmente para cada servidor y crear manualmente grupos para servidores en y no en la subred)menos repetitivo (¿podría manejarse en una tarea?)no tiene que enumerar todos los nombres de interfaz posibles (por ejemplo, eth0, eth1, ..., bond0, bond1, ... etc.)

versión de trabajo ...

- name: copy file version 1 to server
  copy:
    src: files/myfile.vs1
    dest: /etc/myfile
  when: (ansible_eth0.network == "192.168.0.0") or
        (ansible_eth1.network == "192.168.0.0") or
        (ansible_eth2.network == "192.168.0.0")
        ...

- name: copy file version 2 to server
  copy:
    src: files/myfile.vs2
    dest: /etc/myfile
  when: (ansible_eth0.network != "192.168.0.0") and
        (ansible_eth1.network != "192.168.0.0") and
        (ansible_eth2.network != "192.168.0.0")
        ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta