剧本关键词

这些是在常见的剧本对象上可用的关键词。关键词是配置 Ansible 行为的几个来源之一。有关每个来源的相对优先级的详细信息,请参阅 控制 Ansible 的行为:优先级规则

注意

请注意

  • 指令的别名在此处没有反映出来,可变的别名也没有反映出来。例如,在任务中,action 可以被任何 Ansible 模块的名称替换。

  • 关键词目前没有 version_added 信息

  • 某些关键词为其内部对象设置默认值,而不是为对象本身设置默认值

剧本

any_errors_fatal

强制任何未处理的任务错误在任何主机上传播到所有主机,并结束剧本。

become

一个布尔值,用于控制是否在 任务 执行时使用特权提升。由 become 插件实现。请参阅 Become 插件

become_exe

用于提升特权的可执行文件的路径。由 become 插件实现。请参阅 Become 插件

become_flags

become 为 True 时传递给特权提升程序的一串标志。

become_method

要使用特权提升方法(例如 sudo 或 su)。

become_user

使用特权提升后“成为”的用户。远程/登录用户必须有权限成为此用户。

check_mode

一个布尔值,用于控制任务是否以“检查”模式执行。请参阅 验证任务:检查模式和差异模式

collections

要搜索模块、插件和角色的集合命名空间列表。请参阅 在剧本中使用集合

注意

角色中的任务不会继承来自剧本的 collections 值。要让角色搜索集合列表,请在角色内的 meta/main.yml 中使用 collections 关键词。

connection

允许您更改用于执行任务的目标的连接插件。请参阅 使用连接插件

debugger

根据任务结果的状态启用调试任务。请参阅 调试任务

diff

切换以使任务返回“差异”信息或不返回。

environment

一个字典,它被转换为环境变量,以便在执行时提供给任务。这只能用于模块。这不受支持任何其他类型的插件,也不受 Ansible 本身或其配置的支持,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。

fact_path

设置由 gather_facts 控制的事实收集插件的事实路径选项。

force_handlers

即使主机在剧本期间失败,也会强制执行通知的处理程序。如果剧本本身失败,则不会触发。

gather_facts

一个布尔值,用于控制剧本是否会自动运行“设置”任务来收集主机的 fakt。

gather_subset

允许您向由 gather_facts 控制的事实收集插件传递子集选项。

gather_timeout

允许您为由 gather_facts 控制的事实收集插件设置超时。

handlers

包含被视为处理程序的任务的部分,这些任务不会正常执行,只有在每个任务部分完成后收到通知时才会执行。处理程序的 listen 字段不可模板化。

hosts

一个组、主机或主机模式列表,这些列表转换为剧本目标的主机列表。

ignore_errors

一个布尔值,允许您忽略任务失败并继续执行剧本。它不影响连接错误。

ignore_unreachable

一个布尔值,允许您忽略由于主机不可达而导致的任务失败,并继续执行剧本。这不会影响其他任务错误(请参阅 ignore_errors),但对于易变/短暂的主机组很有用。

max_fail_percentage

可用于在当前批次中给定百分比的主机失败后中止运行。这仅适用于线性或线性派生策略。

module_defaults

指定模块的默认参数值。

name

标识符。可用于文档或在任务/处理程序中。

no_log

一个布尔值,用于控制信息披露。

order

控制主机在用于执行剧本时的排序。可能的值是 inventory(默认)、sorted、reverse_sorted、reverse_inventory 和 shuffle。

port

用于覆盖连接中使用的默认端口。

post_tasks

tasks 部分之后执行的任务列表。

pre_tasks

roles 之前执行的任务列表。

remote_user

用于通过连接插件登录目标的用户。

roles

要导入到剧本中的角色列表

run_once

一个布尔值,它将绕过主机循环,强制任务尝试在第一个可用的主机上执行,然后将任何结果和事实应用于同一个批次中的所有活动主机。

serial

明确定义 Ansible 如何将当前剧本在剧本目标上的执行批处理。请参阅 使用 serial 设置批次大小

strategy

允许您选择要用于剧本的策略插件。请参阅 策略插件

tags

应用于任务或包含的任务的标签,这允许从命令行选择任务子集。

tasks

要在剧本中执行的任务的主列表,它们在 roles 之后执行,在 post_tasks 之前执行。

throttle

限制任务、块和剧本级别的并发任务运行数量。这与 forks 和 serial 设置无关,但不能设置高于这些限制。例如,如果 forks 设置为 10,throttle 设置为 15,最多 10 个主机将并行运行。

timeout

任务操作执行的时间限制,如果超过此限制,Ansible 将中断进程。超时不包括模板化或循环。

vars

变量的字典/映射

vars_files

包含要包含在剧本中的变量的文件列表。

vars_prompt

要提示输入的变量列表。

角色

any_errors_fatal

强制任何未处理的任务错误在任何主机上传播到所有主机,并结束剧本。

become

一个布尔值,用于控制是否在 任务 执行时使用特权提升。由 become 插件实现。请参阅 Become 插件

