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

布尔值

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

仅当未设置 secondsminutes 时才有效。

选项

  • false

  • true ← (默认)

minutes

字符串

暂停的分钟数,必须为正数。

prompt

字符串

用于提示消息的可选文本。

仅当 secondsminutes 都未指定时,才会返回用户输入,否则这只是在暂停 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 模块的输出

返回: 总是

示例: "暂停 0.04 分钟"

stop

字符串

结束暂停时的时间

返回: 总是

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

user_input

字符串

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

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

示例: "示例 用户 输入"

作者

  • Tim Bielawa (@tbielawa)