Ansible变量过滤器和扩展



我正在尝试调试一个正在过滤的变量,我的调试语句包含第二个嵌套变量。我似乎找不到适当的格式来使调试工作。

例如:

  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 }}"

您引用的帖子是关于在另一个变量名称中使用变量。这与您的问题不同。

最新更新