Something like this will do the trick:
- name: Content
hosts: elkmaster
gather_facts: no
vars:
report_file: "/home/jrua/report.txt"
tasks:
- name: create file
file:
dest: "{{ report_file }}"
state: touch
delegate_to: localhost
- name: copy content
lineinfile:
line: "{{ hostvars[inventory_hostname]['inventory_hostname_short'] + ':' + hostvars[inventory_hostname]['ip'] }}"
dest: "{{ report_file }}"
insertafter: EOF
delegate_to: localhost
loop: "{{ groups['elkmaster'] }}"
Using as inventory :
[elkmaster]
es_master ip='1.1.1.1'
es_data01 ip='2.3.3.4'
[elkdata]
es_data01 ip='2.3.3.4'
es_data02 ip='21.21.21.1'
Results in:
es_master:1.1.1.1
es_data01:2.3.3.4
HTH,
Regards