class Consul::Client::V1
Do not instantiate this class directly.
@see Consul::Client.v1
Public Instance Methods
http(host: "localhost", port: 8500, logger: NULL_LOGGER)
click to toggle source
Returns a thin wrapper around the Consult HTTP
API.
@param host [String] host of Consul
agent. @param port [Integer] port to connect to Consul
agent. @param logger [Logger] logger for diagnostic information. @return [Consul::Client::HTTP] @example
http = Consul::Client.v1.http(logger: Logger.new($stdout)) puts http.get("/get/self")["Member"]["Name"]
# File lib/consul/client.rb, line 56 def http(host: "localhost", port: 8500, logger: NULL_LOGGER) HTTP.new(host: host, port: port, logger: logger) end
local_service(name, http:Consul::Client.v1.http(), logger:http.logger)
click to toggle source
Returns high-level local service utility functions.
@param name [String] name of the service. Must match service ID in
Consul.
@param http [Consul::Client::HTTP] http client to use. @param logger [Logger] logger for diagnostic information. @return [Consul::Client::LocalService] @example
local = Consul::Client.v1.local_service('web') local.coordinated_shutdown! { $healthy = false }
# File lib/consul/client.rb, line 34 def local_service(name, http:Consul::Client.v1.http(), logger:http.logger) LocalService.new(name, http: http, logger: logger) end
service(*args)
click to toggle source
Returns high-level service utility functions.
@example
service = Consul::Client.v1.service('web') service.lock('leader') { puts "I am the cluster leader!" }
# File lib/consul/client.rb, line 43 def service(*args) Service.new(*args) end