File: //lib/python3.9/site-packages/ansible_collections/dellemc/os10/roles/os10_dns/templates/os10_dns.j2
#jinja2: trim_blocks: True,lstrip_blocks: True
{####################################
Purpose:
Configure DNS commands for OS10 devices
os10_dns:
os10_dns:
domain_lookup: true
name_server:
- ip:
- 3.1.1.1
- 3.1.1.2
vrf:
- test
- test1
- ip:
- 3.1.1.2
vrf:
- test1
state: absent
- ip:
- 2.2.2.2
- ip:
- 3.3.2.2
state: absent
domain_list:
- name:
- dname7
- dname8
vrf:
- test
- test1
- name:
- dname7
vrf:
- test
- test1
state: absent
- name:
- dname3
- dname4
- name:
- dname5
- dname6
state: absent
#####################################}
{% if (os10_dns is defined and os10_dns) %}
{% if (os10_dns.name_server is defined and os10_dns.name_server) %}
{% for name_server in os10_dns.name_server %}
{% set absent = "" %}
{% if name_server.state is defined and name_server.state == "absent" %}
{% set absent = "no " %}
{% endif %}
{% set vrf_name_list = name_server.vrf %}
{% if (vrf_name_list is defined and vrf_name_list ) %}
{% for vrf_name in vrf_name_list %}
{% set ip_list = name_server.ip %}
{% if (ip_list is defined and ip_list ) %}
{% for ip_val in ip_list %}
{{ absent }}ip name-server vrf {{ vrf_name }} {{ ip_val }}
{% endfor %}
{% elif name_server.state is defined and name_server.state == "absent"%}
{{ absent }}ip name-server vrf {{ vrf_name }}
{% endif %}
{% endfor %}
{% else %}
{% set ip_list = name_server.ip %}
{% if (ip_list is defined and ip_list ) %}
{{ absent }}ip name-server {{ ip_list|join(' ') }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if (os10_dns.domain_list is defined and os10_dns.domain_list) %}
{% for domain in os10_dns.domain_list %}
{% set absent = "" %}
{% if domain.state is defined and domain.state == "absent" %}
{% set absent = "no " %}
{% endif %}
{% set vrf_name_list = domain.vrf %}
{% if (vrf_name_list is defined and vrf_name_list ) %}
{% for vrf_name in vrf_name_list %}
{% set name_list = domain.name %}
{% if (name_list is defined and name_list ) %}
{% for name_val in name_list %}
{{ absent }}ip domain-list vrf {{ vrf_name }} {{ name_val }}
{% endfor %}
{% elif domain.state is defined and domain.state == "absent"%}
{{ absent }}ip domain-list vrf {{ vrf_name }}
{% endif %}
{% endfor %}
{% else %}
{% set name_list = domain.name %}
{% if (name_list is defined and name_list ) %}
{{ absent }}ip domain-list {{ name_list|join(' ') }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}