在 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"
}
假设我有一个 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"
}