undef 函数:为未定义变量添加提示

版本 2.12 中的新功能。

Jinja2 的 undef() 函数返回一个 Python AnsibleUndefined 对象,该对象派生自 jinja2.StrictUndefined。使用 undef() 来取消定义 优先级较低 的变量。例如,可以为一段任务覆盖主机变量

---
- hosts: localhost
  gather_facts: no
  module_defaults:
    group/ns.col.auth: "{{ vaulted_credentials | default({}) }}"
  tasks:
    - ns.col.module1:
    - ns.col.module2:

    - name: override host variable
      vars:
        vaulted_credentials: "{{ undef() }}"
      block:
        - ns.col.module1:

undef 函数接受一个可选参数

提示

如果 DEFAULT_UNDEFINED_VAR_BEHAVIOR 配置为报错,则提供关于未定义变量的自定义提示。