-
-
Save ciberado/0a730e3d3457daf7906fa21a8dfd5c27 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
delete-vpc() { | |
local teamName=${1:-ciberadok8s} | |
local region=${2:-eu-west-1} | |
aws ec2 describe-vpcs --region ${region} | jq -r ".Vpcs[] | select(.Tags[].Value | contains(\"${teamName}\")) | .VpcId" 2>/dev/null | | |
while read vpcID; do | |
echo "# deleting vpc (${vpcID}) ..." | |
aws ec2 describe-subnets --filters Name=vpc-id,Values=${vpcID} --region ${region} | jq -r '.Subnets[].SubnetId' | | |
while read subnetID; do | |
echo "# deleting subnet (${subnetID}) ..." | |
aws ec2 delete-subnet --subnet-id ${subnetID} --region ${region} | |
done | |
aws ec2 describe-security-groups --filter Name=vpc-id,Values=${vpcID} --region ${region} | jq -r '.SecurityGroups[] | select(.GroupName != "default") | .GroupId' | | |
while read sgID; do | |
echo "# deleting security group (${sgID}) ..." | |
aws ec2 delete-security-group --group-id ${sgID} --region ${region} | |
done | |
aws ec2 describe-internet-gateways --filter Name=attachment.vpc-id,Values=${vpcID} --region ${region} | jq -r '.InternetGateways[].InternetGatewayId' | | |
while read igwID; do | |
echo "# deleting internet gateway (${igwID}) ..." | |
aws ec2 detach-internet-gateway --internet-gateway-id=${igwID} --vpc-id=${vpcID} --region ${region} | |
aws ec2 delete-internet-gateway --internet-gateway-id=${igwID} --region ${region} | |
done | |
aws ec2 describe-route-tables --filter Name=vpc-id,Values=${vpcID} --region ${region} | jq -r '.RouteTables[].RouteTableId' | | |
while read routeID; do | |
echo "# deleting route table (${routeID}) ..." | |
aws ec2 delete-route-table --route-table-id ${routeID} --region ${region} &>/dev/null | |
done | |
aws ec2 delete-vpc --vpc-id ${vpcID} --region ${region} | |
done | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment