project/11-Ansible/install_fullserver_web.sh

23 lines
880 B
Bash
Executable File

#!/bin/bash
# Demande à l'utilisateur l'adresse IP et le hostname
read -p "Entrez l'adresse IP de la machine cible : " target_ip
read -p "Entrez le nouveau hostname : " ansible_hostname
# Vérification que l'IP et le hostname ne sont pas vides
if [[ -z "$target_ip" || -z "$ansible_hostname" ]]; then
echo "Erreur : L'adresse IP et le hostname ne peuvent pas être vides."
exit 1
fi
# Créer un fichier d'inventaire dynamique
inventory_file="dynamic_inventory.ini"
echo "[server_web]" > $inventory_file
echo "$target_ip ansible_user=root ansible_ssh_pass=testtest" >> $inventory_file
# Exécution du playbook avec les variables dynamiques
ansible-playbook -i "$inventory_file" -u root --ask-become-pass playbooks/debian_fullserver_web.yml -e "ansible_hostname=$ansible_hostname"
# Supprimer le fichier d'inventaire dynamique après utilisation
rm -f $inventory_file