Devolver JSON y respetar changed
Cumpla el protocolo de resultados de los módulos
Devolver JSON y respetar changed es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Los módulos se comunican mediante JSON
Cuando su módulo termina, debe entregar a Ansible un resultado en JSON. Así es como el controlador sabe qué ocurrió en el host.
Salir con exit_json
Llame a module.exit_json cuando la operación tenga éxito. Imprime el resultado como JSON y finaliza el módulo correctamente con el código de salida adecuado.
module.exit_json(changed=True, name='web')La importancia de la clave changed
Informe siempre changed con honestidad. Indica a Ansible si modificó el sistema y determina si la salida muestra ok o changed.
module.exit_json(changed=False)Compruebe el estado antes de modificarlo
Para gestionar correctamente changed, lea primero el estado actual. Si ya coincide con el objetivo, establezca changed=False y no haga nada.
if current == desired:
module.exit_json(changed=False)Devuelva datos adicionales
Añada las claves que quiera a exit_json y aparecerán en el resultado de la tarea. Los usuarios pueden registrar esos datos y reutilizarlos más adelante.
module.exit_json(changed=True, user_id=42)Fallar con fail_json
Cuando algo salga mal, llame a module.fail_json con un mensaje claro. Ansible marcará la tarea como fallida y mostrará su texto.
module.fail_json(msg='API request timed out')No se limite a imprimir
No use print ni la salida estándar sin procesar. Ansible espera únicamente ese objeto JSON final, por lo que un print inesperado corrompe el resultado y hace que la tarea falle.
Una sola llamada de salida
Cada módulo termina exactamente con un exit_json o fail_json. Ambos generan SystemExit, por lo que nada posterior llega a ejecutarse.
Un mensaje útil ayuda
Incluya un msg claro y cercano en los resultados para describir lo que hizo. Los buenos mensajes convierten las ejecuciones confusas en resultados fáciles de leer.
module.exit_json(changed=True, msg='Created user web')Imite el comportamiento integrado
Haga que su salida se comporte como la de los módulos principales: informe changed, devuelva campos significativos y falle claramente indicando el motivo. La coherencia genera confianza.
El resultado lo controla todo
Los controladores, las condicionales y las variables registradas leen su JSON. Establecer correctamente changed es lo que convierte su módulo en un buen ciudadano de Ansible.
Comprobación rápida
Piense en lo que debería informar su módulo cuando no se haya modificado nada.
Resumen
Termine con exit_json si la operación tiene éxito o con fail_json si se produce un error, informe changed con honestidad y no imprima nunca la salida sin procesar. Ese es el protocolo de resultados de los módulos. 📦
Preguntas frecuentes
¿La lección «Devolver JSON y respetar changed» es gratis?
Sí — el texto completo de «Devolver JSON y respetar changed» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Devolver JSON y respetar changed»?
Cumpla el protocolo de resultados de los módulos Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Devolver JSON y respetar changed»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Cuándo crear un módulo personalizado
- AnsibleModule y especificación de argumentos
- Devolver JSON y respetar changed
- Admitir el modo de comprobación en su módulo