from risotto.utils import multi_function as _multi_function from typing import List as _List @_multi_function def get_host_ip(zones: dict, server_name: str, ): host_name, domain_name = server_name.split('.', 1) for zone in zones.values(): if domain_name == zone['domain_name']: break else: raise ValueError(f'cannot find IP in domain name "{domain_name}" (for "{server_name}")') return zone['host_ip']