Ansible:对列表的每个项(它本身就是变量)进行循环



我有一个列表

states:
- california
- illinois
- newyork

列表中的每个项目都是一个可变

vars:
california: west
illinois: midwest
newyork: east

我想使用循环来调试列表中每个项目的值,

- debug:
msg: "{{ item }}"
with_items:
- "{{ states }}"

上面的代码给了我这个输出

TASK [../../playbook : debug] ************************************************************************************
ok: [localhost] => (item=california) => {
"msg": [
"california"
]
}
ok: [localhost] => (item=illinois) => {
"msg": [
"illinois"
]
}
ok: [localhost] => (item=newyork) => {
"msg": [
"newyork"
]
}

相反,我想显示下面的值

ok: [localhost] => (item=california) => {
"msg": [
"west"
]
}
ok: [localhost] => (item=illinois) => {
"msg": [
"midwest"
]
}
ok: [localhost] => (item=newyork) => {
"msg": [
"east"
]
}

您可以使用其中一个lookup插件

- debug:
msg: "{{ lookup('vars', item) }}"
with_items:
- "{{ states }}"

最新更新