ansible.builtin.assert 模块 – 断言给定的表达式为真

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,您也可以使用简短的模块名称 assert。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.assert,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。

摘要

  • 此模块断言给定的表达式为真,并带有可选的自定义消息。

  • 此模块也支持 Windows 目标。

注意

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

参数

参数

注释

fail_msg

别名:msg

字符串

在 Ansible 2.7 中添加

用于失败断言的自定义消息。

此参数在 Ansible 2.7 之前称为 msg,现在已重命名为 fail_msg,并具有别名 msg

quiet

布尔值

在 Ansible 2.8 中添加

将其设置为 true 以避免详细输出。

选项

  • false ← (默认)

  • true

success_msg

字符串

在 Ansible 2.7 中添加

用于成功断言的自定义消息。

that

列表 / 元素=字符串 / 必需

可以传递给 when 语句的相同形式的字符串表达式的列表。

属性

属性

支持

描述

action

支持:完全支持

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

async

支持:不支持

支持与 async 关键字一起使用

become

支持:不支持

可与 become 关键字一起使用

bypass_host_loop

支持:不支持

强制执行不按主机执行的“全局”任务,这将绕过按主机模板化以及串行、节流和其他循环注意事项

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

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

check_mode

支持:完全支持

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

connection

支持:不支持

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

delegation

支持:不支持

除了 register 和/或与 delegate_facts 结合使用外,它几乎没有影响。

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

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在检查模式下更改的内容)的详细信息

platform

平台: 全部

可以对其进行操作的目标操作系统/系列

另请参阅

另请参阅

ansible.builtin.debug

在执行期间打印语句。

ansible.builtin.fail

以自定义消息失败。

ansible.builtin.meta

执行 Ansible“操作”。

示例

- name: A single condition can be supplied as string instead of list
  ansible.builtin.assert:
    that: "ansible_os_family != 'RedHat'"

- name: Use yaml multiline strings to ease escaping
  ansible.builtin.assert:
    that:
      - "'foo' in some_command_result.stdout"
      - number_of_the_counting == 3
      - >
        "reject" not in some_command_result.stderr

- name: After version 2.7 both O(msg) and O(fail_msg) can customize failing assertion message
  ansible.builtin.assert:
    that:
      - my_param <= 100
      - my_param >= 0
    fail_msg: "'my_param' must be between 0 and 100"
    success_msg: "'my_param' is between 0 and 100"

- name: Please use O(msg) when ansible version is smaller than 2.7
  ansible.builtin.assert:
    that:
      - my_param <= 100
      - my_param >= 0
    msg: "'my_param' must be between 0 and 100"

- name: Use quiet to avoid verbose output
  ansible.builtin.assert:
    that:
      - my_param <= 100
      - my_param >= 0
    quiet: true

作者

  • Ansible Core 团队

  • Michael DeHaan