ansible.builtin.set_stats – Define and display stats for the current ansible run

Note

This module is part of ansible-core and included in all Ansible installations. In most cases, you can use the short module name set_stats even without specifying the collections: keyword. However, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.

New in version 2.3: of ansible.builtin

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.

Note

This module has a corresponding action plugin.

Parameters

Parameter Choices/Defaults Comments
aggregate
boolean
    Choices:
  • no
  • yes ←
Whether the provided value is aggregated to the existing stat yes or will replace it no.
data
dictionary / required
A dictionary of which each key represents a stat (or variable) you want to keep track of.
per_host
boolean
    Choices:
  • no ←
  • yes
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 show_custom_stats in section [defaults] in ansible.cfg or by defining environment variable ANSIBLE_SHOW_CUSTOM_STATS to yes.

  • This module is also supported for Windows targets.

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)