ansible.plugins.callback package

class ansible.plugins.callback.CallbackBase(display=None)[source]

Bases: object

This is a base ansible callback class that does nothing. New callbacks should use this class as a base and override any callback methods they wish to execute custom actions.

set_play_context(play_context)[source]
on_any(*args, **kwargs)[source]
runner_on_failed(host, res, ignore_errors=False)[source]
runner_on_ok(host, res)[source]
runner_on_skipped(host, item=None)[source]
runner_on_unreachable(host, res)[source]
runner_on_no_hosts()[source]
runner_on_async_poll(host, res, jid, clock)[source]
runner_on_async_ok(host, res, jid)[source]
runner_on_async_failed(host, res, jid)[source]
playbook_on_start()[source]
playbook_on_notify(host, handler)[source]
playbook_on_no_hosts_matched()[source]
playbook_on_no_hosts_remaining()[source]
playbook_on_task_start(name, is_conditional)[source]
playbook_on_vars_prompt(varname, private=True, prompt=None, encrypt=None, confirm=False, salt_size=None, salt=None, default=None)[source]
playbook_on_setup()[source]
playbook_on_import_for_host(host, imported_file)[source]
playbook_on_not_import_for_host(host, missing_file)[source]
playbook_on_play_start(name)[source]
playbook_on_stats(stats)[source]
on_file_diff(host, diff)[source]
v2_on_any(*args, **kwargs)[source]
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_skipped(result)[source]
v2_runner_on_unreachable(result)[source]
v2_runner_on_no_hosts(task)[source]
v2_runner_on_async_poll(result)[source]
v2_runner_on_async_ok(result)[source]
v2_runner_on_async_failed(result)[source]
v2_runner_on_file_diff(result, diff)[source]
v2_playbook_on_start(playbook)[source]
v2_playbook_on_notify(result, handler)[source]
v2_playbook_on_no_hosts_matched()[source]
v2_playbook_on_no_hosts_remaining()[source]
v2_playbook_on_task_start(task, is_conditional)[source]
v2_playbook_on_cleanup_task_start(task)[source]
v2_playbook_on_handler_task_start(task)[source]
v2_playbook_on_vars_prompt(varname, private=True, prompt=None, encrypt=None, confirm=False, salt_size=None, salt=None, default=None)[source]
v2_playbook_on_setup()[source]
v2_playbook_on_import_for_host(result, imported_file)[source]
v2_playbook_on_not_import_for_host(result, missing_file)[source]
v2_playbook_on_play_start(play)[source]
v2_playbook_on_stats(stats)[source]
v2_on_file_diff(result)[source]
v2_playbook_on_include(included_file)[source]
v2_runner_item_on_ok(result)[source]
v2_runner_item_on_failed(result)[source]
v2_runner_item_on_skipped(result)[source]
v2_runner_retry(result)[source]

Submodules

ansible.plugins.callback.actionable module

class ansible.plugins.callback.actionable.CallbackModule[source]

Bases: ansible.plugins.callback.default.CallbackModule

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'actionable'
v2_playbook_on_handler_task_start(task)[source]
v2_playbook_on_task_start(task, is_conditional)[source]
display_task_banner()[source]
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_unreachable(result)[source]
v2_runner_on_skipped(result)[source]
v2_playbook_on_include(included_file)[source]
v2_runner_item_on_ok(result)[source]
v2_runner_item_on_skipped(result)[source]
v2_runner_item_on_failed(result)[source]

ansible.plugins.callback.context_demo module

class ansible.plugins.callback.context_demo.CallbackModule(*args, **kwargs)[source]

Bases: ansible.plugins.callback.CallbackBase

This is a very trivial example of how any callback function can get at play and task objects. play will be ‘None’ for runner invocations, and task will be None for ‘setup’ invocations.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'context_demo'
CALLBACK_NEEDS_WHITELIST = True
v2_on_any(*args, **kwargs)[source]
v2_playbook_on_play_start(play)[source]
v2_playbook_on_task_start(task, is_conditional)[source]

ansible.plugins.callback.default module

class ansible.plugins.callback.default.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

