22 auto optional = pool_->getDdnsSendUpdates();
23 if (!optional.unspecified()) {
24 return (optional.get());
28 return (d2_client_enabled_ && subnet_->getDdnsSendUpdates().get());
38 auto optional = pool_->getDdnsOverrideNoUpdate();
39 if (!optional.unspecified()) {
40 return (optional.get());
44 return (subnet_->getDdnsOverrideNoUpdate().get());
53 auto optional = pool_->getDdnsOverrideClientUpdate();
54 if (!optional.unspecified()) {
55 return (optional.get());
59 return (subnet_->getDdnsOverrideClientUpdate().get());
69 auto optional = pool_->getDdnsReplaceClientNameMode();
70 if (!optional.unspecified()) {
71 return (optional.get());
75 return (subnet_->getDdnsReplaceClientNameMode().get());
85 auto optional = pool_->getDdnsGeneratedPrefix();
86 if (!optional.unspecified()) {
87 return (optional.get());
91 return (subnet_->getDdnsGeneratedPrefix().get());
101 auto optional = pool_->getDdnsQualifyingSuffix();
102 if (!optional.unspecified()) {
103 return (optional.get());
107 return (subnet_->getDdnsQualifyingSuffix().get());
116 return (subnet_->getHostnameCharSet().get());
125 return (subnet_->getHostnameCharReplacement().get());
133 if (!char_set.empty()) {
137 }
catch (
const std::exception& ex) {
139 "' is not a valid regular expression");
154 auto optional = pool_->getDdnsUpdateOnRenew();
155 if (!optional.unspecified()) {
156 return (optional.get());
160 return (subnet_->getDdnsUpdateOnRenew().get());
166 return (
"check-with-dhcid");
170 auto optional = pool_->getDdnsConflictResolutionMode();
171 if (!optional.unspecified()) {
172 return (optional.get());
176 return (subnet_->getDdnsConflictResolutionMode().get());
187 auto optional = pool_->getDdnsTtlPercent();
188 if (!optional.unspecified()) {
189 return (optional.get());
193 return (subnet_->getDdnsTtlPercent());
203 auto optional = pool_->getDdnsTtl();
204 if (!optional.unspecified()) {
205 return (optional.get());
209 return (subnet_->getDdnsTtl());
219 auto optional = pool_->getDdnsTtlMin();
220 if (!optional.unspecified()) {
221 return (optional.get());
225 return (subnet_->getDdnsTtlMin());
235 auto optional = pool_->getDdnsTtlMax();
236 if (!optional.unspecified()) {
237 return (optional.get());
241 return (subnet_->getDdnsTtlMax());
251 auto optional = pool_->getDdnsReverseZone();
252 if (!optional.unspecified()) {
253 return (optional.get());
257 return (subnet_->getDdnsReverseZone().get());
265 "DdnsParams::setPoolFromAddress called without a subnet");
A generic exception that is thrown if a parameter given to a method is considered invalid in that con...
A generic exception that is thrown if a function is called in a prohibited way.
The IOAddress class represents an IP addresses (version agnostic).
bool isV4() const
Convenience function to check for an IPv4 address.
ReplaceClientNameMode
Defines the client name replacement modes.
std::string getHostnameCharReplacement() const
Returns the string to replace invalid characters when scrubbing hostnames.
D2ClientConfig::ReplaceClientNameMode getReplaceClientNameMode() const
Returns how Kea should handle the domain-name supplied by the client.
std::string getReverseZone() const
Returns the reverse zone Kea should use for PTR records.
std::string getGeneratedPrefix() const
Returns the Prefix Kea should use when generating domain-names.
util::Optional< double > getTtlPercent() const
Returns percent of lease lifetime to use for TTL.
isc::util::str::StringSanitizerPtr getHostnameSanitizer() const
Returns a regular expression string sanitizer.
std::string getHostnameCharSet() const
Returns the regular expression describing invalid characters for client hostnames.
util::Optional< uint32_t > getTtl() const
Returns explicit TTL to use.
std::string getConflictResolutionMode() const
Returns the DDNS config resolution mode for kea-dhcp-ddns.
std::string getQualifyingSuffix() const
Returns the suffix Kea should use when to qualify partial domain-names.
bool getUpdateOnRenew() const
Returns whether or not DNS should be updated when leases renew.
bool getOverrideNoUpdate() const
Returns whether or not Kea should perform updates, even if client requested no updates.
util::Optional< uint32_t > getTtlMax() const
Returns the maximum TTL to use.
PoolPtr setPoolFromAddress(const asiolink::IOAddress &address)
Sets the pool based on the current subnet and given address.
util::Optional< uint32_t > getTtlMin() const
Returns the minimum TTL to use.
bool getEnableUpdates() const
Returns whether or not DHCP DDNS updating is enabled.
bool getOverrideClientUpdate() const
Returns whether or not Kea should perform updates, even if client requested delegation.
A template representing an optional value.
Implements a regular expression based string scrubber.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
boost::shared_ptr< Pool > PoolPtr
a pointer to either IPv4 or IPv6 Pool
std::unique_ptr< StringSanitizer > StringSanitizerPtr
Type representing the pointer to the StringSanitizer.
Defines the logger used by the top-level component of kea-lfc.
@ TYPE_NA
the lease contains non-temporary IPv6 address