62 lines
1.7 KiB
Bash
Executable File
62 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
# Charger les variables du .env
|
|
if [ -f .env ]; then
|
|
export $(grep -v '^#' .env | xargs)
|
|
fi
|
|
|
|
#================================================================================
|
|
|
|
#Question posée à l'utilisateur pour la confirmation d'execution du script
|
|
#La commande pouvant être assez assez intrusive, il est préférable de mettre non par défaut
|
|
|
|
read -e -p "Attention vous allez réinitialiser complétement la salle, voullez vous vraiment continuer [o/n] : " -i "n" confirmation
|
|
|
|
echo "Vous avez entré ${confirmation}"
|
|
|
|
|
|
#Si l'utilisateur entre oui, le script s'exécute
|
|
if [ $confirmation == 'o' ];
|
|
then
|
|
|
|
echo "Lancement de la tâche de réinitialisation de la salle"
|
|
|
|
|
|
#curl -H "fog-api-token: ${FOG_API_TOKEN}" -H "fog-user-token: ${FOG_USER_TOKEN}" -H "Content-Type: application/json" -X GET http://localhost/fog/group | jq
|
|
|
|
|
|
#Variables de configuration de la tâche
|
|
GROUP_ID="1"
|
|
IMAGE_ID="1"
|
|
TASK_TYPE="1" #Déploiement multicast
|
|
SHUTDOWN="1" #Eteindre les machines à la fin
|
|
|
|
|
|
#Wake On LAN sur le groupe
|
|
echo "Envoi du Wake On LAN vers le groupe ${GROUP_ID}"
|
|
curl -H "fog-api-token: ${FOG_API_TOKEN}" -H "fog-user-token: ${FOG_USER_TOKEN}" -X POST http://localhost/fog/group/${GROUP_ID}/wol
|
|
|
|
|
|
#Construction du JSON avec les paramètres de la tâche
|
|
DATA=$(cat <<EOF
|
|
{
|
|
"taskTypeID": "$TASK_TYPE",
|
|
"shutdown": "$SHUTDOWN",
|
|
"imageID": "$IMAGE_ID"
|
|
}
|
|
EOF
|
|
)
|
|
|
|
#Envoi de la requête de déploiement à l'api de fog
|
|
curl -H "fog-api-token: ${FOG_API_TOKEN}" -H "fog-user-token: ${FOG_USER_TOKEN}" -H "Content-Type: application/json" -X POST http://localhost/fog/group/${GROUP_ID}/task -d "$DATA"
|
|
|
|
|
|
|
|
#Sinon on ne fait rien
|
|
else
|
|
echo "Annulation de la tâche de réinitialisation de la salle"
|
|
fi
|
|
|
|
echo "FIN"
|