import boto3 import botocore.exceptions as exceptions def get_all_available_regions(): """Retrieve a list of all AWS regions.""" ec2_client = boto3.client("ec2") regions = [ region["RegionName"] for region in ec2_client.describe_regions()["Regions"] ] available_regions = [] for region in regions: try: ec2_client = boto3.client("ec2", region_name=region) ec2_client.describe_vpcs() except exceptions.ClientError as e: if e.response["Error"]["Code"] == "UnauthorizedOperation": continue available_regions.append(region) return available_regions def have_terraform_tags(tags): for tag in tags: if tag["Key"] == "terraformed" and tag["Value"] == "true": return True return False