Нет смысла заранее формировать JSON, можно сразу сохранить из YAML:
- name: Get hardware facts
ansible.builtin.setup:
filter:
- processor
- memtotal_mb
register: devices
- name: Save hardware facts
ansible.builtin.copy:
content: '{{ devicenames | to_nice_json }}'
dest: /home/rootuser/ansible/!final_result_files/{{ inventory_hostname }}_hardware_info2_FINAL.json
delegate_to: localhost
vars:
devicenames:
Cpu: '{{ devices.ansible_facts.ansible_processor[2] }}'
Mem: '{{ devices.ansible_facts.ansible_memtotal_mb }}'
Но на самом деле эту операцию можно выполнить в один шаг:
- name: Save hardware facts
ansible.builtin.copy:
content: '{{ devicenames | to_nice_json }}'
dest: /home/rootuser/ansible/!final_result_files/{{ inventory_hostname }}_hardware_info2_FINAL.json
delegate_to: localhost
vars:
devicenames:
Cpu: '{{ ansible_processor[2] }}'
Mem: '{{ ansible_memtotal_mb }}'