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 函数接受一个可选参数

hint

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