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

Comments

aggregate

boolean

Whether the provided value is aggregated to the existing stat yes or will replace it no.

Choices:

  • no

  • yes ← (default)

data

dictionary / required

A dictionary of which each key represents a stat (or variable) you want to keep track of.

per_host

boolean

whether the stats are per host or for all hosts in the run.

Choices:

  • no ← (default)

  • yes

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)