Source code for consul.api.coordinates

from consul.callback import CB


[docs] class Coordinate: def __init__(self, agent) -> None: self.agent = agent
[docs] def datacenters(self): """ Returns the WAN network coordinates for all Consul servers, organized by DCs. """ return self.agent.http.get(CB.json(), "/v1/coordinate/datacenters")
[docs] def nodes(self, dc=None, index=None, wait=None, consistency=None): """ *dc* is the datacenter that this agent will communicate with. By default the datacenter of the host is used. *index* is the current Consul index, suitable for making subsequent calls to wait for changes since this query was last run. *wait* the maximum duration to wait (e.g. '10s') to retrieve a given index. this parameter is only applied if *index* is also specified. the wait time by default is 5 minutes. *consistency* can be either 'default', 'consistent' or 'stale'. if not specified *consistency* will the consistency level this client was configured with. """ params = [] if dc: params.append(("dc", dc)) if index: params.append(("index", index)) if wait: params.append(("wait", wait)) consistency = consistency or self.agent.consistency if consistency in ("consistent", "stale"): params.append((consistency, "1")) return self.agent.http.get(CB.json(index=True), "/v1/coordinate/nodes", params=params)