Ansible:在 json_query 过滤器中传递一个变量 [英] Ansible : pass a variable in a json_query filter

查看:24
本文介绍了Ansible:在 json_query 过滤器中传递一个变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在 json_query 过滤器中传递一个变量.

I need to pass a variable in a json_query filter.

这个带有固定字符串的例子工作正常(string=tutu):

This example, with a fixed string, is working correctly (string=tutu) :

- set_fact:
 my_value_exist: "{{ my_json.json | json_query('contains(component.name,`tutu`)')}}"

但我需要传递一个变量,而不是 tutu

But i need to pass a variable , instead of tutu

- set_fact:
 my_value_exist: "{{ my_json.json | json_query('contains(component.name,`{{my_var}}`)')}}"

{{my_var}} 是在上一步中检索到的字符串

{{my_var}} is a string retreived in a previous step

您的语法是否正确,以便变量 {{my_var}} 可以在参数中正确传递?

Do you have the correct syntax, so that the variable {{my_var}} could be passed correctly in parameter ?

感谢您的帮助.

问候,

推荐答案

为任务使用辅助变量:

- set_fact:
    my_value_exist: "{{ my_json.json | json_query(qry) }}"
  vars:
    qry: 'contains(component.name,`{{my_var}}`'

这篇关于Ansible:在 json_query 过滤器中传递一个变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