Kea 3.1.1
config_backend_pool_dhcp6.cc
Go to the documentation of this file.
1// Copyright (C) 2019-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 Subnet6Ptr subnet;
23 (&ConfigBackendDHCPv6::getSubnet6, 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 Subnet6Ptr subnet;
34 (&ConfigBackendDHCPv6::getSubnet6, backend_selector, server_selector,
35 subnet, subnet_id);
36 return (subnet);
37}
38
41 const ServerSelector& server_selector) const {
42 Subnet6Collection subnets;
44 (&ConfigBackendDHCPv6::getAllSubnets6, 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 Subnet6Collection subnets;
55 (&ConfigBackendDHCPv6::getModifiedSubnets6, 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 Subnet6Collection subnets;
66 (&ConfigBackendDHCPv6::getSharedNetworkSubnets6, 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 SharedNetwork6Ptr shared_network;
77 (&ConfigBackendDHCPv6::getSharedNetwork6, backend_selector, server_selector,
78 shared_network, name);
79 return (shared_network);
80}
81
84 const ServerSelector& server_selector) const {
85 SharedNetwork6Collection shared_networks;
87 (&ConfigBackendDHCPv6::getAllSharedNetworks6, backend_selector, server_selector,
88 shared_networks);
89 return (shared_networks);
90}
91
94getModifiedSharedNetworks6(const BackendSelector& backend_selector,
95 const ServerSelector& server_selector,
96 const boost::posix_time::ptime& modification_time) const {
97 SharedNetwork6Collection shared_networks;
99 (&ConfigBackendDHCPv6::getModifiedSharedNetworks6, 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 (&ConfigBackendDHCPv6::getOptionDef6, 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 (&ConfigBackendDHCPv6::getAllOptionDefs6, 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 (&ConfigBackendDHCPv6::getModifiedOptionDefs6, 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 (&ConfigBackendDHCPv6::getOption6, 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 (&ConfigBackendDHCPv6::getAllOptions6, 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 (&ConfigBackendDHCPv6::getModifiedOptions6, 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 (&ConfigBackendDHCPv6::getClientClass6, 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 (&ConfigBackendDHCPv6::getAllClientClasses6, 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 (&ConfigBackendDHCPv6::getModifiedClientClasses6, 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 (&ConfigBackendDHCPv6::getAllServers6, backend_selector, servers);
255 return (servers);
256}
257
260 const ServerTag& server_tag) const {
261 ServerPtr server;
263 (&ConfigBackendDHCPv6::getServer6, backend_selector, server,
264 server_tag);
265 return (server);
266}
267
268void
270 const ServerSelector& server_selector,
271 const Subnet6Ptr& subnet) {
274 server_selector, subnet);
275}
276
277void
279 const ServerSelector& server_selector,
280 const SharedNetwork6Ptr& 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 asiolink::IOAddress& pd_pool_prefix,
341 const uint8_t pd_pool_prefix_length,
342 const OptionDescriptorPtr& option) {
343 createUpdateDeleteProperty<void, const IOAddress&, uint8_t,
344 const OptionDescriptorPtr&>
346 server_selector, pd_pool_prefix, pd_pool_prefix_length, option);
347}
348
349void
351 const ServerSelector& server_selector,
352 const StampedValuePtr& value) {
355 server_selector, value);
356}
357
358void
360 const ServerSelector& server_selector,
361 const ClientClassDefPtr& client_class,
362 const std::string& follow_class_name) {
365 server_selector, client_class, follow_class_name);
366}
367
368void
375
376uint64_t
378 const ServerSelector& server_selector,
379 const std::string& subnet_prefix) {
381 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
382 subnet_prefix));
383}
384
385uint64_t
387 const ServerSelector& server_selector,
388 const SubnetID& subnet_id) {
390 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
391 subnet_id));
392}
393
394uint64_t
396 const ServerSelector& server_selector) {
398 (&ConfigBackendDHCPv6::deleteAllSubnets6, backend_selector, server_selector));
399}
400
401uint64_t
403 const db::ServerSelector& server_selector,
404 const std::string& shared_network_name) {
406 (&ConfigBackendDHCPv6::deleteSharedNetworkSubnets6, backend_selector, server_selector,
407 shared_network_name));
408}
409
410uint64_t
412 const ServerSelector& server_selector,
413 const std::string& name) {
416 server_selector, name));
417}
418
419uint64_t
421 const ServerSelector& server_selector) {
423 (&ConfigBackendDHCPv6::deleteAllSharedNetworks6, backend_selector, server_selector));
424}
425
426uint64_t
428 const ServerSelector& server_selector,
429 const uint16_t code,
430 const std::string& space) {
432 (&ConfigBackendDHCPv6::deleteOptionDef6, backend_selector,
433 server_selector, code, space));
434}
435
436uint64_t
438 const ServerSelector& server_selector) {
440 (&ConfigBackendDHCPv6::deleteAllOptionDefs6, backend_selector, server_selector));
441}
442
443uint64_t
445 const ServerSelector& server_selector,
446 const uint16_t code,
447 const std::string& space,
448 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
449 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&,
450 const ClientClassesPtr>
451 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
452 code, space, client_classes));
453}
454
455uint64_t
457 const ServerSelector& server_selector,
458 const std::string& shared_network_name,
459 const uint16_t code,
460 const std::string& space,
461 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
462 return (createUpdateDeleteProperty<uint64_t, const std::string&, uint16_t,
463 const std::string&,
464 const ClientClassesPtr>
465 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
466 shared_network_name, code, space, client_classes));
467}
468
469uint64_t
471 const ServerSelector& server_selector,
472 const SubnetID& subnet_id,
473 const uint16_t code,
474 const std::string& space,
475 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
476 return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t,
477 const std::string&,
478 const ClientClassesPtr>
479 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
480 subnet_id, code, space, client_classes));
481}
482
483uint64_t
485 const ServerSelector& server_selector,
486 const asiolink::IOAddress& pool_start_address,
487 const asiolink::IOAddress& pool_end_address,
488 const uint16_t code,
489 const std::string& space,
490 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
491 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, const IOAddress&,
492 uint16_t, const std::string&,
493 const ClientClassesPtr>
494 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
495 pool_start_address, pool_end_address, code, space, client_classes));
496}
497
498uint64_t
500 const ServerSelector& server_selector,
501 const asiolink::IOAddress& pd_pool_prefix,
502 const uint8_t pd_pool_prefix_length,
503 const uint16_t code,
504 const std::string& space,
505 const ClientClassesPtr client_classes /* = ClientClassesPtr() */) {
506 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, uint8_t,
507 uint16_t, const std::string&,
508 const ClientClassesPtr>
509 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
510 pd_pool_prefix, pd_pool_prefix_length, code, space, client_classes));
511}
512
513uint64_t
515 const ServerSelector& server_selector,
516 const std::string& name) {
519 server_selector, name));
520}
521
522uint64_t
524 const ServerSelector& server_selector) {
527 server_selector));
528}
529
530uint64_t
532 const ServerSelector& server_selector,
533 const std::string& name) {
535 (&ConfigBackendDHCPv6::deleteClientClass6, backend_selector,
536 server_selector, name));
537}
538
539uint64_t
541 const ServerSelector& server_selector) {
543 (&ConfigBackendDHCPv6::deleteAllClientClasses6, backend_selector, server_selector));
544}
545
546uint64_t
548 const ServerTag& server_tag) {
550 (&ConfigBackendDHCPv6::deleteServer6, backend_selector,
551 server_tag));
552}
553
554uint64_t
559
560} // end of namespace isc::dhcp
561} // end of namespace isc
void getPropertyPtrConst(PropertyType(ConfigBackendDHCPv6::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyType &property, Args... input) const
void getBackendPropertyPtrConst(PropertyType(ConfigBackendDHCPv6::*MethodPointer)(FnPtrArgs...) const, const db::BackendSelector &backend_selector, PropertyType &property, Args... input) const
ReturnValue createUpdateDeleteProperty(ReturnValue(ConfigBackendDHCPv6::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...), const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, Args... input)
void getMultiplePropertiesConst(PropertyCollectionType(ConfigBackendDHCPv6::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyCollectionType &properties, Args... input) const
ReturnValue createUpdateDeleteBackendProperty(ReturnValue(ConfigBackendDHCPv6::*MethodPointer)(FnPtrArgs...), const db::BackendSelector &backend_selector, Args... input)
void getAllPropertiesConst(PropertyCollectionType(ConfigBackendDHCPv6::*MethodPointer)(const db::ServerSelector &) const, const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, PropertyCollectionType &properties) const
void getAllBackendPropertiesConst(PropertyCollectionType(ConfigBackendDHCPv6::*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 OptionDefinitionPtr getOptionDef6(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
Retrieves single option definition by code and space.
virtual data::StampedValueCollection getModifiedGlobalParameters6(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves global parameters modified after specified time.
virtual OptionDefContainer getAllOptionDefs6(const db::ServerSelector &server_selector) const =0
Retrieves all option definitions.
virtual uint64_t deleteAllSubnets6(const db::ServerSelector &server_selector)=0
Deletes all subnets.
virtual uint64_t deleteSubnet6(const db::ServerSelector &server_selector, const std::string &subnet_prefix)=0
Deletes subnet by prefix.
virtual data::StampedValueCollection getAllGlobalParameters6(const db::ServerSelector &selector) const =0
Retrieves all global parameters.
virtual ClientClassDefPtr getClientClass6(const db::ServerSelector &selector, const std::string &name) const =0
Retrieves a client class by name.
virtual uint64_t deleteClientClass6(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes a client class.
virtual uint64_t deleteServer6(const data::ServerTag &server_tag)=0
Deletes a server from the backend.
virtual ClientClassDictionary getModifiedClientClasses6(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves client classes modified after specified time.
virtual SharedNetwork6Ptr getSharedNetwork6(const db::ServerSelector &server_selector, const std::string &name) const =0
Retrieves shared network by name.
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 SharedNetwork6Collection getAllSharedNetworks6(const db::ServerSelector &server_selector) const =0
Retrieves all shared networks.
virtual db::ServerPtr getServer6(const data::ServerTag &server_tag) const =0
Retrieves a server.
virtual ClientClassDictionary getAllClientClasses6(const db::ServerSelector &selector) const =0
Retrieves all client classes.
virtual void createUpdateClientClass6(const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)=0
Creates or updates a client class.
virtual uint64_t deleteSharedNetworkSubnets6(const db::ServerSelector &server_selector, const std::string &shared_network_name)=0
Deletes all subnets belonging to a specified shared network.
virtual uint64_t deleteOptionDef6(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes option definition.
virtual uint64_t deleteGlobalParameter6(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes global parameter.
virtual void createUpdateServer6(const db::ServerPtr &server)=0
Creates or updates a server.
virtual Subnet6Ptr getSubnet6(const db::ServerSelector &server_selector, const std::string &subnet_prefix) const =0
Retrieves a single subnet by subnet_prefix.
virtual uint64_t deleteSharedNetwork6(const db::ServerSelector &server_selector, const std::string &name)=0
Deletes shared network by name.
virtual uint64_t deleteAllClientClasses6(const db::ServerSelector &server_selector)=0
Deletes all client classes.
virtual uint64_t deleteAllSharedNetworks6(const db::ServerSelector &server_selector)=0
Deletes all shared networks.
virtual db::ServerCollection getAllServers6() const =0
Retrieves all servers.
virtual OptionContainer getModifiedOptions6(const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves options modified after specified time.
virtual OptionDescriptorPtr getOption6(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 data::StampedValuePtr getGlobalParameter6(const db::ServerSelector &selector, const std::string &name) const =0
Retrieves global parameter value.
virtual void createUpdateSubnet6(const db::ServerSelector &server_selector, const Subnet6Ptr &subnet)=0
Creates or updates a subnet.
virtual void createUpdateGlobalParameter6(const db::ServerSelector &server_selector, const data::StampedValuePtr &value)=0
Creates or updates global parameter.
virtual OptionContainer getAllOptions6(const db::ServerSelector &server_selector) const =0
Retrieves all global options.
virtual void createUpdateOption6(const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)=0
Creates or updates global option.
virtual Subnet6Collection getSharedNetworkSubnets6(const db::ServerSelector &server_selector, const std::string &shared_network_name) const =0
Retrieves all subnets belonging to a specified shared network.
virtual uint64_t deleteOption6(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space, ClientClassesPtr client_classes=ClientClassesPtr())=0
Deletes global option.
virtual OptionDefContainer getModifiedOptionDefs6(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves option definitions modified after specified time.
virtual Subnet6Collection getModifiedSubnets6(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves subnets modified after specified time.
virtual uint64_t deleteAllOptionDefs6(const db::ServerSelector &server_selector)=0
Deletes all option definitions.
virtual void createUpdateSharedNetwork6(const db::ServerSelector &server_selector, const SharedNetwork6Ptr &shared_network)=0
Creates or updates a shared network.
virtual Subnet6Collection getAllSubnets6(const db::ServerSelector &server_selector) const =0
Retrieves all subnets.
virtual uint64_t deleteAllGlobalParameters6(const db::ServerSelector &server_selector)=0
Deletes all global parameters.
virtual SharedNetwork6Collection getModifiedSharedNetworks6(const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
Retrieves shared networks modified after specified time.
virtual uint64_t deleteAllServers6()=0
Deletes all servers from the backend except the logical server 'all'.
virtual void createUpdateOptionDef6(const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)=0
Creates or updates an option definition.
virtual OptionContainer getModifiedOptions6(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 SharedNetwork6Collection getAllSharedNetworks6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all shared networks.
virtual uint64_t deleteSharedNetworkSubnets6(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 OptionDefinitionPtr getOptionDef6(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 uint64_t deleteGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes global parameter.
virtual ClientClassDefPtr getClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves a client class by name.
virtual void createUpdateSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const Subnet6Ptr &subnet)
Creates or updates a subnet.
virtual void createUpdateSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const SharedNetwork6Ptr &shared_network)
Creates or updates a shared network.
virtual uint64_t deleteAllGlobalParameters6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all global parameters.
virtual db::ServerCollection getAllServers6(const db::BackendSelector &backend_selector) const
Retrieves all servers from the particular backend.
virtual void createUpdateOption6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)
Creates or updates global option.
virtual uint64_t deleteAllClientClasses6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all client classes.
virtual Subnet6Collection getModifiedSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const
Retrieves subnets modified after specified time.
virtual uint64_t deleteSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix)
Deletes subnet by prefix.
virtual Subnet6Collection getAllSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all subnets.
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 SharedNetwork6Collection getModifiedSharedNetworks6(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 uint64_t deleteServer6(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag)
Deletes a server from the backend.
virtual Subnet6Collection getSharedNetworkSubnets6(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 OptionDefContainer getAllOptionDefs6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all option definitions.
virtual uint64_t deleteAllOptionDefs6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all option definitions.
virtual db::ServerPtr getServer6(const db::BackendSelector &backend_selector, const data::ServerTag &server_tag) const
Retrieves a server from the particular backend.
virtual uint64_t deleteOptionDef6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes option definition.
virtual ClientClassDictionary getModifiedClientClasses6(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::StampedValueCollection getAllGlobalParameters6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global parameters.
virtual uint64_t deleteOption6(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 ClientClassDictionary getAllClientClasses6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all client classes.
virtual void createUpdateGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const data::StampedValuePtr &value)
Creates or updates global string parameter.
virtual void createUpdateOptionDef6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)
Creates or updates an option definition.
virtual uint64_t deleteAllServers6(const db::BackendSelector &backend_selector)
Deletes all servers from the backend except the logical server 'all'.
virtual void createUpdateClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)
Creates or updates DHCPv6 client class.
virtual data::StampedValuePtr getGlobalParameter6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves global parameter value.
virtual OptionDefContainer getModifiedOptionDefs6(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 Subnet6Ptr getSubnet6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &subnet_prefix) const
Retrieves a single subnet by subnet_prefix.
virtual data::StampedValueCollection getModifiedGlobalParameters6(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 deleteAllSharedNetworks6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all shared networks.
virtual uint64_t deleteSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes shared network by name.
virtual OptionContainer getAllOptions6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector) const
Retrieves all global options.
virtual uint64_t deleteAllSubnets6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector)
Deletes all subnets.
virtual OptionDescriptorPtr getOption6(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 SharedNetwork6Ptr getSharedNetwork6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name) const
Retrieves shared network by name.
virtual void createUpdateServer6(const db::BackendSelector &backend_selector, const db::ServerPtr &server)
Creates or updates a server.
virtual uint64_t deleteClientClass6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const std::string &name)
Deletes DHCPv6 client class.
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::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::multi_index_container< SharedNetwork6Ptr, 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< SharedNetwork6, std::string, &SharedNetwork6::getName > >, 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 > > > > SharedNetwork6Collection
Multi index container holding shared networks.
boost::shared_ptr< Subnet6 > Subnet6Ptr
A pointer to a Subnet6 object.
Definition subnet.h:626
boost::multi_index_container< Subnet6Ptr, 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< SubnetModificationTimeIndexTag >, boost::multi_index::const_mem_fun< data::BaseStampedElement, boost::posix_time::ptime, &data::BaseStampedElement::getModificationTime > > > > Subnet6Collection
A collection of Subnet6 objects.
Definition subnet.h:937
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::shared_ptr< SharedNetwork6 > SharedNetwork6Ptr
Pointer to SharedNetwork6 object.
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< 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.