#!/bin/bash

# Script pour configurer les permissions AWS pour les tags EC2
# Usage: sudo bash setup-aws-permissions.sh

echo "🔧 Configuration des permissions AWS pour les tags EC2..."

# Vérifier si AWS CLI est installé
if ! command -v aws &> /dev/null; then
    echo "📦 Installation d'AWS CLI..."
    
    # Pour Ubuntu/Debian
    if command -v apt-get &> /dev/null; then
        apt-get update
        apt-get install -y awscli
    # Pour Amazon Linux/CentOS
    elif command -v yum &> /dev/null; then
        yum install -y awscli
    else
        echo "❌ Impossible d'installer AWS CLI automatiquement"
        echo "Veuillez installer AWS CLI manuellement : https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html"
        exit 1
    fi
fi

# Vérifier la configuration AWS
echo "🔍 Vérification de la configuration AWS..."

# Tester l'accès aux métadonnées EC2
if curl -s --max-time 2 http://169.254.169.254/latest/meta-data/instance-id > /dev/null; then
    echo "✅ Accès aux métadonnées EC2 confirmé"
    
    # Obtenir l'instance ID
    INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
    echo "📍 Instance ID: $INSTANCE_ID"
    
    # Tester l'accès aux tags
    if aws ec2 describe-tags --filters "Name=resource-id,Values=$INSTANCE_ID" --output table 2>/dev/null; then
        echo "✅ Accès aux tags EC2 confirmé"
    else
        echo "❌ Impossible d'accéder aux tags EC2"
        echo "Vérifiez que l'instance a un rôle IAM avec les permissions EC2 nécessaires"
        echo "Politique IAM requise disponible dans: /var/www/html/deploy/aws-ec2-tags-policy.json"
    fi
else
    echo "❌ Impossible d'accéder aux métadonnées EC2"
    echo "Ce script doit être exécuté sur une instance EC2"
fi

echo ""
echo "📋 Instructions pour configurer les permissions:"
echo "1. Attachez la politique IAM suivante au rôle de l'instance:"
echo "   Policy: /var/www/html/deploy/aws-ec2-tags-policy.json"
echo ""
echo "2. Assurez-vous que l'instance a le tag 'ServerName' avec la valeur 'prod_1' ou 'dev_1'"
echo ""
echo "3. Testez avec: php artisan tinker"
echo "   >>> \App\Helpers\EC2Helper::getServerName()"
echo "   >>> \App\Helpers\EC2Helper::shouldRunScheduledTasks()"
