在 Ansible 中,如何在调试模块中显示变量名称?

In Ansible, how can I show the variable name in a debug module?

假设我有一个 defaults/main.yml 文件

---
var1: my_value1
var2: my_value2

现在我想在调试中打印我的变量

---
- debug: ??? what to put here ???
  with_items:
  - "{{ var1 }}"
  - "{{ var2 }}"

所以我展示

The value of var1 is my_value1
The value of var2 is my_value2

var和msg只显示值,不显示变量名?这看起来很简单,但我在 Ansible 文档中找不到。

您可以使用 with_dict 来显示变量名称,但您必须以不同的方式定义变量:

---
vars:
 var1: 
   my_value1
 var2: 
   my_value2

然后你可以做:

---
debug: 
 msg: "The value of {{item.key}} is {{item.value}}"
with_dict: "{{ vars }}"

这对我有用。这不是我想要的信息,但它至少向我显示了项目名称及其价值

- debug: var="{{item}}"
  with_items:
  - var1
  - var2

然后我得到

TASK [python3 : debug] *********************************************************
ok: [localhost] => (item=var1) => {
    "item": "var1",
    "var1": "my_value1"
}
ok: [localhost] => (item=var2) => {
    "var2": "my_value2",
    "item": "var2"
}