def METHOD_NAME(self, start_time, end_time):
    cloudwatch_logs = []
    if self.config.get("source_cluster_endpoint"):
        logger.info(f"Extracting logs from source cluster endpoint: {self.config['source_cluster_endpoint']}")
        source_cluster_endpoint = self.config.get("source_cluster_endpoint")
        region = source_cluster_endpoint.split(".")[2]
        endpoint = source_cluster_endpoint.split(".")[0]
        response = aws_service_helper.cw_describe_log_groups(region=region)
        cloudwatch_logs = self._read_cloudwatch_logs(response, endpoint, start_time, end_time, region)
    elif self.config.get("log_location"):
        logger.info(f"Extracting logs for {self.config['log_location']}")
        response = aws_service_helper.cw_describe_log_groups(log_group_name=self.config.get("log_location"),
                                                             region=self.config.get("region"))
        for log_group in response["logGroups"]:
            log_group_name = log_group["logGroupName"]
            response_stream = aws_service_helper.cw_describe_log_streams(log_group_name, self.config.get("region"))
            endpoint = response_stream['logStreams'][0]['logStreamName']
            cloudwatch_logs = self._read_cloudwatch_logs(response, endpoint, start_time, end_time,
                                                         self.config.get("region"))
    else:
        logger.error(
            "For Cloudwatch Log Extraction, one of source_cluster_endpoint or log_location must be provided"
        )
        sys.exit(-1)
    return cloudwatch_logs