pieterlexis.json_file
Bibliothèque Ansible : json_file
Un module de bibliothèque qui permet de modifier des fichiers json.
Exigences
Aucune
Dépendances
Aucune
Exemples d'utilisation
- hosts: all
tasks:
- name: Changer la valeur de 'foo' à 'bar'
json_file:
dest: /etc/file.conf
key: 'foo'
value: 'bar'
Cette bibliothèque supporte l'imbrication dans le JSON en utilisant un point ('.') comme séparateur dans la clé. Considérez le fichier suivant :
{ "foo": {
"bar": "buzz"
}
}
Changer la valeur de "bar" en "whatever" se fait de cette manière :
- hosts: all
tasks:
- name: Changer la valeur de 'bar' à 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo.bar'
value: 'whatever'
Les points dans les noms de clés doivent être échappés :
{ "foo.bar": "buzz" }
Peut être modifié de cette manière :
- hosts: all
tasks:
- name: Changer la valeur de 'foo.bar' à 'whatever'
json_file:
dest: /etc/file.conf
key: 'foo\.bar'
value: 'whatever'
Définir une valeur à null
est un peu plus compliqué que prévu à cause d'un bug dans Ansible.
Pour cela, mettez la value
à None
:
- hosts: all
tasks:
- name: Mettre 'foo' à null
json_file:
dest: /etc/file.conf
key: 'foo'
value: None
Parfois, un nombre doit être enregistré en tant que chaîne dans le fichier JSON résultant.
Définir l'argument as_string
à 'yes' garantira cela :
- hosts: all
tasks:
- name: Mettre 'foo' à "25"
json_file:
dest: /etc/file.conf
key: 'foo'
value: 25
as_string: yes
Ce module prend en charge tous les arguments pris en charge par le module fichier Ansible (comme 'owner', 'group', 'mode', etc.).
Remerciements
Cette bibliothèque s'inspire fortement du module de base ini_file et de la bibliothèque ghetto_json de @FauxFaux.
Limitations
json_file
ne fonctionne que sur des fichiers qui sont des dictionnaires (c'est-à-dire ayant un '{' au niveau supérieur).
Les listes ne sont pas prises en charge/testées.
Licence
MIT
Informations sur l'auteur
Pieter Lexis (@lieter_)
Library module to manipulate JSON files without the use of templates or files
ansible-galaxy install pieterlexis.json_file