mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add default_without_diff callback (#7949)
* Add default_without_diff callback. * Add examples and BOTMETA entry.
This commit is contained in:
parent
bc383b8f7b
commit
980fa36fac
4 changed files with 119 additions and 0 deletions
2
.github/BOTMETA.yml
vendored
2
.github/BOTMETA.yml
vendored
|
@ -50,6 +50,8 @@ files:
|
||||||
$callbacks/cgroup_memory_recap.py: {}
|
$callbacks/cgroup_memory_recap.py: {}
|
||||||
$callbacks/context_demo.py: {}
|
$callbacks/context_demo.py: {}
|
||||||
$callbacks/counter_enabled.py: {}
|
$callbacks/counter_enabled.py: {}
|
||||||
|
$callbacks/default_without_diff.py:
|
||||||
|
maintainers: felixfontein
|
||||||
$callbacks/dense.py:
|
$callbacks/dense.py:
|
||||||
maintainers: dagwieers
|
maintainers: dagwieers
|
||||||
$callbacks/diy.py:
|
$callbacks/diy.py:
|
||||||
|
|
46
plugins/callback/default_without_diff.py
Normal file
46
plugins/callback/default_without_diff.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
# Copyright (c) 2024, Felix Fontein <felix@fontein.de>
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
DOCUMENTATION = r'''
|
||||||
|
name: default_without_diff
|
||||||
|
type: stdout
|
||||||
|
short_description: The default ansible callback without diff output
|
||||||
|
version_added: 8.4.0
|
||||||
|
description:
|
||||||
|
- This is basically the default ansible callback plugin (P(ansible.builtin.default#callback)) without
|
||||||
|
showing diff output. This can be useful when using another callback which sends more detailed information
|
||||||
|
to another service, like the L(ARA, https://ara.recordsansible.org/) callback, and you want diff output
|
||||||
|
sent to that plugin but not shown on the console output.
|
||||||
|
author: Felix Fontein (@felixfontein)
|
||||||
|
extends_documentation_fragment:
|
||||||
|
- ansible.builtin.default_callback
|
||||||
|
- ansible.builtin.result_format_callback
|
||||||
|
'''
|
||||||
|
|
||||||
|
EXAMPLES = r'''
|
||||||
|
# Enable callback in ansible.cfg:
|
||||||
|
ansible_config: |
|
||||||
|
[defaults]
|
||||||
|
stdout_callback = community.general.default_without_diff
|
||||||
|
|
||||||
|
# Enable callback with environment variables:
|
||||||
|
environment_variable: |
|
||||||
|
ANSIBLE_STDOUT_CALLBACK=community.general.default_without_diff
|
||||||
|
'''
|
||||||
|
|
||||||
|
from ansible.plugins.callback.default import CallbackModule as Default
|
||||||
|
|
||||||
|
|
||||||
|
class CallbackModule(Default):
|
||||||
|
CALLBACK_VERSION = 2.0
|
||||||
|
CALLBACK_TYPE = 'stdout'
|
||||||
|
CALLBACK_NAME = 'community.general.default_without_diff'
|
||||||
|
|
||||||
|
def v2_on_file_diff(self, result):
|
||||||
|
pass
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
azp/posix/3
|
||||||
|
needs/target/callback
|
|
@ -0,0 +1,65 @@
|
||||||
|
---
|
||||||
|
####################################################################
|
||||||
|
# WARNING: These are designed specifically for Ansible tests #
|
||||||
|
# and should not be used as examples of how to write Ansible roles #
|
||||||
|
####################################################################
|
||||||
|
|
||||||
|
# Copyright (c) Ansible Project
|
||||||
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: Create temporary file
|
||||||
|
tempfile:
|
||||||
|
register: tempfile
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
include_role:
|
||||||
|
name: callback
|
||||||
|
vars:
|
||||||
|
tests:
|
||||||
|
- name: Basic file diff
|
||||||
|
environment:
|
||||||
|
ANSIBLE_NOCOLOR: 'true'
|
||||||
|
ANSIBLE_FORCE_COLOR: 'false'
|
||||||
|
ANSIBLE_DIFF_ALWAYS: 'true'
|
||||||
|
ANSIBLE_PYTHON_INTERPRETER: "{{ ansible_python_interpreter }}"
|
||||||
|
ANSIBLE_STDOUT_CALLBACK: community.general.default_without_diff
|
||||||
|
playbook: |
|
||||||
|
- hosts: testhost
|
||||||
|
gather_facts: true
|
||||||
|
tasks:
|
||||||
|
- name: Create file
|
||||||
|
copy:
|
||||||
|
dest: "{{ tempfile.path }}"
|
||||||
|
content: |
|
||||||
|
Foo bar
|
||||||
|
|
||||||
|
- name: Modify file
|
||||||
|
copy:
|
||||||
|
dest: "{{ tempfile.path }}"
|
||||||
|
content: |
|
||||||
|
Foo bar
|
||||||
|
Bar baz bam!
|
||||||
|
expected_output: [
|
||||||
|
"",
|
||||||
|
"PLAY [testhost] ****************************************************************",
|
||||||
|
"",
|
||||||
|
"TASK [Gathering Facts] *********************************************************",
|
||||||
|
"ok: [testhost]",
|
||||||
|
"",
|
||||||
|
"TASK [Create file] *************************************************************",
|
||||||
|
"changed: [testhost]",
|
||||||
|
"",
|
||||||
|
"TASK [Modify file] *************************************************************",
|
||||||
|
"changed: [testhost]",
|
||||||
|
"",
|
||||||
|
"PLAY RECAP *********************************************************************",
|
||||||
|
"testhost : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ",
|
||||||
|
]
|
||||||
|
|
||||||
|
always:
|
||||||
|
- name: Clean up temp file
|
||||||
|
file:
|
||||||
|
path: "{{ tempfile.path }}"
|
||||||
|
state: absent
|
Loading…
Reference in a new issue