Spec-Zone.ru › Ansible 2.11

community.general.diy – Настроить вывод

Примечание

Этот плагин входит в состав коллекции community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.diy.

Новый в версии 0.2.0: of community.general

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • См. также
  • Примеры

Обзор

  • Плагин обратного вызова, позволяющий предоставить собственные пользовательские шаблоны обратного вызова для вывода.

Требования

Ниже перечислены требования к локальному контрольному узлу, на котором выполняется этот обратный вызов.

  • установлен как stdout_callback в конфигурации

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
check_mode_markers
boolean
добавлено в версии 2.9 ansible.builtin
    Варианты:
  • no ←
  • yes
записи ini:

[defaults]
check_mode_markers = no

env:ANSIBLE_CHECK_MODE_MARKERS
Переключатель для управления отображением маркеров при работе в режиме проверки.
Маркеры — это DRY RUN в начале и конце выполнения playbook (при вызове ansible-playbook --check) и CHECK MODE в качестве суффикса для каждой выполняемой в режиме проверки задачи и действия.
display_failed_stderr
boolean
добавлено в версии 2.7 ansible.builtin
    Варианты:
  • no ←
  • yes
записи ini:

[defaults]
display_failed_stderr = no

env:ANSIBLE_DISPLAY_FAILED_STDERR
Переключатель для управления отображением неудачных и недоступных задач в STDERR (вместо STDOUT)
display_ok_hosts
boolean
добавлено в версии 2.7 ansible.builtin
    Варианты:
  • no
  • yes ←
записи ini:

[defaults]
display_ok_hosts = yes

env:ANSIBLE_DISPLAY_OK_HOSTS
Переключатель для управления отображением результатов задач/хостов 'ok' в задаче
display_skipped_hosts
boolean
    Варианты:
  • no
  • yes ←
записи ini:

[defaults]
display_skipped_hosts = yes

env:DISPLAY_SKIPPED_HOSTS
Удалено в: версии 2.12 ansible.builtin
Причина: переменные среды без префикса "ANSIBLE_" устарели
Альтернатива: переменная среды "ANSIBLE_DISPLAY_SKIPPED_HOSTS"
env:ANSIBLE_DISPLAY_SKIPPED_HOSTS
Переключатель для управления отображением пропущенных результатов задач/хостов в задаче
on_any_msg
string
записи ini:

[callback_diy]
on_any_msg = None

env:ANSIBLE_CALLBACK_DIY_ON_ANY_MSG
var: ansible_callback_diy_on_any_msg
Вывод, который будет использоваться для обратного вызова on_any.
on_any_msg_color
string
записи ini:

[callback_diy]
on_any_msg_color = None

env:ANSIBLE_CALLBACK_DIY_ON_ANY_MSG_COLOR
var: ansible_callback_diy_on_any_msg_color
Цвет вывода для on_any_msg.
Шаблон должен отображать допустимое значение цвета.
on_file_diff_msg
string
записи ini:

[callback_diy]
on_file_diff_msg = None

env:ANSIBLE_CALLBACK_DIY_ON_FILE_DIFF_MSG
var: ansible_callback_diy_on_file_diff_msg
Вывод, который будет использоваться для обратного вызова on_file_diff.
on_file_diff_msg_color
string
записи ini:

[callback_diy]
on_file_diff_msg_color = None

env:ANSIBLE_CALLBACK_DIY_ON_FILE_DIFF_MSG_COLOR
var: ansible_callback_diy_on_file_diff_msg_color
Цвет вывода для on_file_diff_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_handler_task_start_msg
string
записи ini:

[callback_diy]
playbook_on_handler_task_start_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_HANDLER_TASK_START_MSG
var: ansible_callback_diy_playbook_on_handler_task_start_msg
Вывод, который будет использоваться для обратного вызова playbook_on_handler_task_start.
playbook_on_handler_task_start_msg_color
string
записи ini:

[callback_diy]
playbook_on_handler_task_start_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_HANDLER_TASK_START_MSG_COLOR
var: ansible_callback_diy_playbook_on_handler_task_start_msg_color
Цвет вывода для playbook_on_handler_task_start_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_include_msg
string
записи ini:

