class Nomad::Agent
Public Instance Methods
force_leave(*nodes, **options)
click to toggle source
Force a node to leave the gossip pool.
@example
Nomad.agent.force_leave("client-ab2e23dc")
@overload force_leave
(node, …)
@param [String] node A node ID to remove @param [String] ... Additional nodes to remove @return [Boolean]
# File lib/nomad/api/agent.rb, line 40 def force_leave(*nodes, **options) raise "Missing node(s)!" if nodes.empty? qs = nodes.map { |v| "node=#{CGI.escape(v)}" }.join("&")[/.+/] client.post("/v1/agent/force-leave?#{qs}", options) return true end
join(*addresses, **options)
click to toggle source
Join a new member to the gossip pool.
@example
Nomad.agent.join("1.2.3.4", "5.6.7.8") #=> #<AgentJoin...>
@param [String] address the addresses of the agents to join - this may
be specified multiple times.
@return [AgentJoin]
# File lib/nomad/api/agent.rb, line 24 def join(*addresses, **options) raise "Missing address(es)!" if addresses.empty? qs = addresses.map { |v| "address=#{CGI.escape(v)}" }.join("&")[/.+/] json = client.post("/v1/agent/join?#{qs}", options) return AgentJoin.decode(json) end
members(options = {})
click to toggle source
Get the list of known agent names.
@example
Nomad.agent.members #=> ["region1", "region2"]
@return [AgentMembers]
# File lib/nomad/api/agent.rb, line 53 def members(options = {}) json = client.get("/v1/agent/members", options) return AgentMembers.decode(json) end
self(options = {})
click to toggle source
Get information about the current agent (self).
@example
Nomad.agent.self #=> #<AgentSelf ...>
@return [AgentSelf]
# File lib/nomad/api/agent.rb, line 64 def self(options = {}) json = client.get("/v1/agent/self", options) return AgentSelf.decode(json) end
servers(options = {})
click to toggle source
Get the list of servers.
@example
Nomad.agent.servers #=> ["127.0.0.1:4647", "..."]
# File lib/nomad/api/agent.rb, line 73 def servers(options = {}) return client.get("/v1/agent/servers", options) end
update_servers(*addresses, **options)
click to toggle source
Updates the list of servers.
@example
Nomad.agent.update_servers(addresses: ["1.2.3.4:4647"])
@return [Boolean]
# File lib/nomad/api/agent.rb, line 83 def update_servers(*addresses, **options) raise "Missing address(es)!" if addresses.empty? qs = addresses.map { |v| "address=#{CGI.escape(v)}" }.join("&")[/.+/] client.post("/v1/agent/servers?#{qs}", options) return true end