diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md index b4cfeb9b127..3ba6685ae57 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md @@ -8,6 +8,7 @@ - [DNS Domain](#dns-domain) - [IP Domain-list](#ip-domain-list) - [IP Name Servers](#ip-name-servers) + - [IP Name Server Groups](#ip-name-server-groups) - [Domain Lookup](#domain-lookup) - [Clock Settings](#clock-settings) - [NTP](#ntp) @@ -398,6 +399,61 @@ ip name-server 2001:db8::2 priority 0 ip name-server vrf TEST 2001:db8::2 priority 3 ``` +### IP Name Server Groups + +#### IP Name Server Groups Summary + +##### mynameserver0 + +DNS Domain : arista.avd.com + +IP Domain List : domain-list1 + +| IP Address | VRF | Priority | +| ----------- | --- | -------- | +| 1.1.1.1 | - | - | +| 2.2.2.2 | - | 1 | +| 8.8.8.8 | - | - | + +##### mynameserver1 + +DNS Domain : arista.avd.com + +IP Domain List : domain-list1 + +| IP Address | VRF | Priority | +| ----------- | --- | -------- | +| 1.1.1.1 | - | - | +| 2.2.2.1 | vrf1 | - | +| 2.2.2.2 | vrf1 | 1 | +| 2.2.2.4 | vrf1 | 4 | +| 2.2.2.6 | b_vrf | 3 | +| 2.2.2.7 | a_vrf | 3 | +| 8.8.8.8 | vrf1 | 0 | + +#### IP Name Server Groups Device Configuration + +```eos +! +ip name-server group mynameserver0 + name-server vrf default 1.1.1.1 + name-server vrf default 8.8.8.8 + name-server vrf default 2.2.2.2 priority 1 + dns domain arista.avd.com + ip domain-list domain-list1 +! +ip name-server group mynameserver1 + name-server vrf default 1.1.1.1 + name-server vrf vrf1 2.2.2.1 + name-server vrf vrf1 8.8.8.8 priority 0 + name-server vrf vrf1 2.2.2.2 priority 1 + name-server vrf a_vrf 2.2.2.7 priority 3 + name-server vrf b_vrf 2.2.2.6 priority 3 + name-server vrf vrf1 2.2.2.4 priority 4 + dns domain arista.avd.com + ip domain-list domain-list1 +``` + ### Domain Lookup #### DNS Domain Lookup Summary diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ip-name-server-groups.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ip-name-server-groups.j2 new file mode 100644 index 00000000000..ac934dd4d75 --- /dev/null +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/ip-name-server-groups.j2 @@ -0,0 +1,38 @@ +{# + Copyright (c) 2023-2024 Arista Networks, Inc. + Use of this source code is governed by the Apache License 2.0 + that can be found in the LICENSE file. +#} +{# doc - ip name server groups #} +{% if ip_name_server_groups is arista.avd.defined %} + +### IP Name Server Groups + +#### IP Name Server Groups Summary +{% for group in ip_name_server_groups | arista.avd.natural_sort("name") %} + +##### {{ group.name }} +{% if group.dns_domain is arista.avd.defined %} + +DNS Domain : {{ group.dns_domain }} +{% endif %} +{% if group.ip_domain_list is arista.avd.defined %} + +IP Domain List : {{ group.ip_domain_list }} +{% endif %} +{% if group.name_servers is arista.avd.defined %} + +| IP Address | VRF | Priority | +| ----------- | --- | -------- | +{% for server in group.name_servers | arista.avd.natural_sort("ip_address") %} +| {{ server.ip_address }} | {{ server.vrf | arista.avd.default('-') }} | {{ server.priority | arista.avd.default('-') }} | +{% endfor %} +{% endif %} +{% endfor %} + +#### IP Name Server Groups Device Configuration + +```eos +{% include 'eos/ip-name-server-groups.j2' %} +``` +{% endif %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management.j2 index d61dd5499c4..690b93e3c5c 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management.j2 @@ -38,6 +38,8 @@ {% include 'documentation/domain-list.j2' %} {## IP Name Servers #} {% include 'documentation/ip-name-servers.j2' %} +{## IP Name Server Group ##} +{% include 'documentation/ip-name-server-groups.j2' %} {## Domain Lookup #} {% include 'documentation/ip-domain-lookup.j2' %} {## Clock #}