剧本关键词
这些是常用剧本对象上可用的关键词。关键词是配置 Ansible 行为的多个来源之一。有关每个来源的相对优先级的详细信息,请参见 控制 Ansible 的行为:优先级规则。
注意
请注意
此处未反映指令的别名,也不反映可变的指令。例如,任务中的 action 可以用任何 Ansible 模块的名称代替。
目前,这些关键词没有
version_added
信息有些关键词设置其内部对象的默认值,而不是对象的本身的默认值
Play(剧本)
- any_errors_fatal
强制任何未处理的任务错误在任何主机上都传播到所有主机并结束剧本。
- 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
切换以使任务返回“diff”信息或不返回。
- environment
一个字典,它被转换为环境变量,以便在执行任务时提供。这只能与模块一起使用。这不支持任何其他类型的插件,也不支持 Ansible 本身或其配置,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。
- fact_path
为由 gather_facts 控制的事实收集插件设置 fact 路径选项。
- force_handlers
即使主机在剧本中失败,也会强制执行已通知的处理程序。如果剧本本身失败,则不会触发。
- gather_facts
布尔值,控制剧本是否会自动运行“setup”任务以收集主机的facts。
- 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
要提示的变量列表。
Role(角色)
- any_errors_fatal
强制任何未处理的任务错误在任何主机上都传播到所有主机并结束剧本。
- 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
切换以使任务返回“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_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
切换以使任务返回“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
要为任务执行的“action”,它通常转换为 C(module) 或 action 插件。
- any_errors_fatal
强制任何未处理的任务错误在任何主机上都传播到所有主机并结束剧本。
- args
向任务添加参数的次要方法。采用字典,其中键映射到选项和值。
- async
如果C(action)支持,则异步运行任务;值为最大运行时间(以秒为单位)。
- 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
切换以使任务返回“diff”信息或不返回。
- environment
一个字典,它被转换为环境变量,以便在执行任务时提供。这只能与模块一起使用。这不支持任何其他类型的插件,也不支持 Ansible 本身或其配置,它只是为负责执行任务的代码设置变量。这不是传递机密数据的推荐方法。
- failed_when
覆盖任务正常“failed”状态的条件表达式。
- ignore_errors
布尔值,允许您忽略任务失败并继续执行剧本。它不影响连接错误。
- ignore_unreachable
布尔值,允许您忽略由于主机无法访问而导致的任务失败并继续执行剧本。这不会影响其他任务错误(参见 ignore_errors),但对于易变/临时主机组很有用。
- local_action
与 action 相同,但也意味着
delegate_to: localhost
- loop
采用任务要迭代的列表,将每个列表元素保存到
item
变量中(可通过 loop_control 配置)。- loop_control
此处的几个键允许您修改/设置任务中的循环行为。参见向循环添加控件。
- module_defaults
指定模块的默认参数值。
- name
标识符。可用于文档或任务/处理程序。
- no_log
布尔值,控制信息披露。
- notify
当任务返回“changed=True”状态时要通知的一系列处理程序。
- poll
设置异步任务的轮询间隔(以秒为单位)(默认为 10 秒)。
- port
用于覆盖连接中使用的默认端口。
- register
将包含任务状态和模块返回数据的变量的名称。
- remote_user
用于通过连接插件登录目标的用户。
- retries
- run_once
布尔值,将绕过主机循环,强制任务尝试在第一个可用主机上执行,然后将任何结果和事实应用于同一批次中的所有活动主机。
- tags
应用于任务或包含的任务的标签,这允许从命令行选择任务子集。
- throttle
限制任务、块和剧本级别并发任务运行的数量。这独立于 forks 和 serial 设置,但不能高于这些限制。例如,如果 forks 设置为 10,而 throttle 设置为 15,则最多将并行操作 10 个主机。
- timeout
任务执行的时间限制,如果超过此时间限制,Ansible 将中断并使任务失败。
- until
- vars
变量的字典/映射
- when
条件表达式,确定是否运行任务的迭代。
- with_
与
loop
相同,但会神奇地添加任何查找插件的输出以生成项目列表。