Skip to content

set_stats

Collection Note

This module is part of the ansible.builtin collection. To install the collection, use:

ansible-galaxy collection install ansible.builtin
Added in version 2.3.

Synopsis

  • This module allows setting/accumulating stats on the current ansible run, either per host or for all hosts in the run.
  • This module is also supported for Windows targets.

Parameters

Parameter Defaults / Choices Comments
aggregate
bool
Default: True
Whether the provided value is aggregated to the existing stat V(true) or will replace it V(false).
data
dict
required
A dictionary of which each key represents a stat (or variable) you want to keep track of.
per_host
bool
Whether the stats are per host or for all hosts in the run.

Notes

Note

  • In order for custom stats to be displayed, you must set C(show_custom_stats) in section C([defaults]) in C(ansible.cfg) or by defining environment variable C(ANSIBLE_SHOW_CUSTOM_STATS) to V(true). See the P(ansible.builtin.default#callback) callback plugin for details.

Examples

- name: Aggregating packages_installed stat per host
  ansible.builtin.set_stats:
    data:
      packages_installed: 31
    per_host: yes

- name: Aggregating random stats for all hosts using complex arguments
  ansible.builtin.set_stats:
    data:
      one_stat: 11
      other_stat: "{{ local_var * 2 }}"
      another_stat: "{{ some_registered_var.results | map(attribute='ansible_facts.some_fact') | list }}"
    per_host: no

- name: Setting stats (not aggregating)
  ansible.builtin.set_stats:
    data:
      the_answer: 42
    aggregate: no

Authors

  • Brian Coca (@bcoca)