Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- [ -z "$1" ] && echo "delete-vpc VPC_NAME" && exit
- vpcs=$(aws ec2 describe-vpcs --query Vpcs[].[VpcId] --filters "Name=tag:Name,Values=$1" --output text)
- [ -z "$vpcs" ] && exit
- while read -r vpcID; do
- echo "Deleting dependencies for vpc (${vpcID})"
- instances=$(aws ec2 describe-instances --filters "Name=vpc-id,Values=$vpcID" --query Reservations[].Instances[].[InstanceId] --output text)
- echo **$instances**
- [ ! -z "$instances" ] && echo "...instances detected on vpc $vpcID, skipping." && continue
- aws ec2 describe-subnets --query Subnets[].[SubnetId] --filters "Name=vpc-id,Values=$vpcID" --output text |
- while read subnetID; do
- echo "...deleting subnet (${subnetID}) ..."
- aws ec2 delete-subnet --subnet-id ${subnetID}
- done
- aws ec2 describe-security-groups --filter "Name=vpc-id,Values=$vpcID" --query SecurityGroups[].[GroupId] --output text |
- while read sgID; do
- echo "...deleting security group (${sgID}) ..."
- aws ec2 delete-security-group --group-id ${sgID}
- done
- aws ec2 describe-internet-gateways --filter "Name=attachment.vpc-id,Values=$vpcID" --query InternetGateways[].[InternetGatewayId] --output text |
- while read igwID; do
- echo "...deleting internet gateway (${igwID}) ..."
- aws ec2 detach-internet-gateway --internet-gateway-id=${igwID} --vpc-id=${vpcID}
- aws ec2 delete-internet-gateway --internet-gateway-id=${igwID}
- done
- aws ec2 describe-route-tables --filter "Name=vpc-id,Values=$vpcID" --query RouteTables[].[RouteTableId] --output text |
- while read routeID; do
- echo "...deleting route table (${routeID}) ..."
- aws ec2 delete-route-table --route-table-id ${routeID} &>/dev/null
- done
- echo "Deleting vpc (${vpcID})"
- aws ec2 delete-vpc --vpc-id ${vpcID}
- done <<< "$vpcs"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement