# Modules Ansible ## Objectifs de certification ### RHCE EX294 (RHEL8) Si vous poursuivez des objectifs de certification voici ceux qui sont suggérés ici : - **2. Maîtrise des composants de base d’Ansible** - 2.2. Modules - 2.3. Variables - 2.4. Facts - 2.8. Utiliser la documentation fournie pour trouver des informations spécifiques aux modules et commandes Ansible - **5. Écriture de scripts pour les tâches d’administration** - 5.2. Créer des scripts shell simples qui exécutent les commandes Ansible ad hoc - **7. Utilisation des modules Ansible** ## 1. Introduction Les modules Ansible sont des “bouts de codes” écrits principalement en Python (mais tout langage supportant les retours JSON est autorisé) pour modifier l’état d’une propriété d’un hôte. Les modules sont invoqués par **l’exécution de tâches** soit directement dans la ligne de commande `ansible` ou dans des livres de jeu avec la commande `ansible-playbook`. ## 2. Documentation des modules Certains d’entre nous trouveront la documentation des modules plus agréable à lire en ligne : [https://docs.ansible.com/ansible/latest/modules/modules\_by\_category.html](https://docs.ansible.com/ansible/latest/modules/modules_by_category.html). Mais on obtient exactement le même résultat hors-ligne, sur la machine de contrôle avec la commande `ansible-doc` : Pour lister les modules :
Valeurs de retour | Signication de la valeurs de retour | |
---|---|---|
`backup_file` (fichier\_de\_sauvegarde) | Pour les modules qui implémentent backup=no | yes lors de la manipulation de fichiers, un chemin vers le fichier de sauvegarde créé. |
`changed` (modifié) | Un *booléen* indiquant si la tâche a dû effectuer des modifications. | |
`failed` (échoué) | Un *booléen* qui indique si la tâche a échoué ou non. | |
`invocation` | Informations sur la manière dont le module a été invoqué. | |
`msg` | Une chaîne avec un message générique relayé à l’utilisateur. | |
`rc` | Certains modules exécutent des utilitaires en ligne de commande ou sont conçus pour exécuter des commandes directement (raw, shell, commande, etc), ce champ contient le ‘code de retour’ de ces utilitaires. | |
`results` | Si cette clé existe, elle indique qu’une boucle était présente pour la tâche et qu’elle contient une liste du module normal’résultat’ par élément. | |
`skipped` (évité) | Un *booléen* qui indique si la tâche a été ignorée ou non. | |
`stderr` | Certains modules exécutent des utilitaires en ligne de commande ou sont conçus pour exécuter des commandes directement (raw, shell, commande, etc), ce champ contient la sortie d’erreur de ces utilitaires. | |
`stderr_lines` | Lorsque `stderr` est retourné, nous fournissons aussi toujours ce champ qui est une liste de chaînes de caractères, un élément par ligne de l’original. | |
`stdout` | Certains modules exécutent des utilitaires en ligne de commande ou sont conçus pour exécuter directement des commandes (raw, shell, commande, etc). Cette zone contient l’édition normale de ces utilitaires. | |
`stdout_lines` | Lorsque `stdout` est retourné, Ansible fournit toujours une liste de chaînes de caractères, chacune contenant un élément par ligne de la sortie originale. |