обратный вызов community.general.diy — настройка вывода
Примечание
Этот плагин обратного вызова входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого плагина обратного вызова требуются дополнительные компоненты. Подробнее см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.general.diy.
Добавлено в community.general 0.2.0
Плагин обратного вызова
Этот плагин является плагином обратного вызова stdout. Одновременно можно использовать только один плагин обратного вызова stdout. При этом можно включить дополнительные агрегирующие плагины или плагины уведомлений. Подробнее о плагинах обратного вызова см. в разделе Плагины обратного вызова.
Краткое описание
- Плагин обратного вызова, позволяющий задавать собственные шаблоны для вывода.
Требования
Следующие требования необходимы на локальном управляющем узле, который выполняет этот плагин обратного вызова.
- должен быть указан в конфигурации как stdout_callback
Параметры
Параметр | Комментарии |
|---|---|
check_mode_markers логическое значение добавлено в Ansible 2.9 | Переключатель, управляющий отображением маркеров при запуске в режиме проверки. Маркеры Варианты:
Конфигурация:
|
display_failed_stderr логическое значение добавлено в Ansible 2.7 | Переключатель, управляющий выводом сведений о завершившихся с ошибкой и недоступных задачах в STDERR, а не в STDOUT. Варианты:
Конфигурация:
|
display_ok_hosts логическое значение добавлено в Ansible 2.7 | Переключатель, управляющий отображением результатов задач/узлов со статусом «ok» в задаче. Варианты:
Конфигурация:
|
display_skipped_hosts логическое значение | Переключатель, управляющий отображением результатов пропущенных задач/узлов в задаче. Варианты:
Конфигурация:
|
on_any_msg строка | Вывод, используемый для обратного вызова on_any. Конфигурация:
|
on_any_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
on_file_diff_msg строка | Вывод, используемый для обратного вызова on_file_diff. Конфигурация:
|
on_file_diff_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_handler_task_start_msg строка | Вывод, используемый для обратного вызова playbook_on_handler_task_start. Конфигурация:
|
playbook_on_handler_task_start_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_include_msg строка | Вывод, используемый для обратного вызова playbook_on_include. Конфигурация:
|
playbook_on_include_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_no_hosts_matched_msg строка | Вывод, используемый для обратного вызова playbook_on_no_hosts_matched. Конфигурация:
|
playbook_on_no_hosts_matched_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_no_hosts_remaining_msg строка | Вывод, используемый для обратного вызова playbook_on_no_hosts_remaining. Конфигурация:
|
playbook_on_no_hosts_remaining_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_notify_msg строка | Вывод, используемый для обратного вызова playbook_on_notify. Конфигурация:
|
playbook_on_notify_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_play_start_msg строка | Вывод, используемый для обратного вызова playbook_on_play_start. Конфигурация:
|
playbook_on_play_start_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_setup_msg строка | Вывод, используемый для обратного вызова playbook_on_setup. Конфигурация:
|
playbook_on_setup_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_start_msg строка | Вывод, используемый для обратного вызова playbook_on_start. Конфигурация:
|
playbook_on_start_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_stats_msg строка | Вывод, используемый для обратного вызова playbook_on_stats. Конфигурация:
|
playbook_on_stats_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_task_start_msg строка | Вывод, используемый для обратного вызова playbook_on_task_start. Конфигурация:
|
playbook_on_task_start_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
playbook_on_vars_prompt_msg строка | Вывод, используемый для обратного вызова playbook_on_vars_prompt. Конфигурация:
|
playbook_on_vars_prompt_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_item_on_failed_msg строка | Вывод, используемый для обратного вызова runner_item_on_failed. Конфигурация:
|
runner_item_on_failed_msg_color строка | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_item_on_ok_msg строка | Вывод, используемый для обратного вызова runner_item_on_ok. Конфигурация:
|
runner_item_on_ok_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_item_on_skipped_msg string | Вывод для callback runner_item_on_skipped. Конфигурация:
|
runner_item_on_skipped_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_failed_msg string | Вывод для callback runner_on_failed. Конфигурация:
|
runner_on_failed_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_no_hosts_msg string | Вывод для callback runner_on_no_hosts. Конфигурация:
|
runner_on_no_hosts_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_ok_msg string | Вывод для callback runner_on_ok. Конфигурация:
|
runner_on_ok_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_skipped_msg string | Вывод для callback runner_on_skipped. Конфигурация:
|
runner_on_skipped_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_start_msg string | Вывод для callback runner_on_start. Конфигурация:
|
runner_on_start_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_on_unreachable_msg string | Вывод для callback runner_on_unreachable. Конфигурация:
|
runner_on_unreachable_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
runner_retry_msg string | Вывод для callback runner_retry. Конфигурация:
|
runner_retry_msg_color string | Цвет вывода для Шаблон должен возвращать допустимое значение цвета. Конфигурация:
|
show_custom_stats boolean | Добавляет пользовательскую статистику, заданную с помощью плагина set_stats, в сводку выполнения сценария. Варианты:
Конфигурация:
|
show_per_host_start boolean добавлено в Ansible 2.9 | Добавляет вывод, показывающий начало выполнения задачи для каждого узла. Варианты:
Конфигурация:
|
show_task_path_on_failure boolean добавлено в ansible-core 2.11 | При сбое задачи отображает путь к файлу, содержащему эту задачу, и номер строки. Эта информация автоматически отображается для каждой задачи при запуске с уровнем подробности Варианты:
Конфигурация:
|
Примечание
Перечисленные выше записи конфигурации для каждого типа (переменная Ansible, переменная среды и т. д.) упорядочены по приоритету от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Если пользовательский
message(msg)обратного вызова не указан, используется вывод плагина обратного вызова ansible.builtin.default. - Данные события обратного вызова доступны через словарь
ansible_callback_diy, который можно использовать в контексте шаблонов для параметров. Словарь доступен только в контексте шаблонов для параметров. Это не переменная, доступная в других контекстах выполнения, таких как playbook, play, task и т. д. - Параметры, задаваемые соответствующей входной переменной, можно задавать с помощью этой переменной только в том случае, если она задана в контексте, доступном соответствующему обратному вызову. Используйте словарь
ansible_callback_diy, чтобы узнать, какие данные доступны обратному вызову. Кроме того,ansible_callback_diy.top_level_var_namesвыводит имена переменных верхнего уровня, доступных обратному вызову. - Перед обработкой значение каждого параметра преобразуется как шаблон. Это позволяет использовать параметр динамически. Например,
"{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}". -
Условие для всех параметров
msg: если значениеis None or omit, параметр не используется. Результат: для вывода используется плагин обратного вызоваdefault. -
Условие для всех параметров
msg: если значениеis not None and not omit and length is not greater than 0, параметр используется без вывода. Результат: вывод подавляется. -
Условие для всех параметров
msg: если значениеis not None and not omit and length is greater than 0, параметр используется с выводом. Результат: значение преобразуется как шаблон и выводится. - Допустимые значения цвета:
black,bright gray,blue,white,green,bright blue,cyan,bright green,red,bright cyan,purple,bright red,yellow,bright purple,dark gray,bright yellow,magenta,bright magenta,normal.
См. также
См. также
- default — стандартный вывод Ansible на экран
-
Официальная документация по плагину обратного вызова default.
Примеры
ansible.cfg: >
# Enable plugin
[defaults]
stdout_callback=community.general.diy
[callback_diy]
# Output when playbook starts
playbook_on_start_msg="DIY output(via ansible.cfg): playbook example: {{ ansible_callback_diy.playbook.file_name }}"
playbook_on_start_msg_color=yellow
# Comment out to allow default plugin output
# playbook_on_play_start_msg="PLAY: starting play {{ ansible_callback_diy.play.name }}"
# Accept on_skipped_msg or ansible_callback_diy_runner_on_skipped_msg as input vars
# If neither are supplied, omit the option
runner_on_skipped_msg="{{ on_skipped_msg | default(ansible_callback_diy_runner_on_skipped_msg) | default(omit) }}"
# Newline after every callback
# on_any_msg='{{ " " | join("\n") }}'
playbook.yml: >-
---
- name: "Default plugin output: play example"
hosts: localhost
gather_facts: false
tasks:
- name: Default plugin output
ansible.builtin.debug:
msg: default plugin output
- name: Override from play vars
hosts: localhost
gather_facts: false
vars:
ansible_connection: local
green: "\e[0m\e[38;5;82m"
yellow: "\e[0m\e[38;5;11m"
bright_purple: "\e[0m\e[38;5;105m"
cyan: "\e[0m\e[38;5;51m"
green_bg_black_fg: "\e[0m\e[48;5;40m\e[38;5;232m"
yellow_bg_black_fg: "\e[0m\e[48;5;226m\e[38;5;232m"
purple_bg_white_fg: "\e[0m\e[48;5;57m\e[38;5;255m"
cyan_bg_black_fg: "\e[0m\e[48;5;87m\e[38;5;232m"
magenta: "\e[38;5;198m"
white: "\e[0m\e[38;5;255m"
ansible_callback_diy_playbook_on_play_start_msg: "\n{{green}}DIY output(via play vars): play example: {{magenta}}{{ansible_callback_diy.play.name}}\n\n"
ansible_callback_diy_playbook_on_task_start_msg: "DIY output(via play vars): task example: {{ ansible_callback_diy.task.name }}"
ansible_callback_diy_playbook_on_task_start_msg_color: cyan
ansible_callback_diy_playbook_on_stats_msg: |+2
CUSTOM STATS
==============================
{% for key in ansible_callback_diy.stats | sort %}
{% if ansible_callback_diy.stats[key] %}
{% if key == 'ok' %}
{% set color_one = lookup('vars','green_bg_black_fg') %}
{% set prefix = ' ' %}
{% set suffix = ' ' %}
{% set color_two = lookup('vars','green') %}
{% elif key == 'changed' %}
{% set color_one = lookup('vars','yellow_bg_black_fg') %}
{% set prefix = ' ' %}
{% set suffix = ' ' %}
{% set color_two = lookup('vars','yellow') %}
{% elif key == 'processed' %}
{% set color_one = lookup('vars','purple_bg_white_fg') %}
{% set prefix = ' ' %}
{% set suffix = ' ' %}
{% set color_two = lookup('vars','bright_purple') %}
{% elif key == 'skipped' %}
{% set color_one = lookup('vars','cyan_bg_black_fg') %}
{% set prefix = ' ' %}
{% set suffix = ' ' %}
{% set color_two = lookup('vars','cyan') %}
{% else %}
{% set color_one = "" %}
{% set prefix = "" %}
{% set suffix = "" %}
{% set color_two = "" %}
{% endif %}
{{ color_one }}{{ "%s%s%s" | format(prefix,key,suffix) }}{{ color_two }}: {{ ansible_callback_diy.stats[key] | to_nice_yaml }}
{% endif %}
{% endfor %}
tasks:
- name: Custom banner with default plugin result output
ansible.builtin.debug:
msg: "default plugin output: result example"
- name: Override from task vars
ansible.builtin.debug:
msg: "example {{ two }}"
changed_when: true
vars:
white_fg_red_bg: "\e[0m\e[48;5;1m"
two: "{{ white_fg_red_bg }} 2 "
ansible_callback_diy_playbook_on_task_start_msg: "\nDIY output(via task vars): task example: {{ ansible_callback_diy.task.name }}"
ansible_callback_diy_playbook_on_task_start_msg_color: bright magenta
ansible_callback_diy_runner_on_ok_msg: "DIY output(via task vars): result example: \n{{ ansible_callback_diy.result.output.msg }}\n"
ansible_callback_diy_runner_on_ok_msg_color: "{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}"
- name: Suppress output
ansible.builtin.debug:
msg: i should not be displayed
vars:
ansible_callback_diy_playbook_on_task_start_msg: ""
ansible_callback_diy_runner_on_ok_msg: ""
- name: Using alias vars (see ansible.cfg)
ansible.builtin.debug:
msg:
when: false
vars:
ansible_callback_diy_playbook_on_task_start_msg: ""
on_skipped_msg: "DIY output(via task vars): skipped example:\n\e[0m\e[38;5;4m\u25b6\u25b6 {{ ansible_callback_diy.result.task.name }}\n"
on_skipped_msg_color: white
- name: Just stdout
ansible.builtin.command: echo some stdout
vars:
ansible_callback_diy_playbook_on_task_start_msg: "\n"
ansible_callback_diy_runner_on_ok_msg: "{{ ansible_callback_diy.result.output.stdout }}\n"
- name: Multiline output
ansible.builtin.debug:
msg: "{{ multiline }}"
vars:
ansible_callback_diy_playbook_on_task_start_msg: "\nDIY output(via task vars): task example: {{ ansible_callback_diy.task.name }}"
multiline: "line\nline\nline"
ansible_callback_diy_runner_on_ok_msg: |+2
some
{{ ansible_callback_diy.result.output.msg }}
output
ansible_callback_diy_playbook_on_task_start_msg_color: bright blue
- name: Indentation
ansible.builtin.debug:
msg: "{{ item.msg }}"
with_items:
- { indent: 1, msg: one., color: red }
- { indent: 2, msg: two.., color: yellow }
- { indent: 3, msg: three..., color: bright yellow }
vars:
ansible_callback_diy_runner_item_on_ok_msg: "{{ ansible_callback_diy.result.output.msg | indent(item.indent, True) }}"
ansible_callback_diy_runner_item_on_ok_msg_color: "{{ item.color }}"
ansible_callback_diy_runner_on_ok_msg: "GO!!!"
ansible_callback_diy_runner_on_ok_msg_color: bright green
- name: Using lookup and template as file
ansible.builtin.shell: "echo {% raw %}'output from {{ file_name }}'{% endraw %} > {{ file_name }}"
vars:
ansible_callback_diy_playbook_on_task_start_msg: "\nDIY output(via task vars): task example: {{ ansible_callback_diy.task.name }}"
file_name: diy_file_template_example
ansible_callback_diy_runner_on_ok_msg: "{{ lookup('template', file_name) }}"
- name: 'Look at top level vars available to the "runner_on_ok" callback'
ansible.builtin.debug:
msg: ''
vars:
ansible_callback_diy_playbook_on_task_start_msg: "\nDIY output(via task vars): task example: {{ ansible_callback_diy.task.name }}"
ansible_callback_diy_runner_on_ok_msg: |+2
{% for var in (ansible_callback_diy.top_level_var_names|reject('match','vars|ansible_callback_diy.*')) | sort %}
{{ green }}{{ var }}:
{{ white }}{{ lookup('vars', var) }}
{% endfor %}
ansible_callback_diy_runner_on_ok_msg_color: white
- name: 'Look at event data available to the "runner_on_ok" callback'
ansible.builtin.debug:
msg: ''
vars:
ansible_callback_diy_playbook_on_task_start_msg: "\nDIY output(via task vars): task example: {{ ansible_callback_diy.task.name }}"
ansible_callback_diy_runner_on_ok_msg: |+2
{% for key in ansible_callback_diy | sort %}
{{ green }}{{ key }}:
{{ white }}{{ ansible_callback_diy[key] }}
{% endfor %}
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/diy_callback.html