我需要在 json_query 过滤器中传递一个变量。
此示例使用固定字符串,工作正常 (string=tutu):
- set_fact:
my_value_exist: "{{ my_json.json | json_query('contains(component.name,`tutu`)')}}"
但我需要传递一个变量,而不是 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}}`'
关于json - Ansible : pass a variable in a json_query filter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46038985/