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 目标。

注意

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

参数

参数

注释

echo

布尔值

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

仅当 secondsminutes 均未设置时才有效。

选项

  • false

  • true ← (默认)

minutes

字符串

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

prompt

字符串

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

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

seconds

字符串

要暂停的秒数(正数)。

属性

属性

支持

描述

action

支持:完全支持

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

async

支持:不支持

支持与 async 关键字一起使用

become

支持:不支持

可与 become 关键词一起使用

bypass_host_loop

支持:完全支持

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

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

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

check_mode

支持:完全支持

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

connection

支持:不支持

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

delegation

支持:不支持

可与 delegate_to 和相关关键词结合使用

diff_mode

支持:不支持

在差异模式下时,将返回有关已更改内容(或可能需要在 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)