如何封装ansible过滤器?

时间:2019-04-04 11:18:04

标签: filter ansible

我有一个ansible变量,其中包含win_uri响应(由loop创建)的列表。

我想创建一个字典,其中每个响应正文(json)都包含一个我想用作键的值(标题),另一个我想用作值(id)的值。

现在我迷路了。

我当前的实现忽略json-显然不起作用:

- name: populate folder dictionary
  set_fact:
    app_folders: "{{ app_folders | default({}) | combine({item.jsonContent.title : item.id}) }}"
  with_items: "{{ response.results }}"

我知道,可以使用from_json将JSON读入变量-但我不知道如何将其与以上代码结合起来...

1 个答案:

答案 0 :(得分:0)

如果我的问题正确,请尝试:

- name: populate folder dictionary
  set_fact:
    app_folders: "{{ app_folders | default({}) | combine({(item.jsonContent|from_json).title : item.id}) }}"
  with_items: "{{ response.results }}"