在Ansible中,如何在调试模块中显示变量名?
假设我有一个defaults/main.yml文件在Ansible中,如何在调试模块中显示变量名?,ansible,ansible-2.x,Ansible,Ansible 2.x,假设我有一个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只显示值,而不显示
---
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文档中找不到。您可以使用
和_dict
来显示var名称,但您必须以不同的方式定义变量:
---
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"
}
如果我不想使用字典,即按原样使用代码,该怎么办?