Bucket Tagging

This commit is contained in:
2026-05-21 10:28:47 -05:00
parent 528497094b
commit 1936646b20
2 changed files with 39 additions and 0 deletions

View File

@@ -76,6 +76,14 @@ aws s3api put-bucket-policy \
] ]
}' }'
# ------------------------
# Cost Allocation Tags setzen
# ------------------------
echo "Setze Cost Allocation Tag (BucketName)..."
aws s3api put-bucket-tagging \
--bucket ${S3_BUCKET_NAME} \
--tagging "TagSet=[{Key=BucketName,Value=${S3_BUCKET_NAME}}]"
echo "S3 Bucket $S3_BUCKET_NAME wurde erfolgreich erstellt und konfiguriert." echo "S3 Bucket $S3_BUCKET_NAME wurde erfolgreich erstellt und konfiguriert."
echo "Bucket-ARN: arn:aws:s3:::$S3_BUCKET_NAME" echo "Bucket-ARN: arn:aws:s3:::$S3_BUCKET_NAME"

31
basic_setup/sync-s3-tags.sh Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/bash
# sync-s3-tags.sh - Synchronisiert Bucket Tags welche fuer die Abrechung verwendet werden
echo "Passe Bucket-Tags an..."
for BUCKET in $(aws s3api list-buckets --query 'Buckets[].Name' --output text); do
# Aktuellen Tag abfragen (Fehler unterdrücken)
TAG=$(aws s3api get-bucket-tagging --bucket "$BUCKET" --query 'TagSet[?Key==`BucketName`].Value' --output text 2>/dev/null)
# Prüfen, ob der Name auf '-emails' endet
if [[ "$BUCKET" == *-emails ]]; then
# Soll getaggt sein
if [ -z "$TAG" ] || [ "$TAG" == "None" ]; then
echo " Setze fehlendes Tag für: $BUCKET"
aws s3api put-bucket-tagging \
--bucket "$BUCKET" \
--tagging "TagSet=[{Key=BucketName,Value=$BUCKET}]"
else
echo "✅ OK (bereits getaggt): $BUCKET"
fi
else
# Soll NICHT getaggt sein
if [ -n "$TAG" ] && [ "$TAG" != "None" ]; then
echo "🗑️ Entferne Tag von: $BUCKET"
aws s3api delete-bucket-tagging --bucket "$BUCKET"
else
echo "✅ OK (ohne Tag): $BUCKET"
fi
fi
done
echo "Fertig! Alle '-emails' Buckets sind getaggt, bei allen anderen wurden die Tags entfernt."