[英]Ansible Dictionary value not set
我正在嘗試用 ansible 在字典中填充一個值,但顯然沒有這樣做。
我喜歡這樣:
- name: Fill with zeros
set_fact:
item: "{{ item | combine(zero_fill, recursive=true) }}"
vars:
zero_fill: { 'json' : { 'data': { 'result': [{ 'value' : ["0.0","0.0"]}]}}}
when: item.json.data.result == []
with_items:
- "{{ requests.results }}"
此變量中的一項如下所示:
{
...
"json": {
"data": {
"result": [],
"resultType": "vector"
}
}
...
}
關鍵是在這個任務的 output 中我確實看到了增加的價值,但是當我在任務之后立即打印它時,價值不存在。
例如,當json.data.result 為空列表時,創建一個新列表 results_zf 並使用 zero_fill更新字典json.data
- set_fact:
results_zf: "{{ results_zf|default([]) + [_item] }}"
loop: "{{ requests.results }}"
vars:
_item: "{{ (item.json.data.result|length > 0)|
ternary(item,
{'json': {'data': item.json.data|combine(zero_fill)}})
}}"
將字典zero_fill限制為屬性結果
zero_fill:
'result': [{'value': ["0.0","0.0"]}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.