私はAnsibleの辞書から単一のキーを削除したいと思います。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ファイルからロードされていることに注意してくださいと私はGrafana RESTに投稿しますAPI。私はファイルに 'id'キーを保存し、それをポストする前にキーを削除することを許可したいと思います。
- 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"
なぜ新しい辞書を作成していますか?元の辞書を使用していて、印刷中に目的のキーをスキップしていないのはなぜですか? – Shasha99
私はデフォルトのフィルタでキーをnullに設定することしかできないと思います: 'dict |それがあなたのニーズに合っていれば、({'a':None}) 'を組み合わせます。それ以外の場合は、カスタムフィルタプラグインを作成する必要があります。 –
@ Shasha99 2番目の辞書は、必要なものを表示するのに役立ちます。私は実際に辞書を印刷する必要はありません。私はgrafanaにPOSTする必要があります。だから、私は鍵が必要です。私は私の質問で少し良いを明確にしようとします。 –