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

注意

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

概要

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

  • 此模块也支持 Windows 目标。

注意

此模块具有相应的 action 插件

参数

参数

注释

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

支持:完全支持

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

async

支持:不支持

支持与 async 关键字一起使用

become

支持:不支持

可与 become 关键字一起使用

bypass_host_loop

支持:不支持

强制执行不按主机执行的“全局”任务,这将绕过按主机进行的模板化以及 serial、throttle 和其他循环方面的考虑

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

此 action 通常不能在锁步策略之外正常工作

check_mode

支持:完全支持

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

connection

支持:不支持

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

delegation

支持:不支持

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

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

diff_mode

支持:不支持

在 diff 模式下,将返回有关已更改内容(或在 check_mode 中可能需要更改的内容)的详细信息

platform

平台: 所有

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

另请参见

另请参见

ansible.builtin.debug

打印执行期间的语句。

ansible.builtin.fail

使用自定义消息失败。

ansible.builtin.meta

执行 Ansible “action”。

示例

- 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