26#ifndef ROUTER_MYSQL_ROUTER_CONF_INCLUDED
27#define ROUTER_MYSQL_ROUTER_CONF_INCLUDED
55 std::ostream &out_stream = std::cout,
56 std::ostream &err_stream = std::cerr)
65 const std::string &bootstrap_uri =
"") noexcept;
87 bool allow_standalone,
const std::string &plugin_folder
100 FRIEND_TEST(ConfigGeneratorTest, ssl_stage1_cmdline_arg_parse);
101 FRIEND_TEST(ConfigGeneratorTest, ssl_stage2_bootstrap_connection);
102 FRIEND_TEST(ConfigGeneratorTest, ssl_stage3_create_config);
126 std::unique_ptr<mysqlrouter::MySQLSession>
mysql_;
144 const std::string &save_name,
145 const std::string &option_value);
Defining the commandline argument handler class CmdArgHandler.
Handles command line arguments.
Definition: arg_handler.h:141
KeyringInfo class encapsulates loading and storing master key using master-key-reader and master-key-...
Definition: keyring_info.h:76
Definition: router_conf.h:52
virtual void prepare_command_options(CmdArgHandler &arg_handler, const std::string &bootstrap_uri="") noexcept
Definition: router_conf.cc:212
bool skipped() const
Definition: router_conf.h:70
bool is_bootstrap() const
Definition: router_conf.h:67
MySQLRouterConf(KeyringInfo &keyring_info, std::ostream &out_stream=std::cout, std::ostream &err_stream=std::cerr)
Definition: router_conf.h:54
bool skipped_
Definition: router_conf.h:130
std::string get_bootstrap_socket() const
Definition: router_conf.cc:1101
int get_read_timeout() const
Definition: router_conf.cc:1091
virtual bool is_legacy() const
Definition: router_conf.h:68
KeyringInfo & keyring_info_
Definition: router_conf.h:128
std::ostream & err_stream_
Definition: router_conf.h:133
std::string bootstrap_directory_
Valueof the argument passed to the –directory command line option.
Definition: router_conf.h:113
void assert_bootstrap_mode(const std::string &option_name) const
verify that bootstrap option (–bootstrap or -B) was given by user.
Definition: router_conf.cc:1074
mysqlrouter::MySQLSession * session() const
Definition: router_conf.h:83
std::map< std::string, std::vector< std::string > > bootstrap_multivalue_options_
key/list-of-values map of additional configuration options for bootstrap
Definition: router_conf.h:123
mysqlrouter::URI target_uri_
Definition: router_conf.h:125
void connect()
Definition: router_conf.cc:1106
std::map< std::string, std::string > get_config_cmdln_options() const
Definition: router_conf.cc:1163
std::map< std::string, std::string > bootstrap_options_
key/value map of additional configuration options for bootstrap
Definition: router_conf.h:117
std::string bootstrap_uri_
Value of the argument passed to the -B or –bootstrap command line option for bootstrapping.
Definition: router_conf.h:109
void save_bootstrap_option_not_empty(const std::string &option_name, const std::string &save_name, const std::string &option_value)
Saves the selected command line option in the internal options array after verifying it's value not e...
Definition: router_conf.cc:1064
int get_connect_timeout() const
Definition: router_conf.cc:1081
std::unique_ptr< mysqlrouter::MySQLSession > mysql_
Definition: router_conf.h:126
std::ostream & out_stream_
Definition: router_conf.h:132
const std::map< std::string, std::string > & bootstrap_options() const
Definition: router_conf.h:76
void add_option(const std::string &key, const std::string &value)
Definition: router_conf.h:72
virtual ~MySQLRouterConf()=default
std::string bootstrap(const std::string &program_name, const mysql_harness::Path &origin, bool allow_standalone, const std::string &plugin_folder, mysqlrouter::SysUserOperationsBase *sys_user_operations=nullptr)
Definition: router_conf.cc:1240
std::string plugin_folder_
Definition: router_conf.h:135
Manage the MySQL Router application.
Definition: router_app.h:81
Class representing a path in a file system.
Definition: filesystem.h:63
Definition: mysql_session.h:157
Base class to allow multiple SysUserOperations implementations.
Definition: sys_user_operations.h:45
Parse and create URIs according to RFC3986.
Definition: uri.h:66
Definition: router_conf.h:159
silent_exception()
Definition: router_conf.h:161
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
Definition: gcs_xcom_synode.h:64
required string key
Definition: replication_asynchronous_connection_failover.proto:60