delete rule
This commit is contained in:
parent
e756c5f91d
commit
d2dbceb53e
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/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
|
||||||
Loading…
Reference in New Issue