Kea 3.1.1
config_backend_pool_dhcp4.cc
Go to the documentation of this file.
1// Copyright (C) 2018-2025 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#include <config.h>
9
10using namespace isc::asiolink;
11using namespace isc::data;
12using namespace isc::db;
13
14namespace isc {
15namespace dhcp {
16
19 const ServerSelector& server_selector,
20 const std::string& subnet_prefix) const {
21 Subnet4Ptr subnet;
23 (&ConfigBackendDHCPv4::getSubnet4, backend_selector, server_selector,
24 subnet, subnet_prefix);
25 return (subnet);
26}
27
30 const ServerSelector& server_selector,
31 const SubnetID& subnet_id) const {
32 Subnet4Ptr subnet;
34 (&ConfigBackendDHCPv4::getSubnet4, backend_selector, server_selector,
35 subnet, subnet_id);
36 return (subnet);
37}
38
41 const ServerSelector& server_selector) const {
42 Subnet4Collection subnets;
44 (&ConfigBackendDHCPv4::getAllSubnets4, backend_selector, server_selector,
45 subnets);
46 return (subnets);
47}
48
51 const ServerSelector& server_selector,
52 const boost::posix_time::ptime& modification_time) const {
53 Subnet4Collection subnets;
55 (&ConfigBackendDHCPv4::getModifiedSubnets4, backend_selector, server_selector,
56 subnets, modification_time);
57 return (subnets);
58}
59
62 const db::ServerSelector& server_selector,
63 const std::string& shared_network_name) const {
64 Subnet4Collection subnets;
66 (&ConfigBackendDHCPv4::getSharedNetworkSubnets4, backend_selector, server_selector,
67 subnets, shared_network_name);
68 return (subnets);
69}
70
73 const ServerSelector& server_selector,
74 const std::string& name) const {
75 SharedNetwork4Ptr shared_network;
77 (&ConfigBackendDHCPv4::getSharedNetwork4, backend_selector, server_selector,
78 shared_network, name);
79 return (shared_network);
80}
81
84 const ServerSelector& server_selector) const {
85 SharedNetwork4Collection shared_networks;
87 (&ConfigBackendDHCPv4::getAllSharedNetworks4, backend_selector, server_selector,
88 shared_networks);
89 return (shared_networks);
90}
91
94getModifiedSharedNetworks4(const BackendSelector& backend_selector,
95 const ServerSelector& server_selector,
96 const boost::posix_time::ptime& modification_time) const {
97 SharedNetwork4Collection shared_networks;
99 (&ConfigBackendDHCPv4::getModifiedSharedNetworks4, backend_selector, server_selector,
100 shared_networks, modification_time);
101 return (shared_networks);
102}
103
106 const ServerSelector& server_selector,
107 const uint16_t code,
108 const std::string& space) const {
109 OptionDefinitionPtr option_def;
111 (&ConfigBackendDHCPv4::getOptionDef4, backend_selector, server_selector,
112 option_def, code, space);
113 return (option_def);
114}
115
118 const ServerSelector& server_selector) const {
119 OptionDefContainer option_defs;
121 (&ConfigBackendDHCPv4::getAllOptionDefs4, backend_selector, server_selector,
122 option_defs);
123 return (option_defs);
124}
125
128 const ServerSelector& server_selector,
129 const boost::posix_time::ptime& modification_time) const {
130 OptionDefContainer option_defs;
132 (&ConfigBackendDHCPv4::getModifiedOptionDefs4, backend_selector, server_selector,
133 option_defs, modification_time);
134 return (option_defs);
135}
136
139 const ServerSelector& server_selector,
140 const uint16_t code,
141 const std::string& space,
142 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) const {
143 OptionDescriptorPtr option;
145 (&ConfigBackendDHCPv4::getOption4, backend_selector, server_selector,
146 option, code, space, client_classes);
147 return (option);
148}
149
152 const ServerSelector& server_selector) const {
153 OptionContainer options;
155 (&ConfigBackendDHCPv4::getAllOptions4, backend_selector, server_selector,
156 options);
157 return (options);
158}
159
162 const ServerSelector& server_selector,
163 const boost::posix_time::ptime& modification_time) const {
164 OptionContainer options;
166 (&ConfigBackendDHCPv4::getModifiedOptions4, backend_selector, server_selector,
167 options, modification_time);
168 return (options);
169}
170
173 const ServerSelector& server_selector,
174 const std::string& name) const {
175 StampedValuePtr parameter;
178 server_selector, parameter, name);
179 return (parameter);
180}
181
184 const ServerSelector& server_selector) const {
185 StampedValueCollection parameters;
188 server_selector, parameters);
189 return (parameters);
190}
191
195 const db::ServerSelector& server_selector,
196 const boost::posix_time::ptime& modification_time) const {
197 StampedValueCollection parameters;
200 server_selector, parameters, modification_time);
201 return (parameters);
202}
203
206 const ServerSelector& server_selector,
207 const std::string& name) const {
208 ClientClassDefPtr client_class;
210 (&ConfigBackendDHCPv4::getClientClass4, backend_selector, server_selector,
211 client_class, name);
212 return (client_class);
213}
214
217 const ServerSelector& server_selector) const {
218 ClientClassDictionary client_classes;
220 (&ConfigBackendDHCPv4::getAllClientClasses4, backend_selector, server_selector,
221 client_classes);
222 return (client_classes);
223
224}
225
228 const ServerSelector& server_selector,
229 const boost::posix_time::ptime& modification_time) const {
230 ClientClassDictionary client_classes;
232 (&ConfigBackendDHCPv4::getModifiedClientClasses4, backend_selector, server_selector,
233 client_classes, modification_time);
234 return (client_classes);
235}
236
239getRecentAuditEntries(const db::BackendSelector& backend_selector,
240 const db::ServerSelector& server_selector,
241 const boost::posix_time::ptime& modification_time,
242 const uint64_t& modification_id) const {
243 AuditEntryCollection audit_entries;
246 server_selector, audit_entries, modification_time, modification_id);
247 return (audit_entries);
248}
249
252 ServerCollection servers;
254 (&ConfigBackendDHCPv4::getAllServers4, backend_selector, servers);
255 return (servers);
256}
257
260 const ServerTag& server_tag) const {
261 ServerPtr server;
263 (&ConfigBackendDHCPv4::getServer4, backend_selector, server,
264 server_tag);
265 return (server);
266}
267
268void
270 const ServerSelector& server_selector,
271 const Subnet4Ptr& subnet) {
274 server_selector, subnet);
275}
276
277void
279 const ServerSelector& server_selector,
280 const SharedNetwork4Ptr& shared_network) {
283 server_selector, shared_network);
284}
285
286void
288 const ServerSelector& server_selector,
289 const OptionDefinitionPtr& option_def) {
292 server_selector, option_def);
293}
294
295void
297 const ServerSelector& server_selector,
298 const OptionDescriptorPtr& option) {
301 server_selector, option);
302}
303
304void
306 const ServerSelector& server_selector,
307 const std::string& shared_network_name,
308 const OptionDescriptorPtr& option) {
311 server_selector, shared_network_name, option);
312}
313
314
315void
317 const ServerSelector& server_selector,
318 const SubnetID& subnet_id,
319 const OptionDescriptorPtr& option) {
322 server_selector, subnet_id, option);
323}
324
325void
327 const ServerSelector& server_selector,
328 const IOAddress& pool_start_address,
329 const IOAddress& pool_end_address,
330 const OptionDescriptorPtr& option) {
332 const OptionDescriptorPtr&>
334 server_selector, pool_start_address, pool_end_address, option);
335}
336
337void
339 const ServerSelector& server_selector,
340 const StampedValuePtr& value) {
343 server_selector, value);
344}
345
346void
348 const ServerSelector& server_selector,
349 const ClientClassDefPtr& client_class,
350 const std::string& follow_class_name) {
353 server_selector, client_class, follow_class_name);
354}
355
356void
363
364uint64_t
366 const ServerSelector& server_selector,
367 const std::string& subnet_prefix) {
369 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
370 subnet_prefix));
371}
372
373uint64_t
375 const ServerSelector& server_selector,
376 const SubnetID& subnet_id) {
378 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
379 subnet_id));
380}
381
382uint64_t
384 const ServerSelector& server_selector) {
386 (&ConfigBackendDHCPv4::deleteAllSubnets4, backend_selector, server_selector));
387}
388
389uint64_t
391 const db::ServerSelector& server_selector,
392 const std::string& shared_network_name) {
394 (&ConfigBackendDHCPv4::deleteSharedNetworkSubnets4, backend_selector, server_selector,
395 shared_network_name));
396}
397
398uint64_t
400 const ServerSelector& server_selector,
401 const std::string& name) {
404 server_selector, name));
405}
406
407uint64_t
409 const ServerSelector& server_selector) {
411 (&ConfigBackendDHCPv4::deleteAllSharedNetworks4, backend_selector, server_selector));
412}
413
414uint64_t
416 const ServerSelector& server_selector,
417 const uint16_t code,
418 const std::string& space) {
420 (&ConfigBackendDHCPv4::deleteOptionDef4, backend_selector,
421 server_selector, code, space));
422}
423
424uint64_t
426 const ServerSelector& server_selector) {
428 (&ConfigBackendDHCPv4::deleteAllOptionDefs4, backend_selector, server_selector));
429}
430
431uint64_t
433 const ServerSelector& server_selector,
434 const uint16_t code,
435 const std::string& space,
436 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
437
438 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&,
439 const ClientClassesPtr>
440 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
441 code, space, client_classes));
442}
443
444uint64_t
446 const ServerSelector& server_selector,
447 const std::string& shared_network_name,
448 const uint16_t code,
449 const std::string& space,
450 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
451 return (createUpdateDeleteProperty<uint64_t, const std::string&, uint16_t,
452 const std::string&,
453 const ClientClassesPtr>
454 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
455 shared_network_name, code, space, client_classes));
456}
457
458uint64_t
460 const ServerSelector& server_selector,
461 const SubnetID& subnet_id,
462 const uint16_t code,
463 const std::string& space,
464 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
465 return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t,
466 const std::string&,
467 const ClientClassesPtr>
468 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
469 subnet_id, code, space, client_classes));
470}
471
472uint64_t
474 const ServerSelector& server_selector,
475 const asiolink::IOAddress& pool_start_address,
476 const asiolink::IOAddress& pool_end_address,
477 const uint16_t code,
478 const std::string& space,
479 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
480 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, const IOAddress&,
481 uint16_t, const std::string&,
482 const ClientClassesPtr>
483 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
484 pool_start_address, pool_end_address, code, space, client_classes));
485}
486
487uint64_t
489 const ServerSelector& server_selector,
490 const std::string& name) {
493 server_selector, name));
494}
495
496uint64_t
498 const ServerSelector& server_selector) {
501 server_selector));
502}
503
504uint64_t
506 const ServerSelector& server_selector,
507 const std::string& name) {
509 (&ConfigBackendDHCPv4::deleteClientClass4, backend_selector,
510 server_selector, name));
511}
512
513uint64_t
515 const ServerSelector& server_selector) {
517 (&ConfigBackendDHCPv4::deleteAllClientClasses4, backend_selector, server_selector));
518}
519
520uint64_t
522 const ServerTag& server_tag) {
524 (&ConfigBackendDHCPv4::deleteServer4, backend_selector,
525 server_tag));
526}
527
528uint64_t
533
534} // end of namespace isc::dhcp
535} // end of namespace isc
void getPropertyPtrConst(PropertyType(ConfigBackendDHCPv4::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyType &property, Args... input) const
void getBackendPropertyPtrConst(PropertyType(ConfigBackendDHCPv4::*MethodPointer)(FnPtrArgs...) const, const db::BackendSelector &backend_selector, PropertyType &property, Args... input) const
ReturnValue createUpdateDeleteProperty(ReturnValue(ConfigBackendDHCPv4::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...), const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, Args... input)
void getMultiplePropertiesConst(PropertyCollectionType(ConfigBackendDHCPv4::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyCollectionType &properties, Args... input) const
ReturnValue createUpdateDeleteBackendProperty(ReturnValue(ConfigBackendDHCPv4::*MethodPointer)(FnPtrArgs...), const db::BackendSelector &backend_selector, Args... input)
void getAllPropertiesConst(PropertyCollectionType(ConfigBackendDHCPv4::*MethodPointer)(const db::ServerSelector &) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyCollectionType &properties) const
void getAllBackendPropertiesConst(PropertyCollectionType(ConfigBackendDHCPv4::*MethodPointer)() const, const db::BackendSelector &backend_selector, PropertyCollectionType &properties) const
Represents a server tag.
Definition server_tag.h:25
Config Backend selector.
Server selector for associating objects in a database with specific servers.
Maintains a list of ClientClassDef's.
virtual db::AuditEntryCollection getRecentAuditEntries(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time, const uint64_t &modification_id) const =0
Retrieves the most recent audit entries.
virtual data::StampedValueCollection getModifiedGlobalParameters4(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves global parameters modified after specified time.
virtual OptionDescriptorPtr getOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, const ClientClassesPtr client_classes=ClientClassesPtr()) const =0
Retrieves single option by code and space.
virtual uint64_t deleteAllClientClasses4(const db::ServerSelector &server_selector)=0
Deletes all client classes.
virtual uint64_t deleteAllGlobalParameters4(const db::ServerSelector &server_selector)=0
Deletes all global parameters.
virtual uint64_t deleteGlobalParameter4(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes global parameter.
virtual OptionDefContainer getAllOptionDefs4(const db::ServerSelector &server_selector) const =0
Retrieves all option definitions.
virtual void createUpdateOptionDef4(const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)=0
Creates or updates an option definition.
virtual OptionDefinitionPtr getOptionDef4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
Retrieves single option definition by code and space.
virtual Subnet4Collection getAllSubnets4(const db::ServerSelector &server_selector) const =0
Retrieves all subnets.
virtual OptionContainer getModifiedOptions4(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves options modified after specified time.
virtual ClientClassDictionary getAllClientClasses4(const db::ServerSelector &selector) const =0
Retrieves all client classes.
virtual SharedNetwork4Collection getModifiedSharedNetworks4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves shared networks modified after specified time.
virtual SharedNetwork4Ptr getSharedNetwork4(const db::ServerSelector &server_selector, const std::string &name) const =0
Retrieves shared network by name.
virtual uint64_t deleteOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, ClientClassesPtr client_classes=ClientClassesPtr())=0
Deletes global option.
virtual uint64_t deleteSharedNetworkSubnets4(const db::ServerSelector &server_selector, const std::string &shared_network_name)=0
Deletes all subnets belonging to a specified shared network.
virtual uint64_t deleteAllOptionDefs4(const db::ServerSelector &server_selector)=0
Deletes all option definitions.
virtual ClientClassDictionary getModifiedClientClasses4(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves client classes modified after specified time.
virtual uint64_t deleteAllSharedNetworks4(const db::ServerSelector &server_selector)=0
Deletes all shared networks.
virtual void createUpdateSubnet4(const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)=0
Creates or updates a subnet.
virtual uint64_t deleteAllServers4()=0
Deletes all servers from the backend except the logical server 'all'.
virtual void createUpdateGlobalParameter4(const db::ServerSelector &server_selector, const data::StampedValuePtr &value)=0
Creates or updates global parameter.
virtual void createUpdateSharedNetwork4(const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)=0
Creates or updates a shared network.
virtual void createUpdateClientClass4(const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)=0
Creates or updates DHCPv4 client class.
virtual Subnet4Ptr getSubnet4(const db::ServerSelector &server_selector, const std::string &subnet_prefix) const =0
Retrieves a single subnet by subnet_prefix.
virtual db::ServerPtr getServer4(const data::ServerTag &server_tag) const =0
Retrieves a server.
virtual data::StampedValueCollection getAllGlobalParameters4(const db::ServerSelector &selector) const =0
Retrieves all global parameters.
virtual db::ServerCollection getAllServers4() const =0
Retrieves all servers.
virtual uint64_t deleteClientClass4(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes DHCPv4 client class.
virtual uint64_t deleteSubnet4(const db::ServerSelector &server_selector, const std::string &subnet_prefix)=0
Deletes subnet by prefix.
virtual uint64_t deleteOptionDef4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes option definition.
virtual OptionContainer getAllOptions4(const db::ServerSelector &server_selector) const =0
Retrieves all global options.
virtual ClientClassDefPtr getClientClass4(const db::ServerSelector &selector, const std::string &name) const =0
Retrieves a client class by name.
virtual data::StampedValuePtr getGlobalParameter4(const db::ServerSelector &selector, const std::string &name) const =0
Retrieves global parameter value.
virtual SharedNetwork4Collection getAllSharedNetworks4(const db::ServerSelector &server_selector) const =0
Retrieves all shared networks.
virtual uint64_t deleteSharedNetwork4(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes shared network by name.
virtual Subnet4Collection getModifiedSubnets4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves subnets modified after specified time.
virtual void createUpdateOption4(const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)=0
Creates or updates global option.
virtual OptionDefContainer getModifiedOptionDefs4(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves option definitions modified after specified time.
virtual uint64_t deleteAllSubnets4(const db::ServerSelector &server_selector)=0
Deletes all subnets.
virtual void createUpdateServer4(const db::ServerPtr &server)=0
Creates or updates a server.
virtual uint64_t deleteServer4(const data::ServerTag &server_tag)=0
Deletes a server from the backend.
virtual Subnet4Collection getSharedNetworkSubnets4(const db::ServerSelector &server_selector, const std::string &shared_network_name) const =0
Retrieves all subnets belonging to a specified shared network.
virtual data::StampedValueCollection getAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global parameters.
virtual void createUpdateOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)
Creates or updates global option.
virtual SharedNetwork4Collection getModifiedSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves shared networks modified after specified time.
virtual ClientClassDefPtr getClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves a client class by name.
virtual void createUpdateServer4(const db::BackendSelector &backend_selector, const db::ServerPtr &server)
Creates or updates a server.
virtual db::ServerCollection getAllServers4(const db::BackendSelector &backend_selector) const
Retrieves all servers from the particular backend.
virtual OptionDefContainer getModifiedOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option definitions modified after specified time.
virtual uint64_t deleteAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all subnets.
virtual uint64_t deleteServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag)
Deletes a server from the backend.
virtual uint64_t deleteSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
virtual uint64_t deleteAllServers4(const db::BackendSelector &backend_selector)
Deletes all servers from the backend except the logical server 'all'.
virtual OptionDefinitionPtr getOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option definition by code and space.
virtual SharedNetwork4Ptr getSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves shared network by name.
virtual uint64_t deleteAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all shared networks.
virtual db::ServerPtr getServer4(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag) const
Retrieves a server from the particular backend.
virtual void createUpdateSharedNetwork4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)
Creates or updates a shared network.
virtual void createUpdateOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)
Creates or updates an option definition.
virtual ClientClassDictionary getModifiedClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves client classes modified after specified time.
virtual data::StampedValuePtr getGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves global parameter value.
virtual void createUpdateGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const data::StampedValuePtr &value)
Creates or updates global string parameter.
virtual uint64_t deleteOptionDef4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes option definition.
virtual Subnet4Collection getAllSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all subnets.
virtual Subnet4Collection getSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name) const
Retrieves all subnets belonging to a specified shared network.
virtual uint64_t deleteSharedNetworkSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &shared_network_name)
Deletes all subnets belonging to a specified shared network.
virtual uint64_t deleteSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
virtual uint64_t deleteClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes DHCPv4 client class.
virtual OptionContainer getAllOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global options.
virtual data::StampedValueCollection getModifiedGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves global parameters modified after specified time.
virtual uint64_t deleteAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all option definitions.
virtual ClientClassDictionary getAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all client classes.
virtual void createUpdateClientClass4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)
Creates or updates DHCPv4 client class.
virtual Subnet4Ptr getSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix) const
Retrieves a single subnet by subnet_prefix.
virtual OptionDefContainer getAllOptionDefs4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all option definitions.
virtual uint64_t deleteGlobalParameter4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes global parameter.
virtual OptionContainer getModifiedOptions4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves option modified after specified time.
virtual uint64_t deleteOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, const ClientClassesPtr client_classes=ClientClassesPtr())
Deletes global option.
virtual OptionDescriptorPtr getOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, const ClientClassesPtr client_classes=ClientClassesPtr()) const
Retrieves single option by code and space.
virtual db::AuditEntryCollection getRecentAuditEntries(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time, const uint64_t &modification_id) const
Retrieves the most recent audit entries.
virtual SharedNetwork4Collection getAllSharedNetworks4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all shared networks.
virtual uint64_t deleteAllGlobalParameters4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all global parameters.
virtual void createUpdateSubnet4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)
Creates or updates a subnet.
virtual uint64_t deleteAllClientClasses4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all client classes.
virtual Subnet4Collection getModifiedSubnets4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves subnets modified after specified time.
boost::shared_ptr< StampedValue > StampedValuePtr
Pointer to the stamped value.
boost::multi_index_container< StampedValuePtr, boost::multi_index::indexed_by< boost::multi_index::hashed_non_unique< boost::multi_index::tag< StampedValueNameIndexTag >, boost::multi_index::const_mem_fun< StampedValue, std::string, &StampedValue::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< StampedValueModificationTimeIndexTag >, boost::multi_index::const_mem_fun< BaseStampedElement, boost::posix_time::ptime, &BaseStampedElement::getModificationTime > > > > StampedValueCollection
Multi index container for StampedValue.
boost::shared_ptr< Server > ServerPtr
Shared pointer to the Server class.
Definition server.h:22
boost::multi_index_container< AuditEntryPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryObjectTypeTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, std::string, &AuditEntry::getObjectType >, boost::multi_index::const_mem_fun< AuditEntry, AuditEntry::ModificationType, &AuditEntry::getModificationType > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< AuditEntryModificationTimeIdTag >, boost::multi_index::composite_key< AuditEntry, boost::multi_index::const_mem_fun< AuditEntry, boost::posix_time::ptime, &AuditEntry::getModificationTime >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getRevisionId > > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< AuditEntryObjectIdTag >, boost::multi_index::const_mem_fun< AuditEntry, uint64_t, &AuditEntry::getObjectId > > > > AuditEntryCollection
Multi index container holding AuditEntry instances.
boost::multi_index_container< ServerPtr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< ServerTagIndexTag >, boost::multi_index::const_mem_fun< Server, std::string, &Server::getServerTagAsText > > > > ServerCollection
Multi index container for Server.
boost::shared_ptr< Subnet4 > Subnet4Ptr
A pointer to a Subnet4 object.
Definition subnet.h:461
boost::multi_index_container< OptionDescriptor, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::persistent_ > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::hashed_non_unique< boost::multi_index::member< OptionDescriptor, bool, &OptionDescriptor::cancelled_ > >, boost::multi_index::hashed_non_unique< boost::multi_index::composite_key< OptionDescriptor, KeyFromKeyExtractor< boost::multi_index::const_mem_fun< Option, uint16_t, &Option::getType >, boost::multi_index::member< OptionDescriptor, OptionPtr, &OptionDescriptor::option_ > >, boost::multi_index::member< OptionDescriptor, ClientClasses, &OptionDescriptor::client_classes_ > > > > > OptionContainer
Multi index container for DHCP option descriptors.
Definition cfg_option.h:347
boost::shared_ptr< ClientClasses > ClientClassesPtr
Smart pointer to ClientClasses object.
Definition classify.h:281
boost::shared_ptr< ClientClassDef > ClientClassDefPtr
a pointer to an ClientClassDef
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
boost::multi_index_container< Subnet4Ptr, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetSubnetIdIndexTag >, boost::multi_index::const_mem_fun< Subnet, SubnetID, &Subnet::getID > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SubnetPrefixIndexTag >, boost::multi_index::const_mem_fun< Subnet, std::string, &Subnet::toText > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SubnetModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > Subnet4Collection
A collection of Subnet4 objects.
Definition subnet.h:866
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
Definition cfg_option.h:38
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition subnet_id.h:25
boost::multi_index_container< SharedNetwork4Ptr, boost::multi_index::indexed_by< boost::multi_index::random_access< boost::multi_index::tag< SharedNetworkRandomAccessIndexTag > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< SharedNetworkIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > >, boost::multi_index::ordered_unique< boost::multi_index::tag< SharedNetworkNameIndexTag >, boost::multi_index::const_mem_fun< SharedNetwork4, std::string, &SharedNetwork4::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkServerIdIndexTag >, boost::multi_index::const_mem_fun< Network4, asiolink::IOAddress, &Network4::getServerId > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< SharedNetworkModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > SharedNetwork4Collection
Multi index container holding shared networks.
boost::shared_ptr< SharedNetwork4 > SharedNetwork4Ptr
Pointer to SharedNetwork4 object.
boost::multi_index_container< OptionDefinitionPtr, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, uint16_t, &OptionDefinition::getCode > >, boost::multi_index::hashed_non_unique< boost::multi_index::const_mem_fun< OptionDefinition, std::string, &OptionDefinition::getName > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::StampedElement::getModificationTime > >, boost::multi_index::hashed_non_unique< boost::multi_index::tag< OptionIdIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, uint64_t, &data::BaseStampedElement::getId > > > > OptionDefContainer
Multi index container for DHCP option definitions.
Defines the logger used by the top-level component of kea-lfc.