import CloudFlare


def get_zone_id(cf: CloudFlare.CloudFlare, domain) -> str:
    try:
        zones = cf.zones.get(params={'name': domain, 'per_page': 1})
    except CloudFlare.exceptions.CloudFlareAPIError as e:
        exit('/zones.get %d %s - api call failed' % (e, e))
    except Exception as e:
        exit('/zones.get - %s - api call failed' % (e))

    if len(zones) == 0:
        exit('No zones found')

    # extract the zone_id which is needed to process that zone
    zone = zones[0]
    zone_id = zone['id']
    return zone_id
