我尝试通过“set_fact”将值分配给值列表中的元素对应的键 例如:
variable_ansible:
key1: value1
key2:
- value2-1
- value2-2
- value2-3
key3:
- value3-1
- value3-2
如果我给作为输入: value2-3 ,这给我 key2 作为输出 任何想法请
答案 0 :(得分:0)
使字典保持一致并将'value1'也放入列表中,例如
variable_ansible:
key1:
- value1
key2:
- value2-1
- value2-2
- value2-3
key3:
- value3-1
- value3-2
使用json_query,例如
- set_fact:
_keys: "{{ variable_ansible|dict2items|json_query(query) }}"
vars:
input: value2-3
query: "[?contains(value, '{{ input }}')].key"
给予
_keys:
- key2
json_query 的结果总是一个列表,因为可能有更多的键满足条件。