def this_invoke_is_inside_vpc()

in apply/src/awsqs_kubernetes_resource/vpc.py [0:0]


def this_invoke_is_inside_vpc(subnet_ids: set, sg_ids: set) -> bool:
    lmbd = boto3.client("lambda")
    try:
        lambda_config = lmbd.get_function_configuration(
            FunctionName=os.environ["AWS_LAMBDA_FUNCTION_NAME"]
        )
        l_vpc_id = lambda_config["VpcConfig"].get("VpcId", "")
        l_subnet_ids = set(lambda_config["VpcConfig"].get("subnetIds", ""))
        l_sg_ids = set(lambda_config["VpcConfig"].get("securityGroupIds", ""))
        if l_vpc_id and l_subnet_ids.issubset(subnet_ids) and l_sg_ids.issubset(sg_ids):
            return True
    except Exception:
        print(
            f'failed to get function config for {os.environ["AWS_LAMBDA_FUNCTION_NAME"]}'
        )
        traceback.print_exc()
    return False