def is_data_remote(rgc):
    """
    Determine if server genome config defines a 'remotes' key, 'http is one of them and
     additionally assert the correct structure -- 'prefix' key defined.

    :param refgenconf.RefGenConf rgc: server genome config object
    :return bool: whether remote data source is configured
    """
    return (
        True
        if "remotes" in rgc
        and isinstance(rgc["remotes"], dict)
        and all(
            [
                "prefix" in r and isinstance(r["prefix"], str)
                for r in rgc["remotes"].values()
            ]
        )
        else False
    )