#jinja2: trim_blocks: True,lstrip_blocks: True {#################################### Purpose: Configure DNS commands for os9 devices os9_dns: domain_lookup: true domain_name: dns.search.name name_server: - ip: - 3.1.1.1 - 3.1.1.2 vrf: - test - test1 - vrf: - test1 state: absent - ip: - 2.2.2.2 - ip: - 3.3.2.2 state: absent domain_list: - vrf: - test - test1 state: absent - name: - dname3 - dname4 - name: - dname5 - dname6 state: absent - name: - dname7 - dname8 vrf: - test - test1 #####################################} {% if (os9_dns is defined and os9_dns) %} {% if os9_dns.domain_lookup is defined and os9_dns.domain_lookup == true %} ip domain-lookup {% elif os9_dns.domain_lookup is defined and os9_dns.domain_lookup == false %} no ip domain-lookup {% endif %} {% if os9_dns.domain_name is defined and os9_dns.domain_name %} ip domain-name {{ os9_dns.domain_name }} {% elif os9_dns.domain_name is defined and os9_dns.domain_name %} no ip domain-name {{ os9_dns.domain_name }} {% endif %} {% if (os9_dns.name_server is defined and os9_dns.name_server) %} {% for name_server in os9_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 ) %} {% for ip_val in ip_list %} {{ absent }}ip name-server {{ ip_val }} {% endfor %} {% endif %} {% endif %} {% endfor %} {% endif %} {% if (os9_dns.domain_list is defined and os9_dns.domain_list) %} {% for domain in os9_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 ) %} {% for name_val in name_list %} {{ absent }}ip domain-list {{ name_val }} {% endfor %} {% endif %} {% endif %} {% endfor %} {% endif %} {% endif %}