Є багато способів зробити це. Найпростіший:
- 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
в коді кожної ролі?
Немає кращого способу зробити це - це залежить від того, що ви насправді намагаєтеся досягти.