簡體   English   中英

Ansible 字典值未設置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM