Kea 2.6.2
config_backend_pool_dhcp6.cc
Go to the documentation of this file.
1// Copyright (C) 2019-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 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) const {
142 OptionDescriptorPtr option;
144 (&ConfigBackendDHCPv6::getOption6, backend_selector, server_selector,
145 option, code, space);
146 return (option);
147}
148
151 const ServerSelector& server_selector) const {
152 OptionContainer options;
154 (&ConfigBackendDHCPv6::getAllOptions6, 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 (&ConfigBackendDHCPv6::getModifiedOptions6, 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 (&ConfigBackendDHCPv6::getClientClass6, 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 (&ConfigBackendDHCPv6::getAllClientClasses6, 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 (&ConfigBackendDHCPv6::getModifiedClientClasses6, 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 (&ConfigBackendDHCPv6::getAllServers6, backend_selector, servers);
254 return (servers);
255}
256
259 const ServerTag& server_tag) const {
262 (&ConfigBackendDHCPv6::getServer6, backend_selector, server,
263 server_tag);
264 return (server);
265}
266
267void
269 const ServerSelector& server_selector,
270 const Subnet6Ptr& subnet) {
273 server_selector, subnet);
274}
275
276void
278 const ServerSelector& server_selector,
279 const SharedNetwork6Ptr& 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 asiolink::IOAddress& pd_pool_prefix,
340 const uint8_t pd_pool_prefix_length,
341 const OptionDescriptorPtr& option) {
342 createUpdateDeleteProperty<void, const IOAddress&, uint8_t,
343 const OptionDescriptorPtr&>
345 server_selector, pd_pool_prefix, pd_pool_prefix_length, option);
346}
347
348void
350 const ServerSelector& server_selector,
351 const StampedValuePtr& value) {
354 server_selector, value);
355}
356
357void
359 const ServerSelector& server_selector,
360 const ClientClassDefPtr& client_class,
361 const std::string& follow_class_name) {
364 server_selector, client_class, follow_class_name);
365}
366
367void
374
375uint64_t
377 const ServerSelector& server_selector,
378 const std::string& subnet_prefix) {
380 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
381 subnet_prefix));
382}
383
384uint64_t
386 const ServerSelector& server_selector,
387 const SubnetID& subnet_id) {
389 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
390 subnet_id));
391}
392
393uint64_t
395 const ServerSelector& server_selector) {
397 (&ConfigBackendDHCPv6::deleteAllSubnets6, backend_selector, server_selector));
398}
399
400uint64_t
402 const db::ServerSelector& server_selector,
403 const std::string& shared_network_name) {
405 (&ConfigBackendDHCPv6::deleteSharedNetworkSubnets6, backend_selector, server_selector,
406 shared_network_name));
407}
408
409uint64_t
411 const ServerSelector& server_selector,
412 const std::string& name) {
415 server_selector, name));
416}
417
418uint64_t
420 const ServerSelector& server_selector) {
422 (&ConfigBackendDHCPv6::deleteAllSharedNetworks6, backend_selector, server_selector));
423}
424
425uint64_t
427 const ServerSelector& server_selector,
428 const uint16_t code,
429 const std::string& space) {
431 (&ConfigBackendDHCPv6::deleteOptionDef6, backend_selector,
432 server_selector, code, space));
433}
434
435uint64_t
437 const ServerSelector& server_selector) {
439 (&ConfigBackendDHCPv6::deleteAllOptionDefs6, backend_selector, server_selector));
440}
441
442uint64_t
444 const ServerSelector& server_selector,
445 const uint16_t code,
446 const std::string& space) {
448 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
449 code, space));
450}
451
452uint64_t
454 const ServerSelector& server_selector,
455 const std::string& shared_network_name,
456 const uint16_t code,
457 const std::string& space) {
458 return (createUpdateDeleteProperty<uint64_t, const std::string&, uint16_t,
459 const std::string&>
460 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
461 shared_network_name, code, space));
462}
463
464uint64_t
466 const ServerSelector& server_selector,
467 const SubnetID& subnet_id,
468 const uint16_t code,
469 const std::string& space) {
471 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
472 subnet_id, code, space));
473}
474
475uint64_t
477 const ServerSelector& server_selector,
478 const asiolink::IOAddress& pool_start_address,
479 const asiolink::IOAddress& pool_end_address,
480 const uint16_t code,
481 const std::string& space) {
482 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, const IOAddress&,
483 uint16_t, const std::string&>
484 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
485 pool_start_address, pool_end_address, code, space));
486}
487
488uint64_t
490 const ServerSelector& server_selector,
491 const asiolink::IOAddress& pd_pool_prefix,
492 const uint8_t pd_pool_prefix_length,
493 const uint16_t code,
494 const std::string& space) {
495 return (createUpdateDeleteProperty<uint64_t, const IOAddress&, uint8_t,
496 uint16_t, const std::string&>
497 (&ConfigBackendDHCPv6::deleteOption6, backend_selector, server_selector,
498 pd_pool_prefix, pd_pool_prefix_length, code, space));
499}
500
501uint64_t
503 const ServerSelector& server_selector,
504 const std::string& name) {
507 server_selector, name));
508}
509
510uint64_t
512 const ServerSelector& server_selector) {
515 server_selector));
516}
517
518uint64_t
520 const ServerSelector& server_selector,
521 const std::string& name) {
523 (&ConfigBackendDHCPv6::deleteClientClass6, backend_selector,
524 server_selector, name));
525}
526
527uint64_t
529 const ServerSelector& server_selector) {
531 (&ConfigBackendDHCPv6::deleteAllClientClasses6, backend_selector, server_selector));
532}
533
534uint64_t
536 const ServerTag& server_tag) {
538 (&ConfigBackendDHCPv6::deleteServer6, backend_selector,
539 server_tag));
540}
541
542uint64_t
547
548} // end of namespace isc::dhcp
549} // 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(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 OptionDescriptorPtr getOption6(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 deleteOption6(const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
Deletes global option.
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 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 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 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
Retrieves single option by code and space.
virtual uint64_t deleteOption6(const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)
Deletes global option.
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< 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:623
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:934
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:36
uint32_t SubnetID
Defines unique IPv4 or IPv6 subnet identifier.
Definition subnet_id.h:25
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::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.