File: //lib/python3.9/site-packages/ansible_collections/dellemc/os10/roles/os10_ntp/templates/os10_ntp.j2
#jinja2: trim_blocks: True,lstrip_blocks: True
{#############################################
Purpose:
Configure NTP commands for os10 Devices
os10_ntp:
source: ethernet 1/1/2
master: 5
authenticate: true
vrf:
name: red
authentication_key:
- key_num: 123
key_string_type: 7
key_string: test
type: md5
state: present
trusted_key:
- key_num: 1323
state: present
server:
- ip: 2.2.2.2
key: 345
prefer: true
state: present
intf:
ethernet 1/1/2:
disable: true
broadcast: true
###############################################}
{% if os10_ntp is defined and os10_ntp %}
{% if os10_ntp.source is defined %}
{% if os10_ntp.source %}
ntp source {{ os10_ntp.source }}
{% else %}
no ntp source
{% endif %}
{% endif %}
{% if os10_ntp.master is defined %}
{% if os10_ntp.master %}
ntp master {{ os10_ntp.master }}
{% else %}
no ntp master
{% endif %}
{% endif %}
{% if os10_ntp.authenticate is defined %}
{% if os10_ntp.authenticate %}
ntp authenticate
{% else %}
no ntp authenticate
{% endif %}
{% endif %}
{% if os10_ntp.server is defined and os10_ntp.server %}
{% for item in os10_ntp.server %}
{% if item.ip is defined and item.ip %}
{% if item.state is defined and item.state == "absent" %}
no ntp server {{ item.ip }}
{% else %}
{% if item.key is defined and item.key %}
{% if item.prefer is defined and item.prefer %}
ntp server {{ item.ip }} key {{ item.key }} prefer
{% else %}
ntp server {{ item.ip }} key {{ item.key }}
{% endif %}
{% else %}
{% if item.prefer is defined and item.prefer %}
ntp server {{ item.ip }} prefer
{% else %}
ntp server {{ item.ip }}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if os10_ntp.authentication_key is defined and os10_ntp.authentication_key %}
{% for item in os10_ntp.authentication_key %}
{% if item.key_num is defined and item.key_num %}
{% if item.state is defined and item.state == "absent" %}
no ntp authentication-key {{ item.key_num }}
{% else %}
{% if item.key_string_type is defined and item.key_string_type >= 0 %}
{% if item.key_string is defined and item.key_string %}
{% if item.type is defined and item.type %}
{% set auth_type = item.type %}
{% else %}
{% set auth_type = 'md5' %}
{% endif%}
ntp authentication-key {{ item.key_num }} {{ auth_type }} {{ item.key_string_type }} {{ item.key_string }}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if os10_ntp.trusted_key is defined and os10_ntp.trusted_key %}
{% for item in os10_ntp.trusted_key %}
{% if item.key_num is defined and item.key_num %}
{% if item.state is defined and item.state == "absent" %}
no ntp trusted-key {{ item.key_num }}
{% else %}
ntp trusted-key {{ item.key_num }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% if os10_ntp.intf is defined and os10_ntp.intf %}
{% for key in os10_ntp.intf.keys() %}
interface {{ key }}
{% if os10_ntp.intf[key].disable is defined %}
{% if os10_ntp.intf[key].disable %}
ntp disable
{% else %}
no ntp disable
{% endif %}
{% endif %}
{% if os10_ntp.intf[key].broadcast is defined %}
{% if os10_ntp.intf[key].broadcast %}
ntp broadcast client
{% else %}
no ntp broadcast client
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}