我有两个变量:
- 资产:保存资产清单
- asset_index:保存我感兴趣的索引(通过调试打印时为“0”)
如何获取指定位置的资产列表条目?
- debug:
var: assets[0]
可以工作,但是有硬编码索引。
- debug:
var: assets[ asset_index ]
给我The error was: 'list object' has no attribute '0'
- debug:
var: assets[ {{ asset_index }} ]
给我template error while templating string: expected token ':', got '}'. String: {{ assets[ {{ asset_index }} ] }}'
答案1
现在我已经提出了这个问题,我可以更好地寻找解决方案。灵感来自在 Ansible Playbook 中将字符串转换为整数我试过
- debug:
var: assets[ asset_index | int ]
...到目前为止,我一直在使用该过滤器设置变量,但它总是以字符串形式返回。在 Ansible 中,似乎您必须在使用值时执行转换,而不是在将其分配给变量时执行转换。