15#include <boost/foreach.hpp>
40 {
"boot-update", Element::boolean,
"true" },
41 {
"subscribe-changes", Element::boolean,
"true" },
42 {
"validate-changes", Element::boolean,
"true" }
47 {
"socket-type", Element::string,
"stdout" },
48 {
"socket-name", Element::string,
"" },
49 {
"socket-url" , Element::string,
"http://127.0.0.1:8000/" }
54 {
"model", Element::string,
"kea-dhcp4-server" }
59 {
"model", Element::string,
"kea-dhcp6-server" }
64 {
"model", Element::string,
"kea-dhcp-ddns" }
69 {
"model", Element::string,
"kea-ctrl-agent" }
98 for (
auto it : servers->mapValue()) {
112 for (
auto it : servers->mapValue()) {
114 boost::const_pointer_cast<Element>(it.second);
115 cnt += SimpleParser::deriveParams(global,
130 boost::const_pointer_cast<Element>(server);
131 if (name ==
"dhcp4") {
133 }
else if (name ==
"dhcp6") {
135 }
else if (name ==
"d2") {
137 }
else if (name ==
"ca") {
146 boost::const_pointer_cast<Element>(ctrl_sock);
160 ctx->setContext(user_context);
166 for (
auto it : servers->mapValue()) {
169 ctx->getCfgServersMap()->insert(make_pair(it.first, server));
179 hooks_parser.
parse(libraries, hooks);
187 HooksManager::prepareUnloadLibraries();
188 static_cast<void>(HooksManager::unloadLibraries());
static size_t setDefaults(isc::data::ElementPtr scope, const SimpleDefaults &default_values)
Sets the default values.
Wrapper class that holds hooks libraries configuration.
const isc::hooks::HookLibsCollection & get() const
Provides access to the configured hooks libraries.
void verifyLibraries(const isc::data::Element::Position &position) const
Verifies that libraries stored in libraries_ are valid.
void loadLibraries() const
Commits hooks libraries configuration.
Parser for hooks library list.
void parse(HooksConfig &libraries, isc::data::ConstElementPtr value)
Parses parameters value.
static const isc::data::SimpleDefaults NETCONF_DEFAULTS
This table defines default values for global options.
static const isc::data::SimpleDefaults DHCP6_DEFAULTS
Supplies defaults for dhcp6 managed server.
static const isc::data::SimpleDefaults DHCP4_DEFAULTS
Supplies defaults for dhcp4 managed server.
static size_t setAllDefaults(const isc::data::ElementPtr &global)
Sets all defaults for Netconf configuration.
static const isc::data::SimpleDefaults CA_DEFAULTS
Supplies defaults for ca managed server.
static const isc::data::ParamsList INHERIT_TO_SERVERS
List of parameters that can be inherited to managed-servers scope.
void parse(const NetconfConfigPtr &ctx, const isc::data::ConstElementPtr &config, bool check_only)
Parses the netconf configuration.
static size_t setServerDefaults(const std::string name, isc::data::ConstElementPtr server)
Adds default values to a Managed server entry.
static size_t deriveParameters(isc::data::ConstElementPtr global)
Derives (inherits) all parameters from global to more specific scopes.
static const isc::data::SimpleDefaults CTRL_SOCK_DEFAULTS
Supplies defaults for control-socket elements.
static const isc::data::SimpleDefaults D2_DEFAULTS
Supplies defaults for d2 managed server.
CfgServerPtr parse(data::ConstElementPtr server_config)
Performs the actual parsing of the given value from the "managed-servers" map.
std::vector< std::string > ParamsList
This defines a list of all parameters that are derived (or inherited) between contexts.
boost::shared_ptr< const Element > ConstElementPtr
std::vector< SimpleDefault > SimpleDefaults
This specifies all default values in a given scope (e.g. a subnet).
boost::shared_ptr< Element > ElementPtr
boost::shared_ptr< NetconfConfig > NetconfConfigPtr
Pointer to a configuration context.
boost::shared_ptr< CfgServer > CfgServerPtr
Defines a pointer for CfgServer instances.
Defines the logger used by the top-level component of kea-lfc.
A collection of classes for housing and parsing the application configuration necessary for the Netco...