HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
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 %}