Как отключить вывод json из определенных управляемых команд?

Некоторые необработанные команды создают выход json, который едва читается для людей. Это отвлекает людей, когда им нужно проверить правильность воспроизведения пьесы и вызвать путаницу.

Примеры команд shell и replace - они генерируют много бесполезного шума. Как я могу это предотвратить? Простой ok | изменено | не удалось. Мне не нужен весь JSON.

Ответ 1

Используйте no_log: True для тех задач, в которых вы хотите отключить все последующие выходные данные.

- shell: whatever
  no_log: True

Я считаю, что единственное упоминание этой функции находится в FAQ.

Пример playbook:

- hosts:
  - localhost
  gather_facts: no
  vars:
    test_list:
      - a
      - b
      - c

  tasks:
    - name: Test with output
      shell: echo "{{ item }}"
      with_items: test_list

    - name: Test w/o outout
      shell: echo "{{ item }}"
      no_log: True
      with_items: test_list

Пример вывода:

TASK: [Test with output] ****************************************************** 
changed: [localhost] => (item=a)
changed: [localhost] => (item=b)
changed: [localhost] => (item=c)

TASK: [Test w/o outout] ******************************************************* 
changed: [localhost]
changed: [localhost]
changed: [localhost]