ansible.builtin.meta 模块 – 执行 Ansible '操作'
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使没有指定 collections 关键字,您也可以使用简短的模块名称 meta
。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.meta
,以便轻松链接到模块文档,并避免与可能具有相同模块名称的其他集合冲突。
概要
元任务是一种特殊类型的任务,可以影响 Ansible 的内部执行或状态。
元任务可以在剧本中的任何地方使用。
此模块也支持 Windows 目标。
参数
参数 |
注释 |
---|---|
此模块以字符串形式接受自由格式命令。没有名为“自由格式”的实际选项。请参阅示例!
选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:无 |
表示它具有对应的操作插件,因此选项的某些部分可以在控制器上执行 |
|
支持:无 |
支持与 |
|
支持:无 |
可与 become 关键字一起使用 |
|
支持:部分 一些子操作会忽略主机循环,请参阅上述每个特定操作的描述以了解例外情况 |
强制执行不按主机执行的“全局”任务,这会绕过按主机进行的模板化以及串行、节流和循环的其他考虑因素 条件语句将像使用 此操作在锁步策略之外无法正常工作 |
|
支持:部分 大多数子操作会忽略任务循环,请参阅上述每个特定操作的描述以了解例外情况 |
这些任务会忽略 |
|
支持:部分 虽然这些操作不会直接修改目标,但它们确实会更改运行期间目标的可能状态 |
可以在 check_mode 下运行,并返回更改状态预测,而不会修改目标,如果不支持,则操作将被跳过。 |
|
支持:部分 此操作中的大多数选项不使用连接,除了 |
使用目标的配置连接信息在其上执行代码 |
|
支持:完整 |
这是一个“核心引擎”功能,它的实现方式与大多数任务操作不同,因此无法通过插件系统以任何方式覆盖它。 |
|
支持:无 |
可与 delegate_to 和相关关键字一起使用 |
|
支持:无 |
将在差异模式下返回有关更改内容(或可能在 check_mode 中需要更改的内容)的详细信息 |
|
支持:部分 只有某些选项支持条件语句,并且当它们这样做时,它们会“绕过主机循环”,从第一个可用的主机获取值 |
操作不受条件执行的影响,因此它会忽略 |
|
平台: 所有 |
可以对其进行操作的目标操作系统/系列 |
|
支持:完整 |
允许使用“标签”关键字控制此操作的执行选择 |
|
支持:无 |
表示此操作是否遵守 until/retry/poll 关键字 |
注释
注意
clear_facts
将使用cacheable=True
从 ansible.builtin.set_fact 中删除持久事实,但不会删除它为当前运行创建的当前主机变量。在 Ansible 2.11 之前,不支持使用标签跳过 ansible.builtin.meta 任务。
另请参见
另请参见
- ansible.builtin.assert
断言给定的表达式为真。
- ansible.builtin.fail
以自定义消息失败。
示例
# Example showing flushing handlers on demand, not at end of play
- ansible.builtin.template:
src: new.j2
dest: /etc/config.txt
notify: myhandler
- name: Force all notified handlers to run at this point, not waiting for normal sync points
ansible.builtin.meta: flush_handlers
# Example showing how to refresh inventory during play
- name: Reload inventory, useful with dynamic inventories when play makes changes to the existing hosts
cloud_guest: # this is fake module
name: newhost
state: present
- name: Refresh inventory to ensure new instances exist in inventory
ansible.builtin.meta: refresh_inventory
# Example showing how to clear all existing facts of targeted hosts
- name: Clear gathered facts from all currently targeted hosts
ansible.builtin.meta: clear_facts
# Example showing how to continue using a failed target
- name: Bring host back to play after failure
ansible.builtin.copy:
src: file
dest: /etc/file
remote_user: imightnothavepermission
- ansible.builtin.meta: clear_host_errors
# Example showing how to reset an existing connection
- ansible.builtin.user:
name: '{{ ansible_user }}'
groups: input
- name: Reset ssh connection to allow user changes to affect 'current login user'
ansible.builtin.meta: reset_connection
# Example showing how to end the play for specific targets
- name: End the play for hosts that run CentOS 6
ansible.builtin.meta: end_host
when:
- ansible_distribution == 'CentOS'
- ansible_distribution_major_version == '6'