From 8a754e0858d922e955e71b253c139e071ecec432 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 18:04:21 +0200 Subject: Adding upstream version 2.14.3. Signed-off-by: Daniel Baumann --- lib/ansible/modules/set_stats.py | 82 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 lib/ansible/modules/set_stats.py (limited to 'lib/ansible/modules/set_stats.py') diff --git a/lib/ansible/modules/set_stats.py b/lib/ansible/modules/set_stats.py new file mode 100644 index 0000000..16d7bfe --- /dev/null +++ b/lib/ansible/modules/set_stats.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- + +# Copyright: (c) 2016, Ansible RedHat, Inc +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = r''' +--- +module: set_stats +short_description: Define and display stats for the current ansible run +description: + - 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. +author: Brian Coca (@bcoca) +options: + data: + description: + - A dictionary of which each key represents a stat (or variable) you want to keep track of. + type: dict + required: true + per_host: + description: + - whether the stats are per host or for all hosts in the run. + type: bool + default: no + aggregate: + description: + - Whether the provided value is aggregated to the existing stat C(true) or will replace it C(false). + type: bool + default: yes +extends_documentation_fragment: + - action_common_attributes + - action_common_attributes.conn + - action_common_attributes.flow + - action_core +attributes: + action: + details: While the action plugin does do some of the work it relies on the core engine to actually create the variables, that part cannot be overridden + support: partial + bypass_host_loop: + support: none + bypass_task_loop: + support: none + core: + details: While parts of this action are implemented in core, other parts are still available as normal plugins and can be partially overridden + support: partial + check_mode: + support: full + delegation: + support: none + diff_mode: + support: none +notes: + - 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 C(true). See the C(default) callback plugin for details. +version_added: "2.3" +''' + +EXAMPLES = r''' +- 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 +''' -- cgit v1.2.3