[callback_diy]
playbook_on_include_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_INCLUDE_MSG
var: ansible_callback_diy_playbook_on_include_msg
Вывод, который будет использоваться для обратного вызова playbook_on_include.
playbook_on_include_msg_color
string
записи ini:

[callback_diy]
playbook_on_include_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_INCLUDE_MSG_COLOR
var: ansible_callback_diy_playbook_on_include_msg_color
Цвет вывода для playbook_on_include_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_no_hosts_matched_msg
string
записи ini:

[callback_diy]
playbook_on_no_hosts_matched_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NO_HOSTS_MATCHED_MSG
var: ansible_callback_diy_playbook_on_no_hosts_matched_msg
Вывод, который будет использоваться для обратного вызова playbook_on_no_hosts_matched.
playbook_on_no_hosts_matched_msg_color
string
записи ini:

[callback_diy]
playbook_on_no_hosts_matched_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NO_HOSTS_MATCHED_MSG_COLOR
var: ansible_callback_diy_playbook_on_no_hosts_matched_msg_color
Цвет вывода для playbook_on_no_hosts_matched_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_no_hosts_remaining_msg
string
записи ini:

[callback_diy]
playbook_on_no_hosts_remaining_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NO_HOSTS_REMAINING_MSG
var: ansible_callback_diy_playbook_on_no_hosts_remaining_msg
Вывод, который будет использоваться для обратного вызова playbook_on_no_hosts_remaining.
playbook_on_no_hosts_remaining_msg_color
string
записи ini:

[callback_diy]
playbook_on_no_hosts_remaining_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NO_HOSTS_REMAINING_MSG_COLOR
var: ansible_callback_diy_playbook_on_no_hosts_remaining_msg_color
Цвет вывода для playbook_on_no_hosts_remaining_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_notify_msg
string
записи ini:

[callback_diy]
playbook_on_notify_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NOTIFY_MSG
var: ansible_callback_diy_playbook_on_notify_msg
Вывод, который будет использоваться для обратного вызова playbook_on_notify.
playbook_on_notify_msg_color
string
записи ini:

[callback_diy]
playbook_on_notify_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_NOTIFY_MSG_COLOR
var: ansible_callback_diy_playbook_on_notify_msg_color
Цвет вывода для playbook_on_notify_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_play_start_msg
string
записи ini:

[callback_diy]
playbook_on_play_start_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_PLAY_START_MSG
var: ansible_callback_diy_playbook_on_play_start_msg
Вывод, который будет использоваться для обратного вызова playbook_on_play_start.
playbook_on_play_start_msg_color
string
записи ini:

[callback_diy]
playbook_on_play_start_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_PLAY_START_MSG_COLOR
var: ansible_callback_diy_playbook_on_play_start_msg_color
Цвет вывода для playbook_on_play_start_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_setup_msg
string
записи ini:

[callback_diy]
playbook_on_setup_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_SETUP_MSG
var: ansible_callback_diy_playbook_on_setup_msg
Вывод, который будет использоваться для обратного вызова playbook_on_setup.
playbook_on_setup_msg_color
string
записи ini:

[callback_diy]
playbook_on_setup_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_SETUP_MSG_COLOR
var: ansible_callback_diy_playbook_on_setup_msg_color
Цвет вывода для playbook_on_setup_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_start_msg
string
записи ini:

[callback_diy]
playbook_on_start_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_START_MSG
var: ansible_callback_diy_playbook_on_start_msg
Вывод, который будет использоваться для обратного вызова playbook_on_start.
playbook_on_start_msg_color
string
записи ini:

[callback_diy]
playbook_on_start_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_START_MSG_COLOR
var: ansible_callback_diy_playbook_on_start_msg_color
Цвет вывода для playbook_on_start_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_stats_msg
string
ini entries:

[callback_diy]
playbook_on_stats_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_STATS_MSG
var: ansible_callback_diy_playbook_on_stats_msg
Выходные данные для обратного вызова playbook_on_stats.
playbook_on_stats_msg_color
string
ini entries:

