normalize docs in callback plugins (#9455)
* normalize docs in callback plugins Normalize doc blocks for plugins * Apply suggestions from code review Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Felix Fontein <felix@fontein.de>pull/9431/head
parent
29e3226718
commit
d887930e49
|
@ -7,21 +7,22 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: cgroup_memory_recap
|
name: cgroup_memory_recap
|
||||||
type: aggregate
|
type: aggregate
|
||||||
requirements:
|
requirements:
|
||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
- cgroups
|
- cgroups
|
||||||
short_description: Profiles maximum memory usage of tasks and full execution using cgroups
|
short_description: Profiles maximum memory usage of tasks and full execution using cgroups
|
||||||
description:
|
description:
|
||||||
- This is an ansible callback plugin that profiles maximum memory usage of ansible and individual tasks, and displays a recap at the end using cgroups.
|
- This is an Ansible callback plugin that profiles maximum memory usage of Ansible and individual tasks, and displays a
|
||||||
notes:
|
recap at the end using cgroups.
|
||||||
- Requires ansible to be run from within a cgroup, such as with C(cgexec -g memory:ansible_profile ansible-playbook ...).
|
notes:
|
||||||
- This cgroup should only be used by ansible to get accurate results.
|
- Requires ansible to be run from within a C(cgroup), such as with C(cgexec -g memory:ansible_profile ansible-playbook ...).
|
||||||
- To create the cgroup, first use a command such as C(sudo cgcreate -a ec2-user:ec2-user -t ec2-user:ec2-user -g memory:ansible_profile).
|
- This C(cgroup) should only be used by Ansible to get accurate results.
|
||||||
options:
|
- To create the C(cgroup), first use a command such as C(sudo cgcreate -a ec2-user:ec2-user -t ec2-user:ec2-user -g memory:ansible_profile).
|
||||||
|
options:
|
||||||
max_mem_file:
|
max_mem_file:
|
||||||
required: true
|
required: true
|
||||||
description: Path to cgroups C(memory.max_usage_in_bytes) file. Example V(/sys/fs/cgroup/memory/ansible_profile/memory.max_usage_in_bytes).
|
description: Path to cgroups C(memory.max_usage_in_bytes) file. Example V(/sys/fs/cgroup/memory/ansible_profile/memory.max_usage_in_bytes).
|
||||||
|
@ -40,7 +41,7 @@ DOCUMENTATION = '''
|
||||||
ini:
|
ini:
|
||||||
- section: callback_cgroupmemrecap
|
- section: callback_cgroupmemrecap
|
||||||
key: cur_mem_file
|
key: cur_mem_file
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import threading
|
import threading
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: context_demo
|
name: context_demo
|
||||||
type: aggregate
|
type: aggregate
|
||||||
short_description: demo callback that adds play/task context
|
short_description: demo callback that adds play/task context
|
||||||
description:
|
description:
|
||||||
- Displays some play and task context along with normal output.
|
- Displays some play and task context along with normal output.
|
||||||
- This is mostly for demo purposes.
|
- This is mostly for demo purposes.
|
||||||
requirements:
|
requirements:
|
||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|
||||||
|
|
|
@ -9,20 +9,20 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: counter_enabled
|
name: counter_enabled
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: adds counters to the output items (tasks and hosts/task)
|
short_description: adds counters to the output items (tasks and hosts/task)
|
||||||
description:
|
description:
|
||||||
- Use this callback when you need a kind of progress bar on a large environments.
|
- Use this callback when you need a kind of progress bar on a large environments.
|
||||||
- You will know how many tasks has the playbook to run, and which one is actually running.
|
- You will know how many tasks has the playbook to run, and which one is actually running.
|
||||||
- You will know how many hosts may run a task, and which of them is actually running.
|
- You will know how many hosts may run a task, and which of them is actually running.
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout callback in C(ansible.cfg) (C(stdout_callback = counter_enabled))
|
- set as stdout callback in C(ansible.cfg) (C(stdout_callback = counter_enabled))
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from ansible import constants as C
|
from ansible import constants as C
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|
|
@ -7,23 +7,22 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = r'''
|
DOCUMENTATION = r"""
|
||||||
name: default_without_diff
|
name: default_without_diff
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: The default ansible callback without diff output
|
short_description: The default ansible callback without diff output
|
||||||
version_added: 8.4.0
|
version_added: 8.4.0
|
||||||
description:
|
description:
|
||||||
- This is basically the default ansible callback plugin (P(ansible.builtin.default#callback)) without
|
- This is basically the default ansible callback plugin (P(ansible.builtin.default#callback)) without showing diff output.
|
||||||
showing diff output. This can be useful when using another callback which sends more detailed information
|
This can be useful when using another callback which sends more detailed information to another service, like the L(ARA,
|
||||||
to another service, like the L(ARA, https://ara.recordsansible.org/) callback, and you want diff output
|
https://ara.recordsansible.org/) callback, and you want diff output sent to that plugin but not shown on the console output.
|
||||||
sent to that plugin but not shown on the console output.
|
author: Felix Fontein (@felixfontein)
|
||||||
author: Felix Fontein (@felixfontein)
|
extends_documentation_fragment:
|
||||||
extends_documentation_fragment:
|
|
||||||
- ansible.builtin.default_callback
|
- ansible.builtin.default_callback
|
||||||
- ansible.builtin.result_format_callback
|
- ansible.builtin.result_format_callback
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = r'''
|
EXAMPLES = r"""
|
||||||
# Enable callback in ansible.cfg:
|
# Enable callback in ansible.cfg:
|
||||||
ansible_config: |
|
ansible_config: |
|
||||||
[defaults]
|
[defaults]
|
||||||
|
@ -32,7 +31,7 @@ ansible_config: |
|
||||||
# Enable callback with environment variables:
|
# Enable callback with environment variables:
|
||||||
environment_variable: |
|
environment_variable: |
|
||||||
ANSIBLE_STDOUT_CALLBACK=community.general.default_without_diff
|
ANSIBLE_STDOUT_CALLBACK=community.general.default_without_diff
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from ansible.plugins.callback.default import CallbackModule as Default
|
from ansible.plugins.callback.default import CallbackModule as Default
|
||||||
|
|
||||||
|
|
|
@ -7,19 +7,19 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: dense
|
name: dense
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: minimal stdout output
|
short_description: minimal stdout output
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
description:
|
description:
|
||||||
- When in verbose mode it will act the same as the default callback.
|
- When in verbose mode it will act the same as the default callback.
|
||||||
author:
|
author:
|
||||||
- Dag Wieers (@dagwieers)
|
- Dag Wieers (@dagwieers)
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout in configuration
|
- set as stdout in configuration
|
||||||
'''
|
"""
|
||||||
|
|
||||||
HAS_OD = False
|
HAS_OD = False
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -7,48 +7,43 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = r'''
|
DOCUMENTATION = r"""
|
||||||
name: diy
|
name: diy
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: Customize the output
|
short_description: Customize the output
|
||||||
version_added: 0.2.0
|
version_added: 0.2.0
|
||||||
description:
|
description:
|
||||||
- Callback plugin that allows you to supply your own custom callback templates to be output.
|
- Callback plugin that allows you to supply your own custom callback templates to be output.
|
||||||
author: Trevor Highfill (@theque5t)
|
author: Trevor Highfill (@theque5t)
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
notes:
|
notes:
|
||||||
- Uses the P(ansible.builtin.default#callback) callback plugin output when a custom callback V(message(msg\)) is not provided.
|
- Uses the P(ansible.builtin.default#callback) callback plugin output when a custom callback V(message(msg\)) is not provided.
|
||||||
- Makes the callback event data available via the C(ansible_callback_diy) dictionary, which can be used in the templating context for the options.
|
- Makes the callback event data available using the C(ansible_callback_diy) dictionary, which can be used in the templating
|
||||||
The dictionary is only available in the templating context for the options. It is not a variable that is available via the other
|
context for the options. The dictionary is only available in the templating context for the options. It is not a variable
|
||||||
various execution contexts, such as playbook, play, task etc.
|
that is available using the other various execution contexts, such as playbook, play, task, and so on so forth.
|
||||||
- Options being set by their respective variable input can only be set using the variable if the variable was set in a context that is available to the
|
- Options being set by their respective variable input can only be set using the variable if the variable was set in a context
|
||||||
respective callback.
|
that is available to the respective callback. Use the C(ansible_callback_diy) dictionary to see what is available to a
|
||||||
Use the C(ansible_callback_diy) dictionary to see what is available to a callback. Additionally, C(ansible_callback_diy.top_level_var_names) will output
|
callback. Additionally, C(ansible_callback_diy.top_level_var_names) will output the top level variable names available
|
||||||
the top level variable names available to the callback.
|
to the callback.
|
||||||
- Each option value is rendered as a template before being evaluated. This allows for the dynamic usage of an option. For example,
|
- Each option value is rendered as a template before being evaluated. This allows for the dynamic usage of an option. For
|
||||||
C("{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}")
|
example, C("{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}").
|
||||||
- "**Condition** for all C(msg) options:
|
- 'B(Condition) for all C(msg) options: if value C(is None or omit), then the option is not being used. B(Effect): use
|
||||||
if value C(is None or omit),
|
of the C(default) callback plugin for output.'
|
||||||
then the option is not being used.
|
- 'B(Condition) for all C(msg) options: if value C(is not None and not omit and length is not greater than 0), then the
|
||||||
**Effect**: use of the C(default) callback plugin for output"
|
option is being used without output. B(Effect): suppress output.'
|
||||||
- "**Condition** for all C(msg) options:
|
- 'B(Condition) for all C(msg) options: if value C(is not None and not omit and length is greater than 0), then the option
|
||||||
if value C(is not None and not omit and length is not greater than 0),
|
is being used with output. B(Effect): render value as template and output.'
|
||||||
then the option is being used without output.
|
- 'Valid color values: V(black), V(bright gray), V(blue), V(white), V(green), V(bright blue), V(cyan), V(bright green),
|
||||||
**Effect**: suppress output"
|
V(red), V(bright cyan), V(purple), V(bright red), V(yellow), V(bright purple), V(dark gray), V(bright yellow), V(magenta),
|
||||||
- "**Condition** for all C(msg) options:
|
V(bright magenta), V(normal).'
|
||||||
if value C(is not None and not omit and length is greater than 0),
|
seealso:
|
||||||
then the option is being used with output.
|
|
||||||
**Effect**: render value as template and output"
|
|
||||||
- "Valid color values: V(black), V(bright gray), V(blue), V(white), V(green), V(bright blue), V(cyan), V(bright green), V(red), V(bright cyan),
|
|
||||||
V(purple), V(bright red), V(yellow), V(bright purple), V(dark gray), V(bright yellow), V(magenta), V(bright magenta), V(normal)"
|
|
||||||
seealso:
|
|
||||||
- name: default – default Ansible screen output
|
- name: default – default Ansible screen output
|
||||||
description: The official documentation on the B(default) callback plugin.
|
description: The official documentation on the B(default) callback plugin.
|
||||||
link: https://docs.ansible.com/ansible/latest/plugins/callback/default.html
|
link: https://docs.ansible.com/ansible/latest/plugins/callback/default.html
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout_callback in configuration
|
- set as stdout_callback in configuration
|
||||||
options:
|
options:
|
||||||
on_any_msg:
|
on_any_msg:
|
||||||
description: Output to be used for callback on_any.
|
description: Output to be used for callback on_any.
|
||||||
ini:
|
ini:
|
||||||
|
@ -600,9 +595,9 @@ DOCUMENTATION = r'''
|
||||||
vars:
|
vars:
|
||||||
- name: ansible_callback_diy_playbook_on_setup_msg_color
|
- name: ansible_callback_diy_playbook_on_setup_msg_color
|
||||||
type: str
|
type: str
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = r'''
|
EXAMPLES = r"""
|
||||||
ansible.cfg: >
|
ansible.cfg: >
|
||||||
# Enable plugin
|
# Enable plugin
|
||||||
[defaults]
|
[defaults]
|
||||||
|
@ -623,7 +618,7 @@ ansible.cfg: >
|
||||||
# Newline after every callback
|
# Newline after every callback
|
||||||
# on_any_msg='{{ " " | join("\n") }}'
|
# on_any_msg='{{ " " | join("\n") }}'
|
||||||
|
|
||||||
playbook.yml: >
|
playbook.yml: >-
|
||||||
---
|
---
|
||||||
- name: "Default plugin output: play example"
|
- name: "Default plugin output: play example"
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
|
@ -782,7 +777,7 @@ playbook.yml: >
|
||||||
{{ white }}{{ ansible_callback_diy[key] }}
|
{{ white }}{{ ansible_callback_diy[key] }}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
|
@ -5,17 +5,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com>
|
author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com>
|
||||||
name: elastic
|
name: elastic
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Create distributed traces for each Ansible task in Elastic APM
|
short_description: Create distributed traces for each Ansible task in Elastic APM
|
||||||
version_added: 3.8.0
|
version_added: 3.8.0
|
||||||
description:
|
description:
|
||||||
- This callback creates distributed traces for each Ansible task in Elastic APM.
|
- This callback creates distributed traces for each Ansible task in Elastic APM.
|
||||||
- You can configure the plugin with environment variables.
|
- You can configure the plugin with environment variables.
|
||||||
- See U(https://www.elastic.co/guide/en/apm/agent/python/current/configuration.html).
|
- See U(https://www.elastic.co/guide/en/apm/agent/python/current/configuration.html).
|
||||||
options:
|
options:
|
||||||
hide_task_arguments:
|
hide_task_arguments:
|
||||||
default: false
|
default: false
|
||||||
type: bool
|
type: bool
|
||||||
|
@ -39,13 +39,13 @@ DOCUMENTATION = '''
|
||||||
apm_secret_token:
|
apm_secret_token:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Use the APM server token
|
- Use the APM server token.
|
||||||
env:
|
env:
|
||||||
- name: ELASTIC_APM_SECRET_TOKEN
|
- name: ELASTIC_APM_SECRET_TOKEN
|
||||||
apm_api_key:
|
apm_api_key:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Use the APM API key
|
- Use the APM API key.
|
||||||
env:
|
env:
|
||||||
- name: ELASTIC_APM_API_KEY
|
- name: ELASTIC_APM_API_KEY
|
||||||
apm_verify_server_cert:
|
apm_verify_server_cert:
|
||||||
|
@ -61,13 +61,13 @@ DOCUMENTATION = '''
|
||||||
- The L(W3C Trace Context header traceparent,https://www.w3.org/TR/trace-context-1/#traceparent-header).
|
- The L(W3C Trace Context header traceparent,https://www.w3.org/TR/trace-context-1/#traceparent-header).
|
||||||
env:
|
env:
|
||||||
- name: TRACEPARENT
|
- name: TRACEPARENT
|
||||||
requirements:
|
requirements:
|
||||||
- elastic-apm (Python library)
|
- elastic-apm (Python library)
|
||||||
'''
|
"""
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: |
|
examples: |-
|
||||||
Enable the plugin in ansible.cfg:
|
Enable the plugin in ansible.cfg:
|
||||||
[defaults]
|
[defaults]
|
||||||
callbacks_enabled = community.general.elastic
|
callbacks_enabled = community.general.elastic
|
||||||
|
@ -76,7 +76,7 @@ examples: |
|
||||||
export ELASTIC_APM_SERVER_URL=<your APM server URL)>
|
export ELASTIC_APM_SERVER_URL=<your APM server URL)>
|
||||||
export ELASTIC_APM_SERVICE_NAME=your_service_name
|
export ELASTIC_APM_SERVICE_NAME=your_service_name
|
||||||
export ELASTIC_APM_API_KEY=your_APM_API_KEY
|
export ELASTIC_APM_API_KEY=your_APM_API_KEY
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import getpass
|
import getpass
|
||||||
import socket
|
import socket
|
||||||
|
|
|
@ -7,42 +7,42 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: jabber
|
name: jabber
|
||||||
type: notification
|
type: notification
|
||||||
short_description: post task events to a jabber server
|
short_description: post task events to a Jabber server
|
||||||
description:
|
description:
|
||||||
- The chatty part of ChatOps with a Hipchat server as a target.
|
- The chatty part of ChatOps with a Hipchat server as a target.
|
||||||
- This callback plugin sends status updates to a HipChat channel during playbook execution.
|
- This callback plugin sends status updates to a HipChat channel during playbook execution.
|
||||||
requirements:
|
requirements:
|
||||||
- xmpp (Python library U(https://github.com/ArchipelProject/xmpppy))
|
- xmpp (Python library U(https://github.com/ArchipelProject/xmpppy))
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: connection info to jabber server
|
description: Connection info to Jabber server.
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name: JABBER_SERV
|
- name: JABBER_SERV
|
||||||
user:
|
user:
|
||||||
description: Jabber user to authenticate as
|
description: Jabber user to authenticate as.
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name: JABBER_USER
|
- name: JABBER_USER
|
||||||
password:
|
password:
|
||||||
description: Password for the user to the jabber server
|
description: Password for the user to the Jabber server.
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name: JABBER_PASS
|
- name: JABBER_PASS
|
||||||
to:
|
to:
|
||||||
description: chat identifier that will receive the message
|
description: Chat identifier that will receive the message.
|
||||||
type: str
|
type: str
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name: JABBER_TO
|
- name: JABBER_TO
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: log_plays
|
name: log_plays
|
||||||
type: notification
|
type: notification
|
||||||
short_description: write playbook output to log file
|
short_description: write playbook output to log file
|
||||||
description:
|
description:
|
||||||
- This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory.
|
- This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelist in configuration
|
- Whitelist in configuration
|
||||||
- A writeable C(/var/log/ansible/hosts) directory by the user executing Ansible on the controller
|
- A writeable C(/var/log/ansible/hosts) directory by the user executing Ansible on the controller
|
||||||
options:
|
options:
|
||||||
log_folder:
|
log_folder:
|
||||||
default: /var/log/ansible/hosts
|
default: /var/log/ansible/hosts
|
||||||
description: The folder where log files will be created.
|
description: The folder where log files will be created.
|
||||||
|
@ -27,7 +27,7 @@ DOCUMENTATION = '''
|
||||||
ini:
|
ini:
|
||||||
- section: callback_log_plays
|
- section: callback_log_plays
|
||||||
key: log_folder
|
key: log_folder
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
|
@ -6,19 +6,19 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: loganalytics
|
name: loganalytics
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Posts task results to Azure Log Analytics
|
short_description: Posts task results to Azure Log Analytics
|
||||||
author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>"
|
author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>"
|
||||||
description:
|
description:
|
||||||
- This callback plugin will post task results in JSON formatted to an Azure Log Analytics workspace.
|
- This callback plugin will post task results in JSON formatted to an Azure Log Analytics workspace.
|
||||||
- Credits to authors of splunk callback plugin.
|
- Credits to authors of splunk callback plugin.
|
||||||
version_added: "2.4.0"
|
version_added: "2.4.0"
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelisting this callback plugin.
|
- Whitelisting this callback plugin.
|
||||||
- An Azure log analytics work space has been established.
|
- An Azure log analytics work space has been established.
|
||||||
options:
|
options:
|
||||||
workspace_id:
|
workspace_id:
|
||||||
description: Workspace ID of the Azure log analytics workspace.
|
description: Workspace ID of the Azure log analytics workspace.
|
||||||
type: str
|
type: str
|
||||||
|
@ -37,10 +37,10 @@ DOCUMENTATION = '''
|
||||||
ini:
|
ini:
|
||||||
- section: callback_loganalytics
|
- section: callback_loganalytics
|
||||||
key: shared_key
|
key: shared_key
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: |
|
examples: |-
|
||||||
Whitelist the plugin in ansible.cfg:
|
Whitelist the plugin in ansible.cfg:
|
||||||
[defaults]
|
[defaults]
|
||||||
callback_whitelist = community.general.loganalytics
|
callback_whitelist = community.general.loganalytics
|
||||||
|
@ -51,7 +51,7 @@ examples: |
|
||||||
[callback_loganalytics]
|
[callback_loganalytics]
|
||||||
workspace_id = 01234567-0123-0123-0123-01234567890a
|
workspace_id = 01234567-0123-0123-0123-01234567890a
|
||||||
shared_key = dZD0kCbKl3ehZG6LHFMuhtE0yHiFCmetzFMc2u+roXIUQuatqU924SsAAAAPemhjbGlAemhjbGktTUJQAQIDBA==
|
shared_key = dZD0kCbKl3ehZG6LHFMuhtE0yHiFCmetzFMc2u+roXIUQuatqU924SsAAAAPemhjbGlAemhjbGktTUJQAQIDBA==
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import hmac
|
import hmac
|
||||||
|
|
|
@ -6,17 +6,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: logdna
|
name: logdna
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends playbook logs to LogDNA
|
short_description: Sends playbook logs to LogDNA
|
||||||
description:
|
description:
|
||||||
- This callback will report logs from playbook actions, tasks, and events to LogDNA (U(https://app.logdna.com)).
|
- This callback will report logs from playbook actions, tasks, and events to LogDNA (U(https://app.logdna.com)).
|
||||||
requirements:
|
requirements:
|
||||||
- LogDNA Python Library (U(https://github.com/logdna/python))
|
- LogDNA Python Library (U(https://github.com/logdna/python))
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
options:
|
options:
|
||||||
conf_key:
|
conf_key:
|
||||||
required: true
|
required: true
|
||||||
description: LogDNA Ingestion Key.
|
description: LogDNA Ingestion Key.
|
||||||
|
@ -55,7 +55,7 @@ DOCUMENTATION = '''
|
||||||
- section: callback_logdna
|
- section: callback_logdna
|
||||||
key: conf_tags
|
key: conf_tags
|
||||||
default: ansible
|
default: ansible
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -6,20 +6,18 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: logentries
|
name: logentries
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends events to Logentries
|
short_description: Sends events to Logentries
|
||||||
description:
|
description:
|
||||||
- This callback plugin will generate JSON objects and send them to Logentries via TCP for auditing/debugging purposes.
|
- This callback plugin will generate JSON objects and send them to Logentries using TCP for auditing/debugging purposes.
|
||||||
- Before 2.4, if you wanted to use an ini configuration, the file must be placed in the same directory as this plugin and named C(logentries.ini).
|
requirements:
|
||||||
- In 2.4 and above you can just put it in the main Ansible configuration file.
|
|
||||||
requirements:
|
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- certifi (Python library)
|
- certifi (Python library)
|
||||||
- flatdict (Python library), if you want to use the O(flatten) option
|
- flatdict (Python library), if you want to use the O(flatten) option
|
||||||
options:
|
options:
|
||||||
api:
|
api:
|
||||||
description: URI to the Logentries API.
|
description: URI to the Logentries API.
|
||||||
type: str
|
type: str
|
||||||
|
@ -75,10 +73,10 @@ DOCUMENTATION = '''
|
||||||
ini:
|
ini:
|
||||||
- section: callback_logentries
|
- section: callback_logentries
|
||||||
key: flatten
|
key: flatten
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: >
|
examples: >-
|
||||||
To enable, add this to your ansible.cfg file in the defaults block
|
To enable, add this to your ansible.cfg file in the defaults block
|
||||||
|
|
||||||
[defaults]
|
[defaults]
|
||||||
|
@ -97,7 +95,7 @@ examples: >
|
||||||
use_tls = true
|
use_tls = true
|
||||||
token = dd21fc88-f00a-43ff-b977-e3a4233c53af
|
token = dd21fc88-f00a-43ff-b977-e3a4233c53af
|
||||||
flatten = false
|
flatten = false
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import socket
|
import socket
|
||||||
|
|
|
@ -7,17 +7,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = r'''
|
DOCUMENTATION = r"""
|
||||||
author: Yevhen Khmelenko (@ujenmr)
|
author: Yevhen Khmelenko (@ujenmr)
|
||||||
name: logstash
|
name: logstash
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends events to Logstash
|
short_description: Sends events to Logstash
|
||||||
description:
|
description:
|
||||||
- This callback will report facts and task events to Logstash U(https://www.elastic.co/products/logstash).
|
- This callback will report facts and task events to Logstash U(https://www.elastic.co/products/logstash).
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- logstash (Python library)
|
- logstash (Python library)
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: Address of the Logstash server.
|
description: Address of the Logstash server.
|
||||||
type: str
|
type: str
|
||||||
|
@ -70,10 +70,9 @@ DOCUMENTATION = r'''
|
||||||
choices:
|
choices:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
|
"""
|
||||||
|
|
||||||
'''
|
EXAMPLES = r"""
|
||||||
|
|
||||||
EXAMPLES = r'''
|
|
||||||
ansible.cfg: |
|
ansible.cfg: |
|
||||||
# Enable Callback plugin
|
# Enable Callback plugin
|
||||||
[defaults]
|
[defaults]
|
||||||
|
@ -85,7 +84,7 @@ ansible.cfg: |
|
||||||
pre_command = git rev-parse HEAD
|
pre_command = git rev-parse HEAD
|
||||||
type = ansible
|
type = ansible
|
||||||
|
|
||||||
11-input-tcp.conf: |
|
11-input-tcp.conf: |-
|
||||||
# Enable Logstash TCP Input
|
# Enable Logstash TCP Input
|
||||||
input {
|
input {
|
||||||
tcp {
|
tcp {
|
||||||
|
@ -95,7 +94,7 @@ ansible.cfg: |
|
||||||
add_field => { "[@metadata][type]" => "ansible" }
|
add_field => { "[@metadata][type]" => "ansible" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: mail
|
name: mail
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends failure events via email
|
short_description: Sends failure events through email
|
||||||
description:
|
description:
|
||||||
- This callback will report failures via email.
|
- This callback will report failures through email.
|
||||||
author:
|
author:
|
||||||
- Dag Wieers (@dagwieers)
|
- Dag Wieers (@dagwieers)
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
options:
|
options:
|
||||||
mta:
|
mta:
|
||||||
description:
|
description:
|
||||||
|
@ -80,8 +80,7 @@ options:
|
||||||
- section: callback_mail
|
- section: callback_mail
|
||||||
key: message_id_domain
|
key: message_id_domain
|
||||||
version_added: 8.2.0
|
version_added: 8.2.0
|
||||||
|
"""
|
||||||
'''
|
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
|
|
@ -7,27 +7,27 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: nrdp
|
name: nrdp
|
||||||
type: notification
|
type: notification
|
||||||
author: "Remi VERCHERE (@rverchere)"
|
author: "Remi VERCHERE (@rverchere)"
|
||||||
short_description: Post task results to a Nagios server through nrdp
|
short_description: Post task results to a Nagios server through nrdp
|
||||||
description:
|
description:
|
||||||
- This callback send playbook result to Nagios.
|
- This callback send playbook result to Nagios.
|
||||||
- Nagios shall use NRDP to receive passive events.
|
- Nagios shall use NRDP to receive passive events.
|
||||||
- The passive check is sent to a dedicated host/service for Ansible.
|
- The passive check is sent to a dedicated host/service for Ansible.
|
||||||
options:
|
options:
|
||||||
url:
|
url:
|
||||||
description: URL of the nrdp server.
|
description: URL of the nrdp server.
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name : NRDP_URL
|
- name: NRDP_URL
|
||||||
ini:
|
ini:
|
||||||
- section: callback_nrdp
|
- section: callback_nrdp
|
||||||
key: url
|
key: url
|
||||||
type: string
|
type: string
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description: Validate the SSL certificate of the nrdp server. (Used for HTTPS URLs.)
|
description: Validate the SSL certificate of the nrdp server. (Used for HTTPS URLs).
|
||||||
env:
|
env:
|
||||||
- name: NRDP_VALIDATE_CERTS
|
- name: NRDP_VALIDATE_CERTS
|
||||||
ini:
|
ini:
|
||||||
|
@ -37,7 +37,7 @@ DOCUMENTATION = '''
|
||||||
key: validate_certs
|
key: validate_certs
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
aliases: [ validate_nrdp_certs ]
|
aliases: [validate_nrdp_certs]
|
||||||
token:
|
token:
|
||||||
description: Token to be allowed to push nrdp events.
|
description: Token to be allowed to push nrdp events.
|
||||||
required: true
|
required: true
|
||||||
|
@ -51,7 +51,7 @@ DOCUMENTATION = '''
|
||||||
description: Hostname where the passive check is linked to.
|
description: Hostname where the passive check is linked to.
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name : NRDP_HOSTNAME
|
- name: NRDP_HOSTNAME
|
||||||
ini:
|
ini:
|
||||||
- section: callback_nrdp
|
- section: callback_nrdp
|
||||||
key: hostname
|
key: hostname
|
||||||
|
@ -60,12 +60,12 @@ DOCUMENTATION = '''
|
||||||
description: Service where the passive check is linked to.
|
description: Service where the passive check is linked to.
|
||||||
required: true
|
required: true
|
||||||
env:
|
env:
|
||||||
- name : NRDP_SERVICENAME
|
- name: NRDP_SERVICENAME
|
||||||
ini:
|
ini:
|
||||||
- section: callback_nrdp
|
- section: callback_nrdp
|
||||||
key: servicename
|
key: servicename
|
||||||
type: string
|
type: string
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from ansible.module_utils.six.moves.urllib.parse import urlencode
|
from ansible.module_utils.six.moves.urllib.parse import urlencode
|
||||||
from ansible.module_utils.common.text.converters import to_bytes
|
from ansible.module_utils.common.text.converters import to_bytes
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: 'null'
|
name: 'null'
|
||||||
type: stdout
|
type: stdout
|
||||||
requirements:
|
requirements:
|
||||||
- set as main display callback
|
- set as main display callback
|
||||||
short_description: Don't display stuff to screen
|
short_description: do not display stuff to screen
|
||||||
description:
|
description:
|
||||||
- This callback prevents outputting events to screen.
|
- This callback prevents outputting events to screen.
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from ansible.plugins.callback import CallbackBase
|
from ansible.plugins.callback import CallbackBase
|
||||||
|
|
||||||
|
|
|
@ -6,18 +6,19 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com>
|
author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com>
|
||||||
name: opentelemetry
|
name: opentelemetry
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Create distributed traces with OpenTelemetry
|
short_description: Create distributed traces with OpenTelemetry
|
||||||
version_added: 3.7.0
|
version_added: 3.7.0
|
||||||
description:
|
description:
|
||||||
- This callback creates distributed traces for each Ansible task with OpenTelemetry.
|
- This callback creates distributed traces for each Ansible task with OpenTelemetry.
|
||||||
- You can configure the OpenTelemetry exporter and SDK with environment variables.
|
- You can configure the OpenTelemetry exporter and SDK with environment variables.
|
||||||
- See U(https://opentelemetry-python.readthedocs.io/en/latest/exporter/otlp/otlp.html).
|
- See U(https://opentelemetry-python.readthedocs.io/en/latest/exporter/otlp/otlp.html).
|
||||||
- See U(https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#opentelemetry-sdk-environment-variables).
|
- See
|
||||||
options:
|
U(https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#opentelemetry-sdk-environment-variables).
|
||||||
|
options:
|
||||||
hide_task_arguments:
|
hide_task_arguments:
|
||||||
default: false
|
default: false
|
||||||
type: bool
|
type: bool
|
||||||
|
@ -33,10 +34,10 @@ DOCUMENTATION = '''
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- Whether to enable this callback only if the given environment variable exists and it is set to V(true).
|
- Whether to enable this callback only if the given environment variable exists and it is set to V(true).
|
||||||
- This is handy when you use Configuration as Code and want to send distributed traces
|
- This is handy when you use Configuration as Code and want to send distributed traces if running in the CI rather when
|
||||||
if running in the CI rather when running Ansible locally.
|
running Ansible locally.
|
||||||
- For such, it evaluates the given O(enable_from_environment) value as environment variable
|
- For such, it evaluates the given O(enable_from_environment) value as environment variable and if set to true this
|
||||||
and if set to true this plugin will be enabled.
|
plugin will be enabled.
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT
|
- name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT
|
||||||
ini:
|
ini:
|
||||||
|
@ -87,7 +88,7 @@ DOCUMENTATION = '''
|
||||||
store_spans_in_file:
|
store_spans_in_file:
|
||||||
type: str
|
type: str
|
||||||
description:
|
description:
|
||||||
- It stores the exported spans in the given file
|
- It stores the exported spans in the given file.
|
||||||
env:
|
env:
|
||||||
- name: ANSIBLE_OPENTELEMETRY_STORE_SPANS_IN_FILE
|
- name: ANSIBLE_OPENTELEMETRY_STORE_SPANS_IN_FILE
|
||||||
ini:
|
ini:
|
||||||
|
@ -110,15 +111,15 @@ DOCUMENTATION = '''
|
||||||
- section: callback_opentelemetry
|
- section: callback_opentelemetry
|
||||||
key: otel_exporter_otlp_traces_protocol
|
key: otel_exporter_otlp_traces_protocol
|
||||||
version_added: 9.0.0
|
version_added: 9.0.0
|
||||||
requirements:
|
requirements:
|
||||||
- opentelemetry-api (Python library)
|
- opentelemetry-api (Python library)
|
||||||
- opentelemetry-exporter-otlp (Python library)
|
- opentelemetry-exporter-otlp (Python library)
|
||||||
- opentelemetry-sdk (Python library)
|
- opentelemetry-sdk (Python library)
|
||||||
'''
|
"""
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: |
|
examples: |-
|
||||||
Enable the plugin in ansible.cfg:
|
Enable the plugin in ansible.cfg:
|
||||||
[defaults]
|
[defaults]
|
||||||
callbacks_enabled = community.general.opentelemetry
|
callbacks_enabled = community.general.opentelemetry
|
||||||
|
@ -130,7 +131,7 @@ examples: |
|
||||||
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer your_otel_token"
|
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer your_otel_token"
|
||||||
export OTEL_SERVICE_NAME=your_service_name
|
export OTEL_SERVICE_NAME=your_service_name
|
||||||
export ANSIBLE_OPENTELEMETRY_ENABLED=true
|
export ANSIBLE_OPENTELEMETRY_ENABLED=true
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import getpass
|
import getpass
|
||||||
import json
|
import json
|
||||||
|
|
|
@ -8,17 +8,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: say
|
name: say
|
||||||
type: notification
|
type: notification
|
||||||
requirements:
|
requirements:
|
||||||
- whitelisting in configuration
|
- whitelisting in configuration
|
||||||
- the C(/usr/bin/say) command line program (standard on macOS) or C(espeak) command line program
|
- the C(/usr/bin/say) command line program (standard on macOS) or C(espeak) command line program
|
||||||
short_description: notify using software speech synthesizer
|
short_description: notify using software speech synthesizer
|
||||||
description:
|
description:
|
||||||
- This plugin will use the C(say) or C(espeak) program to "speak" about play events.
|
- This plugin will use the C(say) or C(espeak) program to "speak" about play events.
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import platform
|
import platform
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
|
@ -7,19 +7,19 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: selective
|
name: selective
|
||||||
type: stdout
|
type: stdout
|
||||||
requirements:
|
requirements:
|
||||||
- set as main display callback
|
- set as main display callback
|
||||||
short_description: only print certain tasks
|
short_description: only print certain tasks
|
||||||
description:
|
description:
|
||||||
- This callback only prints tasks that have been tagged with C(print_action) or that have failed.
|
- This callback only prints tasks that have been tagged with C(print_action) or that have failed. This allows operators
|
||||||
This allows operators to focus on the tasks that provide value only.
|
to focus on the tasks that provide value only.
|
||||||
- Tasks that are not printed are placed with a C(.).
|
- Tasks that are not printed are placed with a C(.).
|
||||||
- If you increase verbosity all tasks are printed.
|
- If you increase verbosity all tasks are printed.
|
||||||
options:
|
options:
|
||||||
nocolor:
|
nocolor:
|
||||||
default: false
|
default: false
|
||||||
description: This setting allows suppressing colorizing output.
|
description: This setting allows suppressing colorizing output.
|
||||||
|
@ -30,11 +30,11 @@ DOCUMENTATION = '''
|
||||||
- section: defaults
|
- section: defaults
|
||||||
key: nocolor
|
key: nocolor
|
||||||
type: boolean
|
type: boolean
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = """
|
EXAMPLES = r"""
|
||||||
- ansible.builtin.debug: msg="This will not be printed"
|
- ansible.builtin.debug: msg="This will not be printed"
|
||||||
- ansible.builtin.debug: msg="But this will"
|
- ansible.builtin.debug: msg="But this will"
|
||||||
tags: [print_action]
|
tags: [print_action]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
|
@ -8,17 +8,17 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: slack
|
name: slack
|
||||||
type: notification
|
type: notification
|
||||||
requirements:
|
requirements:
|
||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
- prettytable (python library)
|
- prettytable (python library)
|
||||||
short_description: Sends play events to a Slack channel
|
short_description: Sends play events to a Slack channel
|
||||||
description:
|
description:
|
||||||
- This is an ansible callback plugin that sends status updates to a Slack channel during playbook execution.
|
- This is an ansible callback plugin that sends status updates to a Slack channel during playbook execution.
|
||||||
options:
|
options:
|
||||||
webhook_url:
|
webhook_url:
|
||||||
required: true
|
required: true
|
||||||
description: Slack Webhook URL.
|
description: Slack Webhook URL.
|
||||||
|
@ -55,7 +55,7 @@ DOCUMENTATION = '''
|
||||||
key: validate_certs
|
key: validate_certs
|
||||||
default: true
|
default: true
|
||||||
type: bool
|
type: bool
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
|
|
@ -6,20 +6,20 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: splunk
|
name: splunk
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends task result events to Splunk HTTP Event Collector
|
short_description: Sends task result events to Splunk HTTP Event Collector
|
||||||
author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>"
|
author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>"
|
||||||
description:
|
description:
|
||||||
- This callback plugin will send task results as JSON formatted events to a Splunk HTTP collector.
|
- This callback plugin will send task results as JSON formatted events to a Splunk HTTP collector.
|
||||||
- The companion Splunk Monitoring & Diagnostics App is available here U(https://splunkbase.splunk.com/app/4023/).
|
- The companion Splunk Monitoring & Diagnostics App is available here U(https://splunkbase.splunk.com/app/4023/).
|
||||||
- Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based.
|
- Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelisting this callback plugin
|
- Whitelisting this callback plugin
|
||||||
- 'Create a HTTP Event Collector in Splunk'
|
- 'Create a HTTP Event Collector in Splunk'
|
||||||
- 'Define the URL and token in C(ansible.cfg)'
|
- 'Define the URL and token in C(ansible.cfg)'
|
||||||
options:
|
options:
|
||||||
url:
|
url:
|
||||||
description: URL to the Splunk HTTP collector source.
|
description: URL to the Splunk HTTP collector source.
|
||||||
type: str
|
type: str
|
||||||
|
@ -37,9 +37,9 @@ DOCUMENTATION = '''
|
||||||
- section: callback_splunk
|
- section: callback_splunk
|
||||||
key: authtoken
|
key: authtoken
|
||||||
validate_certs:
|
validate_certs:
|
||||||
description: Whether to validate certificates for connections to HEC. It is not recommended to set to
|
description: Whether to validate certificates for connections to HEC. It is not recommended to set to V(false) except
|
||||||
V(false) except when you are sure that nobody can intercept the connection
|
when you are sure that nobody can intercept the connection between this plugin and HEC, as setting it to V(false) allows
|
||||||
between this plugin and HEC, as setting it to V(false) allows man-in-the-middle attacks!
|
man-in-the-middle attacks!
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_VALIDATE_CERTS
|
- name: SPLUNK_VALIDATE_CERTS
|
||||||
ini:
|
ini:
|
||||||
|
@ -49,8 +49,8 @@ DOCUMENTATION = '''
|
||||||
default: true
|
default: true
|
||||||
version_added: '1.0.0'
|
version_added: '1.0.0'
|
||||||
include_milliseconds:
|
include_milliseconds:
|
||||||
description: Whether to include milliseconds as part of the generated timestamp field in the event
|
description: Whether to include milliseconds as part of the generated timestamp field in the event sent to the Splunk
|
||||||
sent to the Splunk HTTP collector.
|
HTTP collector.
|
||||||
env:
|
env:
|
||||||
- name: SPLUNK_INCLUDE_MILLISECONDS
|
- name: SPLUNK_INCLUDE_MILLISECONDS
|
||||||
ini:
|
ini:
|
||||||
|
@ -69,10 +69,10 @@ DOCUMENTATION = '''
|
||||||
key: batch
|
key: batch
|
||||||
type: str
|
type: str
|
||||||
version_added: 3.3.0
|
version_added: 3.3.0
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: >
|
examples: >-
|
||||||
To enable, add this to your ansible.cfg file in the defaults block
|
To enable, add this to your ansible.cfg file in the defaults block
|
||||||
[defaults]
|
[defaults]
|
||||||
callback_whitelist = community.general.splunk
|
callback_whitelist = community.general.splunk
|
||||||
|
@ -83,7 +83,7 @@ examples: >
|
||||||
[callback_splunk]
|
[callback_splunk]
|
||||||
url = http://mysplunkinstance.datapaas.io:8088/services/collector/event
|
url = http://mysplunkinstance.datapaas.io:8088/services/collector/event
|
||||||
authtoken = f23blad6-5965-4537-bf69-5b5a545blabla88
|
authtoken = f23blad6-5965-4537-bf69-5b5a545blabla88
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = r'''
|
DOCUMENTATION = r"""
|
||||||
name: sumologic
|
name: sumologic
|
||||||
type: notification
|
type: notification
|
||||||
short_description: Sends task result events to Sumologic
|
short_description: Sends task result events to Sumologic
|
||||||
|
@ -15,8 +15,8 @@ description:
|
||||||
- This callback plugin will send task results as JSON formatted events to a Sumologic HTTP collector source.
|
- This callback plugin will send task results as JSON formatted events to a Sumologic HTTP collector source.
|
||||||
requirements:
|
requirements:
|
||||||
- Whitelisting this callback plugin
|
- Whitelisting this callback plugin
|
||||||
- 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of V(yyyy-MM-dd HH:mm:ss ZZZZ) and a custom timestamp locator
|
- 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of V(yyyy-MM-dd HH:mm:ss ZZZZ) and
|
||||||
of V("timestamp": "(.*\)")'
|
a custom timestamp locator of V("timestamp": "(.*\)")'
|
||||||
options:
|
options:
|
||||||
url:
|
url:
|
||||||
description: URL to the Sumologic HTTP collector source.
|
description: URL to the Sumologic HTTP collector source.
|
||||||
|
@ -26,10 +26,10 @@ options:
|
||||||
ini:
|
ini:
|
||||||
- section: callback_sumologic
|
- section: callback_sumologic
|
||||||
key: url
|
key: url
|
||||||
'''
|
"""
|
||||||
|
|
||||||
EXAMPLES = '''
|
EXAMPLES = r"""
|
||||||
examples: |
|
examples: |-
|
||||||
To enable, add this to your ansible.cfg file in the defaults block
|
To enable, add this to your ansible.cfg file in the defaults block
|
||||||
[defaults]
|
[defaults]
|
||||||
callback_whitelist = community.general.sumologic
|
callback_whitelist = community.general.sumologic
|
||||||
|
@ -40,7 +40,7 @@ examples: |
|
||||||
Set the ansible.cfg variable in the callback_sumologic block
|
Set the ansible.cfg variable in the callback_sumologic block
|
||||||
[callback_sumologic]
|
[callback_sumologic]
|
||||||
url = https://endpoint1.collection.us2.sumologic.com/receiver/v1/http/R8moSv1d8EW9LAUFZJ6dbxCFxwLH6kfCdcBfddlfxCbLuL-BN5twcTpMk__pYy_cDmp==
|
url = https://endpoint1.collection.us2.sumologic.com/receiver/v1/http/R8moSv1d8EW9LAUFZJ6dbxCFxwLH6kfCdcBfddlfxCbLuL-BN5twcTpMk__pYy_cDmp==
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
|
|
|
@ -7,16 +7,16 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: syslog_json
|
name: syslog_json
|
||||||
type: notification
|
type: notification
|
||||||
requirements:
|
requirements:
|
||||||
- whitelist in configuration
|
- whitelist in configuration
|
||||||
short_description: sends JSON events to syslog
|
short_description: sends JSON events to syslog
|
||||||
description:
|
description:
|
||||||
- This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format.
|
- This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format.
|
||||||
options:
|
options:
|
||||||
server:
|
server:
|
||||||
description: Syslog server that will receive the event.
|
description: Syslog server that will receive the event.
|
||||||
type: str
|
type: str
|
||||||
|
@ -54,7 +54,7 @@ DOCUMENTATION = '''
|
||||||
- section: callback_syslog_json
|
- section: callback_syslog_json
|
||||||
key: syslog_setup
|
key: syslog_setup
|
||||||
version_added: 4.5.0
|
version_added: 4.5.0
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
|
|
|
@ -10,18 +10,18 @@ from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = r"""
|
DOCUMENTATION = r"""
|
||||||
name: timestamp
|
name: timestamp
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: Adds simple timestamp for each header
|
short_description: Adds simple timestamp for each header
|
||||||
version_added: 9.0.0
|
version_added: 9.0.0
|
||||||
description:
|
description:
|
||||||
- This callback adds simple timestamp for each header.
|
- This callback adds simple timestamp for each header.
|
||||||
author: kurokobo (@kurokobo)
|
author: kurokobo (@kurokobo)
|
||||||
options:
|
options:
|
||||||
timezone:
|
timezone:
|
||||||
description:
|
description:
|
||||||
- Timezone to use for the timestamp in IANA time zone format.
|
- Timezone to use for the timestamp in IANA time zone format.
|
||||||
- For example C(America/New_York), C(Asia/Tokyo)). Ignored on Python < 3.9.
|
- For example V(America/New_York), V(Asia/Tokyo)). Ignored on Python < 3.9.
|
||||||
ini:
|
ini:
|
||||||
- section: callback_timestamp
|
- section: callback_timestamp
|
||||||
key: timezone
|
key: timezone
|
||||||
|
@ -31,8 +31,7 @@ DOCUMENTATION = r"""
|
||||||
format_string:
|
format_string:
|
||||||
description:
|
description:
|
||||||
- Format of the timestamp shown to user in 1989 C standard format.
|
- Format of the timestamp shown to user in 1989 C standard format.
|
||||||
- >
|
- Refer to L(the Python documentation,https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes)
|
||||||
Refer to L(the Python documentation,https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes)
|
|
||||||
for the available format codes.
|
for the available format codes.
|
||||||
ini:
|
ini:
|
||||||
- section: callback_timestamp
|
- section: callback_timestamp
|
||||||
|
@ -41,13 +40,13 @@ DOCUMENTATION = r"""
|
||||||
- name: ANSIBLE_CALLBACK_TIMESTAMP_FORMAT_STRING
|
- name: ANSIBLE_CALLBACK_TIMESTAMP_FORMAT_STRING
|
||||||
default: "%H:%M:%S"
|
default: "%H:%M:%S"
|
||||||
type: string
|
type: string
|
||||||
seealso:
|
seealso:
|
||||||
- plugin: ansible.posix.profile_tasks
|
- plugin: ansible.posix.profile_tasks
|
||||||
plugin_type: callback
|
plugin_type: callback
|
||||||
description: >
|
description: >-
|
||||||
You can use P(ansible.posix.profile_tasks#callback) callback plugin to time individual tasks and overall execution time
|
You can use P(ansible.posix.profile_tasks#callback) callback plugin to time individual tasks and overall execution time
|
||||||
with detailed timestamps.
|
with detailed timestamps.
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- ansible.builtin.default_callback
|
- ansible.builtin.default_callback
|
||||||
- ansible.builtin.result_format_callback
|
- ansible.builtin.result_format_callback
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -8,18 +8,18 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
name: unixy
|
name: unixy
|
||||||
type: stdout
|
type: stdout
|
||||||
author: Al Bowles (@akatch)
|
author: Al Bowles (@akatch)
|
||||||
short_description: condensed Ansible output
|
short_description: condensed Ansible output
|
||||||
description:
|
description:
|
||||||
- Consolidated Ansible output in the style of LINUX/UNIX startup logs.
|
- Consolidated Ansible output in the style of LINUX/UNIX startup logs.
|
||||||
extends_documentation_fragment:
|
extends_documentation_fragment:
|
||||||
- default_callback
|
- default_callback
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout in configuration
|
- set as stdout in configuration
|
||||||
'''
|
"""
|
||||||
|
|
||||||
from os.path import basename
|
from os.path import basename
|
||||||
from ansible import constants as C
|
from ansible import constants as C
|
||||||
|
|
|
@ -7,29 +7,27 @@
|
||||||
from __future__ import (absolute_import, division, print_function)
|
from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = r"""
|
||||||
author: Unknown (!UNKNOWN)
|
author: Unknown (!UNKNOWN)
|
||||||
name: yaml
|
name: yaml
|
||||||
type: stdout
|
type: stdout
|
||||||
short_description: YAML-ized Ansible screen output
|
short_description: YAML-ized Ansible screen output
|
||||||
description:
|
description:
|
||||||
- Ansible output that can be quite a bit easier to read than the
|
- Ansible output that can be quite a bit easier to read than the default JSON formatting.
|
||||||
default JSON formatting.
|
extends_documentation_fragment:
|
||||||
extends_documentation_fragment:
|
|
||||||
- default_callback
|
- default_callback
|
||||||
requirements:
|
requirements:
|
||||||
- set as stdout in configuration
|
- set as stdout in configuration
|
||||||
seealso:
|
seealso:
|
||||||
- plugin: ansible.builtin.default
|
- plugin: ansible.builtin.default
|
||||||
plugin_type: callback
|
plugin_type: callback
|
||||||
description: >
|
description: >-
|
||||||
There is a parameter O(ansible.builtin.default#callback:result_format) in P(ansible.builtin.default#callback)
|
There is a parameter O(ansible.builtin.default#callback:result_format) in P(ansible.builtin.default#callback) that allows
|
||||||
that allows you to change the output format to YAML.
|
you to change the output format to YAML.
|
||||||
notes:
|
notes:
|
||||||
- >
|
- With ansible-core 2.13 or newer, you can instead specify V(yaml) for the parameter O(ansible.builtin.default#callback:result_format)
|
||||||
With ansible-core 2.13 or newer, you can instead specify V(yaml) for the parameter O(ansible.builtin.default#callback:result_format)
|
|
||||||
in P(ansible.builtin.default#callback).
|
in P(ansible.builtin.default#callback).
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
import json
|
import json
|
||||||
|
|
Loading…
Reference in New Issue