MySQL 9.3.0
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
mrs::PluginConfig Class Reference

#include <mysql_rest_service_plugin_config.h>

Inheritance diagram for mrs::PluginConfig:
[legend]

Classes

class  NoReporting
 

Public Types

using ConfigSection = mysql_harness::ConfigSection
 
using SecondsOption = mysql_harness::SecondsOption
 
using StringOption = mysql_harness::StringOption
 
template<typename T >
using IntOption = mysql_harness::IntOption< T >
 

Public Member Functions

 PluginConfig (const ConfigSection *section, const std::vector< std::string > &routing_sections, const std::string &router_name)
 
bool init_runtime_configuration ()
 
std::set< std::string > get_waiting_for_routing_plugins ()
 
bool is_required (std::string_view option) const override
 Returns whether the given option is required. More...
 
std::string get_default (std::string_view option) const override
 Gets the default for the given option. More...
 
- Public Member Functions inherited from mysql_harness::BasePluginConfig
 BasePluginConfig ()=default
 
 BasePluginConfig (const BasePluginConfig &)=default
 
 BasePluginConfig (BasePluginConfig &&)=default
 
BasePluginConfigoperator= (const BasePluginConfig &)=default
 
BasePluginConfigoperator= (BasePluginConfig &&)=default
 
virtual ~BasePluginConfig ()=default
 destructor More...
 
std::string get_option_description (const mysql_harness::ConfigSection *section, std::string_view option) const
 get description of the option. More...
 
template<class Func >
decltype(auto) get_option (const mysql_harness::ConfigSection *section, std::string_view option, Func &&transformer) const
 get option value. More...
 
template<class Func >
decltype(auto) get_option_no_default (const mysql_harness::ConfigSection *section, std::string_view option, Func &&transformer) const
 get option value. More...
 
std::string get_option_string (const mysql_harness::ConfigSection *section, std::string_view option) const
 Gets value of given option as string. More...
 
template<class T >
T get_uint_option (const mysql_harness::ConfigSection *section, std::string_view option, T min_value=0, T max_value=std::numeric_limits< T >::max()) const
 Gets an unsigned integer using the given option. More...
 
std::chrono::milliseconds get_option_milliseconds (const mysql_harness::ConfigSection *section, std::string_view option, double min_value=0.0, double max_value=std::numeric_limits< double >::max()) const
 Gets a number of milliseconds using the given option. More...
 

Public Attributes

const std::string k_option_metadata_refresh = "metadata_refresh_interval"
 
- Public Attributes inherited from mrs::Configuration
std::string mysql_user_
 
mysql_harness::SecureString mysql_user_password_
 
std::string mysql_user_data_access_
 
mysql_harness::SecureString mysql_user_data_access_password_
 
std::chrono::seconds metadata_refresh_interval_
 
std::string routing_ro_
 
std::string routing_rw_
 
uint64_t router_id_
 
std::string router_name_
 
uint32_t default_mysql_cache_instances_
 
std::chrono::seconds wait_for_metadata_schema_access_
 
std::string developer_
 
std::string developer_debug_port_
 
bool is_https_
 
std::shared_ptr< collector::DestinationProviderprovider_rw_
 
std::shared_ptr< collector::DestinationProviderprovider_ro_
 
std::string jwt_secret_
 
helper::MakeSharedPtr< helper::PluginMonitorservice_monitor_
 

Static Private Member Functions

template<typename ErrorReport = NoReporting>
static std::string get_keyring_value (const std::string &user, const char *attr)
 

Additional Inherited Members

- Protected Member Functions inherited from mysql_harness::BasePluginConfig
 BasePluginConfig (const mysql_harness::ConfigSection *section)
 Constructor for derived classes. More...
 
- Static Protected Member Functions inherited from mysql_harness::BasePluginConfig
static std::string get_section_name (const mysql_harness::ConfigSection *section)
 Generate the name for this configuration. More...
 

Member Typedef Documentation

◆ ConfigSection

◆ IntOption

◆ SecondsOption

◆ StringOption

Constructor & Destructor Documentation

◆ PluginConfig()

PluginConfig::PluginConfig ( const ConfigSection section,
const std::vector< std::string > &  routing_sections,
const std::string &  router_name 
)
explicit

Member Function Documentation

◆ get_default()

std::string PluginConfig::get_default ( std::string_view  option) const
overridevirtual

Gets the default for the given option.

Gets the default value of the given option. If no default option is available, an empty string is returned.

Parameters
optionname of the option
Returns
default value for given option as std::string

Implements mysql_harness::BasePluginConfig.

◆ get_keyring_value()

template<typename ErrorReport = NoReporting>
static std::string mrs::PluginConfig::get_keyring_value ( const std::string &  user,
const char *  attr 
)
inlinestaticprivate

◆ get_waiting_for_routing_plugins()

std::set< std::string > PluginConfig::get_waiting_for_routing_plugins ( )

◆ init_runtime_configuration()

bool PluginConfig::init_runtime_configuration ( )

◆ is_required()

bool PluginConfig::is_required ( std::string_view  option) const
overridevirtual

Returns whether the given option is required.

Returns
bool

Implements mysql_harness::BasePluginConfig.

Member Data Documentation

◆ k_option_metadata_refresh

const std::string mrs::PluginConfig::k_option_metadata_refresh = "metadata_refresh_interval"

The documentation for this class was generated from the following files: