tower-cli est un outil en ligne de commande pour Ansible Tower ou Awx. Il permet d'exécuter facilement les commandes Tower à partir de la ligne de commande UNIX. Il peut également être utilisé comme bibliothèque cliente pour d'autres applications Python ou comme référence pour d'autres développeurs d'interactions d'API avec l'API REST de Tower.
Alors que Tower est un logiciel sous licence commerciale, tower-cli est un projet open source. Plus précisément, ce projet est sous licence Apache 2.0. Les demandes d'extraction, les contributions et les tickets déposés dans GitHub sont les bienvenus.
tower-cli envoie des commandes à l'API Tower. Il est capable de récupérer, créer, modifier et supprimer la plupart des objets de Tower.
Quelques utilisations potentielles incluent :
Tous d'abord vous devez installer ansible-tower-cli sur le serveur hébergent le rôle zabbix-server, car c'est lui qui va envoyer les commandes à ansible-tower-cli.
On installe sur le serveur, si ce n'est pas déja le cas Python3 :
dnf install python3 -y
Puis via le module pip3 de python on installe ansible-tower-cli :
pip3 install ansible-tower-cli
Voila le module ansible-tower-cli est installé.
Maintenant il nous faut le configurer pour qu'il puisse aller discuter avec l'API de votre serveur Awx / Tower.
On commencera donc par créer le dossier qui contiendra la configuration de ansible-tower-cli :
mkdir /etc/tower
Puis le fichier de configuration tower_cli.cfg dans le dossier que nous venons de créer :
touch /etc/tower/tower_cli.cfg
Maintenant pour que l'utilisateur "zabbix" puisse utiliser ansible-tower-cli, il vous faut donner les droits suffisant pour celui-ci :
chmod 750 /etc/tower
chmod 750 /etc/tower/tower_cli.cfg
chown root:zabbix /etc/tower/tower_cli.cfg
On renseigne ensuite les informations nécessaire pour communiquer avec l'API d'Awx / Tower :
tower-cli config host tower.exemple.fr --global
tower-cli config username leeroyjenkins --global
tower-cli config password myPassw0rd --global
Si dans le cas ou votre serveur Awx / Tower n'est pas certifié et que vous avez un message d'erreur, passez cette commande :
tower-cli config verify_ssl false --global
Voici une commande pour vérifier que le module fonctionne correctement :

Vous trouverez la doc officiel ici