pieterlexis.json_file

Biblioteca de Ansible: json_file

Un módulo de biblioteca que permite modificar archivos json.

Estado de Construcción

Requisitos

Ninguno

Dependencias

Ninguna

Ejemplos de Uso

- hosts: all
  tasks:
    - name: Cambiar el valor de 'foo' a 'bar'
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: 'bar'

Esta biblioteca admite la anidación en el JSON usando un punto ('.') como separador en la clave. Considera el siguiente archivo:

{ "foo": {
    "bar": "buzz"
  }
}

Cambiar el valor de "bar" a "whatever" se hace así:

- hosts: all
  tasks:
    - name: Cambiar el valor de 'bar' a 'whatever'
      json_file:
        dest: /etc/file.conf
        key: 'foo.bar'
        value: 'whatever'

Los puntos en los nombres de las claves deben ser escapados:

{ "foo.bar": "buzz" }

Se puede modificar de esta manera:

- hosts: all
  tasks:
    - name: Cambiar el valor de 'foo.bar' a 'whatever'
      json_file:
        dest: /etc/file.conf
        key: 'foo\.bar'
        value: 'whatever'

Configurar un valor a null es un poco más complicado de lo que se esperaría debido a un error en Ansible. Establece value a None para lograr esto:

- hosts: all
  tasks:
    - name: Establecer 'foo' a null
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: None

A veces, un número debe guardarse como una cadena en el archivo JSON resultante. Establecer el argumento as_string a 'yes' asegurará esto:

- hosts: all
  tasks:
    - name: Establecer 'foo' a "25"
      json_file:
        dest: /etc/file.conf
        key: 'foo'
        value: 25
        as_string: yes

Este módulo admite todos los argumentos que admite el módulo de archivo de Ansible (como 'owner', 'group', 'mode', etc.).

Agradecimientos

Esta biblioteca se basa en gran medida en el módulo central ini_file y en la biblioteca ghetto_json de @FauxFaux.

Limitaciones

json_file solo funciona en archivos que son diccionarios (es decir, tienen un '{' en el nivel superior).

Las listas no son compatibles/no están probadas.

Licencia

MIT

Información del Autor

Pieter Lexis (@lieter_)

Acerca del proyecto

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

Instalar
ansible-galaxy install pieterlexis.json_file
Licencia
mit
Descargas
854
Propietario