Kea 2.6.2
config_backend_pool_dhcp4.cc
Go to the documentation of this file.
1// Copyright (C) 2018-2021 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) const {
142 OptionDescriptorPtr option;
144 (&ConfigBackendDHCPv4::getOption4, backend_selector, server_selector,
145 option, code, space);
146 return (option);
147}
148
151 const ServerSelector& server_selector) const {
152 OptionContainer options;
154 (&ConfigBackendDHCPv4::getAllOptions4, backend_selector, server_selector,
155 options);
156 return (options);
157}
158
161 const ServerSelector& server_selector,
162 const boost::posix_time::ptime& modification_time) const {
163 OptionContainer options;
165 (&ConfigBackendDHCPv4::getModifiedOptions4, backend_selector, server_selector,
166 options, modification_time);
167 return (options);
168}
169
172 const ServerSelector& server_selector,
173 const std::string& name) const {
174 StampedValuePtr parameter;
177 server_selector, parameter, name);
178 return (parameter);
179}
180
183 const ServerSelector& server_selector) const {
184 StampedValueCollection parameters;
187 server_selector, parameters);
188 return (parameters);
189}
190
194 const db::ServerSelector& server_selector,
195 const boost::posix_time::ptime& modification_time) const {
196 StampedValueCollection parameters;
199 server_selector, parameters, modification_time);
200 return (parameters);
201}
202
205 const ServerSelector& server_selector,
206 const std::string& name) const {
207 ClientClassDefPtr client_class;
209 (&ConfigBackendDHCPv4::getClientClass4, backend_selector, server_selector,
210 client_class, name);
211 return (client_class);
212}
213
216 const ServerSelector& server_selector) const {
217 ClientClassDictionary client_classes;
219 (&ConfigBackendDHCPv4::getAllClientClasses4, backend_selector, server_selector,
220 client_classes);
221 return (client_classes);
222
223}
224
227 const ServerSelector& server_selector,
228 const boost::posix_time::ptime& modification_time) const {
229 ClientClassDictionary client_classes;
231 (&ConfigBackendDHCPv4::getModifiedClientClasses4, backend_selector, server_selector,
232 client_classes, modification_time);
233 return (client_classes);
234}
235
238getRecentAuditEntries(const db::BackendSelector& backend_selector,
239 const db::ServerSelector& server_selector,
240 const boost::posix_time::ptime& modification_time,
241 const uint64_t& modification_id) const {
242 AuditEntryCollection audit_entries;
245 server_selector, audit_entries, modification_time, modification_id);
246 return (audit_entries);
247}
248
251 ServerCollection servers;
253 (&ConfigBackendDHCPv4::getAllServers4, backend_selector, servers);
254 return (servers);
255}
256
259 const ServerTag& server_tag) const {
262 (&ConfigBackendDHCPv4::getServer4, backend_selector, server,
263 server_tag);
264 return (server);
265}
266
267void
269 const ServerSelector& server_selector,
270 const Subnet4Ptr& subnet) {
273 server_selector, subnet);
274}
275
276void
278 const ServerSelector& server_selector,
279 const SharedNetwork4Ptr& shared_network) {
282 server_selector, shared_network);
283}
284
285void
287 const ServerSelector& server_selector,
288 const OptionDefinitionPtr& option_def) {
291 server_selector, option_def);
292}
293
294void
296 const ServerSelector& server_selector,
297 const OptionDescriptorPtr& option) {
300 server_selector, option);
301}
302
303void
305 const ServerSelector& server_selector,
306 const std::string& shared_network_name,
307 const OptionDescriptorPtr& option) {
310 server_selector, shared_network_name, option);
311}
312
313
314void
316 const ServerSelector& server_selector,
317 const SubnetID& subnet_id,
318 const OptionDescriptorPtr& option) {
321 server_selector, subnet_id, option);
322}
323
324void
326 const ServerSelector& server_selector,
327 const IOAddress& pool_start_address,
328 const IOAddress& pool_end_address,
329 const OptionDescriptorPtr& option) {
331 const OptionDescriptorPtr&>
333 server_selector, pool_start_address, pool_end_address, option);
334}
335
336void
338 const ServerSelector& server_selector,
339 const StampedValuePtr& value) {
342 server_selector, value);
343}
344
345void
347 const ServerSelector& server_selector,
348 const ClientClassDefPtr& client_class,
349 const std::string& follow_class_name) {
352 server_selector, client_class, follow_class_name);
353}
354
355void
362
363uint64_t
365 const ServerSelector& server_selector,
366 const std::string& subnet_prefix) {
368 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
369 subnet_prefix));
370}
371
372uint64_t
374 const ServerSelector& server_selector,
375 const SubnetID& subnet_id) {
377 (&ConfigBackendDHCPv4::deleteSubnet4, backend_selector, server_selector,
378 subnet_id));
379}
380
381uint64_t
383 const ServerSelector& server_selector) {
385 (&ConfigBackendDHCPv4::deleteAllSubnets4, backend_selector, server_selector));
386}
387
388uint64_t
390 const db::ServerSelector& server_selector,
391 const std::string& shared_network_name) {
393 (&ConfigBackendDHCPv4::deleteSharedNetworkSubnets4, backend_selector, server_selector,
394 shared_network_name));
395}
396
397uint64_t
399 const ServerSelector& server_selector,
400 const std::string& name) {
403 server_selector, name));
404}
405
406uint64_t
408 const ServerSelector& server_selector) {
410 (&ConfigBackendDHCPv4::deleteAllSharedNetworks4, backend_selector, server_selector));
411}
412
413uint64_t
415 const ServerSelector& server_selector,
416 const uint16_t code,
417 const std::string& space) {
419 (&ConfigBackendDHCPv4::deleteOptionDef4, backend_selector,
420 server_selector, code, space));
421}
422
423uint64_t
425 const ServerSelector& server_selector) {
427 (&ConfigBackendDHCPv4::deleteAllOptionDefs4, backend_selector, server_selector));
428}
429
430uint64_t
432 const ServerSelector& server_selector,
433 const uint16_t code,
434 const std::string& space) {
436 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
437 code, space));
438}
439
440uint64_t
442 const ServerSelector& server_selector,
443 const std::string& shared_network_name,
444 const uint16_t code,
445 const std::string& space) {
446 return (createUpdateDeleteProperty<uint64_t, const std::string&, uint16_t,
447 const std::string&>
448 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
449 shared_network_name, code, space));
450}
451
452uint64_t
454 const ServerSelector& server_selector,
455 const SubnetID& subnet_id,
456 const uint16_t code,
457 const std::string& space) {
459 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
460 subnet_id, code, space));
461}
462
463uint64_t
465 const ServerSelector& server_selector,
466 const asiolink::IOAddress& pool_start_address,
467 const asiolink::IOAddress& pool_end_address,
468 const uint16_t code,
469 const std::string& space) {
470 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, const IOAddress&,
471 uint16_t, const std::string&>
472 (&ConfigBackendDHCPv4::deleteOption4, backend_selector, server_selector,
473 pool_start_address, pool_end_address, code, space));
474}
475
476uint64_t
478 const ServerSelector& server_selector,
479 const std::string& name) {
482 server_selector, name));
483}
484
485uint64_t
487 const ServerSelector& server_selector) {
490 server_selector));
491}
492
493uint64_t
495 const ServerSelector& server_selector,
496 const std::string& name) {
498 (&ConfigBackendDHCPv4::deleteClientClass4, backend_selector,
499 server_selector, name));
500}
501
502uint64_t
504 const ServerSelector& server_selector) {
506 (&ConfigBackendDHCPv4::deleteAllClientClasses4, backend_selector, server_selector));
507}
508
509uint64_t
511 const ServerTag& server_tag) {
513 (&ConfigBackendDHCPv4::deleteServer4, backend_selector,
514 server_tag));
515}
516
517uint64_t
522
523} // end of namespace isc::dhcp
524} // end of namespace isc
it forwards queries to a single upstream resolver and passes the answers back to the client It is constructed with the address of the forward server Queries are initiated with the question to ask the forward server
Definition asiodns.dox:60
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 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 OptionDescriptorPtr getOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
Retrieves single option by code and space.
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 deleteOption4(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes global option.
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 uint64_t deleteOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes global option.
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 OptionDescriptorPtr getOption4(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const
Retrieves single option by code and space.
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 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:458
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:863
boost::shared_ptr< OptionDescriptor > OptionDescriptorPtr
A pointer to option descriptor.
Definition cfg_option.h:36
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::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_ > > > > OptionContainer
Multi index container for DHCP option descriptors.
Definition cfg_option.h:300
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.