26#ifndef ROUTER_SRC_REST_MRS_SRC_REST_MRS_CONFIG_H_
27#define ROUTER_SRC_REST_MRS_SRC_REST_MRS_CONFIG_H_
62 const std::vector<std::string> &routing_sections,
63 const std::optional<std::string> &router_name,
64 const uint32_t http_port);
69 bool is_required(std::string_view option)
const override;
70 std::string
get_default(std::string_view option)
const override;
78 template <
typename ErrorReport = NoReporting>
83 throw std::runtime_error(
"Keyring not running");
86 }
catch (
const std::exception &e) {
87 ErrorReport()(
user.c_str());
88 throw std::runtime_error(std::string(
"Could not fetch value for '") +
89 user +
"' from the keyring: " + e.what());
Definition: mysql_rest_service_plugin_config.h:41
void operator()(const char *variable)
Definition: configuration.h:49
Definition: mysql_rest_service_plugin_config.h:73
void operator()(const char *)
Definition: mysql_rest_service_plugin_config.h:75
Definition: mysql_rest_service_plugin_config.h:49
PluginConfig(const ConfigSection *section, const std::vector< std::string > &routing_sections, const std::optional< std::string > &router_name, const uint32_t http_port)
Definition: mysql_rest_service_plugin_config.cc:280
std::set< std::string > get_waiting_for_routing_plugins()
Definition: mysql_rest_service_plugin_config.cc:330
static std::string get_keyring_value(const std::string &user, const char *attr)
Definition: mysql_rest_service_plugin_config.h:79
const std::string k_option_metadata_refresh
Definition: mysql_rest_service_plugin_config.h:58
bool is_required(std::string_view option) const override
Returns whether the given option is required.
Definition: mysql_rest_service_plugin_config.cc:367
std::string get_default(std::string_view option) const override
Gets the default for the given option.
Definition: mysql_rest_service_plugin_config.cc:375
bool init_runtime_configuration()
Definition: mysql_rest_service_plugin_config.cc:339
Retrieve and manage plugin configuration.
Definition: plugin_config.h:62
Configuration section.
Definition: config_parser.h:141
Definition: config_option.h:203
Definition: config_option.h:112
virtual std::string fetch(const std::string &uid, const std::string &attribute) const =0
Retrieves attribute value from an entry.
Definition: config_option.h:156
mysql_harness::StringOption StringOption
Definition: http_auth_backend_plugin.cc:65
char * user
Definition: mysqladmin.cc:67
Definition: authorize_manager.h:48
HARNESS_EXPORT Keyring * get_keyring() noexcept
Gets a previously initialized singleton instance of the keyring.
Definition: keyring_manager.cc:212
DurationOption< std::chrono::seconds > SecondsOption
Definition: config_option.h:227
DurationOption< std::chrono::milliseconds > MilliSecondsOption
a double option with milli-second precision.
Definition: config_option.h:226