def lambda_handler()

in scripts/default_vpc_removal.py [0:0]


def lambda_handler(event, context):
    logging.info(f"log_level: {log_level}")

    logging.info(json.dumps(event))
    status = event['detail']['serviceEventDetails']['createAccountStatus']
    account_id = status['accountId']
    boto3_config = Config(
        retries={
            'max_attempts': 10,
            'mode': 'standard'
        }
    )
    sts_client = boto3.client('sts', config=boto3_config)
    role_object = sts_client.assume_role(
        RoleArn=f"arn:aws:iam::{account_id}:role/{ROLE_NAME}",
        RoleSessionName="DeleteDefaultVpc"
    )
    credentials = role_object['Credentials']
    session = boto3.Session(
        aws_access_key_id=credentials['AccessKeyId'],
        aws_secret_access_key=credentials['SecretAccessKey'],
        aws_session_token=credentials['SessionToken'],
    )
    for region in REGIONS:
        logging.info(region)
        ec2 = session.resource("ec2", region_name=region, config=boto3_config)
        vpcs = ec2.vpcs.all()
        for vpc in [vpc for vpc in vpcs if vpc.is_default is True]:
            for internet_gateway in vpc.internet_gateways.all():
                internet_gateway.detach_from_vpc(VpcId=vpc.vpc_id)
                internet_gateway.delete()

            for subnet in vpc.subnets.all():
                subnet.delete()

            vpc.delete()