/** * Restores a snapshot stored in a file. * @param sourceFile source file where the snapshot is stored. * @param queryOptions query options. Only a subset of the QueryOptions is supported: datacenter, token. * @param callback callback called once the operation is over. */ public void restore(File sourceFile, QueryOptions queryOptions, Callback<Void> callback) { RequestBody requestBody = RequestBody.create(MediaType.parse("application/binary"), sourceFile); http.extractBasicResponse(api.restoreSnapshot(queryOptions.toQuery(), requestBody), callback); }
/** * Registers the client as a service with Consul. Registration enables * the use of checks. * * @param registration The registration payload. * @param options An optional QueryOptions instance. */ public void register(Registration registration, QueryOptions options) { http.handle(api.register(registration, options.toQuery())); }
/** * De-register a particular service from the Consul Agent. */ public void deregister(String serviceId, QueryOptions options) { http.handle(api.deregister(serviceId, options.toQuery())); }
/** * Registers a service or node. * <p/> * PUT /v1/catalog/register * * @param registration A {@link CatalogRegistration} */ public void register(CatalogRegistration registration, QueryOptions options) { http.handle(api.register(registration, options.toQuery())); }
/** * Deregisters a service or node. * <p/> * PUT /v1/catalog/deregister * * @param deregistration A {@link CatalogDeregistration} */ public void deregister(CatalogDeregistration deregistration, QueryOptions options) { http.handle(api.deregister(deregistration, options.toQuery())); }
/** * Executes a prepared query by its name or ID. * * @param nameOrId The query name or ID. * @param options Query options. * @param callback Basic callback for the response. */ public void execute(String nameOrId, QueryOptions options, final Callback<QueryResults> callback) { http.extractBasicResponse(api.execute(nameOrId, options.toQuery()), callback); }
/** * Retrieves a list of matching keys for the given key. * * GET /v1/kv/{key}?keys * * @param key The key to retrieve. * @param queryOptions The query options. * @return A list of zero to many keys. */ public List<String> getKeys(String key, QueryOptions queryOptions) { Map<String, Object> query = queryOptions.toQuery(); query.put("keys", "true"); return http.extract(api.getKeys(trimLeadingSlash(key), query)); }
/** * Asynchronously retrieves a list of {@link com.orbitz.consul.model.kv.Value} objects for a specific key * from the key/value store. * * GET /v1/kv/{key}?recurse * * @param key The key to retrieve. * @param queryOptions The query options. * @param callback Callback implemented by callee to handle results. */ public void getValues(String key, QueryOptions queryOptions, ConsulResponseCallback<List<Value>> callback) { Map<String, Object> query = queryOptions.toQuery(); query.put("recurse", "true"); http.extractConsulResponse(api.getValue(trimLeadingSlash(key), query), callback, NOT_FOUND_404); }
/** * Retrieves all services for a given datacenter. * <p/> * GET /v1/catalog/services?dc={datacenter} * * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a map of service name to list of tags. */ public ConsulResponse<Map<String, List<String>>> getServices(QueryOptions queryOptions) { return http.extractConsulResponse(api.getServices(queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Retrieves a single node for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/node/{node}?dc={datacenter} * * @param queryOptions The Query Options to use. * @return A list of matching {@link com.orbitz.consul.model.catalog.CatalogService} objects. */ public ConsulResponse<CatalogNode> getNode(String node, QueryOptions queryOptions) { return http.extractConsulResponse(api.getNode(node, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Asynchronously retrieves the single node for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/node/{node}?dc={datacenter} * * @param queryOptions The Query Options to use. * @param callback Callback implemented by callee to handle results. */ public void getNode(String node, QueryOptions queryOptions, ConsulResponseCallback<CatalogNode> callback) { http.extractConsulResponse(api.getNode(node, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta()), callback); }
/** * Asynchronously retrieves the services for a given datacenter. * <p/> * GET /v1/catalog/services?dc={datacenter} * * @param queryOptions The Query Options to use. * @param callback Callback implemented by callee to handle results. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a map of service name to list of tags. */ public void getServices(QueryOptions queryOptions, ConsulResponseCallback<Map<String, List<String>>> callback) { http.extractConsulResponse(api.getServices(queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta()), callback); }
/** * Retrieves all nodes for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/nodes?dc={datacenter} * * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a list of * {@link com.orbitz.consul.model.health.Node} objects. */ public ConsulResponse<List<Node>> getNodes(QueryOptions queryOptions) { return http.extractConsulResponse(api.getNodes(queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Asynchronously retrieves the nodes for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/nodes?dc={datacenter} * * @param queryOptions The Query Options to use. * @param callback Callback implemented by callee to handle results. * {@link com.orbitz.consul.model.health.Node} objects. */ public void getNodes(QueryOptions queryOptions, ConsulResponseCallback<List<Node>> callback) { http.extractConsulResponse(api.getNodes(queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta()), callback); }
/** * Retrieves a single service for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/service/{service}?dc={datacenter} * * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing * {@link com.orbitz.consul.model.catalog.CatalogService} objects. */ public ConsulResponse<List<CatalogService>> getService(String service, QueryOptions queryOptions) { return http.extractConsulResponse(api.getService(service, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Asynchronously retrieves the single service for a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/catalog/service/{service}?dc={datacenter} * * @param queryOptions The Query Options to use. * @param callback Callback implemented by callee to handle results. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing * {@link com.orbitz.consul.model.catalog.CatalogService} objects. */ public void getService(String service, QueryOptions queryOptions, ConsulResponseCallback<List<CatalogService>> callback) { http.extractConsulResponse(api.getService(service, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta()), callback); }
/** * Retrieves the healthchecks for a node in a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/health/node/{node}?dc={datacenter} * * @param node The node to return checks for * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a list of * {@link com.orbitz.consul.model.health.HealthCheck} objects. */ public ConsulResponse<List<HealthCheck>> getNodeChecks(String node, QueryOptions queryOptions) { return http.extractConsulResponse(api.getNodeChecks(node, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Retrieves the healthchecks for a service in a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/health/checks/{service}?dc={datacenter} * * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a list of * {@link com.orbitz.consul.model.health.HealthCheck} objects. */ public ConsulResponse<List<HealthCheck>> getServiceChecks(String service, QueryOptions queryOptions) { return http.extractConsulResponse(api.getServiceChecks(service, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Retrieves the healthchecks for all nodes in a given datacenter with * {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/health/service/{service}?dc={datacenter} * * @param service The service to query. * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a list of * {@link com.orbitz.consul.model.health.HealthCheck} objects. */ public ConsulResponse<List<ServiceHealth>> getAllServiceInstances(String service, QueryOptions queryOptions) { return http.extractConsulResponse(api.getServiceInstances(service, queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }
/** * Retrieves the healthchecks for a state in a given datacenter with {@link com.orbitz.consul.option.QueryOptions}. * <p/> * GET /v1/health/state/{state}?dc={datacenter} * * @param state The state to query. * @param queryOptions The Query Options to use. * @return A {@link com.orbitz.consul.model.ConsulResponse} containing a list of * {@link com.orbitz.consul.model.health.HealthCheck} objects. */ public ConsulResponse<List<HealthCheck>> getChecksByState(State state, QueryOptions queryOptions) { return http.extractConsulResponse(api.getChecksByState(state.getName(), queryOptions.toQuery(), queryOptions.getTag(), queryOptions.getNodeMeta())); }