Returnér JSON & respekter changed
Følg modulets resultatprotokol.
Returnér JSON & respekter changed er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.
Moduler kommunikerer via JSON
Når dit modul er færdigt, skal det give Ansible et JSON-resultat. Det er sådan, controlleren finder ud af, hvad der skete på værten.
Afslut med exit_json
Kald module.exit_json, når alt lykkes. Det udskriver resultatet som JSON og afslutter modulet korrekt med den rigtige afslutningskode.
module.exit_json(changed=True, name='web')Nøglen changed er vigtig
Rapportér altid changed sandfærdigt. Den fortæller Ansible, om du har ændret systemet, og styrer dermed ok- eller changed-linjen i outputtet.
module.exit_json(changed=False)Kontrollér tilstanden før ændring
For at håndtere changed korrekt skal du først læse den aktuelle tilstand. Hvis den allerede svarer til målet, skal du angive changed=False og ikke gøre noget.
if current == desired:
module.exit_json(changed=False)Returnér ekstra data
Du kan tilføje de nøgler, du ønsker, til exit_json, og de vises i opgaveresultatet. Brugere kan registrere og genbruge dataene senere.
module.exit_json(changed=True, user_id=42)Fejl med fail_json
Når noget går galt, skal du kalde module.fail_json med en tydelig meddelelse. Ansible markerer opgaven som mislykket og viser din tekst.
module.fail_json(msg='API request timed out')Udskriv aldrig bare tekst
Brug ikke print eller rå stdout. Ansible forventer kun det endelige JSON-objekt, så en overflødig print ødelægger resultatet og får opgaven til at mislykkes.
Kun ét afslutningskald
Hvert modul afsluttes med præcis én exit_json eller fail_json. Begge rejser SystemExit, så intet efter dem bliver kørt.
En nyttig meddelelse hjælper
Inkludér en venlig msg i dine resultater, der beskriver, hvad du gjorde. Gode meddelelser gør forvirrende kørsler lette at læse.
module.exit_json(changed=True, msg='Created user web')Efterlign indbygget adfærd
Lad dit output føles som output fra kernemoduler: rapportér changed, returnér meningsfulde felter, og meld tydeligt fejl med en begrundelse. Konsistens skaber tillid.
Resultatet styrer alt
Håndteringer, betingelser og registrerede variabler læser alle din JSON. Det er korrekt håndtering af changed, der gør dit modul til en god Ansible-borger.
Hurtigt tjek
Tænk over, hvad dit modul skal rapportere, når intet blev ændret.
Opsummering
Afslut med exit_json, når alt lykkes, eller fail_json ved fejl, rapportér changed ærligt, og udskriv aldrig råt output. Det er modulets resultatprotokol. 📦
Lær YAML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Returnér JSON & respekter changed” gratis?
Ja — hele teksten til “Returnér JSON & respekter changed” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Returnér JSON & respekter changed”?
Følg modulets resultatprotokol. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Ansible Academy?
Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Returnér JSON & respekter changed”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Ansible Academy-lektion?
Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvornår De bør bygge et custom module
- AnsibleModule & argument-specifikation
- Returnér JSON & respekter changed
- Understøt check mode i Deres module