Ansible:在json_query过滤器中传递变量
问题描述:
我需要在json_query过滤器中传递变量。Ansible:在json_query过滤器中传递变量
该实施例,具有一个固定的字符串,是否正常工作(字符串=短裙):
- set_fact:
my_value_exist: "{{ my_json.json | json_query('contains(component.name,`tutu`)')}}"
但我需要传递的变量,而不是短裙
- set_fact:
my_value_exist: "{{ my_json.json | json_query('contains(component.name,`{{my_var}}`)')}}"
{{my_var} }是在前面步骤中检索到的字符串
您是否具有正确的语法,以便变量{{my_var}}可以在参数中正确传递?
感谢您的帮助。
的问候,一个任务
答
使用辅助变量:
- set_fact:
my_value_exist: "{{ my_json.json | json_query(qry) }}"
vars:
qry: 'contains(component.name,`{{my_var}}`'
你可以试试这个:'my_value_exist:“{{my_json.json | json_query(“包含(component.name,'my_var' )')}}“' –
感谢您的回答。 – dbo
该值存在于json中,但使用此语法返回的值等于false。 my_value_exit应返回true – dbo