def aggregate_data(self, model_type, agg_minutes=60, start_time=None, end_time=None, ids_to_exclude=[], metric=None, threshold=None):
    if (model_type == 'failed_request_ratio'):
        return self._aggregate_data_for_failed_request_ratio_model(agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    elif (model_type == 'duplicate_message_ids'):
        return self._aggregate_data_for_duplicate_message_id_model(agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    elif (model_type == 'time_sync_errors'):
        return self._aggregate_data_for_time_sync_model(relevant_metric=metric, threshold=threshold, agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    else:
        return None
def aggregate_data(self, model_type, agg_minutes=60, start_time=None, end_time=None, ids_to_exclude=[], metric=None, threshold=None):
    if (model_type == 'failed_request_ratio'):
        return self._aggregate_data_for_failed_request_ratio_model(agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    elif (model_type == 'duplicate_message_ids'):
        return self._aggregate_data_for_duplicate_message_id_model(agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    elif (model_type == 'time_sync_errors'):
        return self._aggregate_data_for_time_sync_model(relevant_metric=metric, threshold=threshold, agg_minutes=agg_minutes, start_time=start_time, end_time=end_time, ids_to_exclude=ids_to_exclude)
    else:
        return None