in AccountCreationLambda.py [0:0]
def delete_default_vpc(credentials, currentregion):
"""Deletes default vpc from child account."""
# print("Default VPC deletion in progress in {}".format(currentregion))
ec2_client = boto3.client('ec2',
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken'],
region_name=currentregion)
vpc_response = ec2_client.describe_vpcs()
for i in range(0, len(vpc_response['Vpcs'])):
if (vpc_response['Vpcs'][i]['InstanceTenancy']) == 'default':
default_vpcid = vpc_response['Vpcs'][0]['VpcId']
subnet_response = ec2_client.describe_subnets()
subnet_delete_response = []
default_subnets = []
for i in range(0, len(subnet_response['Subnets'])):
if subnet_response['Subnets'][i]['VpcId'] == default_vpcid:
default_subnets.append(subnet_response['Subnets'][i]['SubnetId'])
for i in range(0, len(default_subnets)):
subnet_delete_response.append(ec2_client.delete_subnet(
SubnetId=default_subnets[i], DryRun=False)
)
# print("Default Subnets" + currentregion + "Deleted.")
igw_response = ec2_client.describe_internet_gateways()
for i in range(0, len(igw_response['InternetGateways'])):
for j in range(0, len(igw_response['InternetGateways'][i]['Attachments'])):
if igw_response['InternetGateways'][i]['Attachments'][j]['VpcId'] == default_vpcid:
default_igw = igw_response['InternetGateways'][i]['InternetGatewayId']
# print(default_igw)
response = ec2_client.detach_internet_gateway(
InternetGatewayId=default_igw, VpcId=default_vpcid, DryRun=False
)
response = ec2_client.delete_internet_gateway(
InternetGatewayId=default_igw
)
# print("Default IGW " + currentregion + "Deleted.")
time.sleep(10)
delete_vpc_response = ec2_client.delete_vpc(VpcId=default_vpcid, DryRun=False)
print("Deleted Default VPC in {}".format(currentregion))
return delete_vpc_response