def get_all_zones():
    """
    Retrieves all DNS providers from the database. Refreshes the zones associated with each DNS provider
    """
    click.echo("[+] Starting dns provider zone lookup and configuration.")
    dns_providers = get_all_dns_providers()
    acme_dns_handler = AcmeDnsHandler()

    function = f"{__name__}.{sys._getframe().f_code.co_name}"
    log_data = {
        "function": function,
        "message": "",
    }

    for dns_provider in dns_providers:
        try:
            zones = acme_dns_handler.get_all_zones(dns_provider)
            set_domains(dns_provider, zones)
        except Exception as e:
            click.echo(f"[+] Error with DNS Provider {dns_provider.name}: {e}")
            log_data["message"] = f"get all zones failed for {dns_provider} {e}."
            capture_exception(extra=log_data)

    status = SUCCESS_METRIC_STATUS

    metrics.send("get_all_zones", "counter", 1, metric_tags={"status": status})
    click.echo("[+] Done with dns provider zone lookup and configuration.")

    Retrieves all DNS providers from the database. Refreshes the zones associated with each DNS provider
    
lemur/dns_providers/cli.py