#!/bin/bash # Default-Werte EMAIL="" OOO=false FORWARD=false # Argumente parsen while [[ $# -gt 0 ]]; do case $1 in --ooo) OOO=true shift ;; --forward) FORWARD=true shift ;; *) EMAIL=$1 shift ;; esac done if [ -z "$EMAIL" ]; then echo "Usage: $0 [--ooo] [--forward] email@domain.com" echo " --ooo: Nur OOO deaktivieren/löschen" echo " --forward: Nur Forwards leeren" echo " Kein Flag: Gesamte Regel löschen" exit 1 fi # Wenn Flags gesetzt: Update statt Delete if [ "$OOO" = true ] || [ "$FORWARD" = true ]; then # Update-Ausdruck bauen UPDATE_EXPR="REMOVE" ATTR_NAMES="" ATTR_VALUES="" if [ "$OOO" = true ]; then UPDATE_EXPR="$UPDATE_EXPR ooo_message, ooo_content_type" UPDATE_EXPR="$UPDATE_EXPR SET ooo_active = :false" ATTR_VALUES="$ATTR_VALUES, :false={'BOOL': false}" fi if [ "$FORWARD" = true ]; then if [ -n "$UPDATE_EXPR" ] && [ "$UPDATE_EXPR" != "REMOVE" ]; then UPDATE_EXPR="$UPDATE_EXPR," fi UPDATE_EXPR="$UPDATE_EXPR SET forwards = :empty_list" ATTR_VALUES="$ATTR_VALUES, :empty_list={'L': []}" fi # Update-Item ausführen (nur wenn Regel existiert) aws dynamodb update-item \ --table-name email-rules \ --key '{"email_address": {"S": "'"$EMAIL"'"}}' \ --update-expression "$UPDATE_EXPR" \ --expression-attribute-values '{'"${ATTR_VALUES:1}"'}' \ --region us-east-2 \ --condition-expression "attribute_exists(email_address)" # Vermeide Fehler, wenn nicht existent echo "✓ Teile der Regel für $EMAIL aktualisiert/gelöscht." else # Kein Flag: Gesamten Eintrag löschen aws dynamodb delete-item \ --table-name email-rules \ --key '{"email_address": {"S": "'"$EMAIL"'"}}' \ --region us-east-2 echo "✓ Gesamte Regel für $EMAIL gelöscht (falls existent)." fi