diff options
author | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-09-13 01:02:12 -0500 |
---|---|---|
committer | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-09-30 01:51:10 -0500 |
commit | 6aee08497522990b19291de42f9d445679eaae27 (patch) | |
tree | a8aa00e4790f759e55f3b8a8e6cfa3b137ee9fd0 /interface-definitions | |
parent | 179703886441ef5508a63ba6d9d4c11b050d3ff8 (diff) | |
download | vyos-1x-6aee08497522990b19291de42f9d445679eaae27.tar.gz vyos-1x-6aee08497522990b19291de42f9d445679eaae27.zip |
ddclient: T5574: Support per-service cache management for services
Add support for per-service cache management for ddclient providers
via `wait-time` and `expiry-time` options. This allows for finer-grained
control over how often a service is updated and how long the hostname
will be cached before being marked expired in ddclient's cache.
More specifically, `wait-time` controls how often ddclient will attempt
to check for a change in the hostname's IP address, and `expiry-time`
controls how often ddclient to a forced update of the hostname's IP
address.
These options intentionally don't have any default values because they
are provider-specific. They get treated similar to the other provider-
specific options in that they are only used if defined.
Diffstat (limited to 'interface-definitions')
-rw-r--r-- | interface-definitions/dns-dynamic.xml.in | 2 | ||||
-rw-r--r-- | interface-definitions/include/dns/dynamic-service-wait-expiry-time.xml.i | 28 |
2 files changed, 30 insertions, 0 deletions
diff --git a/interface-definitions/dns-dynamic.xml.in b/interface-definitions/dns-dynamic.xml.in index ba7f426c1..723223f1c 100644 --- a/interface-definitions/dns-dynamic.xml.in +++ b/interface-definitions/dns-dynamic.xml.in @@ -61,6 +61,7 @@ <children> #include <include/generic-description.xml.i> #include <include/dns/dynamic-service-host-name-server.xml.i> + #include <include/dns/dynamic-service-wait-expiry-time.xml.i> <leafNode name="key"> <properties> <help>File containing the TSIG secret key shared with remote DNS server</help> @@ -88,6 +89,7 @@ <children> #include <include/generic-description.xml.i> #include <include/dns/dynamic-service-host-name-server.xml.i> + #include <include/dns/dynamic-service-wait-expiry-time.xml.i> #include <include/generic-username.xml.i> #include <include/generic-password.xml.i> #include <include/dns/time-to-live.xml.i> diff --git a/interface-definitions/include/dns/dynamic-service-wait-expiry-time.xml.i b/interface-definitions/include/dns/dynamic-service-wait-expiry-time.xml.i new file mode 100644 index 000000000..866690cbe --- /dev/null +++ b/interface-definitions/include/dns/dynamic-service-wait-expiry-time.xml.i @@ -0,0 +1,28 @@ +<!-- include start from dns/dynamic-service-wait-expiry-time.xml.i --> +<leafNode name="wait-time"> + <properties> + <help>Time in seconds to wait between update attempts</help> + <valueHelp> + <format>u32:60-86400</format> + <description>Time in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 60-86400"/> + </constraint> + <constraintErrorMessage>Wait time must be between 60 and 86400 seconds</constraintErrorMessage> + </properties> +</leafNode> +<leafNode name="expiry-time"> + <properties> + <help>Time in seconds for the hostname to be marked expired in cache</help> + <valueHelp> + <format>u32:300-2160000</format> + <description>Time in seconds</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 300-2160000"/> + </constraint> + <constraintErrorMessage>Expiry time must be between 300 and 2160000 seconds</constraintErrorMessage> + </properties> +</leafNode> +<!-- include end --> |