pause#

Модуль ansible.builtin.pause приостанавливает выполнение сценария, ожидая ввода данных пользователем в течение заданного интервала времени.

Особенности работы#

Особенности работы модуля ansible.builtin.pause:

  • Все параметры модуля не обязательны для заполнения. По умолчанию модуль ожидает ввода данных от пользователя.

  • Чтобы приостановить выполнение задания для отдельного узла, используйте модуль ansible.builtin.wait_for.

  • Чтобы прервать выполнение сценария или продлить паузу, нажмите Ctrl+C.

  • Чтобы продолжить выполнение сценария, нажмите Ctrl+C, а затем C.

  • Для завершения работы всего набора сценариев, нажмите Ctrl+C, а затем A.

  • Модуль не поддерживает ограничение по времени на ввод данных. Приостановку сценария можно прервать, однако введенные пользователем данные при этом не возвращаются.

  • Модуль интегрируется в асинхронные и параллельные сценарии без дополнительной подготовки. При использовании паузы с параметром serial, например при последовательном обновлении (rolling update), ввести текущую группу узлов будет предложено только один раз.

  • Использование отрицательных значений для параметров minutes и seconds приводит к установке времени ожидания, равном одной секунде.

  • Модуль поддерживает работу с узлами под управлением ОС Windows.

Параметры#

Модуль принимает следующие параметры:

echo#

Отображение символов, вводимых с клавиатуры при запросе.

Примечание

Этот параметр не действует, если задано значение параметра minutes или seconds.

Возможные значения:

  • false – вводимые данные скрыты (например, при вводе пароля и других конфиденциальных данных);

  • true – вводимые данные отображаются.

Значение по умолчанию: true.

minutes#

Время ожидания в минутах.

prompt#

Текст сообщения, выводимого пользователю.

Введенные пользователем данные возвращаются только в том случае, когда не заданы значения параметров seconds и minutes. В противном случае сообщение просто выводится перед приостановкой сценария.

seconds#

Время ожидания в секундах.

Возвращаемые значения#

В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.pause.

  • delta – фактическое время ожидания в секундах.

    Условия: всегда.

  • echo – значение параметра echo.

    Условия: всегда.

  • start – фактическое время приостановки выполнения сценария.

    Условия: всегда.

  • stdout – вывод модуля в stdout.

    Условия: всегда.

  • stop – фактическое время продолжения выполнения сценария.

    Условия: всегда.

  • user_input – данные, введенные пользователем.

    Условия: если не задано время ожидания.

Атрибуты#

Атрибуты определяют функции Ansible, которые может использовать модуль.

Атрибут

Описание

action

Модуль имеет соответствующее расширение действия (action plugin), которое выполняет работу на управляющем узле.

async

Модуль не поддерживает асинхронное выполнение.

become

Модуль не поддерживает повышение привилегий.

bypass_host_loop

Модуль приостанавливает выполнение сценария не поочередно для каждого узла, а глобально для всех узлов сразу, игнорируя обычные ограничения и циклы.

Выражения работают так же, как при использовании run_once. Значения переменных берутся с первого доступного узла.

Это действие не работает за пределами стратегий с изоляцией отдельных шагов.

check_mode

Модуль поддерживает режим проверки в полном объеме.

connection

Модуль не использует информацию о настройках подключения к целевому узлу при выполнении заданий на нем.

delegation

Модуль не поддерживает delegate_to, то есть не может выполняться на другом узле.

diff_mode

Модуль не поддерживает режим сравнения.

platform

Модуль поддерживает все платформы, с которыми может работать Ansible.

Примеры#

Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.

Приостановка сценария на 30 секунд#

Следующий пример демонстрирует приостановку выполнения сценария на 30 секунд:

---
- name: Pause for 30 seconds
  ansible.builtin.pause:
    seconds: 30

Ожидание реакции пользователя#

Следующий пример демонстрирует приостановку сценария и ожидание реакции пользователя:

---
- name: Waiting user reaction
  ansible.builtin.pause:

Вывод уведомления#

Следующий пример демонстрирует вывод предупреждения о возможности прервать выполнение сценария в течение 1 минуты:

---
- name: Start countdown
  ansible.builtin.pause:
    minutes: 1
    prompt: "Upgrade has been started at 1 minute..."

Ввод пароля#

Следующий пример демонстрирует запрос у пользователя конфиденциальных данных:

---
- name: Get access token
  ansible.builtin.pause:
    prompt: "Enter the access token"
    echo: false
  register: access_token

- name: Print access token hash
  ansible.builtin.debug:
    msg: "{{ access_token['user_input'] | ansible.builtin.hash }}"