DevOps-bootcamp · Lektion

Returnera JSON och respektera changed

Följ protokollet för modulresultat

Lektion 3 av 413 steg

Returnera JSON och respektera changed är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Moduler kommunicerar med JSON

När modulen är klar måste den lämna över ett JSON-resultat till Ansible. Det är så controllern får veta vad som hände på värden.

Avsluta med exit_json

Anropa module.exit_json vid lyckat resultat. Det skriver ut resultatet som JSON och avslutar modulen korrekt med rätt exitkod.

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

Nyckeln changed är viktig

Rapportera alltid changed sanningsenligt. Den anger för Ansible om systemet ändrades och styr om utdata visar raden ok eller changed.

module.exit_json(changed=False)

Kontrollera tillståndet före ändring

För att rapportera changed korrekt läser du först det aktuella tillståndet. Om det redan motsvarar målet anger du changed=False och gör ingenting.

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

Returnera extra data

Lägg till vilka nycklar du vill i exit_json, så visas de i aktivitetsresultatet. Användare kan registrera och återanvända dessa data senare.

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

Misslyckas med fail_json

När något går fel anropar du module.fail_json med ett tydligt meddelande. Ansible markerar aktiviteten som misslyckad och visar din text.

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

Skriv aldrig bara ut data

Använd inte print eller rå stdout. Ansible förväntar sig endast det slutliga JSON-objektet, så ett överflödigt print förstör resultatet och gör aktiviteten misslyckad.

Endast ett exit-anrop

Varje modul avslutas med exakt ett exit_json eller fail_json. Båda kastar SystemExit, så inget efter dem körs.

Ett användbart meddelande hjälper

Ta med ett vänligt msg i resultaten som beskriver vad du gjorde. Bra meddelanden gör förvirrande körningar begripliga.

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

Efterlikna inbyggt beteende

Låt utdata likna kärnmodulernas: rapportera changed, returnera meningsfulla fält och misslyckas tydligt med en förklaring. Konsekvens skapar förtroende.

Resultatet styr allt

Hanterare, villkor och registrerade variabler läser alla din JSON. Att ange changed korrekt är det som gör modulen till en god Ansible-medborgare.

Snabb kontroll

Tänk på vad modulen bör rapportera när inget ändrades.

Sammanfattning

Avsluta med exit_json vid lyckat resultat eller fail_json vid fel, rapportera changed ärligt och skriv aldrig ut rådata. Det är modulens resultatprotokoll. 📦

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Returnera JSON och respektera changed” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Returnera JSON och respektera changed”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Returnera JSON och respektera changed”?

Följ protokollet för modulresultat Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Returnera JSON och respektera changed”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. När Ni bör bygga en anpassad modul
  2. AnsibleModule och argumentsspecifikation
  3. Returnera JSON och respektera changed
  4. Stöd för check mode i Er modul
← Tillbaka till DevOps-bootcamp