【发布时间】:2018-02-22 22:01:38
【问题描述】:
我正在尝试调试正在过滤的变量,并且我的调试语句包含第二个嵌套变量。我似乎找不到正确的格式来进行调试。
例如:
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 }}"
我知道我可以简单地删除调试消息并针对 var 执行,并且效果很好。示例 -
- debug: var=patches|select('match','PB.{{ bw_type }}.')|list
但我不能在 with_items 场景中做同样的事情,因为需要外胡须,因此我试图让这个工作。
我在这里阅读过之前的帖子How can I use Ansible nested variable?
但我不确定如何通过我已有的过滤来应用它。根据那篇文章,我还尝试了以下方法,但均未成功。
- debug: msg=" Deployments - {{ vars[patches|select('match','PB.'+ bw_type +'.')|list] }}"
我做错了什么?
【问题讨论】:
标签: ansible