Bucket Tagging
This commit is contained in:
@@ -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 "Bucket-ARN: arn:aws:s3:::$S3_BUCKET_NAME"
|
||||
|
||||
|
||||
31
basic_setup/sync-s3-tags.sh
Executable file
31
basic_setup/sync-s3-tags.sh
Executable 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."
|
||||
Reference in New Issue
Block a user