Есть много способов сделать это. Простейшие:
- 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"
Альтернатива, более компактная:
- name: Copy file to host
copy: src=file.{{ inventory_hostname }} dest=/somewhere/file
Или, используя шаблон:
- name: Copy file to host
template: src=file dest=/somewhere/file
где шаблон может быть примерно таким:
{% if inventory_hostname == "host1" %}
{% include "file1" %}
{% endif %}
...
Если вам нужны разные файлы в разных ролях, почему бы вам просто не написать это:
- name: Copy file.role1 to file
copy: src=file.role1 dest=/somewhere/file
в коде каждой роли?
Не существует предпочтительного способа сделать это - это зависит от того, чего вы на самом деле пытаетесь достичь.