summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2017-02-06 16:55:32 -0500
committerBrian Coca <brian.coca+git@gmail.com>2017-02-06 16:55:57 -0500
commitc35850fd8e46b8702b0533ca0aceabfe69166ac2 (patch)
tree9eb4032e6ea0806aaf5cb682b95122434cacd999
parentfbf0346597f6c7505befd1875cec40c978f8ffc1 (diff)
downloadansible-modules-core-c35850fd8e46b8702b0533ca0aceabfe69166ac2.tar.gz
added moule to match plugin already in 2.2
-rw-r--r--utilities/logic/set_stats.py69
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
+'''