diff options
author | Brian Coca <brian.coca+git@gmail.com> | 2017-02-06 16:55:32 -0500 |
---|---|---|
committer | Brian Coca <brian.coca+git@gmail.com> | 2017-02-06 16:55:57 -0500 |
commit | c35850fd8e46b8702b0533ca0aceabfe69166ac2 (patch) | |
tree | 9eb4032e6ea0806aaf5cb682b95122434cacd999 | |
parent | fbf0346597f6c7505befd1875cec40c978f8ffc1 (diff) | |
download | ansible-modules-core-c35850fd8e46b8702b0533ca0aceabfe69166ac2.tar.gz |
added moule to match plugin already in 2.2
-rw-r--r-- | utilities/logic/set_stats.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/utilities/logic/set_stats.py b/utilities/logic/set_stats.py new file mode 100644 index 00000000..4c4e88b5 --- /dev/null +++ b/utilities/logic/set_stats.py @@ -0,0 +1,69 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright 2016 Ansible RedHat, Inc +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +ANSIBLE_METADATA = {'status': ['preview'], + 'supported_by': 'community', + 'version': '1.0'} + +DOCUMENTATION = ''' +--- +author: "Brian Coca (@bcoca)" +module: set_stats +short_description: Set stats for the current ansible run +description: + - This module allows setting/accumulating stats on the current ansible run, either per host of for all hosts in the run. +options: + data: + description: + - A dictionary of which each key represents a stat (or variable) you want to keep track of + required: true + per_host: + description: + - boolean that indicates if the stats is per host or for all hosts in the run. + required: no + default: no + aggregate: + description: + - boolean that indicates if the provided value is aggregated to the existing stat C(yes) or will replace it C(no) + required: no + default: yes +version_added: "2.3" +''' + +EXAMPLES = ''' +# Aggregating packages_installed stat per host +- set_stats: + data: + packages_installed: 31 + +# 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 +''' |