initial commit
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# delete-default-vpc module
|
||||
This terraform module calls awscli to delete default vpc in specified region.
|
||||
|
||||
## Example of root module
|
||||
```terraform
|
||||
data "aws_regions" "current" {}
|
||||
|
||||
module delete-default-vpc {
|
||||
source = "git::https://xpk.headdesk.me/git/xpk/terraform.aws-baseline-infra//modules/networking/delete-default-vpcs"
|
||||
for_each = data.aws_regions.current.names
|
||||
region-name = each.value
|
||||
}
|
||||
```
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
region=$1
|
||||
vpc=$(aws ec2 --region ${region} describe-vpcs --filter Name=isDefault,Values=true | jq -r .Vpcs[0].VpcId)
|
||||
if [ "${vpc}" = "null" ]; then
|
||||
echo "No default vpc found"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
aws ec2 --region ${region} describe-internet-gateways --filter Name=attachment.vpc-id,Values=${vpc} | jq -r '.InternetGateways[0].InternetGatewayId' | while read igw; do
|
||||
echo "Removing internet gateway ${igw}"
|
||||
aws ec2 --region ${region} detach-internet-gateway --internet-gateway-id ${igw} --vpc-id ${vpc}
|
||||
aws ec2 --region ${region} delete-internet-gateway --internet-gateway-id ${igw}
|
||||
done
|
||||
|
||||
aws ec2 --region ${region} describe-subnets --filters Name=vpc-id,Values=${vpc} | jq -r '.Subnets[].SubnetId' | while read subnet; do
|
||||
echo "Removing subnet ${subnet}"
|
||||
aws ec2 --region ${region} delete-subnet --subnet-id ${subnet}
|
||||
done
|
||||
|
||||
echo "Removing vpc ${vpc}"
|
||||
aws ec2 --region ${region} delete-vpc --vpc-id ${vpc}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
data aws_regions all-aws-regions {}
|
||||
|
||||
resource "null_resource" "shell" {
|
||||
for_each = data.aws_regions.all-aws-regions.names
|
||||
provisioner "local-exec" {
|
||||
command = "/bin/bash -c '${path.module}/exec.sh ${each.value}'"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user