def METHOD_NAME(conf):
    """Return a Gauge object based on type.
    Args:
        conf (GaugeConf): object with the configuration for this valve.
    """
    watcher_types = {
        "port_state": {
            "text": GaugePortStateLogger,
            "influx": GaugePortStateInfluxDBLogger,
            "prometheus": GaugePortStatePrometheusPoller,
        },
        "port_stats": {
            "text": GaugePortStatsLogger,
            "influx": GaugePortStatsInfluxDBLogger,
            "prometheus": GaugePortStatsPrometheusPoller,
        },
        "flow_table": {
            "text": GaugeFlowTableLogger,
            "influx": GaugeFlowTableInfluxDBLogger,
            "prometheus": GaugeFlowTablePrometheusPoller,
        },
        "meter_stats": {
            "text": GaugeMeterStatsLogger,
            "prometheus": GaugeMeterStatsPrometheusPoller,
        },
    }
    w_type = conf.type
    db_type = conf.db_type
    try:
        return watcher_types[w_type][db_type]
    except KeyError as key_error:
        raise InvalidConfigError("invalid water config") from key_error