community.general.diy callback – Настраиваемый вывод
Примечание
Этот плагин обратного вызова входит в коллекцию community.general (версия 9.5.0).
Эта коллекция, возможно, уже установлена, если вы используете пакет 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 boolean добавлено в Ansible 2.9 | Переключатель для управления отображением маркеров при работе в режиме проверки. Маркеры - это Варианты:
Конфигурация:
|
display_failed_stderr boolean добавлено в Ansible 2.7 | Переключатель для управления отображением неудачных и недоступных задач в STDERR (вместо STDOUT) Варианты:
Конфигурация:
|
display_ok_hosts boolean добавлено в Ansible 2.7 | Переключатель для управления отображением результатов задачи/хоста «ok» в задаче Варианты:
Конфигурация:
|
display_skipped_hosts boolean | Переключатель для управления отображением пропущенных результатов задачи/хоста в задаче Варианты:
Конфигурация:
|
on_any_msg string | Вывод, который будет использоваться для обратного вызова on_any. Конфигурация:
|
on_any_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
on_file_diff_msg string | Вывод, который будет использоваться для обратного вызова on_file_diff. Конфигурация:
|
on_file_diff_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_handler_task_start_msg string | Вывод, который будет использоваться для обратного вызова playbook_on_handler_task_start. Конфигурация:
|
playbook_on_handler_task_start_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_include_msg string | Вывод, который будет использоваться для обратного вызова playbook_on_include. Конфигурация:
|
playbook_on_include_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_no_hosts_matched_msg string | Вывод для обратного вызова playbook_on_no_hosts_matched. Конфигурация:
|
playbook_on_no_hosts_matched_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_no_hosts_remaining_msg string | Вывод для обратного вызова playbook_on_no_hosts_remaining. Конфигурация:
|
playbook_on_no_hosts_remaining_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_notify_msg string | Вывод для обратного вызова playbook_on_notify. Конфигурация:
|
playbook_on_notify_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_play_start_msg string | Вывод для обратного вызова playbook_on_play_start. Конфигурация:
|
playbook_on_play_start_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_setup_msg string | Вывод для обратного вызова playbook_on_setup. Конфигурация:
|
playbook_on_setup_msg_color string | Цвет вывода для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
playbook_on_start_msg string | Вывод для обратного вызова playbook_on_start. Конфигурация:
|
playbook_on_start_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
playbook_on_stats_msg string | Вывод, используемый для обратного вызова playbook_on_stats. Настройка:
|
playbook_on_stats_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
playbook_on_task_start_msg string | Вывод, используемый для обратного вызова playbook_on_task_start. Настройка:
|
playbook_on_task_start_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
playbook_on_vars_prompt_msg string | Вывод, используемый для обратного вызова playbook_on_vars_prompt. Настройка:
|
playbook_on_vars_prompt_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
runner_item_on_failed_msg string | Вывод, используемый для обратного вызова runner_item_on_failed. Настройка:
|
runner_item_on_failed_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
runner_item_on_ok_msg string | Вывод, используемый для обратного вызова runner_item_on_ok. Настройка:
|
runner_item_on_ok_msg_color string | Цвет вывода, используемый для Шаблон должен отображать допустимое значение цвета. Настройка:
|
runner_item_on_skipped_msg string | Вывод, используемый для обратного вызова runner_item_on_skipped. Настройка:
|
runner_item_on_skipped_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_failed_msg string | Вывод, который будет использоваться для обратного вызова runner_on_failed. Конфигурация:
|
runner_on_failed_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_no_hosts_msg string | Вывод, который будет использоваться для обратного вызова runner_on_no_hosts. Конфигурация:
|
runner_on_no_hosts_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_ok_msg string | Вывод, который будет использоваться для обратного вызова runner_on_ok. Конфигурация:
|
runner_on_ok_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_skipped_msg string | Вывод, который будет использоваться для обратного вызова runner_on_skipped. Конфигурация:
|
runner_on_skipped_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_start_msg string | Вывод, который будет использоваться для обратного вызова runner_on_start. Конфигурация:
|
runner_on_start_msg_color string | Цвет вывода, который будет использоваться для Шаблон должен отображать допустимое значение цвета. Конфигурация:
|
runner_on_unreachable_msg string | Вывод, который будет использоваться для обратного вызова runner_on_unreachable. Конфигурация:
|
runner_on_unreachable_msg_color строка | Цвет вывода, используемый для Шаблон должен отображать действительное значение цвета. Настройка:
|
runner_retry_msg строка | Вывод, используемый для вызова runner_retry. Настройка:
|
runner_retry_msg_color строка | Цвет вывода, используемый для Шаблон должен отображать действительное значение цвета. Настройка:
|
show_custom_stats логическое | Это добавляет наводку по настроенной статистике, установленной плагином set_stats, в сводку выполнения. Варианты:
Настройка:
|
show_per_host_start логическое добавлено в Ansible 2.9 | Это добавляет вывод, показывающий, когда задача начала выполняться для каждого узла. Варианты:
Настройка:
|
show_task_path_on_failure логическое добавлено в ansible-core 2.11 | При сбое задачи отображается путь к файлу с задачей и номер строки. Эта информация автоматически отображается для каждой задачи при запуске с Варианты:
Настройка:
|
Примечания
Примечание
- Использует вывод плагина обратного вызова ansible.builtin.default, когда пользовательский обратный вызов
message(msg)не указан. - Делает данные событий обратного вызова доступными через словарь
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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/diy_callback.html