[callback_diy]
playbook_on_stats_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_STATS_MSG_COLOR
var: ansible_callback_diy_playbook_on_stats_msg_color
Выходной цвет для playbook_on_stats_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_task_start_msg
string
ini entries:

[callback_diy]
playbook_on_task_start_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_TASK_START_MSG
var: ansible_callback_diy_playbook_on_task_start_msg
Выходные данные для обратного вызова playbook_on_task_start.
playbook_on_task_start_msg_color
string
ini entries:

[callback_diy]
playbook_on_task_start_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_TASK_START_MSG_COLOR
var: ansible_callback_diy_playbook_on_task_start_msg_color
Выходной цвет для playbook_on_task_start_msg.
Шаблон должен отображать допустимое значение цвета.
playbook_on_vars_prompt_msg
string
ini entries:

[callback_diy]
playbook_on_vars_prompt_msg = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_VARS_PROMPT_MSG
var: ansible_callback_diy_playbook_on_vars_prompt_msg
Выходные данные для обратного вызова playbook_on_vars_prompt.
playbook_on_vars_prompt_msg_color
string
ini entries:

[callback_diy]
playbook_on_vars_prompt_msg_color = None

env:ANSIBLE_CALLBACK_DIY_PLAYBOOK_ON_VARS_PROMPT_MSG_COLOR
var: ansible_callback_diy_playbook_on_vars_prompt_msg_color
Выходной цвет для playbook_on_vars_prompt_msg.
Шаблон должен отображать допустимое значение цвета.
runner_item_on_failed_msg
string
ini entries:

[callback_diy]
runner_item_on_failed_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_FAILED_MSG
var: ansible_callback_diy_runner_item_on_failed_msg
Выходные данные для обратного вызова runner_item_on_failed.
runner_item_on_failed_msg_color
string
ini entries:

[callback_diy]
runner_item_on_failed_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_FAILED_MSG_COLOR
var: ansible_callback_diy_runner_item_on_failed_msg_color
Выходной цвет для runner_item_on_failed_msg.
Шаблон должен отображать допустимое значение цвета.
runner_item_on_ok_msg
string
ini entries:

[callback_diy]
runner_item_on_ok_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_OK_MSG
var: ansible_callback_diy_runner_item_on_ok_msg
Выходные данные для обратного вызова runner_item_on_ok.
runner_item_on_ok_msg_color
string
ini entries:

[callback_diy]
runner_item_on_ok_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_OK_MSG_COLOR
var: ansible_callback_diy_runner_item_on_ok_msg_color
Выходной цвет для runner_item_on_ok_msg.
Шаблон должен отображать допустимое значение цвета.
runner_item_on_skipped_msg
string
ini entries:

[callback_diy]
runner_item_on_skipped_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_SKIPPED_MSG
var: ansible_callback_diy_runner_item_on_skipped_msg
Выходные данные для обратного вызова runner_item_on_skipped.
runner_item_on_skipped_msg_color
string
ini entries:

[callback_diy]
runner_item_on_skipped_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ITEM_ON_SKIPPED_MSG_COLOR
var: ansible_callback_diy_runner_item_on_skipped_msg_color
Выходной цвет для runner_item_on_skipped_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_failed_msg
string
ini entries:

[callback_diy]
runner_on_failed_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_FAILED_MSG
var: ansible_callback_diy_runner_on_failed_msg
Выходные данные для обратного вызова runner_on_failed.
runner_on_failed_msg_color
string
ini entries:

[callback_diy]
runner_on_failed_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_FAILED_MSG_COLOR
var: ansible_callback_diy_runner_on_failed_msg_color
Выходной цвет для runner_on_failed_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_no_hosts_msg
string
ini entries:

[callback_diy]
runner_on_no_hosts_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_NO_HOSTS_MSG
var: ansible_callback_diy_runner_on_no_hosts_msg
Выходные данные для обратного вызова runner_on_no_hosts.
runner_on_no_hosts_msg_color
string
ini entries:

[callback_diy]
runner_on_no_hosts_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_NO_HOSTS_MSG_COLOR
var: ansible_callback_diy_runner_on_no_hosts_msg_color
Выходной цвет для runner_on_no_hosts_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_ok_msg
string
ini entries:

