0Pricing
Ansible Academy · Lezione

Restituire JSON e rispettare changed

Utilizzi il protocollo dei risultati dei moduli

Restituire JSON e rispettare changed è una lezione Ansible Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ansible Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ansible Academy include 4 lezioni in totale.

I moduli comunicano tramite JSON

Quando il modulo termina, deve fornire ad Ansible un risultato in JSON. È così che il controller scopre cosa è successo sull'host.

Uscire con exit_json

Chiamate module.exit_json in caso di successo. Stampa il risultato come JSON e termina il modulo correttamente con il codice di uscita appropriato.

module.exit_json(changed=True, name='web')

L'importanza della chiave changed

Indicate sempre changed in modo veritiero. Comunica ad Ansible se avete modificato il sistema e determina se nell'output viene mostrato ok oppure changed.

module.exit_json(changed=False)

Verificare lo stato prima di modificare

Per valorizzare correttamente changed, leggete prima lo stato attuale. Se corrisponde già all'obiettivo, impostate changed=False e non fate nulla.

if current == desired:
    module.exit_json(changed=False)

Restituire dati aggiuntivi

Potete aggiungere a exit_json tutte le chiavi che desiderate: compariranno nel risultato dell'attività. Gli utenti potranno registrare e riutilizzare questi dati in seguito.

module.exit_json(changed=True, user_id=42)

Fallire con fail_json

Quando qualcosa va storto, chiamate module.fail_json con un messaggio chiaro. Ansible contrassegna l'attività come non riuscita e mostra il vostro testo.

module.fail_json(msg='API request timed out')

Non limitarsi a stampare

Non usate print né stdout non elaborato. Ansible si aspetta solo quell'oggetto JSON finale, quindi una stampa imprevista corrupts il risultato e fa fallire l'attività.

Una sola chiamata di uscita

Ogni modulo termina con esattamente un exit_json o fail_json. Entrambi sollevano SystemExit, quindi dopo di loro non viene eseguito nulla.

Un messaggio utile è importante

Includete nei risultati un msg amichevole che descriva ciò che avete fatto. I messaggi chiari trasformano le esecuzioni confuse in risultati leggibili.

module.exit_json(changed=True, msg='Created user web')

Comportarsi come i moduli integrati

Fate in modo che il vostro output ricordi quello dei moduli principali: indicate changed, restituite campi significativi e segnalate chiaramente gli errori con la relativa causa. La coerenza crea fiducia.

Il risultato determina ogni cosa

Handler, condizionali e variabili registrate leggono tutti il vostro JSON. Valorizzare correttamente changed è ciò che rende il vostro modulo un buon componente dell'ecosistema Ansible.

Verifica rapida

Riflettete su cosa dovrebbe segnalare il vostro modulo quando non è stato modificato nulla.

Riepilogo

Terminate con exit_json in caso di successo o con fail_json in caso di errore, indicate changed con onestà e non stampate mai output non elaborato. Questo è il protocollo dei risultati dei moduli. 📦

Domande Frequenti

La lezione «Restituire JSON e rispettare changed» è gratuita?

Sì — il testo completo di «Restituire JSON e rispettare changed» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ansible Academy, passa a CoddyKit PRO. Il corso Ansible Academy include 4 lezioni in totale.

Cosa imparerò in «Restituire JSON e rispettare changed»?

Utilizzi il protocollo dei risultati dei moduli Eserciti Ansible Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ansible Academy?

Non è richiesta alcuna esperienza precedente. Ansible Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Restituire JSON e rispettare changed»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ansible Academy?

Sì. Ogni lezione Ansible Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Quando creare un modulo personalizzato
  2. AnsibleModule e specifica degli argomenti
  3. Restituire JSON e rispettare changed
  4. Supportare la modalità check nel proprio modulo
← Torna a Ansible Academy