/** * Consul client will connect to local consul agent on * 'http://localhost:8500' */ public ConsulClient() { this(new ConsulRawClient()); }
@Override public Response<CatalogNode> getCatalogNode(String nodeName, QueryParams queryParams) { RawResponse rawResponse = rawClient.makeGetRequest("/v1/catalog/node/" + nodeName, queryParams); if (rawResponse.getStatusCode() == 200) { CatalogNode catalogNode = GsonFactory.getGson().fromJson(rawResponse.getContent(), CatalogNode.class); return new Response<CatalogNode>(catalogNode, rawResponse); } else { throw new OperationException(rawResponse); } }
@Override public Response<Void> agentForceLeave(String node) { RawResponse rawResponse = rawClient.makePutRequest("/v1/agent/force-leave/" + node, ""); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } }
public RawResponse makeDeleteRequest(String endpoint, UrlParameters... urlParams) { String url = prepareUrl(agentAddress + endpoint); url = Utils.generateUrl(url, urlParams); return httpTransport.makeDeleteRequest(url); }
@Override public Response<Void> deleteKVValue(String key, String token, QueryParams queryParams) { UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null; RawResponse rawResponse = rawClient.makeDeleteRequest("/v1/kv/" + key, tokenParam, queryParams); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } }
@Override public Response<String> getStatusLeader() { RawResponse rawResponse = rawClient.makeGetRequest("/v1/status/leader"); if (rawResponse.getStatusCode() == 200) { String value = GsonFactory.getGson().fromJson(rawResponse.getContent(), String.class); return new Response<String>(value, rawResponse); } else { throw new OperationException(rawResponse); } }
@Override public Response<Void> agentReload() { RawResponse rawResponse = rawClient.makePutRequest("/v1/agent/reload", ""); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } } }
public RawResponse makePutRequest(String endpoint, byte[] content, UrlParameters... urlParams) { String url = prepareUrl(agentAddress + endpoint); url = Utils.generateUrl(url, urlParams); return httpTransport.makePutRequest(url, content); }
@Override public Response<Void> deleteKVValue(String key, String token, QueryParams queryParams) { UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null; RawResponse rawResponse = rawClient.makeDeleteRequest("/v1/kv/" + key, tokenParam, queryParams); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } }
@Override public Response<QueryExecution> executePreparedQuery(String uuid, QueryParams queryParams) { RawResponse rawResponse = rawClient.makeGetRequest("/v1/query/" + uuid + "/execute", queryParams); if (rawResponse.getStatusCode() == 200) { QueryExecution queryExecution = GsonFactory.getGson().fromJson(rawResponse.getContent(), QueryExecution.class); return new Response<QueryExecution>(queryExecution, rawResponse); } else { throw new OperationException(rawResponse); } } }
@Override public Response<Void> catalogRegister(CatalogRegistration catalogRegistration, String token) { String json = GsonFactory.getGson().toJson(catalogRegistration); UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null; RawResponse rawResponse = rawClient.makePutRequest("/v1/catalog/register", json, tokenParam); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } }
/** * Connect to consul agent on specific address and default port (8500) * * @param agentHost Hostname or IP address of consul agent. You can specify scheme * (HTTP/HTTPS) in address. If there is no scheme in address - * client will use HTTP. * @param tlsConfig TLS configuration */ public ConsulClient(String agentHost, TLSConfig tlsConfig) { this(new ConsulRawClient(agentHost, tlsConfig)); }
public RawResponse makeGetRequest(String endpoint, List<UrlParameters> urlParams) { String url = prepareUrl(agentAddress + endpoint); url = Utils.generateUrl(url, urlParams); return httpTransport.makeGetRequest(url); }
@Override public Response<Void> deleteKVValues(String key, String token, QueryParams queryParams) { UrlParameters recurseParam = new SingleUrlParameters("recurse"); UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null; RawResponse rawResponse = rawClient.makeDeleteRequest("/v1/kv/" + key, tokenParam, recurseParam, queryParams); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } } }
@Override public Response<List<Check>> getHealthChecksState(Check.CheckStatus checkStatus, QueryParams queryParams) { String status = checkStatus == null ? "any" : checkStatus.name().toLowerCase(); RawResponse rawResponse = rawClient.makeGetRequest("/v1/health/state/" + status, queryParams); if (rawResponse.getStatusCode() == 200) { List<Check> value = GsonFactory.getGson().fromJson(rawResponse.getContent(), new TypeToken<List<Check>>() { }.getType()); return new Response<List<Check>>(value, rawResponse); } else { throw new OperationException(rawResponse); } }
@Override public Response<Void> aclUpdate(UpdateAcl updateAcl, String token) { UrlParameters tokenParams = token != null ? new SingleUrlParameters("token", token) : null; String json = GsonFactory.getGson().toJson(updateAcl); RawResponse rawResponse = rawClient.makePutRequest("/v1/acl/update", json, tokenParams); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } }
/** * Connect to consul agent on specific address and port * * @param agentHost Hostname or IP address of consul agent. You can specify scheme * (HTTP/HTTPS) in address. If there is no scheme in address - * client will use HTTP. * @param agentPort Consul agent port * @param tlsConfig TLS configuration */ public ConsulClient(String agentHost, int agentPort, TLSConfig tlsConfig) { this(new ConsulRawClient(agentHost, agentPort, tlsConfig)); }
public RawResponse makePutRequest(String endpoint, String content, UrlParameters... urlParams) { String url = prepareUrl(agentAddress + endpoint); url = Utils.generateUrl(url, urlParams); return httpTransport.makePutRequest(url, content); }
@Override public Response<Void> deleteKVValues(String key, String token, QueryParams queryParams) { UrlParameters recurseParam = new SingleUrlParameters("recurse"); UrlParameters tokenParam = token != null ? new SingleUrlParameters("token", token) : null; RawResponse rawResponse = rawClient.makeDeleteRequest("/v1/kv/" + key, tokenParam, recurseParam, queryParams); if (rawResponse.getStatusCode() == 200) { return new Response<Void>(null, rawResponse); } else { throw new OperationException(rawResponse); } } }
@Override public Response<List<Check>> getHealthChecksState(Check.CheckStatus checkStatus, QueryParams queryParams) { String status = checkStatus == null ? "any" : checkStatus.name().toLowerCase(); RawResponse rawResponse = rawClient.makeGetRequest("/v1/health/state/" + status, queryParams); if (rawResponse.getStatusCode() == 200) { List<Check> value = GsonFactory.getGson().fromJson(rawResponse.getContent(), new TypeToken<List<Check>>() { }.getType()); return new Response<List<Check>>(value, rawResponse); } else { throw new OperationException(rawResponse); } }