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

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,也可以使用简短的模块名称 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 目标。

注意

此模块具有相应的 action 插件

参数

参数

注释

echo

布尔值

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

只有在既未设置 seconds 也未设置 minutes 的情况下才有效。

选项

  • false

  • true ← (默认)

minutes

字符串

要暂停的分钟数(正数)。

prompt

字符串

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

只有在 secondsminutes 都未指定的情况下才会返回用户输入,否则这只是 playbook 执行暂停之前的自定义消息。

seconds

字符串

要暂停的秒数(正数)。

属性

属性

支持

描述

action

支持:完全支持

指示其具有相应的 action 插件,因此可以在控制器上执行部分选项

async

支持:不支持

支持与 async 关键字一起使用

become

支持:不支持

可与 become 关键字一起使用

bypass_host_loop

支持:完全支持

强制执行不会按主机执行的“全局”任务,这将绕过按主机的模板化以及 serial、throttle 和其他循环考虑因素

条件将按使用 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

字符串

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

返回:如果没有设置等待时间

示例:"Example user input"

作者

  • Tim Bielawa (@tbielawa)