pieterlexis.json_file

Bibliothèque Ansible : json_file

Un module de bibliothèque qui permet de modifier des fichiers json.

État de la construction

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_)

À propos du projet

Library module to manipulate JSON files without the use of templates or files

Installer
ansible-galaxy install pieterlexis.json_file
Licence
mit
Téléchargements
854
Propriétaire