become_exe

用于提升特权的可执行文件的路径。由 become 插件实现。请参阅 Become 插件

become_flags

become 为 True 时传递给特权提升程序的一串标志。

become_method

要使用特权提升方法(例如 sudo 或 su)。

become_user

使用特权提升后“成为”的用户。远程/登录用户必须有权限成为此用户。

check_mode

一个布尔值,用于控制任务是否以“检查”模式执行。请参阅 验证任务:检查模式和差异模式

collections

要搜索模块、插件和角色的集合命名空间列表。请参阅 在剧本中使用集合

注意

角色中的任务不会继承来自剧本的 collections 值。要让角色搜索集合列表,请在角色内的 meta/main.yml 中使用 collections 关键词。

connection

允许您更改用于执行任务的目标的连接插件。请参阅 使用连接插件

debugger

根据任务结果的状态启用调试任务。请参阅 调试任务

delegate_facts

一个布尔值,允许您将事实应用于委托主机而不是 inventory_hostname。

delegate_to

执行任务的主机,而不是目标(inventory_hostname)。委托主机的连接变量也将用于任务。

diff

切换以使任务返回“差异”信息或不返回。

environment

一个字典,它被转换为环境变量,以便在执行时提供给任务。这只能用于模块。这不受支持任何其他类型的插件,也不受 Ansible 本身或其配置的支持,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。

ignore_errors

一个布尔值,允许您忽略任务失败并继续执行剧本。它不影响连接错误。

ignore_unreachable

一个布尔值,允许您忽略由于主机不可达而导致的任务失败,并继续执行剧本。这不会影响其他任务错误(请参阅 ignore_errors),但对于易变/短暂的主机组很有用。

module_defaults

指定模块的默认参数值。

name

标识符。可用于文档或在任务/处理程序中。

no_log

一个布尔值,用于控制信息披露。

port

用于覆盖连接中使用的默认端口。

remote_user

用于通过连接插件登录目标的用户。

run_once

一个布尔值,它将绕过主机循环,强制任务尝试在第一个可用的主机上执行,然后将任何结果和事实应用于同一个批次中的所有活动主机。

tags

应用于任务或包含的任务的标签,这允许从命令行选择任务子集。

throttle

限制任务、块和剧本级别的并发任务运行数量。这与 forks 和 serial 设置无关,但不能设置高于这些限制。例如,如果 forks 设置为 10,throttle 设置为 15,最多 10 个主机将并行运行。

timeout

任务操作执行的时间限制,如果超过此限制,Ansible 将中断进程。超时不包括模板化或循环。

vars

变量的字典/映射

when

条件表达式,确定是否运行任务的迭代。

always

块中任务的列表,无论块中是否发生错误,这些任务都会执行。

any_errors_fatal

强制任何未处理的任务错误在任何主机上传播到所有主机,并结束剧本。

become

一个布尔值,用于控制是否在 任务 执行时使用特权提升。由 become 插件实现。请参阅 Become 插件

become_exe

用于提升特权的可执行文件的路径。由 become 插件实现。请参阅 Become 插件

become_flags

become 为 True 时传递给特权提升程序的一串标志。

become_method

要使用特权提升方法(例如 sudo 或 su)。

become_user

使用特权提升后“成为”的用户。远程/登录用户必须有权限成为此用户。

block

块中任务的列表。

check_mode

一个布尔值,用于控制任务是否以“检查”模式执行。请参阅 验证任务:检查模式和差异模式

collections

要搜索模块、插件和角色的集合命名空间列表。请参阅 在剧本中使用集合

注意

角色中的任务不会继承来自剧本的 collections 值。要让角色搜索集合列表,请在角色内的 meta/main.yml 中使用 collections 关键词。

connection

允许您更改用于执行任务的目标的连接插件。请参阅 使用连接插件

debugger

根据任务结果的状态启用调试任务。请参阅 调试任务

delegate_facts

一个布尔值,允许您将事实应用于委托主机而不是 inventory_hostname。

delegate_to

执行任务的主机,而不是目标(inventory_hostname)。委托主机的连接变量也将用于任务。

diff

切换以使任务返回“差异”信息或不返回。

environment

一个字典,它被转换为环境变量,以便在执行时提供给任务。这只能用于模块。这不受支持任何其他类型的插件,也不受 Ansible 本身或其配置的支持,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。

ignore_errors

一个布尔值,允许您忽略任务失败并继续执行剧本。它不影响连接错误。

ignore_unreachable

一个布尔值,允许您忽略由于主机不可达而导致的任务失败,并继续执行剧本。这不会影响其他任务错误(请参阅 ignore_errors),但对于易变/短暂的主机组很有用。

module_defaults

指定模块的默认参数值。

name

标识符。可用于文档或在任务/处理程序中。

no_log

一个布尔值,用于控制信息披露。

notify

当任务返回“changed=True”状态时要通知的处理程序列表。

port

用于覆盖连接中使用的默认端口。

remote_user

用于通过连接插件登录目标的用户。

