arista.eos.eos_ntp_global module – Manages ntp resource module
Note
This module is part of the arista.eos collection (version 10.0.1).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install arista.eos
.
To use it in a playbook, specify: arista.eos.eos_ntp_global
.
New in arista.eos 3.1.0
Synopsis
This module configures and manages the attributes of ntp on Arista EOS platforms.
Parameters
Parameter |
Comments |
---|---|
A dictionary of ntp options |
|
Require authentication for NTP synchronization. |
|
Enable authentication for NTP synchronization. Choices:
|
|
Authentication required only for incoming NTP server responses. Choices:
|
|
Define a key to use for authentication. |
|
hash algorithm, Choices:
|
|
key type Choices:
|
|
key identifier. |
|
Unobfuscated key string. |
|
Configure the interface from which the IP source address is taken. |
|
Set DSCP value in IP header |
|
Configure the switch as an NTP server. |
|
Configure access control list. |
|
Access lists to be configured under the afi |
|
Name of the access list. |
|
direction for the packets. Choices:
|
|
VRF in which to apply the access control list. |
|
ip/ipv6 config commands. |
|
Service NTP requests received on any interface. Choices:
|
|
Configure NTP server to synchronize to. |
|
Send a burst of packets instead of the usual one. Choices:
|
|
Send bursts of packets until the server is reached Choices:
|
|
Set a key to use for authentication. |
|
Configure the interface from which the IP source address is taken. |
|
Maximum poll interval. |
|
Minimum poll interval. |
|
Mark this server as preferred. Choices:
|
|
Hostname or A.B.C.D or A:B:C:D:E:F:G:H. |
|
Configure the interface from which the IP source address is taken. |
|
NTP version. |
|
vrf name. |
|
Configure the set of keys that are accepted for incoming messages |
|
This option is used only with state parsed. The value of this option should be the output received from the EOS device by executing the command show running-config | section ntp. The state parsed reads the configuration from |
|
The state the configuration should be left in. The states replaced and overridden have identical behaviour for this module. Please refer to examples for more details. Choices:
|
Notes
Note
Tested against Arista EOS 4.24.60M
This module works with connection
network_cli
. See the https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html.
Examples
# Using merged
# Before state:
# -------------
# localhost(config)#show running-config | section ntp
# localhost(config)#
- name: Merge provided configuration with device configuration
arista.eos.eos_ntp_global:
config:
authenticate:
enable: true
authentication_keys:
- id: 2
algorithm: "sha1"
encryption: 7
key: "123456"
- id: 23
algorithm: "md5"
encryption: 7
key: "123456"
local_interface: "Ethernet1"
qos_dscp: 10
trusted_key: 23
servers:
- server: "10.1.1.1"
vrf: "vrf01"
burst: true
prefer: true
- server: "25.1.1.1"
vrf: "vrf01"
maxpoll: 15
key_id: 2
serve:
access_lists:
- afi: "ip"
acls:
- acl_name: "acl01"
direction: "in"
- afi: "ipv6"
acls:
- acl_name: "acl02"
direction: "in"
# After State
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
# localhost(config)#
#
#
# Module Execution:
# "after": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "key_id": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# },
# "before": {},
# "changed": true,
# "commands": [
# "ntp serve ip access-group acl01 in",
# "ntp serve ipv6 access-group acl02 in",
# "ntp authentication-key 2 sha1 7 ********",
# "ntp authentication-key 23 md5 7 ********",
# "ntp server vrf vrf01 10.1.1.1 burst prefer",
# "ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15",
# "ntp authenticate",
# "ntp local-interface Ethernet1",
# "ntp qos dscp 10",
# "ntp trusted-key 23"
# ],
# Using Replaced
# Before State
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
# localhost(config)#
- name: Replace
arista.eos.eos_ntp_global:
config:
qos_dscp: 15
authentication_keys:
- id: 2
algorithm: "md5"
encryption: 7
key: "123456"
servers:
- server: "11.21.1.1"
vrf: "vrf01"
burst: true
prefer: true
minpoll: 13
serve:
access_lists:
- afi: "ip"
acls:
- acl_name: "acl03"
direction: "in"
state: replaced
# After State:
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 md5 7 123456
# ntp qos dscp 15
# ntp server vrf vrf01 11.21.1.1 prefer burst minpoll 13
# ntp serve ip access-group acl03 in
# localhost(config)#
#
#
# Module Execution:
# "after": {
# "authentication_keys": [
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "qos_dscp": 15,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl03",
# "direction": "in"
# }
# ],
# "afi": "ip"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "minpoll": 13,
# "prefer": true,
# "server": "11.21.1.1",
# "vrf": "vrf01"
# }
# ]
# },
# "before": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "key_id": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# },
# "changed": true,
# "commands": [
# "no ntp serve ip access-group acl01 in",
# "no ntp serve ipv6 access-group acl02 in",
# "no ntp authentication-key 23 md5 7 ********",
# "no ntp server vrf vrf01 10.1.1.1 burst prefer",
# "no ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15",
# "no ntp authenticate",
# "no ntp local-interface Ethernet1",
# "no ntp trusted-key 23",
# "ntp serve ip access-group acl03 in",
# "ntp authentication-key 2 md5 7 ********",
# "ntp server vrf vrf01 11.21.1.1 burst minpoll 13 prefer",
# "ntp qos dscp 15"
# ],
#
# Using Overridden
# Before State
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
# localhost(config)#
- name: Replace
arista.eos.eos_ntp_global:
config:
qos_dscp: 15
authentication_keys:
- id: 2
algorithm: "md5"
encryption: 7
key: "123456"
servers:
- server: "11.21.1.1"
vrf: "vrf01"
burst: true
prefer: true
minpoll: 13
serve:
access_lists:
- afi: "ip"
acls:
- acl_name: "acl03"
direction: "in"
state: overridden
# After State:
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 md5 7 123456
# ntp qos dscp 15
# ntp server vrf vrf01 11.21.1.1 prefer burst minpoll 13
# ntp serve ip access-group acl03 in
# localhost(config)#
#
#
# Module Execution:
# "after": {
# "authentication_keys": [
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "qos_dscp": 15,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl03",
# "direction": "in"
# }
# ],
# "afi": "ip"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "minpoll": 13,
# "prefer": true,
# "server": "11.21.1.1",
# "vrf": "vrf01"
# }
# ]
# },
# "before": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "key_id": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# },
# "changed": true,
# "commands": [
# "no ntp serve ip access-group acl01 in",
# "no ntp serve ipv6 access-group acl02 in",
# "no ntp authentication-key 23 md5 7 ********",
# "no ntp server vrf vrf01 10.1.1.1 burst prefer",
# "no ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15",
# "no ntp authenticate",
# "no ntp local-interface Ethernet1",
# "no ntp trusted-key 23",
# "ntp serve ip access-group acl03 in",
# "ntp authentication-key 2 md5 7 ********",
# "ntp server vrf vrf01 11.21.1.1 burst minpoll 13 prefer",
# "ntp qos dscp 15"
# ],
#
# using deleted:
# Before State
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 11.21.1.1 prefer burst minpoll 13
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
# localhost(config)#
- name: Delete ntp-global
arista.eos.eos_ntp_global:
state: deleted
# After State:
# localhost(config)#show running-config | section ntp
# localhost(config)#
#
#
# # Module Execution
# "after": {},
# "before": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "burst": true,
# "minpoll": 13,
# "prefer": true,
# "server": "11.21.1.1",
# "vrf": "vrf01"
# },
# {
# "key": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# },
# "changed": true,
# "commands": [
# "no ntp serve ip access-group acl01 in",
# "no ntp serve ipv6 access-group acl02 in",
# "no ntp authentication-key 2 sha1 7 ********",
# "no ntp authentication-key 23 md5 7 ********",
# "no ntp server vrf vrf01 10.1.1.1 burst prefer",
# "no ntp server vrf vrf01 11.21.1.1 burst minpoll 13 prefer",
# "no ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15",
# "no ntp authenticate",
# "no ntp local-interface Ethernet1",
# "no ntp qos dscp 10",
# "no ntp trusted-key 23"
# ],
#
# Using parsed:
# parsed.cfg
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 11.21.1.1 prefer burst minpoll 13
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
- name: parse configs
arista.eos.eos_ntp_global:
running_config: "{{ lookup('file', './parsed_ntp_global.cfg') }}"
state: parsed
tags:
- parsed
# Module Execution
# "parsed": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "burst": true,
# "minpoll": 13,
# "prefer": true,
# "server": "11.21.1.1",
# "vrf": "vrf01"
# },
# {
# "key": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# }
# }
# using Gathered
# Device config:
# localhost(config)#show running-config | section ntp
# ntp authentication-key 2 sha1 7 123456
# ntp authentication-key 23 md5 7 123456
# ntp trusted-key 23
# ntp authenticate
# ntp local-interface Ethernet1
# ntp qos dscp 10
# ntp server vrf vrf01 10.1.1.1 prefer burst
# ntp server vrf vrf01 25.1.1.1 maxpoll 15 key 2
# ntp serve ip access-group acl01 in
# ntp serve ipv6 access-group acl02 in
# localhost(config)#
- name: gather configs
arista.eos.eos_ntp_global:
state: gathered
tags:
- gathered
# Module Execution
# "gathered": {
# "authenticate": {
# "enable": true
# },
# "authentication_keys": [
# {
# "algorithm": "sha1",
# "encryption": 7,
# "id": 2,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# },
# {
# "algorithm": "md5",
# "encryption": 7,
# "id": 23,
# "key": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
# }
# ],
# "local_interface": "Ethernet1",
# "qos_dscp": 10,
# "serve": {
# "access_lists": [
# {
# "acls": [
# {
# "acl_name": "acl01",
# "direction": "in"
# }
# ],
# "afi": "ip"
# },
# {
# "acls": [
# {
# "acl_name": "acl02",
# "direction": "in"
# }
# ],
# "afi": "ipv6"
# }
# ]
# },
# "servers": [
# {
# "burst": true,
# "prefer": true,
# "server": "10.1.1.1",
# "vrf": "vrf01"
# },
# {
# "key_id": 2,
# "maxpoll": 15,
# "server": "25.1.1.1",
# "vrf": "vrf01"
# }
# ],
# "trusted_key": "23"
# },
# "invocation": {
# "module_args": {
# "config": null,
# "running_config": null,
# "state": "gathered"
# }
# }
# }
# using rendered:
- name: Render provided configuration
arista.eos.eos_ntp_global:
config:
authenticate:
enable: true
authentication_keys:
- id: 2
algorithm: "sha1"
encryption: 7
key: "123456"
- id: 23
algorithm: "md5"
encryption: 7
key: "123456"
local_interface: "Ethernet1"
qos_dscp: 10
trusted_key: 23
servers:
- server: "10.1.1.1"
vrf: "vrf01"
burst: true
prefer: true
- server: "25.1.1.1"
vrf: "vrf01"
maxpoll: 15
key_id: 2
serve:
access_lists:
- afi: "ip"
acls:
- acl_name: "acl01"
direction: "in"
- afi: "ipv6"
acls:
- acl_name: "acl02"
direction: "in"
state: rendered
# Module Execution:
# "rendered": [
# "ntp serve ip access-group acl01 in",
# "ntp serve ipv6 access-group acl02 in",
# "ntp authentication-key 2 sha1 7 ********",
# "ntp authentication-key 23 md5 7 ********",
# "ntp server vrf vrf01 10.1.1.1 burst prefer",
# "ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15",
# "ntp authenticate",
# "ntp local-interface Ethernet1",
# "ntp qos dscp 10",
# "ntp trusted-key 23"
# ]
#
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The resulting configuration after module execution. Returned: when changed Sample: |
|
The configuration prior to the module execution. Returned: when state is Sample: |
|
The set of commands pushed to the remote device. Returned: when state is Sample: |
|
Facts about the network resource gathered from the remote device as structured data. Returned: when state is Sample: |
|
The device native config provided in running_config option parsed into structured data as per module argspec. Returned: when state is Sample: |
|
The provided configuration in the task rendered in device-native format (offline). Returned: when state is Sample: |