AnsibleModule och argumentsspecifikation
Definiera och validera modulens indata
AnsibleModule och argumentsspecifikation är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 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.
Möt AnsibleModule
AnsibleModule är din verktygslåda. Den tolkar argumenten som Ansible skickar, validerar dem och ger dig hjälpmedel för att returnera resultat.
from ansible.module_utils.basic import AnsibleModuleOrdboken argument_spec
Beskriv varje indata som modulen accepterar i en ordbok med namnet argument_spec. Ansible läser den för att validera det som användarna skickar in.
argument_spec=dict(
name=dict(type='str', required=True)
)Ange en typ för varje argument
Ange en type som str, int, bool, list eller dict. Ansible konverterar typer och avvisar felaktig indata innan din kod ens körs.
count=dict(type='int', default=1)Markera vad som krävs
Lägg till required=True, så misslyckas Ansible med ett tydligt fel om användaren glömmer argumentet. Ingen defensiv kontroll behövs.
path=dict(type='str', required=True)Ange rimliga standardvärden
Använd default så att valfria argument automatiskt får ett värde. Användarna behöver bara ange det de vill ändra.
state=dict(type='str', default='present')Begränsa till giltiga val
Listan choices begränsar ett argument till tillåtna värden. Allt annat avvisas direkt med ett tydligt meddelande.
state=dict(choices=['present', 'absent'])Skapa modulobjektet
Skicka din specifikation till AnsibleModule för att skapa objektet. Från och med nu finns alla dina indata säkert i module.params.
module = AnsibleModule(argument_spec=argument_spec)Läs validerade indata
Åtkomst till argumenten får du via module.params, en vanlig ordbok. Värdena är redan typbestämda och validerade, så använd dem direkt.
name = module.params['name']Regler mellan argument
Behöver två argument anges tillsammans, eller får de aldrig anges samtidigt? Skicka regler som required_together eller mutually_exclusive till AnsibleModule, så ser den till att reglerna följs.
mutually_exclusive=[['src', 'content']]Dölj hemligheter med no_log
Markera känsliga indata med no_log=True så att lösenord aldrig visas i Ansible-loggar eller utförliga utdata.
password=dict(type='str', no_log=True)Låt specifikationen göra jobbet
Ett bra argument_spec ersätter högar av manuell validering. Beskriv indata en gång, så hanterar Ansible typer, fel och dokumentation utan extra arbete.
Snabb kontroll
Tänk på hur användarindata når modulens kod.
Sammanfattning
Definiera indata i argument_spec med typer, standardvärden, required och choices, skapa AnsibleModule och läs sedan rena värden från module.params. ✅
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 ”AnsibleModule och argumentsspecifikation” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”AnsibleModule och argumentsspecifikation”, 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 ”AnsibleModule och argumentsspecifikation”?
Definiera och validera modulens indata 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 2 av 4.
Hur lång tid tar lektionen ”AnsibleModule och argumentsspecifikation”?
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
- När Ni bör bygga en anpassad modul
- AnsibleModule och argumentsspecifikation
- Returnera JSON och respektera changed
- Stöd för check mode i Er modul