Retorne JSON e respeite changed
Siga o protocolo de resultados do módulo.
Retorne JSON e respeite changed é uma aula grátis de Ansible Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ansible Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ansible Academy inclui 4 aulas no total.
Os módulos se comunicam em JSON
Quando o módulo termina, ele precisa entregar um resultado em JSON ao Ansible. É assim que o controlador descobre o que aconteceu no host.
Saia com exit_json
Chame module.exit_json quando houver sucesso. Isso imprime o resultado como JSON e encerra o módulo corretamente com o código de saída adequado.
module.exit_json(changed=True, name='web')A chave changed é importante
Sempre informe changed com precisão. Isso indica ao Ansible se você alterou o sistema e determina a linha ok ou changed na saída.
module.exit_json(changed=False)Verifique o estado antes de alterar
Para informar changed corretamente, primeiro leia o estado atual. Se ele já corresponder ao objetivo, defina changed=False e não faça nada.
if current == desired:
module.exit_json(changed=False)Retorne dados adicionais
Adicione as chaves que quiser a exit_json, e elas aparecerão no resultado da tarefa. Os usuários poderão registrá-las e reutilizar esses dados mais tarde.
module.exit_json(changed=True, user_id=42)Falhe com fail_json
Quando algo der errado, chame module.fail_json com uma mensagem clara. O Ansible marcará a tarefa como com falha e exibirá seu texto.
module.fail_json(msg='API request timed out')Nunca apenas imprima
Não use print nem a saída bruta padrão. O Ansible espera apenas esse objeto JSON final, portanto uma impressão perdida corrompe o resultado e faz a tarefa falhar.
Apenas uma chamada de saída
Cada módulo termina exatamente com um exit_json ou fail_json. Ambos lançam SystemExit, portanto nada depois deles é executado.
Uma mensagem útil ajuda
Inclua uma msg amigável nos resultados para descrever o que você fez. Boas mensagens transformam execuções confusas em resultados fáceis de entender.
module.exit_json(changed=True, msg='Created user web')Imite o comportamento integrado
Faça sua saída parecer com a dos módulos principais: informe changed, retorne campos significativos e falhe claramente com um motivo. A consistência gera confiança.
O resultado determina tudo
Manipuladores, condicionais e variáveis registradas leem seu JSON. Informar changed corretamente é o que faz do seu módulo um bom cidadão do Ansible.
Verificação rápida
Pense no que seu módulo deve informar quando nada tiver sido modificado.
Recapitulação
Termine com exit_json em caso de sucesso ou fail_json em caso de erro, informe changed com honestidade e nunca imprima a saída bruta. Esse é o protocolo de resultados do módulo. 📦
Perguntas Frequentes
A aula “Retorne JSON e respeite changed” é grátis?
Sim — o texto completo de “Retorne JSON e respeite changed” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ansible Academy, atualize para CoddyKit PRO. O curso de Ansible Academy inclui 4 aulas no total.
O que vou aprender em “Retorne JSON e respeite changed”?
Siga o protocolo de resultados do módulo. Você pratica Ansible Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ansible Academy?
Nenhuma experiência prévia é necessária. Ansible Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Retorne JSON e respeite changed”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ansible Academy?
Sim. Cada aula de Ansible Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Quando criar um módulo personalizado
- AnsibleModule e especificação de argumentos
- Retorne JSON e respeite changed
- Adicione o modo de verificação ao seu módulo