我有这样的事情:
item = bar
foobar = { a: b, b: c }
然后在jinja模板中:
{{'foo' ~ item}}
我试图找出如何获取foobar的键,但这只是返回字符串foobar
。
我尝试了一些事情:
{{('foo' ~ item).a}}
{{'foo' ~ item.a}}
{{{{'foo' ~ item}}.a}}
最终,它们以字符串foobar
形式出现,而不是评估变量foobar
..除了最后一个,它只是断开。 I'd know how to reference it if it was a dict key ..但我不知道如何这样做。
(具体来说,这来自于在Ansible中将字符串与{{item}}
组合在一起。所以答案是' t"使用{{foobar.a}}
"。)
答案 0 :(得分:2)
您可以使用以下脚本:
---
- hosts: localhost
become: true
vars:
- itemn: bar
- foobar: {"a":"b", "b":"c"}
tasks:
- debug: msg="{{vars['foo' ~ itemn]['a']}}"