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