Kea 2.5.9
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;
22 getPropertyPtrConst<Subnet6Ptr, const std::string&>
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;
33 getPropertyPtrConst<Subnet6Ptr, const SubnetID&>
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;
43 getAllPropertiesConst<Subnet6Collection>
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;
54 getMultiplePropertiesConst<Subnet6Collection, const boost::posix_time::ptime&>
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;
65 getMultiplePropertiesConst<Subnet6Collection, const std::string&>
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;
76 getPropertyPtrConst<SharedNetwork6Ptr, const std::string&>
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;
86 getAllPropertiesConst<SharedNetwork6Collection>
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;
98 getMultiplePropertiesConst<SharedNetwork6Collection, const boost::posix_time::ptime&>
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;
110 getPropertyPtrConst<OptionDefinitionPtr, uint16_t, const std::string&>
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;
120 getAllPropertiesConst<OptionDefContainer>
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;
131 getMultiplePropertiesConst<OptionDefContainer, const boost::posix_time::ptime&>
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;
143 getPropertyPtrConst<OptionDescriptorPtr, uint16_t, const std::string&>
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;
153 getAllPropertiesConst<OptionContainer>
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;
164 getMultiplePropertiesConst<OptionContainer, const boost::posix_time::ptime&>
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;
175 getPropertyPtrConst<StampedValuePtr, const std::string&>
177 server_selector, parameter, name);
178 return (parameter);
179}
180
183 const ServerSelector& server_selector) const {
184 StampedValueCollection parameters;
185 getAllPropertiesConst<StampedValueCollection>
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;
197 getMultiplePropertiesConst<StampedValueCollection, const boost::posix_time::ptime&>
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;
208 getPropertyPtrConst<ClientClassDefPtr, const std::string&>
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;
218 getAllPropertiesConst<ClientClassDictionary>
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;
230 getMultiplePropertiesConst<ClientClassDictionary, const boost::posix_time::ptime&>
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;
243 getMultiplePropertiesConst<AuditEntryCollection, const boost::posix_time::ptime&>
245 server_selector, audit_entries, modification_time, modification_id);
246 return (audit_entries);
247}
248
251 ServerCollection servers;
252 getAllBackendPropertiesConst<ServerCollection>
253 (&ConfigBackendDHCPv6::getAllServers6, backend_selector, servers);
254 return (servers);
255}
256
259 const ServerTag& server_tag) const {
260 ServerPtr server;
261 getBackendPropertyPtrConst<ServerPtr, const ServerTag&>
262 (&ConfigBackendDHCPv6::getServer6, backend_selector, server,
263 server_tag);
264 return (server);
265}
266
267void
269 const ServerSelector& server_selector,
270 const Subnet6Ptr& subnet) {
271 createUpdateDeleteProperty<void, const Subnet6Ptr&>
273 server_selector, subnet);
274}
275
276void
278 const ServerSelector& server_selector,
279 const SharedNetwork6Ptr& shared_network) {
280 createUpdateDeleteProperty<void, const SharedNetwork6Ptr&>
282 server_selector, shared_network);
283}
284
285void
287 const ServerSelector& server_selector,
288 const OptionDefinitionPtr& option_def) {
289 createUpdateDeleteProperty<void, const OptionDefinitionPtr&>
291 server_selector, option_def);
292}
293
294void
296 const ServerSelector& server_selector,
297 const OptionDescriptorPtr& option) {
298 createUpdateDeleteProperty<void, const OptionDescriptorPtr&>
300 server_selector, option);
301}
302
303void
305 const ServerSelector& server_selector,
306 const std::string& shared_network_name,
307 const OptionDescriptorPtr& option) {
308 createUpdateDeleteProperty<void, const std::string&, const OptionDescriptorPtr&>
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) {
319 createUpdateDeleteProperty<void, const SubnetID&, const OptionDescriptorPtr&>
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) {
352 createUpdateDeleteProperty<void, const StampedValuePtr&>
354 server_selector, value);
355}
356
357void
359 const ServerSelector& server_selector,
360 const ClientClassDefPtr& client_class,
361 const std::string& follow_class_name) {
362 createUpdateDeleteProperty<void, const ClientClassDefPtr&, const std::string&>
364 server_selector, client_class, follow_class_name);
365}
366
367void
369 const ServerPtr& server) {
370 createUpdateDeleteBackendProperty<void, const ServerPtr&>
372 server);
373}
374
375uint64_t
377 const ServerSelector& server_selector,
378 const std::string& subnet_prefix) {
379 return (createUpdateDeleteProperty<uint64_t, const std::string&>
380 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
381 subnet_prefix));
382}
383
384uint64_t
386 const ServerSelector& server_selector,
387 const SubnetID& subnet_id) {
388 return (createUpdateDeleteProperty<uint64_t, const SubnetID&>
389 (&ConfigBackendDHCPv6::deleteSubnet6, backend_selector, server_selector,
390 subnet_id));
391}
392
393uint64_t
395 const ServerSelector& server_selector) {
396 return (createUpdateDeleteProperty<uint64_t>
397 (&ConfigBackendDHCPv6::deleteAllSubnets6, backend_selector, server_selector));
398}
399
400uint64_t
402 const db::ServerSelector& server_selector,
403 const std::string& shared_network_name) {
404 return (createUpdateDeleteProperty<uint64_t, const std::string&>
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) {
413 return (createUpdateDeleteProperty<uint64_t, const std::string&>
415 server_selector, name));
416}
417
418uint64_t
420 const ServerSelector& server_selector) {
421 return (createUpdateDeleteProperty<uint64_t>
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) {
430 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
431 (&ConfigBackendDHCPv6::deleteOptionDef6, backend_selector,
432 server_selector, code, space));
433}
434
435uint64_t
437 const ServerSelector& server_selector) {
438 return (createUpdateDeleteProperty<uint64_t>
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) {
447 return (createUpdateDeleteProperty<uint64_t, uint16_t, const std::string&>
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) {
470 return (createUpdateDeleteProperty<uint64_t, const SubnetID&, uint16_t, const std::string&>
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) {
505 return (createUpdateDeleteProperty<uint64_t, const std::string&>
507 server_selector, name));
508}
509
510uint64_t
512 const ServerSelector& server_selector) {
513 return (createUpdateDeleteProperty<uint64_t>
515 server_selector));
516}
517
518uint64_t
520 const ServerSelector& server_selector,
521 const std::string& name) {
522 return (createUpdateDeleteProperty<uint64_t, const std::string&>
523 (&ConfigBackendDHCPv6::deleteClientClass6, backend_selector,
524 server_selector, name));
525}
526
527uint64_t
529 const ServerSelector& server_selector) {
530 return (createUpdateDeleteProperty<uint64_t>
531 (&ConfigBackendDHCPv6::deleteAllClientClasses6, backend_selector, server_selector));
532}
533
534uint64_t
536 const ServerTag& server_tag) {
537 return (createUpdateDeleteBackendProperty<uint64_t>
538 (&ConfigBackendDHCPv6::deleteServer6, backend_selector,
539 server_tag));
540}
541
542uint64_t
544 return (createUpdateDeleteBackendProperty<uint64_t>
545 (&ConfigBackendDHCPv6::deleteAllServers6, backend_selector));
546}
547
548} // end of namespace isc::dhcp
549} // end of namespace isc
ReturnValue createUpdateDeleteProperty(ReturnValue(ConfigBackendType::*MethodPointer)(const db::ServerSelector &, FnPtrArgs...), const db::BackendSelector &backend_selector, const db::ServerSelector &server_selector, Args... input)
Add, update or delete property from the backend.
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.
Definition: stamped_value.h:26
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.
Definition: audit_entry.h:291
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:663
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:974
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.