This is the default callback interface, which simply prints messages to stdout when new callback events are received.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'default'
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_skipped(result)[source]
v2_runner_on_unreachable(result)[source]
v2_playbook_on_no_hosts_matched()[source]
v2_playbook_on_no_hosts_remaining()[source]
v2_playbook_on_task_start(task, is_conditional)[source]
v2_playbook_on_cleanup_task_start(task)[source]
v2_playbook_on_handler_task_start(task)[source]
v2_playbook_on_play_start(play)[source]
v2_on_file_diff(result)[source]
v2_runner_item_on_ok(result)[source]
v2_runner_item_on_failed(result)[source]
v2_runner_item_on_skipped(result)[source]
v2_playbook_on_include(included_file)[source]
v2_playbook_on_stats(stats)[source]
v2_playbook_on_start(playbook)[source]
v2_runner_retry(result)[source]

ansible.plugins.callback.hipchat module

class ansible.plugins.callback.hipchat.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

This is an example ansible callback plugin that sends status updates to a HipChat channel during playbook execution.

This plugin makes use of the following environment variables:
HIPCHAT_TOKEN (required): HipChat API token HIPCHAT_ROOM (optional): HipChat room to post in. Default: ansible HIPCHAT_FROM (optional): Name to post as. Default: ansible HIPCHAT_NOTIFY (optional): Add notify flag to important messages (“true” or “false”). Default: true
Requires:
prettytable
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'hipchat'
CALLBACK_NEEDS_WHITELIST = True
send_msg(msg, msg_format='text', color='yellow', notify=False)[source]

Method for sending a message to HipChat

v2_playbook_on_play_start(play)[source]

Display Playbook and play start messages

playbook_on_stats(stats)[source]

Display info about playbook statistics

ansible.plugins.callback.json module

class ansible.plugins.callback.json.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'json'
v2_playbook_on_play_start(play)[source]
v2_playbook_on_task_start(task, is_conditional)[source]
v2_runner_on_ok(result, **kwargs)[source]
v2_playbook_on_stats(stats)[source]

Display info about playbook statistics

v2_runner_on_failed(result, **kwargs)
v2_runner_on_unreachable(result, **kwargs)
v2_runner_on_skipped(result, **kwargs)

ansible.plugins.callback.junit module

class ansible.plugins.callback.junit.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

This callback writes playbook output to a JUnit formatted XML file.

Tasks show up in the report as follows:
‘ok’: pass ‘failed’ with ‘EXPECTED FAILURE’ in the task name: pass ‘failed’ due to an exception: error ‘failed’ for other reasons: failure ‘skipped’: skipped
This plugin makes use of the following environment variables:
JUNIT_OUTPUT_DIR (optional): Directory to write XML files to.
Default: ~/.ansible.log
Requires:
junit_xml
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'junit'
CALLBACK_NEEDS_WHITELIST = True
v2_playbook_on_start(playbook)[source]
v2_playbook_on_play_start(play)[source]
v2_runner_on_no_hosts(task)[source]
v2_playbook_on_task_start(task, is_conditional)[source]
v2_playbook_on_cleanup_task_start(task)[source]
v2_playbook_on_handler_task_start(task)[source]
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_skipped(result)[source]
v2_playbook_on_include(included_file)[source]
v2_playbook_on_stats(stats)[source]
class ansible.plugins.callback.junit.TaskData(uuid, name, path, play)[source]

Bases: object

Data about an individual task.

add_host(host)[source]
class ansible.plugins.callback.junit.HostData(uuid, name, status, result)[source]

Bases: object

Data about an individual host.

ansible.plugins.callback.log_plays module

class ansible.plugins.callback.log_plays.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

logs playbook results, per host, in /var/log/ansible/hosts

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'log_plays'
CALLBACK_NEEDS_WHITELIST = True
TIME_FORMAT = '%b %d %Y %H:%M:%S'
MSG_FORMAT = '%(now)s - %(category)s - %(data)s\n\n'
log(host, category, data)[source]
runner_on_failed(host, res, ignore_errors=False)[source]
runner_on_ok(host, res)[source]
runner_on_skipped(host, item=None)[source]
runner_on_unreachable(host, res)[source]
runner_on_async_failed(host, res, jid)[source]
playbook_on_import_for_host(host, imported_file)[source]
playbook_on_not_import_for_host(host, missing_file)[source]

