Kea 2.7.5
isc::dhcp::ConfigBackendDHCPv4 Class Referenceabstract

Interface implemented by DHCPv4 configuration backends. More...

#include <config_backend_dhcp4.h>

+ Inheritance diagram for isc::dhcp::ConfigBackendDHCPv4:

Public Member Functions

virtual ~ConfigBackendDHCPv4 ()
 Virtual destructor.
 
virtual void createUpdateClientClass4 (const db::ServerSelector &server_selector, const ClientClassDefPtr &client_class, const std::string &follow_class_name)=0
 Creates or updates DHCPv4 client class.
 
virtual void createUpdateGlobalParameter4 (const db::ServerSelector &server_selector, const data::StampedValuePtr &value)=0
 Creates or updates global parameter.
 
virtual void createUpdateOption4 (const db::ServerSelector &selector, const std::string &shared_network_name, const OptionDescriptorPtr &option)=0
 Creates or updates shared network level option.
 
virtual void createUpdateOption4 (const db::ServerSelector &server_selector, const asiolink::IOAddress &pool_start_address, const asiolink::IOAddress &pool_end_address, const OptionDescriptorPtr &option)=0
 Creates or updates pool level option.
 
virtual void createUpdateOption4 (const db::ServerSelector &server_selector, const OptionDescriptorPtr &option)=0
 Creates or updates global option.
 
virtual void createUpdateOption4 (const db::ServerSelector &server_selector, const SubnetID &subnet_id, const OptionDescriptorPtr &option)=0
 Creates or updates subnet level option.
 
virtual void createUpdateOptionDef4 (const db::ServerSelector &server_selector, const OptionDefinitionPtr &option_def)=0
 Creates or updates an option definition.
 
virtual void createUpdateServer4 (const db::ServerPtr &server)=0
 Creates or updates a server.
 
virtual void createUpdateSharedNetwork4 (const db::ServerSelector &server_selector, const SharedNetwork4Ptr &shared_network)=0
 Creates or updates a shared network.
 
virtual void createUpdateSubnet4 (const db::ServerSelector &server_selector, const Subnet4Ptr &subnet)=0
 Creates or updates a subnet.
 
virtual uint64_t deleteAllClientClasses4 (const db::ServerSelector &server_selector)=0
 Deletes all client classes.
 
virtual uint64_t deleteAllGlobalParameters4 (const db::ServerSelector &server_selector)=0
 Deletes all global parameters.
 
virtual uint64_t deleteAllOptionDefs4 (const db::ServerSelector &server_selector)=0
 Deletes all option definitions.
 
virtual uint64_t deleteAllServers4 ()=0
 Deletes all servers from the backend except the logical server 'all'.
 
virtual uint64_t deleteAllSharedNetworks4 (const db::ServerSelector &server_selector)=0
 Deletes all shared networks.
 
virtual uint64_t deleteAllSubnets4 (const db::ServerSelector &server_selector)=0
 Deletes all subnets.
 
virtual uint64_t deleteClientClass4 (const db::ServerSelector &server_selector, const std::string &name)=0
 Deletes DHCPv4 client class.
 
virtual uint64_t deleteGlobalParameter4 (const db::ServerSelector &server_selector, const std::string &name)=0
 Deletes global parameter.
 
virtual uint64_t deleteOption4 (const db::ServerSelector &selector, const std::string &shared_network_name, const uint16_t code, const std::string &space)=0
 Deletes shared network level option.
 
virtual uint64_t deleteOption4 (const db::ServerSelector &server_selector, const asiolink::IOAddress &pool_start_address, const asiolink::IOAddress &pool_end_address, const uint16_t code, const std::string &space)=0
 Deletes pool level option.
 
virtual uint64_t deleteOption4 (const db::ServerSelector &server_selector, const SubnetID &subnet_id, const uint16_t code, const std::string &space)=0
 Deletes subnet level option.
 
