pieterlexis.json_file
Biblioteca de Ansible: json_file
Un módulo de biblioteca que permite modificar archivos json.
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_)
Library module to manipulate JSON files without the use of templates or files
ansible-galaxy install pieterlexis.json_file