ansible.builtin.pause 模块 – 暂停剧本执行

注意

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

概要

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

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

  • 您可以使用 ctrl+c 在暂停到期之前提前前进,或者如果您需要完全中止剧本运行。要提前继续,请按 ctrl+c,然后按 c。要中止剧本,请按 ctrl+c,然后按 a

  • 不支持提示一定时间。暂停剧本执行是可以中断的,但不会返回用户输入。

  • pause 模块会集成到异步/并行剧本中,无需任何特殊考虑(参见滚动更新)。当与 serial 剧本参数一起使用暂停时(如滚动更新),您只会针对当前主机组提示一次。

  • 此模块也支持 Windows 目标。

注意

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

参数

参数

注释

echo

布尔值

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

仅当 secondsminutes 都未设置时有效。

选项

  • false

  • true ← (默认)

minutes

字符串

要暂停的分钟数,为正数。

prompt

字符串

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

仅当 secondsminutes 都未指定时才会返回用户输入,否则这只是暂停剧本执行之前的自定义消息。

seconds

字符串

要暂停的秒数,为正数。

属性

属性

支持

描述

action

支持:完全支持

表示它具有相应的操作插件,因此选项的某些部分可以在控制器上执行

async

支持:不支持

支持与 async 关键字一起使用

become

支持:不支持

可与 become 关键字一起使用

bypass_host_loop

支持:完全支持

强制执行不按主机执行的“全局”任务,这会绕过按主机进行的模板化和序列化,以及节流和其他循环考虑因素

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

此操作通常无法在锁步策略之外正常工作

check_mode

支持:完全支持

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

connection

支持:不支持

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

delegation

支持:不支持

可与 delegate_to 和相关关键字一起使用

diff_mode

支持:不支持

将返回有关更改内容(或可能需要在 check_mode 中更改的内容)的详细信息,当处于 diff 模式时

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)