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

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使没有指定 集合关键字,您也可以使用简短的模块名称 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

支持:完整

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

connection

支持:

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

delegation

支持:

除了 register 以及与 delegate_facts 组合使用之外,它几乎没有影响。

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

diff_mode

支持:

当处于 diff 模式时,将返回有关更改内容(或可能在 check_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 核心团队

  • Michael DeHaan