kwoodson.yedit
// vim: ft=asciidoc
= Repositorio yedit :toc: macro :toc-title:
toc::[]
== Rol de Ansible: Yedit
Este repositorio contiene un módulo de ansible para modificar archivos yaml.
No vi un buen método para editar archivos yaml y gestionarlos a través de ansible. Este es mi intento.
== Instalación
Puedes instalarlo a través de Ansible Galaxy:
$ ansible-galaxy install kwoodson.yedit
Si haces esto, también deberías agregar un requirements.yml
para que otros usuarios de tu playbook sepan qué dependencias instalar:
---
- src: kwoodson.yedit
Luego puedes hacer referencia a él en un play importándolo antes de usarlo:
roles:
- kwoodson.yedit
- rol-que-usa-yedit
== Ejemplos
A veces es necesario gestionar archivos .yml. [source,yaml]
- hosts: localhost
gather_facts: no
roles:
kwoodson.yedit tasks:
name: gestionar archivos yaml yedit: src: /tmp/test.yaml key: a.b.c value: d: e: f: esto es una prueba
name: obtener un valor específico yedit: src: /tmp/test.yaml state: list key: a.b.c.d.e.f register: yeditout
debug: var=yeditout
== Desarrollo
Dado que esto es un rol, simplemente cópialo en cualquier directorio de roles reconocido por Ansible. Para más detalles, consulta la http://docs.ansible.com/ansible/latest/index.html[documentación de Ansible]:
- http://docs.ansible.com/ansible/devel/playbooks_reuse_roles.html#embedding-modules-and-plugins-in-roles[Incorporando Módulos y Plugins en Roles]
- http://docs.ansible.com/ansible/latest/intro_configuration.html#module-utils[module_utils]
== Documentación
La documentación completa está disponible en línea https://github.com/kwoodson/ansible-role-yedit/blob/master/library/yedit.py#L15[aquí].
A yaml/json editing module for idempotent edits.
ansible-galaxy install kwoodson.yedit