Browse Source

Add script for deleting WAFv1 rules.

master
lavenderguitar 2 years ago
parent
commit
9d9b799ce5
  1. 49
      bash/delete_wafv1_rules.sh

49
bash/delete_wafv1_rules.sh

@ -0,0 +1,49 @@
#!/bin/bash
list_waf_rules() {
local next_token=""
while true; do
local response=$(aws waf list-rules --region us-west-2 --limit 50 --next-marker "$next_token")
local rule_ids=($(echo "$response" | jq -r '.Rules[].RuleId'))
for rule_id in "${rule_ids[@]}"; do
local rule_name=$(aws waf get-rule --region us-west-2 --rule-id "$rule_id" --query 'Rule.Name')
echo "Rule ID: $rule_id, Rule Name: $rule_name"
done
local next_token=$(echo "$response" | jq -r '.NextMarker')
if [[ $next_token == "null" ]]; then
break
fi
done
}
delete_waf_rules() {
local next_token=""
while true; do
local response=$(aws waf list-rules --region us-west-2 --limit 50 --next-marker "$next_token")
local rule_ids=($(echo "$response" | jq -r '.Rules[].RuleId'))
for rule_id in "${rule_ids[@]}"; do
echo "Deleting Rule ID: $rule_id"
aws waf delete-rule --region us-west-2 --rule-id "$rule_id"
done
local next_token=$(echo "$response" | jq -r '.NextMarker')
if [[ $next_token == "null" ]]; then
break
fi
done
}
list_waf_rules
read -p "Do you want to delete all the listed WAF rules? (yes/no): " response
if [[ "$response" == "yes" ]]; then
delete_waf_rules
echo "All WAF rules have been deleted."
else
echo "No WAF rules have been deleted."
fi
Loading…
Cancel
Save