pieterlexis.json_file
Ansible Bibliothek: json_file
Ein Bibliotheksmodul, das das Ändern von JSON-Dateien ermöglicht.
Anforderungen
Keine
Abhängigkeiten
Keine
Beispiele für die Verwendung
- hosts: all
tasks:
- name: Ändere Wert von 'foo' zu 'bar'
json_file:
dest: /etc/file.conf
key: 'foo'
value: 'bar'
Diese Bibliothek unterstützt das Nesting in JSON durch die Verwendung eines Punktes ('.') als Trenner im Schlüssel. Betrachten Sie die folgende Datei:
{ "foo": {
"bar": "buzz"
}
}
Der Wert von "bar" wird mit folgendem Befehl in "whatever" geändert:
- hosts: all
tasks:
- name: Ändere Wert von 'bar' zu 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo.bar'
value: 'whatever'
Punkte in Schlüsseln müssen maskiert werden:
{ "foo.bar": "buzz" }
Kann wie folgt geändert werden:
- hosts: all
tasks:
- name: Ändere Wert von 'foo.bar' zu 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo\.bar'
value: 'whatever'
Einen Wert auf null
zu setzen ist etwas schwieriger als erwartet aufgrund eines Fehlers in Ansible.
Setze value
auf None
, um dies zu erreichen:
- hosts: all
tasks:
- name: Setze 'foo' auf null
json_file:
dest: /etc/file.conf
key: 'foo'
value: None
Manchmal muss eine Zahl als String in der resultierenden JSON-Datei gespeichert werden.
Das Setzen des Arguments as_string
auf 'yes' stellt dies sicher:
- hosts: all
tasks:
- name: Setze 'foo' auf "25"
json_file:
dest: /etc/file.conf
key: 'foo'
value: 25
as_string: yes
Dieses Modul unterstützt alle Argumente, die vom Ansible file Modul unterstützt werden (wie 'owner', 'group', 'mode' usw.).
Dank
Diese Bibliothek basiert stark auf dem ini_file Kernmodul und @FauxFauxs ghetto_json Bibliothek.
Einschränkungen
json_file
funktioniert nur bei Dateien, die Wörterbücher sind (d.h. ein oberstes '{' haben).
Listen werden nicht unterstützt/getestet.
Lizenz
MIT
Autoreninformationen
Pieter Lexis (@lieter_)
Library module to manipulate JSON files without the use of templates or files
ansible-galaxy install pieterlexis.json_file