diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:15:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:15:43 +0000 |
commit | f5f56e1a1c4d9e9496fcb9d81131066a964ccd23 (patch) | |
tree | 49e44c6f87febed37efb953ab5485aa49f6481a7 /src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang | |
parent | Initial commit. (diff) | |
download | isc-kea-f5f56e1a1c4d9e9496fcb9d81131066a964ccd23.tar.xz isc-kea-f5f56e1a1c4d9e9496fcb9d81131066a964ccd23.zip |
Adding upstream version 2.4.1.upstream/2.4.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang')
-rw-r--r-- | src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang b/src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang new file mode 100644 index 0000000..bafa6a3 --- /dev/null +++ b/src/share/yang/modules/kea-dhcp-ddns@2022-07-27.yang @@ -0,0 +1,184 @@ +module kea-dhcp-ddns { + yang-version 1.1; + namespace "urn:ietf:params:xml:ns:yang:kea-dhcp-ddns"; + prefix "kea-dhcp-ddns"; + + import ietf-inet-types { + prefix inet; + } + import kea-types { + prefix kea; + revision-date 2019-08-12; + } + + organization "Internet Systems Consortium"; + contact "kea-dev@lists.isc.org"; + description "This model defines a YANG data model that can be + used to configure and manage a Kea DHCP-DDNS server."; + + revision 2022-07-27 { + description "Added GSS-TSIG key-name configration parameter for DNS + servers"; + } + + revision 2019-08-12 { + description "Initial revision"; + reference ""; + } + + /* + * Groupings + */ + + grouping managed-domains { + description "Contains parameters for forward or reverse DDNS managed + domains."; + + container ddns-domains { + description "DDNS domains."; + list ddns-domain { + key name; + description "List of DDNS domains."; + leaf name { + type string; + mandatory true; + description "DDNS domain name."; + } + leaf key-name { + type string; + description "TSIG key to use. Blank means no TSIG."; + } + container dns-servers { + description "DNS servers."; + list server { + key ip-address; + description "List of DNS servers."; + leaf hostname { + type string; + description "DNS server hostname."; + } + leaf ip-address { + type inet:ip-address; + mandatory true; + description "DNS server IP address."; + } + leaf port { + type uint16; + description "DNS server port."; + } + leaf key-name { + type string; + description "Name of the TSIG key used to protect DNS updates for + this server."; + } + leaf user-context { + type kea:user-context; + description "DNS server user context."; + } + } + } + leaf user-context { + type kea:user-context; + description "DDNS domain user context."; + } + } + } + } + + /* + * Data Nodes + */ + + container config { + // config true; + description "Contains DHCP-DDNS server configuration."; + + leaf ip-address { + type inet:ip-address; + description "IP address on which the server listens for requests."; + } + + leaf port { + type uint16; + description "Port on which the server listens for requests."; + } + + leaf dns-server-timeout { + type uint32; + units "milliseconds"; + description "Maximum amount of time that the server will wait for + a response from a DNS server to a single DNS update message."; + } + + leaf ncr-protocol { + type enumeration { + enum "UDP" { + description "UDP transport"; + } + enum "TCP" { + description "TCP transport"; + } + } + description "Protocol to use when sending requests to the server."; + } + + leaf ncr-format { + type enumeration { + enum "JSON" { + description "JSON format"; + } + } + description "Packet format to use when sending requests to the server."; + } + + uses kea:control-socket; + + container forward-ddns { + description "Forward DNS zones."; + uses managed-domains; + } + + container reverse-ddns { + description "Reverse DNS zones."; + uses managed-domains; + } + + container tsig-keys { + description "Keys to use with TSIG."; + list key { + key name; + description "List of TSIG keys."; + leaf name { + type string; + mandatory true; + description "Key name."; + } + leaf algorithm { + type string; + mandatory true; + description "Hashing algorithm to use with the key."; + } + leaf digest-bits { + type uint16; + units "bits"; + description "Minimum truncated length. 0 means no truncation."; + } + leaf secret { + type string; + mandatory true; + description "Shared secret for the key."; + } + leaf user-context { + type kea:user-context; + description "Key user context."; + } + } + } + leaf user-context { + type kea:user-context; + description "DHCP-DDNS server user context."; + } + + uses kea:loggers; + } +} |