我想在Ansible中从字典中删除一个键。
例如,我希望如下操作:
- debug: var=dict2
vars:
dict:
a: 1
b: 2
c: 3
dict2: "{{ dict | filter_to_remove_key('a') }}"
打印这个内容:
ok: [localhost] => {
"dict2": {
"b": 2,
"c": 3
}
}
请注意字典是从JSON文件加载的,我将其POST到Grafana REST API。我想在文件中允许保存“id”键并在POST之前删除该键。这更接近我需要执行的实际用途:
- name: Install Dashboards
uri:
url: "{{ grafana_api_url }}/dashboards/db"
method: POST
headers:
Authorization: Bearer {{ grafana_api_token }}
body:
overwrite: true
dashboard:
"{{ lookup('file', item) | from_json | removekey('id') }}"
body_format: json with_fileglob:
- "dashboards/*.json"
- "../../../dashboards/*.json"
dict | combine({'a':None})
将键设置为 null,如果它符合你的需求。否则,你需要编写自定义过滤器插件。 - Konstantin Suvorov