virtual uint64_t deleteOption4 (const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
 Deletes global option.
 
virtual uint64_t deleteOptionDef4 (const db::ServerSelector &server_selector, const uint16_t code, const std::string &space)=0
 Deletes option definition.
 
virtual uint64_t deleteServer4 (const data::ServerTag &server_tag)=0
 Deletes a server from the backend.
 
virtual uint64_t deleteSharedNetwork4 (const db::ServerSelector &server_selector, const std::string &name)=0
 Deletes shared network by name.
 
virtual uint64_t deleteSharedNetworkSubnets4 (const db::ServerSelector &server_selector, const std::string &shared_network_name)=0
 Deletes all subnets belonging to a specified shared network.
 
virtual uint64_t deleteSubnet4 (const db::ServerSelector &server_selector, const std::string &subnet_prefix)=0
 Deletes subnet by prefix.
 
virtual uint64_t deleteSubnet4 (const db::ServerSelector &server_selector, const SubnetID &subnet_id)=0
 Deletes subnet by identifier.
 
virtual ClientClassDictionary getAllClientClasses4 (const db::ServerSelector &selector) const =0
 Retrieves all client classes.
 
virtual data::StampedValueCollection getAllGlobalParameters4 (const db::ServerSelector &selector) const =0
 Retrieves all global parameters.
 
virtual OptionDefContainer getAllOptionDefs4 (const db::ServerSelector &server_selector) const =0
 Retrieves all option definitions.
 
virtual OptionContainer getAllOptions4 (const db::ServerSelector &server_selector) const =0
 Retrieves all global options.
 
virtual db::ServerCollection getAllServers4 () const =0
 Retrieves all servers.
 
virtual SharedNetwork4Collection getAllSharedNetworks4 (const db::ServerSelector &server_selector) const =0
 Retrieves all shared networks.
 
virtual Subnet4Collection getAllSubnets4 (const db::ServerSelector &server_selector) const =0
 Retrieves all subnets.
 
virtual ClientClassDefPtr getClientClass4 (const db::ServerSelector &selector, const std::string &name) const =0
 Retrieves a client class by name.
 
virtual data::StampedValuePtr getGlobalParameter4 (const db::ServerSelector &selector, const std::string &name) const =0
 Retrieves global parameter value.
 
virtual ClientClassDictionary getModifiedClientClasses4 (const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves client classes modified after specified time.
 
virtual data::StampedValueCollection getModifiedGlobalParameters4 (const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves global parameters modified after specified time.
 
virtual OptionDefContainer getModifiedOptionDefs4 (const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves option definitions modified after specified time.
 
virtual OptionContainer getModifiedOptions4 (const db::ServerSelector &selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves options modified after specified time.
 
virtual SharedNetwork4Collection getModifiedSharedNetworks4 (const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves shared networks modified after specified time.
 
virtual Subnet4Collection getModifiedSubnets4 (const db::ServerSelector &server_selector, const boost::posix_time::ptime &modification_time) const =0
 Retrieves subnets modified after specified time.
 
virtual OptionDescriptorPtr getOption4 (const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
 Retrieves single option by code and space.
 
virtual OptionDefinitionPtr getOptionDef4 (const db::ServerSelector &server_selector, const uint16_t code, const std::string &space) const =0
 Retrieves single option definition by code and space.
 
virtual 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 db::ServerPtr getServer4 (const data::ServerTag &server_tag) const =0
 Retrieves a server.
 
virtual SharedNetwork4Ptr getSharedNetwork4 (const db::ServerSelector &server_selector, const std::string &name) const =0
 Retrieves shared network by name.
 
virtual Subnet4Collection getSharedNetworkSubnets4 (const db::ServerSelector &server_selector, const std::string &shared_network_name) const =0
 Retrieves all subnets belonging to a specified shared network.
 
virtual Subnet4Ptr getSubnet4 (const db::ServerSelector &server_selector, const std::string &subnet_prefix) const =0
 Retrieves a single subnet by subnet_prefix.
 
virtual Subnet4Ptr getSubnet4 (const db::ServerSelector &server_selector, const SubnetID &subnet_id) const =0
 Retrieves a single subnet by subnet identifier.
 
- Public Member Functions inherited from isc::cb::BaseConfigBackend
virtual ~BaseConfigBackend ()
 Virtual destructor.
 
virtual std::string getHost () const =0
 Returns backend host.
 
virtual isc::db::DatabaseConnection::ParameterMap getParameters () const
 Return backend parameters.
 
virtual uint16_t getPort () const =0
 Returns backend port number.
 
virtual std::string getType () const =0
 Returns backend type in the textual format.
 
virtual bool isUnusable ()
 Flag which indicates if the config backend has an unusable connection.
 

Detailed Description

Interface implemented by DHCPv4 configuration backends.

All POSIX times specified in the methods belonging to this class must be local times.

Below, we describe the general rules of using the server selectors when creating, updating, fetching and deleting the configuration elements from the backends. The detailed information can be found in the descriptions of the individual methods. The backend implementations must not be in conflict with the rules described here but may sometimes lack some functionality and not support some of the server selectors for some API calls. In such cases the backend's documentation should be clear about these cases and document the exceptions thrown when unsupported selector is used for a given method.

The ServerSelector class defines 5 types of selectors:

  • ANY: server tag/id is not a part of the database query, i.e. the object in the database is identified by some unique property, e.g. subnet identifier, shared network name etc.
  • UNASSIGNED: query pertains to the objects in the database which are associated with no particular server (including the logical server "all"). Objects associated with any server are never selected.
  • ALL: query pertains only to the objects in the database which are associated with the logical server "all". Those objects are shared between all servers using the database. This server selector never returns objects explicitly associated with the particular servers defined by the user.
  • ONE: query pertains to the objects used by one particular server. The server uses both the objects explicitly associated with it and and the objects associated with the logical server "all". Therefore the result returned for this server selector combines configuration elements associated with this server and with "all" servers. In case if there are two instances of the configuration information, one associated with "all" servers and one associated with the server, the information associated with the server takes precedence. When using this selector to delete objects from the database, the deletion pertains only to the objects associated with the given server tag. It doesn't delete the objects associated with "all" servers.
  • MULTIPLE: query pertains to the objects used by multiple servers listed in the selector. It allows for querying for a list of objects associated with multiple servers and/or logical server "all".

There are limitations imposed on the API calls what server selectors are allowed for them. Configuration Backend implementations must not be in conflict with those limitations. In particular, the implementation must not permit for server selectors which are not allowed here. However, the backend implementation may be more restrictive and not allow some of the server selectors for some API calls. This should, however, be properly documented.

Definition at line 86 of file config_backend_dhcp4.h.

Constructor & Destructor Documentation

◆ ~ConfigBackendDHCPv4()

virtual isc::dhcp::ConfigBackendDHCPv4::~ConfigBackendDHCPv4 ( )
inlinevirtual

Virtual destructor.

Definition at line 90 of file config_backend_dhcp4.h.

Member Function Documentation

◆ createUpdateClientClass4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateClientClass4 ( const db::ServerSelector & server_selector,
const ClientClassDefPtr & client_class,
const std::string & follow_class_name )
pure virtual

Creates or updates DHCPv4 client class.

Parameters
server_selectorServer selector.
client_classClient class to be added or updated.
follow_class_namename of the class after which the new or updated class should be positioned. An empty value causes the class to be appended at the end of the class hierarchy.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateClientClass4().

◆ createUpdateGlobalParameter4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateGlobalParameter4 ( const db::ServerSelector & server_selector,
const data::StampedValuePtr & value )
pure virtual

Creates or updates global parameter.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
valueValue of the global parameter.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateGlobalParameter4().

◆ createUpdateOption4() [1/4]

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateOption4 ( const db::ServerSelector & selector,
const std::string & shared_network_name,
const OptionDescriptorPtr & option )
pure virtual

Creates or updates shared network level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
selectorServer selector.
shared_network_nameName of a shared network to which option belongs.
optionOption to be added or updated.

◆ createUpdateOption4() [2/4]

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateOption4 ( const db::ServerSelector & server_selector,
const asiolink::IOAddress & pool_start_address,
const asiolink::IOAddress & pool_end_address,
const OptionDescriptorPtr & option )
pure virtual

Creates or updates pool level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
pool_start_addressLower bound address of the pool to which the option belongs.
pool_end_addressUpper bound address of the pool to which the option belongs.
optionOption to be added or updated.

◆ createUpdateOption4() [3/4]

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateOption4 ( const db::ServerSelector & server_selector,
const OptionDescriptorPtr & option )
pure virtual

Creates or updates global option.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
optionOption to be added or updated.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateOption4(), isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateOption4(), isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateOption4(), and isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateOption4().

◆ createUpdateOption4() [4/4]

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateOption4 ( const db::ServerSelector & server_selector,
const SubnetID & subnet_id,
const OptionDescriptorPtr & option )
pure virtual

Creates or updates subnet level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
subnet_idIdentifier of a subnet to which option belongs.
optionOption to be added or updated.

◆ createUpdateOptionDef4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateOptionDef4 ( const db::ServerSelector & server_selector,
const OptionDefinitionPtr & option_def )
pure virtual

Creates or updates an option definition.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
option_defOption definition to be added or updated.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateOptionDef4().

◆ createUpdateServer4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateServer4 ( const db::ServerPtr & server)
pure virtual

Creates or updates a server.

Parameters
serverInstance of the server to be stored.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateServer4().

◆ createUpdateSharedNetwork4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateSharedNetwork4 ( const db::ServerSelector & server_selector,
const SharedNetwork4Ptr & shared_network )
pure virtual

Creates or updates a shared network.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
shared_networkShared network to be added or updated.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateSharedNetwork4().

◆ createUpdateSubnet4()

virtual void isc::dhcp::ConfigBackendDHCPv4::createUpdateSubnet4 ( const db::ServerSelector & server_selector,
const Subnet4Ptr & subnet )
pure virtual

Creates or updates a subnet.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
subnetSubnet to be added or updated.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::createUpdateSubnet4().

◆ deleteAllClientClasses4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllClientClasses4 ( const db::ServerSelector & server_selector)
pure virtual

Deletes all client classes.

Parameters
server_selectorServer selector.
Returns
Number of deleted client classes.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllClientClasses4().

◆ deleteAllGlobalParameters4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllGlobalParameters4 ( const db::ServerSelector & server_selector)
pure virtual

Deletes all global parameters.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
Returns
Number of deleted global parameters.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllGlobalParameters4().

◆ deleteAllOptionDefs4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllOptionDefs4 ( const db::ServerSelector & server_selector)
pure virtual

Deletes all option definitions.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
Returns
Number of deleted option definitions.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllOptionDefs4().

◆ deleteAllServers4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllServers4 ( )
pure virtual

Deletes all servers from the backend except the logical server 'all'.

Returns
Number of deleted servers.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllServers4().

◆ deleteAllSharedNetworks4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllSharedNetworks4 ( const db::ServerSelector & server_selector)
pure virtual

Deletes all shared networks.

Allowed server selectors: UNASSIGNED, ALL, ONE. Not allowed server selectors: ANY, MULTIPLE.

Parameters
server_selectorServer selector.
Returns
Number of deleted shared networks.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllSharedNetworks4().

◆ deleteAllSubnets4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteAllSubnets4 ( const db::ServerSelector & server_selector)
pure virtual

Deletes all subnets.

Allowed server selectors: UNASSIGNED, ALL, ONE. Not allowed server selectors: ANY, MULTIPLE.

Parameters
server_selectorServer selector.
Returns
Number of deleted subnets.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteAllSubnets4().

◆ deleteClientClass4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteClientClass4 ( const db::ServerSelector & server_selector,
const std::string & name )
pure virtual

Deletes DHCPv4 client class.

Parameters
server_selectorServer selector.
nameName of the class to be deleted.
Returns
Number of deleted client classes.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteClientClass4().

◆ deleteGlobalParameter4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteGlobalParameter4 ( const db::ServerSelector & server_selector,
const std::string & name )
pure virtual

Deletes global parameter.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
nameName of the global parameter to be deleted.
Returns
Number of deleted global parameters.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteGlobalParameter4().

◆ deleteOption4() [1/4]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteOption4 ( const db::ServerSelector & selector,
const std::string & shared_network_name,
const uint16_t code,
const std::string & space )
pure virtual

Deletes shared network level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
selectorServer selector.
shared_network_nameName of the shared network which option belongs to.
codeCode of the option to be deleted.
spaceOption space of the option to be deleted.

◆ deleteOption4() [2/4]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteOption4 ( const db::ServerSelector & server_selector,
const asiolink::IOAddress & pool_start_address,
const asiolink::IOAddress & pool_end_address,
const uint16_t code,
const std::string & space )
pure virtual

Deletes pool level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
pool_start_addressLower bound address of the pool to which deleted option belongs.
pool_end_addressUpper bound address of the pool to which the deleted option belongs.
codeCode of the deleted option.
spaceOption space of the deleted option.
Returns
Number of deleted options.

◆ deleteOption4() [3/4]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteOption4 ( const db::ServerSelector & server_selector,
const SubnetID & subnet_id,
const uint16_t code,
const std::string & space )
pure virtual

Deletes subnet level option.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
subnet_idIdentifier of the subnet to which deleted option belongs.
codeCode of the deleted option.
spaceOption space of the deleted option.
Returns
Number of deleted options.

◆ deleteOption4() [4/4]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteOption4 ( const db::ServerSelector & server_selector,
const uint16_t code,
const std::string & space )
pure virtual

Deletes global option.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
codeCode of the option to be deleted.
spaceOption space of the option to be deleted.
Returns
Number of deleted options.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteOption4(), isc::dhcp::ConfigBackendPoolDHCPv4::deleteOption4(), isc::dhcp::ConfigBackendPoolDHCPv4::deleteOption4(), and isc::dhcp::ConfigBackendPoolDHCPv4::deleteOption4().

◆ deleteOptionDef4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteOptionDef4 ( const db::ServerSelector & server_selector,
const uint16_t code,
const std::string & space )
pure virtual

Deletes option definition.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
codeCode of the option to be deleted.
spaceOption space of the option to be deleted.
Returns
Number of deleted option definitions.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteOptionDef4().

◆ deleteServer4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteServer4 ( const data::ServerTag & server_tag)
pure virtual

Deletes a server from the backend.

Parameters
server_tagTag of the server to be deleted.
Returns
Number of deleted servers.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteServer4().

◆ deleteSharedNetwork4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteSharedNetwork4 ( const db::ServerSelector & server_selector,
const std::string & name )
pure virtual

Deletes shared network by name.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
nameName of the shared network to be deleted.
Returns
Number of deleted shared networks.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteSharedNetwork4().

◆ deleteSharedNetworkSubnets4()

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteSharedNetworkSubnets4 ( const db::ServerSelector & server_selector,
const std::string & shared_network_name )
pure virtual

Deletes all subnets belonging to a specified shared network.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
shared_network_nameName of the shared network for which the deleted subnets should belongs to.
Returns
Number of deleted subnets.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteSharedNetworkSubnets4().

◆ deleteSubnet4() [1/2]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteSubnet4 ( const db::ServerSelector & server_selector,
const std::string & subnet_prefix )
pure virtual

Deletes subnet by prefix.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
subnet_prefixPrefix of the subnet to be deleted.
Returns
Number of deleted subnets.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::deleteSubnet4(), and isc::dhcp::ConfigBackendPoolDHCPv4::deleteSubnet4().

◆ deleteSubnet4() [2/2]

virtual uint64_t isc::dhcp::ConfigBackendDHCPv4::deleteSubnet4 ( const db::ServerSelector & server_selector,
const SubnetID & subnet_id )
pure virtual

Deletes subnet by identifier.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
subnet_idIdentifier of the subnet to be deleted.
Returns
Number of deleted subnets.

◆ getAllClientClasses4()

virtual ClientClassDictionary isc::dhcp::ConfigBackendDHCPv4::getAllClientClasses4 ( const db::ServerSelector & selector) const
pure virtual

Retrieves all client classes.

Parameters
selectorServer selector.
Returns
Collection of client classes.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllClientClasses4().

◆ getAllGlobalParameters4()

virtual data::StampedValueCollection isc::dhcp::ConfigBackendDHCPv4::getAllGlobalParameters4 ( const db::ServerSelector & selector) const
pure virtual

Retrieves all global parameters.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
selectorServer selector.
Returns
Collection of global parameters.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllGlobalParameters4().

◆ getAllOptionDefs4()

virtual OptionDefContainer isc::dhcp::ConfigBackendDHCPv4::getAllOptionDefs4 ( const db::ServerSelector & server_selector) const
pure virtual

Retrieves all option definitions.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
server_selectorServer selector.
Returns
Collection of option definitions or empty collection if no option definition found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllOptionDefs4().

◆ getAllOptions4()

virtual OptionContainer isc::dhcp::ConfigBackendDHCPv4::getAllOptions4 ( const db::ServerSelector & server_selector) const
pure virtual

Retrieves all global options.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
server_selectorServer selector.
Returns
Collection of global options or empty collection if no option found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllOptions4().

◆ getAllServers4()

virtual db::ServerCollection isc::dhcp::ConfigBackendDHCPv4::getAllServers4 ( ) const
pure virtual

Retrieves all servers.

This method returns the list of servers excluding the logical server 'all'.

Returns
Collection of servers from the backend.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllServers4().

◆ getAllSharedNetworks4()

virtual SharedNetwork4Collection isc::dhcp::ConfigBackendDHCPv4::getAllSharedNetworks4 ( const db::ServerSelector & server_selector) const
pure virtual

Retrieves all shared networks.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
Returns
Collection of shared network or empty collection if no shared network found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllSharedNetworks4().

◆ getAllSubnets4()

virtual Subnet4Collection isc::dhcp::ConfigBackendDHCPv4::getAllSubnets4 ( const db::ServerSelector & server_selector) const
pure virtual

Retrieves all subnets.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
Returns
Collection of subnets or empty collection if no subnet found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getAllSubnets4().

◆ getClientClass4()

virtual ClientClassDefPtr isc::dhcp::ConfigBackendDHCPv4::getClientClass4 ( const db::ServerSelector & selector,
const std::string & name ) const
pure virtual

Retrieves a client class by name.

Parameters
selectorServer selector.
nameClient class name.
Returns
Pointer to the retrieved client class.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getClientClass4().

◆ getGlobalParameter4()

virtual data::StampedValuePtr isc::dhcp::ConfigBackendDHCPv4::getGlobalParameter4 ( const db::ServerSelector & selector,
const std::string & name ) const
pure virtual

Retrieves global parameter value.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
selectorServer selector.
nameName of the global parameter to be retrieved.
Returns
Value of the global parameter or null if parameter doesn't exist.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getGlobalParameter4().

◆ getModifiedClientClasses4()

virtual ClientClassDictionary isc::dhcp::ConfigBackendDHCPv4::getModifiedClientClasses4 ( const db::ServerSelector & selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves client classes modified after specified time.

Parameters
selectorServer selector.
modification_timeModification time.
Returns
Collection of client classes.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedClientClasses4().

◆ getModifiedGlobalParameters4()

virtual data::StampedValueCollection isc::dhcp::ConfigBackendDHCPv4::getModifiedGlobalParameters4 ( const db::ServerSelector & selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves global parameters modified after specified time.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
selectorServer selector.
modification_timeModification time.
Returns
Collection of modified global parameters.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedGlobalParameters4().

◆ getModifiedOptionDefs4()

virtual OptionDefContainer isc::dhcp::ConfigBackendDHCPv4::getModifiedOptionDefs4 ( const db::ServerSelector & server_selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves option definitions modified after specified time.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
server_selectorServer selector.
modification_timeLower bound option definition modification time.
Returns
Collection of option definitions or empty collection if no option definition found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedOptionDefs4().

◆ getModifiedOptions4()

virtual OptionContainer isc::dhcp::ConfigBackendDHCPv4::getModifiedOptions4 ( const db::ServerSelector & selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves options modified after specified time.

Allowed server selectors: ALL, ONE, MULTIPLE. Not allowed server selectors: ANY, UNASSIGNED.

Parameters
selectorServer selector.
modification_timeLower bound option modification time.
Returns
Collection of global options or empty collection if no option found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedOptions4().

◆ getModifiedSharedNetworks4()

virtual SharedNetwork4Collection isc::dhcp::ConfigBackendDHCPv4::getModifiedSharedNetworks4 ( const db::ServerSelector & server_selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves shared networks modified after specified time.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
modification_timeLower bound shared network modification time.
Returns
Collection of shared network or empty collection if no shared network found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedSharedNetworks4().

◆ getModifiedSubnets4()

virtual Subnet4Collection isc::dhcp::ConfigBackendDHCPv4::getModifiedSubnets4 ( const db::ServerSelector & server_selector,
const boost::posix_time::ptime & modification_time ) const
pure virtual

Retrieves subnets modified after specified time.

Allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE. Not allowed server selector: ANY.

Parameters
server_selectorServer selector.
modification_timeLower bound subnet modification time.
Returns
Collection of subnets or empty collection if no subnet found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getModifiedSubnets4().

◆ getOption4()

virtual OptionDescriptorPtr isc::dhcp::ConfigBackendDHCPv4::getOption4 ( const db::ServerSelector & server_selector,
const uint16_t code,
const std::string & space ) const
pure virtual

Retrieves single option by code and space.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
codeOption code.
spaceOption space.
Returns
Pointer to the retrieved option descriptor or null if no option was found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getOption4().

◆ getOptionDef4()

virtual OptionDefinitionPtr isc::dhcp::ConfigBackendDHCPv4::getOptionDef4 ( const db::ServerSelector & server_selector,
const uint16_t code,
const std::string & space ) const
pure virtual

Retrieves single option definition by code and space.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
codeCode of the option to be retrieved.
spaceOption space of the option to be retrieved.
Returns
Pointer to the option definition or NULL if not found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getOptionDef4().

◆ getRecentAuditEntries()

virtual db::AuditEntryCollection isc::dhcp::ConfigBackendDHCPv4::getRecentAuditEntries ( const db::ServerSelector & server_selector,
const boost::posix_time::ptime & modification_time,
const uint64_t & modification_id ) const
pure virtual

Retrieves the most recent audit entries.

Allowed server selectors: ALL, ONE. Not allowed server selectors: ANY, UNASSIGNED, MULTIPLE.

Parameters
server_selectorServer selector.
modification_timeTimestamp being a lower limit for the returned result set, i.e. entries later than specified time are returned.
modification_idIdentifier being a lower limit for the returned result set, used when two (or more) entries have the same modification_time.
Returns
Collection of audit entries.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getRecentAuditEntries().

◆ getServer4()

virtual db::ServerPtr isc::dhcp::ConfigBackendDHCPv4::getServer4 ( const data::ServerTag & server_tag) const
pure virtual

Retrieves a server.

Parameters
server_tagTag of the server to be retrieved.
Returns
Pointer to the server instance or null pointer if no server with the particular tag was found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getServer4().

◆ getSharedNetwork4()

virtual SharedNetwork4Ptr isc::dhcp::ConfigBackendDHCPv4::getSharedNetwork4 ( const db::ServerSelector & server_selector,
const std::string & name ) const
pure virtual

Retrieves shared network by name.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
nameName of the shared network to be retrieved.
Returns
Pointer to the shared network or NULL if not found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getSharedNetwork4().

◆ getSharedNetworkSubnets4()

virtual Subnet4Collection isc::dhcp::ConfigBackendDHCPv4::getSharedNetworkSubnets4 ( const db::ServerSelector & server_selector,
const std::string & shared_network_name ) const
pure virtual

Retrieves all subnets belonging to a specified shared network.

Allowed server selector: ANY. Not allowed server selectors: UNASSIGNED, ALL, ONE, MULTIPLE.

Parameters
server_selectorServer selector.
shared_network_nameName of the shared network for which the retrieved subnets should belongs to.
Returns
Collection of subnets or empty collection if no subnet found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getSharedNetworkSubnets4().

◆ getSubnet4() [1/2]

virtual Subnet4Ptr isc::dhcp::ConfigBackendDHCPv4::getSubnet4 ( const db::ServerSelector & server_selector,
const std::string & subnet_prefix ) const
pure virtual

Retrieves a single subnet by subnet_prefix.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
subnet_prefixPrefix of the subnet to be retrieved.
Returns
Pointer to the retrieved subnet or NULL if not found.

Referenced by isc::dhcp::ConfigBackendPoolDHCPv4::getSubnet4(), and isc::dhcp::ConfigBackendPoolDHCPv4::getSubnet4().

◆ getSubnet4() [2/2]

virtual Subnet4Ptr isc::dhcp::ConfigBackendDHCPv4::getSubnet4 ( const db::ServerSelector & server_selector,
const SubnetID & subnet_id ) const
pure virtual

Retrieves a single subnet by subnet identifier.

Allowed server selectors: ANY, UNASSIGNED, ALL, ONE. Not allowed server selector: MULTIPLE.

Parameters
server_selectorServer selector.
subnet_idIdentifier of a subnet to be retrieved.
Returns
Pointer to the retrieved subnet or NULL if not found.

The documentation for this class was generated from the following file: