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 plugin), которое выполняет работу на управляющем узле. |
|
Модуль не поддерживает асинхронное выполнение. |
|
Модуль не поддерживает повышение привилегий. |
|
Модуль приостанавливает выполнение сценария не поочередно для каждого узла, а глобально для всех узлов сразу, игнорируя обычные ограничения и циклы. Выражения работают так же, как при использовании Это действие не работает за пределами стратегий с изоляцией отдельных шагов. |
|
Модуль поддерживает режим проверки в полном объеме. |
|
Модуль не использует информацию о настройках подключения к целевому узлу при выполнении заданий на нем. |
|
Модуль не поддерживает |
|
Модуль не поддерживает режим сравнения. |
|
Модуль поддерживает все платформы, с которыми может работать 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 }}"