Ansible:复制模块不保留文本格式

Ansible: copy module doesn't keep text formatting

任务:使用 ansible-playbook 从主机组收集事实并将它们放入本地计算机上的文件中。

我的解决方案:

---
- hosts: foo
  order: sorted
  gather_facts: no
  remote_user: foo
  become: yes
  become_method: sudo
  tasks:
  - name: gather foo hosts information
    setup:
    register: gathered_data
  - name: write gathered information into a file
    local_action: copy content="{{ gathered_data }}" dest=/foo/gathered_data.out
...

问题:一切正常,但输出文件是一大行。是否可以像 ansible -m setup foo 输出那样保持文本格式?

也在为这个任务寻找更好的解决方案。 Ansible 版本:2.4.2.0

您可以使用 filters for formatting data 之一,例如:

content: "{{ gathered_data | to_nice_json }}”