async def METHOD_NAME(self, role: NodeRole) -> Dict[str, str]:
    key_prefix = _role_to_config[role].service_name
    container_specs = await asyncio.to_thread(
        self._app_client.get_containers, [key_prefix]
    )
    cid_to_endpoint = {c.yarn_container_id: None for c in container_specs}
    prefixes = await asyncio.to_thread(self._app_client.kv.get_prefix, key_prefix)
    for val in prefixes.values():
        ep, cid = to_str(val).split("@", 1)
        cid_to_endpoint[cid] = ep
    return cid_to_endpoint