Chapitre 19. Modules personnalisés
Il arrive que tu veuilles effectuer une tâche trop complexe pour les modules command ou shell, et qu'il n'y ait pas de module existant qui fasse ce que tu veux. Dans ce cas, tu peux écrire ton propre module.
Tu peux considérer les modules comme les "verbes" du "langage" Ansible - sans eux, le YAML ne ferait rien. Les modules Ansible sont programmés en Python pour les machines Linux/BSD/Unix et en PowerShell pour les machines Windows, mais en principe, ils peuvent être écrits dans n'importe quel langage. La figure 19-1 présente les principaux composants d'Ansible : projets, witplaybooks, inventaire et modules.
Figure 19-1. Les modules
Exemple : Vérifier que tu peux atteindre un serveur distant
Disons que tu veux vérifier que tu peux te connecter à un serveur distant sur un port particulier. Si tu ne peux pas, tu veux qu'Ansible considère cela comme une erreur et arrête l'exécution de la pièce.
Note
Le module personnalisé que nous allons développer dans ce chapitre est essentiellement une version simplifiée du module wait_for.
Utilise le module de script au lieu d'écrire ton propre texte
Rappelle-toi qu'au chapitre 7, dans l'exemple 7-13, nous avons utilisé le module script pour exécuter des scripts personnalisés ...