ansible.builtin.meta 模块 – 执行 Ansible “操作”
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 meta
。但是,我们建议您使用 完整限定集合名称 (FQCN) ansible.builtin.meta
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。
摘要
元任务是一种特殊类型的任务,可以影响 Ansible 的内部执行或状态。
元任务可以在 playbook 中的任何位置使用。
此模块也支持 Windows 目标。
参数
参数 |
注释 |
---|---|
此模块采用自由格式命令,作为字符串。没有名为“自由格式”的实际选项。请参阅示例!
选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:无 |
指示此属性具有相应的 action 插件,因此某些选项部分可以在控制器上执行 |
|
支持:无 |
支持与 |
|
支持:无 |
可与 become 关键字一起使用 |
|
支持:部分 某些子操作会忽略主机循环,请参阅上面每个特定操作的描述以了解例外情况 |
强制执行不按主机执行的“全局”任务,这会绕过按主机模板化以及串行、节流和其他循环注意事项 条件将按使用 此操作在非锁步策略之外通常无法正常工作 |
|
支持:部分 大多数子操作会忽略任务循环,请参阅上面每个特定操作的描述以了解例外情况 |
这些任务会忽略 |
|
支持:部分 虽然这些操作不会直接修改目标,但它们确实会更改运行中目标的可能状态 |
可以在 check_mode 下运行并返回更改状态预测,而无需修改目标,如果不受支持,则操作将被跳过。 |
|
支持:部分 此操作中的大多数选项都不使用连接,除了 |
使用目标的配置连接信息在其上执行代码 |
|
支持:完全 |
这是一个“核心引擎”功能,并且不像大多数任务操作那样实现,因此无法通过插件系统以任何方式覆盖。 |
|
支持:无 |
可与 delegate_to 和相关关键字结合使用 |
|
支持:无 |
在差异模式下时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息 |
|
支持:部分 只有某些选项支持条件,并且当它们支持时,它们会“绕过主机循环”,从第一个可用的主机获取值 |
操作不受条件执行的影响,因此它将忽略 |
|
平台: 所有 |
可以对其进行操作的目标操作系统/系列 |
|
支持:完全 |
允许使用“tags”关键字来控制是否执行此操作。 |
|
支持:无 |
表示此操作是否遵循 until/retry/poll 关键字。 |
注释
注意
clear_facts
将移除来自 ansible.builtin.set_fact 的持久化事实,使用cacheable=True
,但不会移除它为当前运行创建的当前主机变量。在 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'