Package com.orbitz.consul
Class AgentClient
- java.lang.Object
-
- com.orbitz.consul.AgentClient
-
public class AgentClient extends java.lang.ObjectHTTP Client for /v1/agent/ endpoints.- See Also:
- The Consul API Docs
-
-
Method Summary
Modifier and Type Method Description voidcheck(java.lang.String checkId, State state, java.lang.String note)Checks in with Consul.voidcheckTtl(java.lang.String serviceId, State state, java.lang.String note)Prepends the default TTL prefix to the serviceId to produce a check id, then delegates to check(String checkId, State state, String note) This method only works with TTL checks that have not been given a custom name.voidderegister(java.lang.String serviceId)De-register a particular service from the Consul Agent.voidderegister(java.lang.String serviceId, QueryOptions options)De-register a particular service from the Consul Agent.voidderegisterCheck(java.lang.String checkId)De-registers a Health Check with the Agentvoidfail(java.lang.String serviceId)Sets a TTL service check to "critical" state.voidfail(java.lang.String serviceId, java.lang.String note)Sets a TTL service check to "critical" state with a note.voidfailCheck(java.lang.String checkId)Sets a TTL check to "critical" state.voidfailCheck(java.lang.String checkId, java.lang.String note)Sets a TTL check to "critical" state with a note.voidforceLeave(java.lang.String node)GET /v1/agent/force-leave/{node}AgentgetAgent()Retrieves the Agent's configuration and member information.java.util.Map<java.lang.String,HealthCheck>getChecks()Retrieves all checks registered with the Agent.ClientConfiggetConfig()ClientEventHandlergetEventHandler()java.util.List<Member>getMembers()Retrieves all members that the Agent can see in the gossip pool.ConsulResponse<FullService>getService(java.lang.String id, QueryOptions queryOptions)Retrieves all information about a service.voidgetService(java.lang.String id, QueryOptions queryOptions, ConsulResponseCallback<FullService> callback)Retrieves all information about a service.java.util.Map<java.lang.String,Service>getServices()Retrieves all services registered with the Agent.booleanisRegistered(java.lang.String serviceId)Indicates whether or not a particular service is registered with the local Consul agent.booleanjoin(java.lang.String address)GET /v1/agent/join/{address} Instructs the agent to join a node.booleanjoin(java.lang.String address, boolean wan)GET /v1/agent/join/{address}?wan=1 Instructs the agent to join a node.voidpass(java.lang.String serviceId)Sets a TTL service check to "passing" statevoidpass(java.lang.String serviceId, java.lang.String note)Sets a TTL service check to "passing" state with a notevoidpassCheck(java.lang.String checkId)Sets a TTL check to "passing" statevoidpassCheck(java.lang.String checkId, java.lang.String note)Sets a TTL check to "passing" state with a notevoidping()Pings the Consul Agent.voidregister(int port, long ttl, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a ttl check.voidregister(int port, com.google.common.net.HostAndPort tcp, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a TCP based checkvoidregister(int port, Registration.RegCheck check, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with an existingRegistration.RegCheckvoidregister(int port, java.lang.String args, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a script based check.voidregister(int port, java.net.URL http, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with an http based checkvoidregister(int port, java.util.List<Registration.RegCheck> checks, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with multiple checksvoidregister(int port, java.util.List<java.lang.String> args, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a script based check.voidregister(Registration registration)voidregister(Registration registration, QueryOptions options)Registers the client as a service with Consul.voidregisterCheck(Check check)Registers a Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, long ttl)Registers a Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, long ttl, java.lang.String notes)Registers a Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, com.google.common.net.HostAndPort tcp, long interval)Registers a TCP Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, com.google.common.net.HostAndPort tcp, long interval, java.lang.String notes)Registers a TCP Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, java.lang.String script, long interval)Registers a script Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, java.lang.String args, long interval, java.lang.String notes)Registers a script Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, java.net.URL http, long interval)Registers an HTTP Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, java.net.URL http, long interval, java.lang.String notes)Registers a HTTP Health Check with the Agent.voidregisterCheck(java.lang.String checkId, java.lang.String name, java.util.List<java.lang.String> args, long interval, java.lang.String notes)Registers a script Health Check with the Agent.voidtoggleMaintenanceMode(java.lang.String serviceId, boolean enable)Toggles maintenance mode for a service ID.voidtoggleMaintenanceMode(java.lang.String serviceId, boolean enable, java.lang.String reason)Toggles maintenance mode for a service ID.voidwarn(java.lang.String serviceId)Sets a TTL service check to "warning" state.voidwarn(java.lang.String serviceId, java.lang.String note)Sets a TTL service check to "warning" state with a note.voidwarnCheck(java.lang.String checkId)Sets a TTL check to "warning" state.voidwarnCheck(java.lang.String checkId, java.lang.String note)Sets a TTL check to "warning" state with a note.
-
-
-
Field Detail
-
http
protected final Http http
-
-
Method Detail
-
isRegistered
public boolean isRegistered(java.lang.String serviceId)
Indicates whether or not a particular service is registered with the local Consul agent.- Returns:
trueif a particular service is registered with the local Consul agent, otherwisefalse.
-
ping
public void ping()
Pings the Consul Agent.
-
register
public void register(int port, long ttl, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a ttl check.- Parameters:
port- The public facing port of the service to register with Consul.ttl- Time to live in seconds for the Consul dead man's switch.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, java.lang.String args, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a script based check.- Parameters:
port- The public facing port of the service to register with Consul.args- Specifies command argument to run to update the status of the check..interval- Health script run interval in seconds.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, java.util.List<java.lang.String> args, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a script based check.- Parameters:
port- The public facing port of the service to register with Consul.args- Specifies command argument to run to update the status of the check..interval- Health script run interval in seconds.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, java.net.URL http, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with an http based check- Parameters:
port- The public facing port of the service to register with Consul.http- Health check URL.interval- Health script run interval in seconds.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, com.google.common.net.HostAndPort tcp, long interval, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with a TCP based check- Parameters:
port- The public facing port of the service to register with Consul.tcp- Health check TCP host and port.interval- Health script run interval in seconds.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, Registration.RegCheck check, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with an existingRegistration.RegCheck- Parameters:
port- The public facing port of the service to register with Consul.check- The health check to run periodically. Can be null.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(int port, java.util.List<Registration.RegCheck> checks, java.lang.String name, java.lang.String id, java.util.List<java.lang.String> tags, java.util.Map<java.lang.String,java.lang.String> meta)Registers the client as a service with Consul with multiple checks- Parameters:
port- The public facing port of the service to register with Consul.checks- The health checks to run periodically.name- Service name to register.id- Service id to register.tags- Tags to register with.meta- Meta to register with.
-
register
public void register(Registration registration, QueryOptions options)
Registers the client as a service with Consul. Registration enables the use of checks.- Parameters:
registration- The registration payload.options- An optional QueryOptions instance.
-
register
public void register(Registration registration)
-
deregister
public void deregister(java.lang.String serviceId, QueryOptions options)De-register a particular service from the Consul Agent.
-
deregister
public void deregister(java.lang.String serviceId)
De-register a particular service from the Consul Agent.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, java.lang.String script, long interval)Registers a script Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.script- Health script for Consul to use.interval- Health script run interval in seconds.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, java.net.URL http, long interval)Registers an HTTP Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.http- Health check URL.interval- Health script run interval in seconds.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, com.google.common.net.HostAndPort tcp, long interval)Registers a TCP Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.tcp- Health check TCP host and port.interval- Health script run interval in seconds.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, java.util.List<java.lang.String> args, long interval, java.lang.String notes)Registers a script Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.args- Health script for Consul to use.interval- Health script run interval in seconds.notes- Human readable notes. Not used by Consul.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, java.lang.String args, long interval, java.lang.String notes)Registers a script Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.args- Specifies command argument to run to update the status of the check.interval- Health script run interval in seconds.notes- Human readable notes. Not used by Consul.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, java.net.URL http, long interval, java.lang.String notes)Registers a HTTP Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.http- Health check URL.interval- Health script run interval in seconds.notes- Human readable notes. Not used by Consul.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, com.google.common.net.HostAndPort tcp, long interval, java.lang.String notes)Registers a TCP Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.tcp- Health check TCP host and port.interval- Health script run interval in seconds.notes- Human readable notes. Not used by Consul.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, long ttl)Registers a Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.ttl- Time to live for the Consul dead man's switch.
-
registerCheck
public void registerCheck(java.lang.String checkId, java.lang.String name, long ttl, java.lang.String notes)Registers a Health Check with the Agent.- Parameters:
checkId- The Check ID to use. Must be unique for the Agent.name- The Check Name.ttl- Time to live for the Consul dead man's switch.notes- Human readable notes. Not used by Consul.
-
registerCheck
public void registerCheck(Check check)
Registers a Health Check with the Agent.- Parameters:
check- The Check to register.
-
deregisterCheck
public void deregisterCheck(java.lang.String checkId)
De-registers a Health Check with the Agent- Parameters:
checkId- the id of the Check to deregister
-
getAgent
public Agent getAgent()
Retrieves the Agent's configuration and member information. GET /v1/agent/self- Returns:
- The Agent information.
-
getChecks
public java.util.Map<java.lang.String,HealthCheck> getChecks()
Retrieves all checks registered with the Agent. GET /v1/agent/checks- Returns:
- Map of Check ID to Checks.
-
getServices
public java.util.Map<java.lang.String,Service> getServices()
Retrieves all services registered with the Agent. GET /v1/agent/services- Returns:
- Map of Service ID to Services.
-
getService
public ConsulResponse<FullService> getService(java.lang.String id, QueryOptions queryOptions) throws NotRegisteredException
Retrieves all information about a service. GET /v1/agent/service/:service_id- Parameters:
id- The service id.queryOptions- The Query Options to use.- Returns:
- A
ConsulResponsecontainingFullServiceobject. - Throws:
NotRegisteredException
-
getService
public void getService(java.lang.String id, QueryOptions queryOptions, ConsulResponseCallback<FullService> callback)Retrieves all information about a service. GET /v1/agent/service/:service_id- Parameters:
id- The service id.queryOptions- The Query Options to use.callback- Callback implemented by callee to handle results.
-
getMembers
public java.util.List<Member> getMembers()
Retrieves all members that the Agent can see in the gossip pool. GET /v1/agent/members- Returns:
- List of Members.
-
forceLeave
public void forceLeave(java.lang.String node)
GET /v1/agent/force-leave/{node} Instructs the agent to force a node into the "left" state.- Parameters:
node-
-
check
public void check(java.lang.String checkId, State state, java.lang.String note) throws NotRegisteredExceptionChecks in with Consul.- Parameters:
checkId- The Check ID to check in.state- The current state of the Check.note- Any note to associate with the Check.- Throws:
NotRegisteredException
-
checkTtl
public void checkTtl(java.lang.String serviceId, State state, java.lang.String note) throws NotRegisteredExceptionPrepends the default TTL prefix to the serviceId to produce a check id, then delegates to check(String checkId, State state, String note) This method only works with TTL checks that have not been given a custom name.- Throws:
NotRegisteredException
-
pass
public void pass(java.lang.String serviceId) throws NotRegisteredExceptionSets a TTL service check to "passing" state- Throws:
NotRegisteredException
-
pass
public void pass(java.lang.String serviceId, java.lang.String note) throws NotRegisteredExceptionSets a TTL service check to "passing" state with a note- Throws:
NotRegisteredException
-
warn
public void warn(java.lang.String serviceId) throws NotRegisteredExceptionSets a TTL service check to "warning" state.- Throws:
NotRegisteredException
-
warn
public void warn(java.lang.String serviceId, java.lang.String note) throws NotRegisteredExceptionSets a TTL service check to "warning" state with a note.- Throws:
NotRegisteredException
-
fail
public void fail(java.lang.String serviceId) throws NotRegisteredExceptionSets a TTL service check to "critical" state.- Throws:
NotRegisteredException
-
fail
public void fail(java.lang.String serviceId, java.lang.String note) throws NotRegisteredExceptionSets a TTL service check to "critical" state with a note.- Throws:
NotRegisteredException
-
passCheck
public void passCheck(java.lang.String checkId) throws NotRegisteredExceptionSets a TTL check to "passing" state- Throws:
NotRegisteredException
-
passCheck
public void passCheck(java.lang.String checkId, java.lang.String note) throws NotRegisteredExceptionSets a TTL check to "passing" state with a note- Throws:
NotRegisteredException
-
warnCheck
public void warnCheck(java.lang.String checkId) throws NotRegisteredExceptionSets a TTL check to "warning" state.- Throws:
NotRegisteredException
-
warnCheck
public void warnCheck(java.lang.String checkId, java.lang.String note) throws NotRegisteredExceptionSets a TTL check to "warning" state with a note.- Throws:
NotRegisteredException
-
failCheck
public void failCheck(java.lang.String checkId) throws NotRegisteredExceptionSets a TTL check to "critical" state.- Throws:
NotRegisteredException
-
failCheck
public void failCheck(java.lang.String checkId, java.lang.String note) throws NotRegisteredExceptionSets a TTL check to "critical" state with a note.- Throws:
NotRegisteredException
-
join
public boolean join(java.lang.String address)
GET /v1/agent/join/{address} Instructs the agent to join a node.- Parameters:
address- The address to join.- Returns:
trueif successful, otherwisefalse.
-
join
public boolean join(java.lang.String address, boolean wan)GET /v1/agent/join/{address}?wan=1 Instructs the agent to join a node.- Parameters:
address- The address to join.wan- Use WAN pool.- Returns:
trueif successful, otherwisefalse.
-
toggleMaintenanceMode
public void toggleMaintenanceMode(java.lang.String serviceId, boolean enable)Toggles maintenance mode for a service ID.- Parameters:
serviceId- The service ID.enable-trueif the service should be in maintenance mode, otherwisefalse.
-
toggleMaintenanceMode
public void toggleMaintenanceMode(java.lang.String serviceId, boolean enable, java.lang.String reason)Toggles maintenance mode for a service ID.- Parameters:
serviceId- The service ID.enable-trueif the service should be in maintenance mode, otherwisefalse.reason- The reason for maintenance mode.
-
getConfig
public ClientConfig getConfig()
-
getEventHandler
public ClientEventHandler getEventHandler()
-
-