虽然这应该是一个小问题,但我还是无法理解。在
我使用Ansible(和Jinja模板)构建一个模板,我有一个字典列表,比如(这里显示为JSON):
"datacenters": [{
"description": "Main Datacenter",
"name": "main"
}, {
"description": "Secondaty Datacenter",
"name": "secondary"
}]
我想按名字过滤并打印描述。在我的模板中,我可以到达以下位置:
^{pr2}$带输出:
{
"description": "Main Datacenter",
"name": "main"
}
但我不能只得到description
。例如,当我使用:
{{ datacenters | selectattr("name", "equalto", "main") | list | first | attr("description") }}
我得到:
AnsibleUndefinedVariable: 'unicode object' has no attribute 'description'
我在google上找到了这个链接https://github.com/ansible/ansible/issues/19356错误,但我没有从清单中加载变量。 你知道怎么解决这个问题吗?在
我做了它的工作,但使用了一个变通办法,所以任何人谁能提供一条线解决方案是更受欢迎的。在
这里是解决方法。在模板中,我使用了一组类似于:
这是可行的,但我不明白为什么它不能在一行中使用
attr
可以对管道的结果进行分组:
相关问题 更多 >
编程相关推荐