class ZMSClient implements Closeable {

    String lookupZMSUrl() {

        String rootDir = System.getenv(STR_ENV_ROOT);
        if (rootDir == null) {
            rootDir = STR_DEF_ROOT;
        }

        String confFileName = System.getProperty(ZMS_CLIENT_PROP_ATHENZ_CONF,
                rootDir + "/conf/athenz/athenz.conf");
        String url = null;
        try {
            Path path = Paths.get(confFileName);
            AthenzConfig conf = JSON.fromBytes(Files.readAllBytes(path), AthenzConfig.class);
            url = conf.getZmsUrl();
        } catch (Exception ex) {
            LOGGER.error("Unable to extract ZMS Url from {} exc: {}",
                    confFileName, ex.getMessage());
        }

        return url;
    }

    public  ZMSClient();
    public  ZMSClient(String url);
    public  ZMSClient(String url, Principal identity);
    public  ZMSClient(Principal identity);
    public  ZMSClient(String url, SSLContext sslContext);

}