我正在尝试调试一个正在过滤的变量,我的调试语句包含第二个嵌套变量。我似乎找不到适当的格式来使调试工作。
例如:
vars:
- bw_type: as
- patches: [
PB.ps.21.sp1.551.pb2017091592773,
PB.as.21.sp1.551.pb2017091555706,
PB.as.21.sp1.551.pb2017091555707,
PB.xsp.21.sp1.551.pb2017091891314 ]
- debug: msg="Deployments - {{ patches|select('match','PB.{{ bw_type }}.')|list }}"
我了解,我可以简单地删除调试MSG并对VAR执行,这很好。示例 -
- debug: var=patches|select('match','PB.{{ bw_type }}.')|list
,但是由于需要屋子的胡子,我在_items方案中不能做同样的事情,因此我试图使此工作。
我已经在这里阅读了以前的文章,该如何使用Ansible Nested变量?
,但我不确定如何将其应用于我已经进行的过滤。鉴于那篇文章,我也尝试了以下内容,没有成功。
- debug: msg=" Deployments - {{ vars[patches|select('match','PB.'+ bw_type +'.')|list] }}"
我在做什么错?
您可以使用jinja2语法:
- debug:
msg: "Deployments - {{ patches | select('match', 'PB.' + bw_type + '.') | list }}"
您引用的帖子是关于在另一个变量名称中使用变量。这与您的问题不同。