#!/bin/bash
# GCloud CLI Commands to Fix Vertex AI Permissions
# Run these commands to grant proper permissions to your service account
PROJECT_ID="amgn-app"
SERVICE_ACCOUNT_EMAIL="amrogen-service@amgn-app.iam.gserviceaccount.com"
echo "======================================"
echo "🔧 Fixing Vertex AI Permissions"
echo "======================================"
echo ""
# Step 1: Grant Vertex AI User role to service account
echo "📝 Step 1: Granting Vertex AI User role..."
echo "Command:"
echo "gcloud projects add-iam-policy-binding $PROJECT_ID \\"
echo " --member=\"serviceAccount:$SERVICE_ACCOUNT_EMAIL\" \\"
echo " --role=\"roles/aiplatform.user\""
echo ""
echo "Running..."
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_EMAIL" \
--role="roles/aiplatform.user"
echo ""
echo "✅ Step 1 Complete!"
echo ""
# Step 2: Grant additional Vertex AI Service Agent role (if needed)
echo "📝 Step 2: Granting Vertex AI Service Agent role..."
echo "Command:"
echo "gcloud projects add-iam-policy-binding $PROJECT_ID \\"
echo " --member=\"serviceAccount:$SERVICE_ACCOUNT_EMAIL\" \\"
echo " --role=\"roles/aiplatform.serviceAgent\""
echo ""
echo "Running..."
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT_EMAIL" \
--role="roles/aiplatform.serviceAgent"
echo ""
echo "✅ Step 2 Complete!"
echo ""
# Step 3: Verify permissions
echo "📝 Step 3: Verifying service account permissions..."
echo "Command:"
echo "gcloud projects get-iam-policy $PROJECT_ID \\"
echo " --flatten=\"bindings[].members\" \\"
echo " --filter=\"bindings.members:serviceAccount:$SERVICE_ACCOUNT_EMAIL\" \\"
echo " --format=\"table(bindings.role)\""
echo ""
echo "Running..."
gcloud projects get-iam-policy $PROJECT_ID \
--flatten="bindings[].members" \
--filter="bindings.members:serviceAccount:$SERVICE_ACCOUNT_EMAIL" \
--format="table(bindings.role)"
echo ""
echo "✅ Step 3 Complete!"
echo ""
# Step 4: Check available Vertex AI regions
echo "📝 Step 4: Checking available Vertex AI regions..."
echo "Command:"
echo "gcloud ai locations list"
echo ""
echo "Running..."
gcloud ai locations list --project=$PROJECT_ID
echo ""
echo "✅ Step 4 Complete!"
echo ""
echo "======================================"
echo "✅ Permission Fix Complete!"
echo "======================================"
echo ""
echo "📋 Summary:"
echo "1. Granted 'roles/aiplatform.user' to service account"
echo "2. Granted 'roles/aiplatform.serviceAgent' to service account"
echo "3. Verified permissions"
echo "4. Listed available Vertex AI regions"
echo ""
echo "⚠️ IMPORTANT: Update Vercel Environment Variable:"
echo " GCP_LOCATION should be one of the regions from Step 4"
echo " Common options: us-central1, us-east1, us-west1, europe-west1"
echo " NOT 'global' - that's not a valid region!"
echo ""
echo "After updating GCP_LOCATION in Vercel, wait 1-2 minutes for redeploy."
echo ""