Hay muchas maneras de hacer esto. Más simple:
- name: Copy file.role1 to host1
copy: src=file.role1 dest=/somewhere/file
when: inventory_hostname == "host1"
- name: Copy file.role2 to host2
copy: src=file.role2 dest=/somewhere/file
when: inventory_hostname == "host2"
Alternativa, más compacta:
- name: Copy file to host
copy: src=file.{{ inventory_hostname }} dest=/somewhere/file
O, usando una plantilla:
- name: Copy file to host
template: src=file dest=/somewhere/file
donde la plantilla puede ser algo como esto:
{% if inventory_hostname == "host1" %}
{% include "file1" %}
{% endif %}
...
Si quieres diferentes archivos en diferentes roles, ¿por qué no simplemente pones esto?
- name: Copy file.role1 to file
copy: src=file.role1 dest=/somewhere/file
en el código de cada rol?
No hay una forma preferida de hacerlo, depende de lo que realmente esté tratando de lograr.