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
Alexei Znamensky 2024-12-30 08:31:59 +13:00 committed by GitHub
parent 29e3226718
commit d887930e49
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 1478 additions and 1489 deletions

View File

@ -7,7 +7,7 @@
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
@ -16,11 +16,12 @@ DOCUMENTATION = '''
- 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
recap at the end using cgroups.
notes: notes:
- Requires ansible to be run from within a cgroup, such as with C(cgexec -g memory:ansible_profile ansible-playbook ...). - Requires ansible to be run from within a C(cgroup), such as with C(cgexec -g memory:ansible_profile ansible-playbook ...).
- This cgroup should only be used by ansible to get accurate results. - This C(cgroup) should only be used by Ansible to get accurate results.
- 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). - 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: options:
max_mem_file: max_mem_file:
required: true required: true
@ -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

View File

@ -7,7 +7,7 @@
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
@ -17,7 +17,7 @@ DOCUMENTATION = '''
- 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

View File

@ -9,7 +9,7 @@
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
@ -22,7 +22,7 @@ DOCUMENTATION = '''
- 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

View File

@ -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

View File

@ -7,7 +7,7 @@
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
@ -19,7 +19,7 @@ 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:

View File

@ -7,7 +7,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: diy name: diy
type: stdout type: stdout
short_description: Customize the output short_description: Customize the output
@ -19,29 +19,24 @@ DOCUMENTATION = r'''
- 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),
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: 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.
@ -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

View File

@ -5,7 +5,7 @@
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
@ -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:
@ -63,11 +63,11 @@ DOCUMENTATION = '''
- 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

View File

@ -7,11 +7,11 @@
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.
@ -19,30 +19,30 @@ DOCUMENTATION = '''
- 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

View File

@ -7,7 +7,7 @@
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
@ -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

View File

@ -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 = ''' 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
@ -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

View File

@ -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 = ''' DOCUMENTATION = r"""
author: Unknown (!UNKNOWN) author: Unknown (!UNKNOWN)
name: logdna name: logdna
type: notification type: notification
@ -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

View File

@ -6,15 +6,13 @@
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).
- In 2.4 and above you can just put it in the main Ansible configuration file.
requirements: requirements:
- whitelisting in configuration - whitelisting in configuration
- certifi (Python library) - certifi (Python library)
@ -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

View File

@ -7,7 +7,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"""
author: Yevhen Khmelenko (@ujenmr) author: Yevhen Khmelenko (@ujenmr)
name: logstash name: logstash
type: notification type: notification
@ -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

View File

@ -7,12 +7,12 @@
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:
@ -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

View File

@ -7,7 +7,7 @@
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)"
@ -27,7 +27,7 @@ DOCUMENTATION = '''
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:
@ -65,7 +65,7 @@ DOCUMENTATION = '''
- 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

View File

@ -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

View File

@ -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 = ''' DOCUMENTATION = r"""
author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com> author: Victor Martinez (@v1v) <VictorMartinezRubio@gmail.com>
name: opentelemetry name: opentelemetry
type: notification type: notification
@ -16,7 +16,8 @@ DOCUMENTATION = '''
- 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
U(https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#opentelemetry-sdk-environment-variables).
options: options:
hide_task_arguments: hide_task_arguments:
default: false default: false
@ -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:
@ -114,11 +115,11 @@ DOCUMENTATION = '''
- 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

View File

@ -8,7 +8,7 @@
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
@ -18,7 +18,7 @@ DOCUMENTATION = '''
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

View File

@ -7,7 +7,7 @@
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
@ -15,8 +15,8 @@ DOCUMENTATION = '''
- 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:
@ -30,9 +30,9 @@ 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]

View File

@ -8,7 +8,7 @@
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
@ -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

View File

@ -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 = ''' 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
@ -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

View File

@ -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

View File

@ -7,7 +7,7 @@
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
@ -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

View File

@ -21,7 +21,7 @@ DOCUMENTATION = r"""
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
@ -44,7 +43,7 @@ DOCUMENTATION = r"""
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:

View File

@ -8,7 +8,7 @@
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)
@ -19,7 +19,7 @@ DOCUMENTATION = '''
- 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

View File

@ -7,14 +7,13 @@
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:
@ -22,14 +21,13 @@ DOCUMENTATION = '''
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