io.vertx.ext.consul

## Interface ConsulClient

-     public interface ConsulClient

  A Vert.x service used to interact with Consul.
  Author:
    Ruslan Sennov

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `ConsulClient` | `agentInfo(Handler<AsyncResult<JsonObject>> resultHandler)` Returns the configuration and member information of the local agent
    `ConsulClient` | `catalogDatacenters(Handler<AsyncResult<List<String>>> resultHandler)` Return all the datacenters that are known by the Consul server
    `ConsulClient` | `catalogNodes(Handler<AsyncResult<NodeList>> resultHandler)` Returns the nodes registered in a datacenter
    `ConsulClient` | `catalogNodeServices(String node, Handler<AsyncResult<ServiceList>> resultHandler)` Returns the node's registered services
    `ConsulClient` | `catalogNodeServicesWithOptions(String node, BlockingQueryOptions options, Handler<AsyncResult<ServiceList>> resultHandler)` Returns the node's registered services This is blocking query unlike `catalogNodeServices(String, Handler)`
    `ConsulClient` | `catalogNodesWithOptions(NodeQueryOptions options, Handler<AsyncResult<NodeList>> resultHandler)` Returns the nodes registered in a datacenter
    `ConsulClient` | `catalogServiceNodes(String service, Handler<AsyncResult<ServiceList>> resultHandler)` Returns the nodes providing a service
    `ConsulClient` | `catalogServiceNodesWithOptions(String service, ServiceQueryOptions options, Handler<AsyncResult<ServiceList>> resultHandler)` Returns the nodes providing a service
    `ConsulClient` | `catalogServices(Handler<AsyncResult<ServiceList>> resultHandler)` Returns the services registered in a datacenter
    `ConsulClient` | `catalogServicesWithOptions(BlockingQueryOptions options, Handler<AsyncResult<ServiceList>> resultHandler)` Returns the services registered in a datacenter This is blocking query unlike `catalogServices(Handler)`
    `ConsulClient` | `cloneAclToken(String id, Handler<AsyncResult<String>> idHandler)` Clone Acl token
    `void` | `close()` Close the client and release its resources
    `ConsulClient` | `coordinateDatacenters(Handler<AsyncResult<List<DcCoordinates>>> resultHandler)` Returns the WAN network coordinates for all Consul servers, organized by DCs
    `ConsulClient` | `coordinateNodes(Handler<AsyncResult<CoordinateList>> resultHandler)` Returns the LAN network coordinates for all nodes in a given DC
    `ConsulClient` | `coordinateNodesWithOptions(BlockingQueryOptions options, Handler<AsyncResult<CoordinateList>> resultHandler)` Returns the LAN network coordinates for all nodes in a given DC This is blocking query unlike `coordinateNodes(Handler)`
    `static ConsulClient` | `create(Vertx vertx)` Create a Consul client with default options.
    `static ConsulClient` | `create(Vertx vertx, ConsulClientOptions options)` Create a Consul client.
    `ConsulClient` | `createAclToken(AclToken token, Handler<AsyncResult<String>> idHandler)` Create new Acl token
    `ConsulClient` | `createPreparedQuery(PreparedQueryDefinition definition, Handler<AsyncResult<String>> resultHandler)`
    `ConsulClient` | `createSession(Handler<AsyncResult<String>> idHandler)` Initialize a new session
    `ConsulClient` | `createSessionWithOptions(SessionOptions options, Handler<AsyncResult<String>> idHandler)` Initialize a new session
    `ConsulClient` | `deletePreparedQuery(String id, Handler<AsyncResult<Void>> resultHandler)` Deletes an existing prepared query
    `ConsulClient` | `deleteValue(String key, Handler<AsyncResult<Void>> resultHandler)` Remove the key/value pair that corresponding to the specified key
    `ConsulClient` | `deleteValues(String keyPrefix, Handler<AsyncResult<Void>> resultHandler)` Removes all the key/value pair that corresponding to the specified key prefix
    `ConsulClient` | `deregisterCheck(String checkId, Handler<AsyncResult<Void>> resultHandler)` Remove a check from the local agent.
    `ConsulClient` | `deregisterService(String id, Handler<AsyncResult<Void>> resultHandler)` Remove a service from the local agent.
    `ConsulClient` | `destroyAclToken(String id, Handler<AsyncResult<Void>> resultHandler)` Destroy Acl token
    `ConsulClient` | `destroySession(String id, Handler<AsyncResult<Void>> resultHandler)` Destroys the given session
    `ConsulClient` | `executePreparedQuery(String query, Handler<AsyncResult<PreparedQueryExecuteResponse>> resultHandler)` Executes an existing prepared query.
    `ConsulClient` | `executePreparedQueryWithOptions(String query, PreparedQueryExecuteOptions options, Handler<AsyncResult<PreparedQueryExecuteResponse>> resultHandler)` Executes an existing prepared query.
    `ConsulClient` | `failCheck(String checkId, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "critical".
    `ConsulClient` | `failCheckWithNote(String checkId, String note, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "critical".
    `ConsulClient` | `fireEvent(String name, Handler<AsyncResult<Event>> resultHandler)` Fires a new user event
    `ConsulClient` | `fireEventWithOptions(String name, EventOptions options, Handler<AsyncResult<Event>> resultHandler)` Fires a new user event
    `ConsulClient` | `getAllPreparedQueries(Handler<AsyncResult<List<PreparedQueryDefinition>>> resultHandler)` Returns a list of all prepared queries.
    `ConsulClient` | `getKeys(String keyPrefix, Handler<AsyncResult<List<String>>> resultHandler)` Returns the list of keys that corresponding to the specified key prefix.
    `ConsulClient` | `getKeysWithOptions(String keyPrefix, BlockingQueryOptions options, Handler<AsyncResult<List<String>>> resultHandler)` Returns the list of keys that corresponding to the specified key prefix.
    `ConsulClient` | `getPreparedQuery(String id, Handler<AsyncResult<PreparedQueryDefinition>> resultHandler)` Returns an existing prepared query
    `ConsulClient` | `getValue(String key, Handler<AsyncResult<KeyValue>> resultHandler)` Returns key/value pair that corresponding to the specified key.
    `ConsulClient` | `getValues(String keyPrefix, Handler<AsyncResult<KeyValueList>> resultHandler)` Returns the list of key/value pairs that corresponding to the specified key prefix.
    `ConsulClient` | `getValuesWithOptions(String keyPrefix, BlockingQueryOptions options, Handler<AsyncResult<KeyValueList>> resultHandler)` Returns the list of key/value pairs that corresponding to the specified key prefix.
    `ConsulClient` | `getValueWithOptions(String key, BlockingQueryOptions options, Handler<AsyncResult<KeyValue>> resultHandler)` Returns key/value pair that corresponding to the specified key.
    `ConsulClient` | `healthChecks(String service, Handler<AsyncResult<CheckList>> resultHandler)` Returns the checks associated with the service
    `ConsulClient` | `healthChecksWithOptions(String service, CheckQueryOptions options, Handler<AsyncResult<CheckList>> resultHandler)` Returns the checks associated with the service
    `ConsulClient` | `healthServiceNodes(String service, boolean passing, Handler<AsyncResult<ServiceEntryList>> resultHandler)` Returns the nodes providing the service.
    `ConsulClient` | `healthServiceNodesWithOptions(String service, boolean passing, ServiceQueryOptions options, Handler<AsyncResult<ServiceEntryList>> resultHandler)` Returns the nodes providing the service.
    `ConsulClient` | `healthState(HealthState healthState, Handler<AsyncResult<CheckList>> resultHandler)` Returns the checks in the specified status
    `ConsulClient` | `healthStateWithOptions(HealthState healthState, CheckQueryOptions options, Handler<AsyncResult<CheckList>> resultHandler)` Returns the checks in the specified status
    `ConsulClient` | `infoAclToken(String id, Handler<AsyncResult<AclToken>> tokenHandler)` Get info of Acl token
    `ConsulClient` | `infoSession(String id, Handler<AsyncResult<Session>> resultHandler)` Returns the requested session information
    `ConsulClient` | `infoSessionWithOptions(String id, BlockingQueryOptions options, Handler<AsyncResult<Session>> resultHandler)` Returns the requested session information This is blocking query unlike `infoSession(String, Handler)`
    `ConsulClient` | `leaderStatus(Handler<AsyncResult<String>> resultHandler)` Get the Raft leader for the datacenter in which the agent is running.
    `ConsulClient` | `listAclTokens(Handler<AsyncResult<List<AclToken>>> resultHandler)` Get list of Acl token
    `ConsulClient` | `listEvents(Handler<AsyncResult<EventList>> resultHandler)` Returns the most recent events known by the agent
    `ConsulClient` | `listEventsWithOptions(EventListOptions options, Handler<AsyncResult<EventList>> resultHandler)` Returns the most recent events known by the agent.
    `ConsulClient` | `listNodeSessions(String nodeId, Handler<AsyncResult<SessionList>> resultHandler)` Returns the active sessions for a given node
    `ConsulClient` | `listNodeSessionsWithOptions(String nodeId, BlockingQueryOptions options, Handler<AsyncResult<SessionList>> resultHandler)` Returns the active sessions for a given node This is blocking query unlike `listNodeSessions(String, Handler)`
    `ConsulClient` | `listSessions(Handler<AsyncResult<SessionList>> resultHandler)` Returns the active sessions
    `ConsulClient` | `listSessionsWithOptions(BlockingQueryOptions options, Handler<AsyncResult<SessionList>> resultHandler)` Returns the active sessions This is blocking query unlike `listSessions(Handler)`
    `ConsulClient` | `localChecks(Handler<AsyncResult<List<Check>>> resultHandler)` Return all the checks that are registered with the local agent.
    `ConsulClient` | `localServices(Handler<AsyncResult<List<Service>>> resultHandler)` Returns list of services registered with the local agent.
    `ConsulClient` | `maintenanceService(MaintenanceOptions maintenanceOptions, Handler<AsyncResult<Void>> resultHandler)` Places a given service into "maintenance mode"
    `ConsulClient` | `passCheck(String checkId, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "passing".
    `ConsulClient` | `passCheckWithNote(String checkId, String note, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "passing".
    `ConsulClient` | `peersStatus(Handler<AsyncResult<List<String>>> resultHandler)` Retrieves the Raft peers for the datacenter in which the the agent is running.
    `ConsulClient` | `putValue(String key, String value, Handler<AsyncResult<Boolean>> resultHandler)` Adds specified key/value pair
    `ConsulClient` | `putValueWithOptions(String key, String value, KeyValueOptions options, Handler<AsyncResult<Boolean>> resultHandler)`
    `ConsulClient` | `registerCheck(CheckOptions checkOptions, Handler<AsyncResult<Void>> resultHandler)` Add a new check to the local agent.
    `ConsulClient` | `registerService(ServiceOptions serviceOptions, Handler<AsyncResult<Void>> resultHandler)` Adds a new service, with an optional health check, to the local agent.
    `ConsulClient` | `renewSession(String id, Handler<AsyncResult<Session>> resultHandler)` Renews the given session.
    `ConsulClient` | `transaction(TxnRequest request, Handler<AsyncResult<TxnResponse>> resultHandler)` Manages multiple operations inside a single, atomic transaction.
    `ConsulClient` | `updateAclToken(AclToken token, Handler<AsyncResult<String>> idHandler)` Update Acl token
    `ConsulClient` | `updateCheck(String checkId, CheckStatus status, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to given status.
    `ConsulClient` | `updateCheckWithNote(String checkId, CheckStatus status, String note, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to given status.
    `ConsulClient` | `updatePreparedQuery(PreparedQueryDefinition definition, Handler<AsyncResult<Void>> resultHandler)`
    `ConsulClient` | `warnCheck(String checkId, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "warning".
    `ConsulClient` | `warnCheckWithNote(String checkId, String note, Handler<AsyncResult<Void>> resultHandler)` Set status of the check to "warning".

- - ### Method Detail

    - #### create

          static ConsulClient create(Vertx vertx)

      Create a Consul client with default options.
      Parameters:
        `vertx` - the Vert.x instance
      Returns:
        the client

    - #### create

          static ConsulClient create(Vertx vertx,
                                     ConsulClientOptions options)

      Create a Consul client.
      Parameters:
        `vertx` - the Vert.x instance
        `options` - the options
      Returns:
        the client

    - #### agentInfo

          ConsulClient agentInfo(Handler<AsyncResult<JsonObject>> resultHandler)

      Returns the configuration and member information of the local agent
      Parameters:
        `resultHandler` - will be provided with the configuration and member information of the local agent
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/self endpoint

    - #### coordinateNodes

          ConsulClient coordinateNodes(Handler<AsyncResult<CoordinateList>> resultHandler)

      Returns the LAN network coordinates for all nodes in a given DC
      Parameters:
        `resultHandler` - will be provided with network coordinates of nodes in datacenter
      Returns:
        reference to this, for fluency
      See Also:
        /v1/coordinate/nodes endpoint

    - #### coordinateNodesWithOptions

          ConsulClient coordinateNodesWithOptions(BlockingQueryOptions options,
                                                  Handler<AsyncResult<CoordinateList>> resultHandler)

      Returns the LAN network coordinates for all nodes in a given DC This is blocking query unlike `coordinateNodes(Handler)`
      Parameters:
        `options` - the blocking options
        `resultHandler` - will be provided with network coordinates of nodes in datacenter
      Returns:
        reference to this, for fluency
      See Also:
        /v1/coordinate/nodes endpoint

    - #### coordinateDatacenters

          ConsulClient coordinateDatacenters(Handler<AsyncResult<List<DcCoordinates>>> resultHandler)

      Returns the WAN network coordinates for all Consul servers, organized by DCs
      Parameters:
        `resultHandler` - will be provided with network coordinates for all Consul servers
      Returns:
        reference to this, for fluency
      See Also:
        /v1/coordinate/datacenters endpoint

    - #### getKeys

          ConsulClient getKeys(String keyPrefix,
                               Handler<AsyncResult<List<String>>> resultHandler)

      Returns the list of keys that corresponding to the specified key prefix.
      Parameters:
        `keyPrefix` - the prefix
        `resultHandler` - will be provided with keys list
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### getKeysWithOptions

          ConsulClient getKeysWithOptions(String keyPrefix,
                                          BlockingQueryOptions options,
                                          Handler<AsyncResult<List<String>>> resultHandler)

      Returns the list of keys that corresponding to the specified key prefix.
      Parameters:
        `keyPrefix` - the prefix
        `options` - the blocking options
        `resultHandler` - will be provided with keys list
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### getValue

          ConsulClient getValue(String key,
                                Handler<AsyncResult<KeyValue>> resultHandler)

      Returns key/value pair that corresponding to the specified key. An empty `KeyValue` object will be returned if no such key is found.
      Parameters:
        `key` - the key
        `resultHandler` - will be provided with key/value pair
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### getValueWithOptions

          ConsulClient getValueWithOptions(String key,
                                           BlockingQueryOptions options,
                                           Handler<AsyncResult<KeyValue>> resultHandler)

      Returns key/value pair that corresponding to the specified key. An empty `KeyValue` object will be returned if no such key is found. This is blocking query unlike `getValue(String, Handler)`
      Parameters:
        `key` - the key
        `options` - the blocking options
        `resultHandler` - will be provided with key/value pair
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### deleteValue

          ConsulClient deleteValue(String key,
                                   Handler<AsyncResult<Void>> resultHandler)

      Remove the key/value pair that corresponding to the specified key
      Parameters:
        `key` - the key
        `resultHandler` - will be called on complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### getValues

          ConsulClient getValues(String keyPrefix,
                                 Handler<AsyncResult<KeyValueList>> resultHandler)

      Returns the list of key/value pairs that corresponding to the specified key prefix. An empty `KeyValueList` object will be returned if no such key prefix is found.
      Parameters:
        `keyPrefix` - the prefix
        `resultHandler` - will be provided with list of key/value pairs
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### getValuesWithOptions

          ConsulClient getValuesWithOptions(String keyPrefix,
                                            BlockingQueryOptions options,
                                            Handler<AsyncResult<KeyValueList>> resultHandler)

      Returns the list of key/value pairs that corresponding to the specified key prefix. An empty `KeyValueList` object will be returned if no such key prefix is found. This is blocking query unlike `getValues(String, Handler)`
      Parameters:
        `keyPrefix` - the prefix
        `options` - the blocking options
        `resultHandler` - will be provided with list of key/value pairs
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### deleteValues

          ConsulClient deleteValues(String keyPrefix,
                                    Handler<AsyncResult<Void>> resultHandler)

      Removes all the key/value pair that corresponding to the specified key prefix
      Parameters:
        `keyPrefix` - the prefix
        `resultHandler` - will be called on complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### putValue

          ConsulClient putValue(String key,
                                String value,
                                Handler<AsyncResult<Boolean>> resultHandler)

      Adds specified key/value pair
      Parameters:
        `key` - the key
        `value` - the value
        `resultHandler` - will be provided with success of operation
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### putValueWithOptions

          ConsulClient putValueWithOptions(String key,
                                           String value,
                                           KeyValueOptions options,
                                           Handler<AsyncResult<Boolean>> resultHandler)

      Parameters:
        `key` - the key
        `value` - the value
        `options` - options used to push pair
        `resultHandler` - will be provided with success of operation
      Returns:
        reference to this, for fluency
      See Also:
        /v1/kv/:key endpoint

    - #### transaction

          ConsulClient transaction(TxnRequest request,
                                   Handler<AsyncResult<TxnResponse>> resultHandler)

      Manages multiple operations inside a single, atomic transaction.
      Parameters:
        `request` - transaction request
        `resultHandler` - will be provided with result of transaction
      Returns:
        reference to this, for fluency
      See Also:
        /v1/txn endpoint

    - #### createAclToken

          ConsulClient createAclToken(AclToken token,
                                      Handler<AsyncResult<String>> idHandler)

      Create new Acl token
      Parameters:
        `token` - properties of the token
        `idHandler` - will be provided with ID of created token
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/create endpoint

    - #### updateAclToken

          ConsulClient updateAclToken(AclToken token,
                                      Handler<AsyncResult<String>> idHandler)

      Update Acl token
      Parameters:
        `token` - properties of the token to be updated
        `idHandler` - will be provided with ID of updated
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/update endpoint

    - #### cloneAclToken

          ConsulClient cloneAclToken(String id,
                                     Handler<AsyncResult<String>> idHandler)

      Clone Acl token
      Parameters:
        `id` - the ID of token to be cloned
        `idHandler` - will be provided with ID of cloned token
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/clone/:uuid endpoint

    - #### listAclTokens

          ConsulClient listAclTokens(Handler<AsyncResult<List<AclToken>>> resultHandler)

      Get list of Acl token
      Parameters:
        `resultHandler` - will be provided with list of tokens
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/list endpoint

    - #### infoAclToken

          ConsulClient infoAclToken(String id,
                                    Handler<AsyncResult<AclToken>> tokenHandler)

      Get info of Acl token
      Parameters:
        `id` - the ID of token
        `tokenHandler` - will be provided with token
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/info/:uuid endpoint

    - #### destroyAclToken

          ConsulClient destroyAclToken(String id,
                                       Handler<AsyncResult<Void>> resultHandler)

      Destroy Acl token
      Parameters:
        `id` - the ID of token
        `resultHandler` - will be called on complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/acl/destroy/:uuid endpoint

    - #### fireEvent

          ConsulClient fireEvent(String name,
                                 Handler<AsyncResult<Event>> resultHandler)

      Fires a new user event
      Parameters:
        `name` - name of event
        `resultHandler` - will be provided with properties of event
      Returns:
        reference to this, for fluency
      See Also:
        /v1/event/fire/:name endpoint

    - #### fireEventWithOptions

          ConsulClient fireEventWithOptions(String name,
                                            EventOptions options,
                                            Handler<AsyncResult<Event>> resultHandler)

      Fires a new user event
      Parameters:
        `name` - name of event
        `options` - options used to create event
        `resultHandler` - will be provided with properties of event
      Returns:
        reference to this, for fluency
      See Also:
        /v1/event/fire/:name endpoint

    - #### listEvents

          ConsulClient listEvents(Handler<AsyncResult<EventList>> resultHandler)

      Returns the most recent events known by the agent
      Parameters:
        `resultHandler` - will be provided with list of events
      Returns:
        reference to this, for fluency
      See Also:
        /v1/event/list endpoint

    - #### listEventsWithOptions

          ConsulClient listEventsWithOptions(EventListOptions options,
                                             Handler<AsyncResult<EventList>> resultHandler)

      Returns the most recent events known by the agent. This is blocking query unlike `listEvents(Handler)`. However, the semantics of this endpoint are slightly different. Most blocking queries provide a monotonic index and block until a newer index is available. This can be supported as a consequence of the total ordering of the consensus protocol. With gossip, there is no ordering, and instead `X-Consul-Index` maps to the newest event that matches the query.

      In practice, this means the index is only useful when used against a single agent and has no meaning globally. Because Consul defines the index as being opaque, clients should not be expecting a natural ordering either.

      Parameters:
        `resultHandler` - will be provided with list of events
        `options` - the blocking options
      Returns:
        reference to this, for fluency
      See Also:
        /v1/event/list endpoint

    - #### registerService

          ConsulClient registerService(ServiceOptions serviceOptions,
                                       Handler<AsyncResult<Void>> resultHandler)

      Adds a new service, with an optional health check, to the local agent.
      Parameters:
        `serviceOptions` - the options of new service
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/service/register endpoint, `ServiceOptions`

    - #### maintenanceService

          ConsulClient maintenanceService(MaintenanceOptions maintenanceOptions,
                                          Handler<AsyncResult<Void>> resultHandler)

      Places a given service into "maintenance mode"
      Parameters:
        `maintenanceOptions` - the maintenance options
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/service/maintenance/:service_id endpoint, `MaintenanceOptions`

    - #### deregisterService

          ConsulClient deregisterService(String id,
                                         Handler<AsyncResult<Void>> resultHandler)

      Remove a service from the local agent. The agent will take care of deregistering the service with the Catalog. If there is an associated check, that is also deregistered.
      Parameters:
        `id` - the ID of service
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/service/deregister/:service_id endpoint

    - #### catalogServiceNodes

          ConsulClient catalogServiceNodes(String service,
                                           Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the nodes providing a service
      Parameters:
        `service` - name of service
        `resultHandler` - will be provided with list of nodes providing given service
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/service/:service endpoint

    - #### catalogServiceNodesWithOptions

          ConsulClient catalogServiceNodesWithOptions(String service,
                                                      ServiceQueryOptions options,
                                                      Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the nodes providing a service
      Parameters:
        `service` - name of service
        `options` - options used to request services
        `resultHandler` - will be provided with list of nodes providing given service
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/service/:service endpoint

    - #### catalogDatacenters

          ConsulClient catalogDatacenters(Handler<AsyncResult<List<String>>> resultHandler)

      Return all the datacenters that are known by the Consul server
      Parameters:
        `resultHandler` - will be provided with list of datacenters
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/datacenters endpoint

    - #### catalogNodes

          ConsulClient catalogNodes(Handler<AsyncResult<NodeList>> resultHandler)

      Returns the nodes registered in a datacenter
      Parameters:
        `resultHandler` - will be provided with list of nodes
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/nodes endpoint

    - #### catalogNodesWithOptions

          ConsulClient catalogNodesWithOptions(NodeQueryOptions options,
                                               Handler<AsyncResult<NodeList>> resultHandler)

      Returns the nodes registered in a datacenter
      Parameters:
        `resultHandler` - will be provided with list of nodes
        `options` - options used to request nodes
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/nodes endpoint

    - #### healthChecks

          ConsulClient healthChecks(String service,
                                    Handler<AsyncResult<CheckList>> resultHandler)

      Returns the checks associated with the service
      Parameters:
        `service` - the service name
        `resultHandler` - will be provided with list of checks
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/checks/:service endpoint

    - #### healthChecksWithOptions

          ConsulClient healthChecksWithOptions(String service,
                                               CheckQueryOptions options,
                                               Handler<AsyncResult<CheckList>> resultHandler)

      Returns the checks associated with the service
      Parameters:
        `service` - the service name
        `options` - options used to request checks
        `resultHandler` - will be provided with list of checks
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/checks/:service endpoint

    - #### healthState

          ConsulClient healthState(HealthState healthState,
                                   Handler<AsyncResult<CheckList>> resultHandler)

      Returns the checks in the specified status
      Parameters:
        `healthState` - the health state
        `resultHandler` - will be provided with list of checks
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/state/:state endpoint

    - #### healthStateWithOptions

          ConsulClient healthStateWithOptions(HealthState healthState,
                                              CheckQueryOptions options,
                                              Handler<AsyncResult<CheckList>> resultHandler)

      Returns the checks in the specified status
      Parameters:
        `healthState` - the health state
        `options` - options used to request checks
        `resultHandler` - will be provided with list of checks
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/state/:state endpoint

    - #### healthServiceNodes

          ConsulClient healthServiceNodes(String service,
                                          boolean passing,
                                          Handler<AsyncResult<ServiceEntryList>> resultHandler)

      Returns the nodes providing the service. This endpoint is very similar to the `catalogServiceNodes(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.consul.ServiceList>>)` endpoint; however, this endpoint automatically returns the status of the associated health check as well as any system level health checks.
      Parameters:
        `service` - the service name
        `passing` - if true, filter results to only nodes with all checks in the passing state
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/service/:service endpoint

    - #### healthServiceNodesWithOptions

          ConsulClient healthServiceNodesWithOptions(String service,
                                                     boolean passing,
                                                     ServiceQueryOptions options,
                                                     Handler<AsyncResult<ServiceEntryList>> resultHandler)

      Returns the nodes providing the service. This endpoint is very similar to the `catalogServiceNodesWithOptions(java.lang.String, io.vertx.ext.consul.ServiceQueryOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.consul.ServiceList>>)` endpoint; however, this endpoint automatically returns the status of the associated health check as well as any system level health checks.
      Parameters:
        `service` - the service name
        `passing` - if true, filter results to only nodes with all checks in the passing state
        `options` - options used to request services
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/health/service/:service endpoint

    - #### catalogServices

          ConsulClient catalogServices(Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the services registered in a datacenter
      Parameters:
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/services endpoint

    - #### catalogServicesWithOptions

          ConsulClient catalogServicesWithOptions(BlockingQueryOptions options,
                                                  Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the services registered in a datacenter This is blocking query unlike `catalogServices(Handler)`
      Parameters:
        `resultHandler` - will be provided with list of services
        `options` - the blocking options
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/services endpoint

    - #### catalogNodeServices

          ConsulClient catalogNodeServices(String node,
                                           Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the node's registered services
      Parameters:
        `node` - node name
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/node/:node endpoint

    - #### catalogNodeServicesWithOptions

          ConsulClient catalogNodeServicesWithOptions(String node,
                                                      BlockingQueryOptions options,
                                                      Handler<AsyncResult<ServiceList>> resultHandler)

      Returns the node's registered services This is blocking query unlike `catalogNodeServices(String, Handler)`
      Parameters:
        `node` - node name
        `options` - the blocking options
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/catalog/node/:node endpoint

    - #### localServices

          ConsulClient localServices(Handler<AsyncResult<List<Service>>> resultHandler)

      Returns list of services registered with the local agent.
      Parameters:
        `resultHandler` - will be provided with list of services
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/services endpoint

    - #### localChecks

          ConsulClient localChecks(Handler<AsyncResult<List<Check>>> resultHandler)

      Return all the checks that are registered with the local agent.
      Parameters:
        `resultHandler` - will be provided with list of checks
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/checks endpoint

    - #### registerCheck

          ConsulClient registerCheck(CheckOptions checkOptions,
                                     Handler<AsyncResult<Void>> resultHandler)

      Add a new check to the local agent. The agent is responsible for managing the status of the check and keeping the Catalog in sync.
      Parameters:
        `checkOptions` - options used to register new check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/register endpoint

    - #### deregisterCheck

          ConsulClient deregisterCheck(String checkId,
                                       Handler<AsyncResult<Void>> resultHandler)

      Remove a check from the local agent. The agent will take care of deregistering the check from the Catalog.
      Parameters:
        `checkId` - the ID of check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/deregister/:check_id endpoint

    - #### passCheck

          ConsulClient passCheck(String checkId,
                                 Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "passing". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/pass/:check_id endpoint, `CheckStatus`

    - #### passCheckWithNote

          ConsulClient passCheckWithNote(String checkId,
                                         String note,
                                         Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "passing". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `note` - specifies a human-readable message. This will be passed through to the check's `Output` field.
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/pass/:check_id endpoint, `CheckStatus`

    - #### warnCheck

          ConsulClient warnCheck(String checkId,
                                 Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "warning". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/warn/:check_id endpoint, `CheckStatus`

    - #### warnCheckWithNote

          ConsulClient warnCheckWithNote(String checkId,
                                         String note,
                                         Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "warning". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `note` - specifies a human-readable message. This will be passed through to the check's `Output` field.
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/warn/:check_id endpoint, `CheckStatus`

    - #### failCheck

          ConsulClient failCheck(String checkId,
                                 Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "critical". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/fail/:check_id endpoint, `CheckStatus`

    - #### failCheckWithNote

          ConsulClient failCheckWithNote(String checkId,
                                         String note,
                                         Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to "critical". Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `note` - specifies a human-readable message. This will be passed through to the check's `Output` field.
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/fail/:check_id endpoint, `CheckStatus`

    - #### updateCheck

          ConsulClient updateCheck(String checkId,
                                   CheckStatus status,
                                   Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to given status. Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `status` - new status of check
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/update/:check_id endpoint

    - #### updateCheckWithNote

          ConsulClient updateCheckWithNote(String checkId,
                                           CheckStatus status,
                                           String note,
                                           Handler<AsyncResult<Void>> resultHandler)

      Set status of the check to given status. Used with a check that is of the TTL type. The TTL clock will be reset.
      Parameters:
        `checkId` - the ID of check
        `status` - new status of check
        `note` - specifies a human-readable message. This will be passed through to the check's `Output` field.
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/agent/check/update/:check_id endpoint

    - #### leaderStatus

          ConsulClient leaderStatus(Handler<AsyncResult<String>> resultHandler)

      Get the Raft leader for the datacenter in which the agent is running. It returns an address in format "`10.1.10.12:8300`"
      Parameters:
        `resultHandler` - will be provided with address of cluster leader
      Returns:
        reference to this, for fluency
      See Also:
        /v1/status/leader endpoint

    - #### peersStatus

          ConsulClient peersStatus(Handler<AsyncResult<List<String>>> resultHandler)

      Retrieves the Raft peers for the datacenter in which the the agent is running. It returns a list of addresses "`10.1.10.12:8300`", "`10.1.10.13:8300`"
      Parameters:
        `resultHandler` - will be provided with list of peers
      Returns:
        reference to this, for fluency
      See Also:
        /v1/status/peers endpoint

    - #### createSession

          ConsulClient createSession(Handler<AsyncResult<String>> idHandler)

      Initialize a new session
      Parameters:
        `idHandler` - will be provided with ID of new session
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/create endpoint

    - #### createSessionWithOptions

          ConsulClient createSessionWithOptions(SessionOptions options,
                                                Handler<AsyncResult<String>> idHandler)

      Initialize a new session
      Parameters:
        `options` - options used to create session
        `idHandler` - will be provided with ID of new session
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/create endpoint

    - #### infoSession

          ConsulClient infoSession(String id,
                                   Handler<AsyncResult<Session>> resultHandler)

      Returns the requested session information
      Parameters:
        `id` - the ID of requested session
        `resultHandler` - will be provided with info of requested session
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/info/:uuid endpoint

    - #### infoSessionWithOptions

          ConsulClient infoSessionWithOptions(String id,
                                              BlockingQueryOptions options,
                                              Handler<AsyncResult<Session>> resultHandler)

      Returns the requested session information This is blocking query unlike `infoSession(String, Handler)`
      Parameters:
        `id` - the ID of requested session
        `options` - the blocking options
        `resultHandler` - will be provided with info of requested session
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/info/:uuid endpoint

    - #### renewSession

          ConsulClient renewSession(String id,
                                    Handler<AsyncResult<Session>> resultHandler)

      Renews the given session. This is used with sessions that have a TTL, and it extends the expiration by the TTL
      Parameters:
        `id` - the ID of session that should be renewed
        `resultHandler` - will be provided with info of renewed session
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/renew/:uuid endpoint

    - #### listSessions

          ConsulClient listSessions(Handler<AsyncResult<SessionList>> resultHandler)

      Returns the active sessions
      Parameters:
        `resultHandler` - will be provided with list of sessions
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/list endpoint

    - #### listSessionsWithOptions

          ConsulClient listSessionsWithOptions(BlockingQueryOptions options,
                                               Handler<AsyncResult<SessionList>> resultHandler)

      Returns the active sessions This is blocking query unlike `listSessions(Handler)`
      Parameters:
        `options` - the blocking options
        `resultHandler` - will be provided with list of sessions
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/list endpoint

    - #### listNodeSessions

          ConsulClient listNodeSessions(String nodeId,
                                        Handler<AsyncResult<SessionList>> resultHandler)

      Returns the active sessions for a given node
      Parameters:
        `nodeId` - the ID of node
        `resultHandler` - will be provided with list of sessions
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/node/:node endpoint

    - #### listNodeSessionsWithOptions

          ConsulClient listNodeSessionsWithOptions(String nodeId,
                                                   BlockingQueryOptions options,
                                                   Handler<AsyncResult<SessionList>> resultHandler)

      Returns the active sessions for a given node This is blocking query unlike `listNodeSessions(String, Handler)`
      Parameters:
        `nodeId` - the ID of node
        `options` - the blocking options
        `resultHandler` - will be provided with list of sessions
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/node/:node endpoint

    - #### destroySession

          ConsulClient destroySession(String id,
                                      Handler<AsyncResult<Void>> resultHandler)

      Destroys the given session
      Parameters:
        `id` - the ID of session
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/session/destroy/:uuid endpoint

    - #### createPreparedQuery

          ConsulClient createPreparedQuery(PreparedQueryDefinition definition,
                                           Handler<AsyncResult<String>> resultHandler)

      Parameters:
        `definition` - definition of the prepare query
        `resultHandler` - will be provided with id of created prepare query
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query endpoint

    - #### getPreparedQuery

          ConsulClient getPreparedQuery(String id,
                                        Handler<AsyncResult<PreparedQueryDefinition>> resultHandler)

      Returns an existing prepared query
      Parameters:
        `id` - the id of the query to read
        `resultHandler` - will be provided with definition of the prepare query
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query/:uuid endpoint

    - #### getAllPreparedQueries

          ConsulClient getAllPreparedQueries(Handler<AsyncResult<List<PreparedQueryDefinition>>> resultHandler)

      Returns a list of all prepared queries.
      Parameters:
        `resultHandler` - will be provided with list of definitions of the all prepare queries
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query endpoint

    - #### updatePreparedQuery

          ConsulClient updatePreparedQuery(PreparedQueryDefinition definition,
                                           Handler<AsyncResult<Void>> resultHandler)

      Parameters:
        `definition` - definition of the prepare query
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query/:uuid endpoint

    - #### deletePreparedQuery

          ConsulClient deletePreparedQuery(String id,
                                           Handler<AsyncResult<Void>> resultHandler)

      Deletes an existing prepared query
      Parameters:
        `id` - the id of the query to delete
        `resultHandler` - will be called when complete
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query/:uuid endpoint

    - #### executePreparedQuery

          ConsulClient executePreparedQuery(String query,
                                            Handler<AsyncResult<PreparedQueryExecuteResponse>> resultHandler)

      Executes an existing prepared query.
      Parameters:
        `query` - the ID of the query to execute. This can also be the name of an existing prepared query, or a name that matches a prefix name for a prepared query template.
        `resultHandler` - will be provided with response
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query/:uuid/execute endpoint

    - #### executePreparedQueryWithOptions

          ConsulClient executePreparedQueryWithOptions(String query,
                                                       PreparedQueryExecuteOptions options,
                                                       Handler<AsyncResult<PreparedQueryExecuteResponse>> resultHandler)

      Executes an existing prepared query.
      Parameters:
        `query` - the ID of the query to execute. This can also be the name of an existing prepared query, or a name that matches a prefix name for a prepared query template.
        `options` - the options used to execute prepared query
        `resultHandler` - will be provided with response
      Returns:
        reference to this, for fluency
      See Also:
        /v1/query/:uuid/execute endpoint

    - #### close

          void close()

      Close the client and release its resources

Copyright © 2018 Eclipse. All rights reserved.