ansible.plugins.callback.logentries module

  1. 2015, Logentries.com, Jimmy Tang <jimmy.tang@logentries.com>

# This file is part of Ansible # # Ansible is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Ansible is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Ansible. If not, see <http://www.gnu.org/licenses/>.

This callback plugin will generate json objects to be sent to logentries for auditing/debugging purposes.

Todo:

  • Better formatting of output before sending out to logentries data/api nodes.

To use:

Add this to your ansible.cfg file in the defaults block

[defaults] callback_plugins = ./callback_plugins callback_stdout = logentries callback_whitelist = logentries

Copy the callback plugin into the callback_plugins directory

Either set the environment variables

export LOGENTRIES_API=data.logentries.com export LOGENTRIES_PORT=10000 export LOGENTRIES_ANSIBLE_TOKEN=dd21fc88-f00a-43ff-b977-e3a4233c53af

Or create a logentries.ini config file that sites next to the plugin with the following contents

[logentries] api = data.logentries.com port = 10000 tls_port = 20000 use_tls = no token = dd21fc88-f00a-43ff-b977-e3a4233c53af flatten = False
ansible.plugins.callback.logentries.is_unicode(ch)[source]
ansible.plugins.callback.logentries.create_unicode(ch)[source]
class ansible.plugins.callback.logentries.PlainTextSocketAppender(verbose=True, LE_API='data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)[source]

Bases: object

open_connection()[source]
reopen_connection()[source]
close_connection()[source]
put(data)[source]
class ansible.plugins.callback.logentries.TLSSocketAppender(verbose=True, LE_API='data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)[source]

Bases: ansible.plugins.callback.logentries.PlainTextSocketAppender

open_connection()[source]
ansible.plugins.callback.logentries.SocketAppender

alias of TLSSocketAppender

class ansible.plugins.callback.logentries.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'logentries'
CALLBACK_NEEDS_WHITELIST = True
emit_formatted(record)[source]
emit(record)[source]
runner_on_ok(host, res)[source]
runner_on_failed(host, res, ignore_errors=False)[source]
runner_on_skipped(host, item=None)[source]
runner_on_unreachable(host, res)[source]
runner_on_async_failed(host, res, jid)[source]
v2_playbook_on_play_start(play)[source]
playbook_on_stats(stats)[source]

close connection

ansible.plugins.callback.mail module

ansible.plugins.callback.mail.mail(subject='Ansible error mail', sender=None, to=None, cc=None, bcc=None, body=None, smtphost=None)[source]
class ansible.plugins.callback.mail.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

This Ansible callback plugin mails errors to interested parties.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'mail'
CALLBACK_NEEDS_WHITELIST = True
v2_runner_on_failed(res, ignore_errors=False)[source]
v2_runner_on_unreachable(result)[source]
v2_runner_on_async_failed(result)[source]

ansible.plugins.callback.minimal module

class ansible.plugins.callback.minimal.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

This is the default callback interface, which simply prints messages to stdout when new callback events are received.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'minimal'
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_skipped(result)[source]
v2_runner_on_unreachable(result)[source]
v2_on_file_diff(result)[source]

ansible.plugins.callback.oneline module

class ansible.plugins.callback.oneline.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

This is the default callback interface, which simply prints messages to stdout when new callback events are received.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'oneline'
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_unreachable(result)[source]
v2_runner_on_skipped(result)[source]

ansible.plugins.callback.osx_say module

class ansible.plugins.callback.osx_say.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

makes Ansible much more exciting on OS X.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'osx_say'
CALLBACK_NEEDS_WHITELIST = True
say(msg, voice)[source]
runner_on_failed(host, res, ignore_errors=False)[source]
runner_on_ok(host, res)[source]
runner_on_skipped(host, item=None)[source]
runner_on_unreachable(host, res)[source]
runner_on_async_ok(host, res, jid)[source]
runner_on_async_failed(host, res, jid)[source]
playbook_on_start()[source]
playbook_on_notify(host, handler)[source]
playbook_on_task_start(name, is_conditional)[source]
playbook_on_setup()[source]
playbook_on_play_start(name)[source]
playbook_on_stats(stats)[source]

ansible.plugins.callback.profile_tasks module

ansible.plugins.callback.profile_tasks.secondsToStr(t)[source]
ansible.plugins.callback.profile_tasks.filled(msg, fchar='*')[source]
ansible.plugins.callback.profile_tasks.timestamp(self)[source]
ansible.plugins.callback.profile_tasks.tasktime()[source]
class ansible.plugins.callback.profile_tasks.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

This callback module provides per-task timing, ongoing playbook elapsed time and ordered list of top 20 longest running tasks at end.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'profile_tasks'
CALLBACK_NEEDS_WHITELIST = True
v2_playbook_on_task_start(task, is_conditional)[source]
v2_playbook_on_handler_task_start(task)[source]
playbook_on_setup()[source]
playbook_on_stats(stats)[source]

ansible.plugins.callback.skippy module

class ansible.plugins.callback.skippy.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.default.CallbackModule

This is the default callback interface, which simply prints messages to stdout when new callback events are received.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'stdout'
CALLBACK_NAME = 'skippy'
v2_runner_on_skipped(result)[source]
v2_runner_item_on_skipped(result)[source]

ansible.plugins.callback.slack module

class ansible.plugins.callback.slack.CallbackModule(display=None)[source]

Bases: ansible.plugins.callback.CallbackBase

This is an ansible callback plugin that sends status updates to a Slack channel during playbook execution.

This plugin makes use of the following environment variables:

SLACK_WEBHOOK_URL (required): Slack Webhook URL SLACK_CHANNEL (optional): Slack room to post in. Default: #ansible SLACK_USERNAME (optional): Username to post as. Default: ansible SLACK_INVOCATION (optional): Show command line invocation

details. Default: False
Requires:
prettytable
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'notification'
CALLBACK_NAME = 'slack'
CALLBACK_NEEDS_WHITELIST = True
send_msg(attachments)[source]
v2_playbook_on_start(playbook)[source]
v2_playbook_on_play_start(play)[source]

Display Play start messages

v2_playbook_on_stats(stats)[source]

Display info about playbook statistics

ansible.plugins.callback.syslog_json module

class ansible.plugins.callback.syslog_json.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

logs ansible-playbook and ansible runs to a syslog server in json format make sure you have in ansible.cfg:

callback_plugins = <path_to_callback_plugins_folder>

and put the plugin in <path_to_callback_plugins_folder>

This plugin makes use of the following environment variables:
SYSLOG_SERVER (optional): defaults to localhost SYSLOG_PORT (optional): defaults to 514
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'syslog_json'
CALLBACK_NEEDS_WHITELIST = True
runner_on_failed(host, res, ignore_errors=False)[source]
runner_on_ok(host, res)[source]
runner_on_skipped(host, item=None)[source]
runner_on_unreachable(host, res)[source]
runner_on_async_failed(host, res)[source]
playbook_on_import_for_host(host, imported_file)[source]
playbook_on_not_import_for_host(host, missing_file)[source]

ansible.plugins.callback.timer module

class ansible.plugins.callback.timer.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

This callback module tells you how long your plays ran for.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'timer'
CALLBACK_NEEDS_WHITELIST = True
days_hours_minutes_seconds(runtime)[source]
playbook_on_stats(stats)[source]
v2_playbook_on_stats(stats)[source]

ansible.plugins.callback.tree module

class ansible.plugins.callback.tree.CallbackModule[source]

Bases: ansible.plugins.callback.CallbackBase

This callback puts results into a host specific file in a directory in json format.

CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'tree'
CALLBACK_NEEDS_WHITELIST = True
write_tree_file(hostname, buf)[source]

write something into treedir/hostname

result_to_tree(result)[source]
v2_runner_on_ok(result)[source]
v2_runner_on_failed(result, ignore_errors=False)[source]
v2_runner_on_unreachable(result)[source]