25 #ifndef AOSSL_CONSUL_INCLUDE_CONSUL_INTERFACE_H_ 26 #define AOSSL_CONSUL_INCLUDE_CONSUL_INTERFACE_H_ 32 #include "aossl/core/include/buffers.h" 58 virtual std::string to_json()
const = 0;
61 virtual std::string get_id()
const = 0;
64 virtual std::string get_name()
const = 0;
67 virtual std::string get_address()
const = 0;
70 virtual std::string get_port()
const = 0;
73 virtual void set_id(std::string new_id) = 0;
76 virtual void set_name(std::string new_name) = 0;
79 virtual void set_address(std::string new_address) = 0;
82 virtual void set_port(std::string new_port) = 0;
85 virtual std::vector<std::string> get_tags() = 0;
87 virtual void add_tag(std::string new_tag) = 0;
89 virtual void clear_tags() = 0;
91 virtual int num_tags()
const = 0;
96 virtual void set_check(std::string scr,
int interval_seconds) = 0;
118 virtual std::string base64_decode(std::string
const& encoded_string) = 0;
129 base64_decode_safe(std::string
const& encoded_string) = 0;
157 virtual bool set_config_value(std::string key, std::string val) = 0;
166 virtual std::string get_config_value(std::string key) = 0;
175 virtual bool del_config_value(std::string key) = 0;
186 virtual std::string services() = 0;
195 virtual std::string agent_info() = 0;
204 virtual std::string healthy_services() = 0;
215 virtual std::string datacenters() = 0;
227 virtual std::string nodes_dc(std::string data_center) = 0;
242 virtual std::string services_dc(std::string data_center) = 0;
257 virtual std::string nodes_service(std::string service) = 0;
269 virtual std::string \
270 services_node(std::string node, std::string data_center) = 0;
278 services_node_safe(std::string node, std::string data_center) = 0;
281 #endif // AOSSL_CONSUL_INCLUDE_CONSUL_INTERFACE_H_ A struct to hold health check information which can be added to a service.
Definition: consul_interface.h:37
A Structure for holding a single value.
Definition: buffers.h:42
The Consul Administrator, who handles configuration & service discovery.
Definition: consul_interface.h:107
std::string interval
The interval for the health check.
Definition: consul_interface.h:42
std::string script
The script to run for the health check.
Definition: consul_interface.h:39
A Service class which can be registered with Consul for each app instance.
Definition: consul_interface.h:51