rescue

中,如果主 列表中发生任务错误,则运行的任务列表。

run_once

一个布尔值,它将绕过主机循环,强制任务尝试在第一个可用的主机上执行,然后将任何结果和事实应用于同一个批次中的所有活动主机。

tags

应用于任务或包含的任务的标签,这允许从命令行选择任务子集。

throttle

限制任务、块和剧本级别的并发任务运行数量。这与 forks 和 serial 设置无关,但不能设置高于这些限制。例如,如果 forks 设置为 10,throttle 设置为 15,最多 10 个主机将并行运行。

timeout

任务操作执行的时间限制,如果超过此限制,Ansible 将中断进程。超时不包括模板化或循环。

vars

变量的字典/映射

when

条件表达式,确定是否运行任务的迭代。

任务

action

要为任务执行的“操作”,它通常转换为 C(module) 或操作插件。

any_errors_fatal

强制任何未处理的任务错误在任何主机上传播到所有主机,并结束剧本。

args

将参数添加到任务的另一种方法。接受一个字典,其中键映射到选项和值。

async

如果 C(action) 支持,则异步运行任务;值为最大运行时间(以秒为单位)。

become

一个布尔值,用于控制是否在 任务 执行时使用特权提升。由 become 插件实现。请参阅 Become 插件

become_exe

用于提升特权的可执行文件的路径。由 become 插件实现。请参阅 Become 插件

become_flags

become 为 True 时传递给特权提升程序的一串标志。

become_method

要使用特权提升方法(例如 sudo 或 su)。

become_user

使用特权提升后“成为”的用户。远程/登录用户必须有权限成为此用户。

changed_when

条件表达式,它会覆盖任务的正常“changed”状态。

check_mode

一个布尔值,用于控制任务是否以“检查”模式执行。请参阅 验证任务:检查模式和差异模式

collections

要搜索模块、插件和角色的集合命名空间列表。请参阅 在剧本中使用集合

注意

角色中的任务不会继承来自剧本的 collections 值。要让角色搜索集合列表,请在角色内的 meta/main.yml 中使用 collections 关键词。

connection

允许您更改用于执行任务的目标的连接插件。请参阅 使用连接插件

debugger

根据任务结果的状态启用调试任务。请参阅 调试任务

delay

重试之间延迟的秒数。此设置仅与 until 结合使用。

delegate_facts

一个布尔值,允许您将事实应用于委托主机而不是 inventory_hostname。

delegate_to

执行任务的主机,而不是目标(inventory_hostname)。委托主机的连接变量也将用于任务。

diff

切换以使任务返回“差异”信息或不返回。

environment

一个字典,它被转换为环境变量,以便在执行时提供给任务。这只能用于模块。这不受支持任何其他类型的插件,也不受 Ansible 本身或其配置的支持,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。

failed_when

条件表达式,它会覆盖任务的正常“failed”状态。

ignore_errors

一个布尔值,允许您忽略任务失败并继续执行剧本。它不影响连接错误。

ignore_unreachable

一个布尔值,允许您忽略由于主机不可达而导致的任务失败,并继续执行剧本。这不会影响其他任务错误(请参阅 ignore_errors),但对于易变/短暂的主机组很有用。

local_action

与 action 相同,但也意味着 delegate_to: localhost

循环

用于任务迭代的列表,并将每个列表元素保存到 item 变量中(可通过 loop_control 配置)。

loop_control

此处的几个键允许您修改/设置任务中的循环行为。请参阅 为循环添加控制.

module_defaults

指定模块的默认参数值。

name

标识符。可用于文档或在任务/处理程序中。

no_log

一个布尔值,用于控制信息披露。

notify

当任务返回“changed=True”状态时要通知的处理程序列表。

轮询

为异步任务设置轮询间隔(以秒为单位)(默认值为 10 秒)。

port

用于覆盖连接中使用的默认端口。

注册

包含任务状态和模块返回值的变量名称。

remote_user

用于通过连接插件登录目标的用户。

重试

until 循环中放弃之前重试的次数。此设置仅与 until 结合使用。

run_once

一个布尔值,它将绕过主机循环,强制任务尝试在第一个可用的主机上执行,然后将任何结果和事实应用于同一个批次中的所有活动主机。

tags

应用于任务或包含的任务的标签,这允许从命令行选择任务子集。

throttle

限制任务、块和剧本级别的并发任务运行数量。这与 forks 和 serial 设置无关,但不能设置高于这些限制。例如,如果 forks 设置为 10,throttle 设置为 15,最多 10 个主机将并行运行。

timeout

任务操作执行的时间限制,如果超过此限制,Ansible 将中断进程。超时不包括模板化或循环。

直到

此关键字表示一个 “retries 循环”,该循环将持续进行,直到满足此处提供的条件或我们达到 retries 限制。

vars

变量的字典/映射

when

条件表达式,确定是否运行任务的迭代。

with_<lookup_plugin>

loop 相同,但会神奇地添加任何查找插件的输出以生成项目列表。