set_stats – Set stats for the current ansible run

New 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 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 ansible.cfg or ANSIBLE_SHOW_CUSTOM_STATS to yes.
  • This module is also supported for Windows targets.

Examples

# Aggregating packages_installed stat per host
- set_stats:
    data:
      packages_installed: 31
    per_host: yes

# Aggregating random stats for all hosts using complex arguments
- 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


# setting stats (not aggregating)
- set_stats:
    data:
      the_answer: 42
    aggregate: no

Status

Authors

  • Brian Coca (@bcoca)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.