AnsibleModule et spécification des arguments
Définissez et validez les entrées du module.
AnsibleModule et spécification des arguments est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.
Découvrez AnsibleModule
La classe AnsibleModule est votre boîte à outils. Elle analyse les arguments envoyés par Ansible, les valide et vous fournit des fonctions d’assistance pour renvoyer des résultats.
from ansible.module_utils.basic import AnsibleModuleLa structure argument_spec
Vous décrivez chaque entrée acceptée par votre module dans un dictionnaire argument_spec. Ansible le lit pour valider ce que les utilisateurs transmettent.
argument_spec=dict(
name=dict(type='str', required=True)
)Attribuez un type à chaque argument
Définissez un type comme str, int, bool, list ou dict. Ansible convertit les valeurs et rejette les entrées incorrectes avant même l’exécution de votre code.
count=dict(type='int', default=1)Indiquez ce qui est obligatoire
Ajoutez required=True et Ansible échoue avec une erreur claire si l’utilisateur oublie cet argument. Aucune vérification défensive n’est nécessaire.
path=dict(type='str', required=True)Fournissez des valeurs par défaut raisonnables
Utilisez default afin que les arguments facultatifs reçoivent automatiquement une valeur. Les utilisateurs ne définissent que ce qu’ils souhaitent modifier.
state=dict(type='str', default='present')Limitez les choix aux valeurs valides
La liste choices limite un argument aux valeurs autorisées. Toute autre valeur est rejetée immédiatement avec un message utile.
state=dict(choices=['present', 'absent'])Construisez l’objet du module
Transmettez votre spécification à AnsibleModule pour créer l’objet. À partir de là, toutes vos entrées résident en toute sécurité dans module.params.
module = AnsibleModule(argument_spec=argument_spec)Lisez les entrées validées
Accédez à vos arguments via module.params, un simple dictionnaire. Les valeurs sont déjà typées et validées : il vous suffit de les utiliser.
name = module.params['name']Règles entre arguments
Deux arguments doivent-ils être utilisés ensemble ou ne doivent-ils jamais l’être simultanément ? Transmettez à AnsibleModule des règles comme required_together ou mutually_exclusive, et il les fera respecter.
mutually_exclusive=[['src', 'content']]Masquez les secrets avec no_log
Marquez les entrées sensibles avec no_log=True afin que les mots de passe n’apparaissent jamais dans les journaux Ansible ni dans la sortie détaillée.
password=dict(type='str', no_log=True)Laissez la spécification faire le travail
Une bonne argument_spec remplace des piles de validations manuelles. Décrivez les entrées une seule fois et Ansible gère gratuitement les types, les erreurs et la documentation.
Vérification rapide
Réfléchissez à la manière dont les entrées utilisateur parviennent au code de votre module.
Récapitulatif
Définissez les entrées dans argument_spec avec des types, des valeurs par défaut, les paramètres obligatoires et des choix, construisez AnsibleModule, puis lisez des valeurs propres depuis module.params. ✅
Questions Fréquemment Posées
La leçon « AnsibleModule et spécification des arguments » est-elle gratuite ?
Oui — le texte complet de « AnsibleModule et spécification des arguments » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « AnsibleModule et spécification des arguments » ?
Définissez et validez les entrées du module. Tu pratiques Ansible Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ansible Academy ?
Aucune expérience préalable n'est requise. Ansible Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « AnsibleModule et spécification des arguments » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ansible Academy ?
Oui. Chaque leçon Ansible Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Quand créer un module personnalisé
- AnsibleModule et spécification des arguments
- Renvoyer du JSON et respecter changed
- Prendre en charge le mode de vérification dans votre module