ansible.builtin.pause 模块 – 暂停 playbook 执行

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定集合关键字,也可以使用短模块名称 pause。但是,我们建议您使用完全限定的集合名称 (FQCN) ansible.builtin.pause,以便轻松链接到模块文档,并避免与其他可能具有相同模块名称的集合冲突。

概要

  • 暂停 playbook 执行一段设定的时间,或直到提示被确认。所有参数都是可选的。默认行为是暂停并显示提示。

  • 要按主机暂停/等待/休眠,请使用 ansible.builtin.wait_for 模块。

  • 如果您希望提前结束暂停,或者需要完全中止 playbook 运行,可以使用 ctrl+c。要提前继续,请按 ctrl+c,然后按 c。要中止 playbook,请按 ctrl+c,然后按 a

  • 不支持提示设定时间。暂停 playbook 执行是可中断的,但不返回用户输入。

  • pause 模块可以无特殊考虑地集成到异步/并行化的 playbook 中(请参阅滚动更新)。将暂停与 serial playbook 参数(如滚动更新)一起使用时,系统只提示当前主机组一次。

  • 此模块也支持 Windows 目标。

注意

此模块具有相应的操作插件

参数

参数

注释

echo

布尔值

控制键入时是否显示键盘输入。

仅当 seconds=Noneminutes=None 时才有效。

选择

  • false

  • true ← (默认)

minutes

字符串

暂停的分钟数(正数)。

prompt

字符串

可选的提示消息文本。

仅当 seconds=Noneminutes=None 时才返回用户输入,否则这只是在暂停 playbook 执行之前的自定义消息。

seconds

字符串

暂停的秒数(正数)。

属性

属性

支持

描述

action

支持:完整

表示此模块具有对应的操作插件,因此可以在控制器上执行部分选项

async

支持:

支持与 async 关键字一起使用

become

支持:

可以与 become 关键字一起使用

bypass_host_loop

支持:完整

强制执行不按主机执行的“全局”任务,这会绕过按主机模板化以及串行、节流和其他循环考虑事项

条件语句将像使用 run_once 一样工作,使用的变量将来自第一个可用的主机

此操作在锁步策略之外不能正常工作

check_mode

支持:完整

可以在 check_mode 下运行,并返回更改状态预测,而无需修改目标;如果不支持,则会跳过该操作。

connection

支持:

使用目标配置的连接信息在其上执行代码

delegation

支持:

可以与 delegate_to 和相关关键字结合使用

diff_mode

支持:

在 diff 模式下,将返回有关已更改内容(或可能需要在 check_mode 下更改的内容)的详细信息

platform

平台: 全部

可以操作的目标操作系统/系列

备注

注意

  • 从 2.2 版本开始,如果您为分钟或秒指定 0 或负数,它将等待 1 秒,之前它会无限期等待。

  • 无论 echo 设置如何,当指定分钟或秒时,都不会捕获或回显用户输入。

示例

- name: Pause for 5 minutes to build app cache
  ansible.builtin.pause:
    minutes: 5

- name: Pause until you can verify updates to an application were successful
  ansible.builtin.pause:

- name: A helpful reminder of what to look out for post-update
  ansible.builtin.pause:
    prompt: "Make sure org.foo.FooOverload exception is not present"

- name: Pause to get some sensitive input
  ansible.builtin.pause:
    prompt: "Enter a secret"
    echo: no

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

delta

字符串

暂停的时间(以秒为单位)

返回:始终

示例: "2"

echo

布尔值

echo

返回:始终

示例: true

start

字符串

开始暂停的时间

返回:始终

示例: "2017-02-23 14:35:07.298862"

stdout

字符串

pause 模块的输出

返回:始终

示例: "Paused for 0.04 minutes"

stop

字符串

结束暂停的时间

返回:始终

示例: "2017-02-23 14:35:09.552594"

user_input

字符串

来自交互式控制台的用户输入

返回: 如果未设置等待时间

示例: "示例 用户 输入"

作者

  • Tim Bielawa (@tbielawa)