[callback_diy]
runner_on_ok_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_OK_MSG
var: ansible_callback_diy_runner_on_ok_msg
Выходные данные для обратного вызова runner_on_ok.
runner_on_ok_msg_color
string
ini entries:

[callback_diy]
runner_on_ok_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_OK_MSG_COLOR
var: ansible_callback_diy_runner_on_ok_msg_color
Выходной цвет для runner_on_ok_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_skipped_msg
string
ini entries:

[callback_diy]
runner_on_skipped_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_SKIPPED_MSG
var: ansible_callback_diy_runner_on_skipped_msg
Выходные данные для обратного вызова runner_on_skipped.
runner_on_skipped_msg_color
string
ini entries:

[callback_diy]
runner_on_skipped_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_SKIPPED_MSG_COLOR
var: ansible_callback_diy_runner_on_skipped_msg_color
Выходной цвет для runner_on_skipped_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_start_msg
string
ini entries:

[callback_diy]
runner_on_start_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_START_MSG
var: ansible_callback_diy_runner_on_start_msg
Выходные данные для обратного вызова runner_on_start.
runner_on_start_msg_color
string
ini entries:

[callback_diy]
runner_on_start_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_START_MSG_COLOR
var: ansible_callback_diy_runner_on_start_msg_color
Выходной цвет для runner_on_start_msg.
Шаблон должен отображать допустимое значение цвета.
runner_on_unreachable_msg
string
ini entries:

[callback_diy]
runner_on_unreachable_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_UNREACHABLE_MSG
var: ansible_callback_diy_runner_on_unreachable_msg
Выходные данные для обратного вызова runner_on_unreachable.
runner_on_unreachable_msg_color
string
ini entries:

[callback_diy]
runner_on_unreachable_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_ON_UNREACHABLE_MSG_COLOR
var: ansible_callback_diy_runner_on_unreachable_msg_color
Выходной цвет для runner_on_unreachable_msg.
Шаблон должен отображать допустимое значение цвета.
runner_retry_msg
string
ini entries:

[callback_diy]
runner_retry_msg = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_RETRY_MSG
var: ansible_callback_diy_runner_retry_msg
Выходные данные для обратного вызова runner_retry.
runner_retry_msg_color
string
ini entries:

[callback_diy]
runner_retry_msg_color = None

env:ANSIBLE_CALLBACK_DIY_RUNNER_RETRY_MSG_COLOR
var: ansible_callback_diy_runner_retry_msg_color
Выходной цвет для runner_retry_msg.
Шаблон должен отображать допустимое значение цвета.
show_custom_stats
boolean
    Выбо́ры:
  • нет ←
  • да
ini entries:

[defaults]
show_custom_stats = нет

env:ANSIBLE_SHOW_CUSTOM_STATS
Это добавляет наводку с настраиваемыми статистическими данными, установленными через плагин set_stats, в сводку выполнения
show_per_host_start
boolean
добавлен в версии 2.9 ansible.builtin
    Выбо́ры:
  • нет ←
  • да
ini entries:

[defaults]
show_per_host_start = нет

env:ANSIBLE_SHOW_PER_HOST_START
Это добавляет вывод, показывающий, когда задача начинает выполняться для каждого узла
show_task_path_on_failure
boolean
добавлен в версии 2.11 ansible.builtin
    Выбо́ры:
  • нет ←
  • да
ini entries:

[defaults]
show_task_path_on_failure = нет

env:ANSIBLE_SHOW_TASK_PATH_ON_FAILURE
При сбое задачи отображается путь к файлу, содержащему ошибочную задачу, и номер строки. Эта информация автоматически отображается для каждой задачи при запуске с уровнем подробности -vv или выше.

Примечания

Примечание

  • Использует вывод плагина обратного вызова default при отсутствии пользовательского сообщения обратного вызова (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: no
    tasks:
      - name:  Default plugin output
        ansible.builtin.debug:
          msg: default plugin output

  - name: Override from play vars
    hosts: localhost
    gather_facts: no
    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 %}

Авторы

  • Trevor Highfill (@theque5t)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/diy_callback.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API