File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/netntp.cpython-310.pyc
Back
o ;j�1 � @ s� d Z ddlZddlZzddlmZ ddlmZ dZW n e y% dZY nw zddl ZdZW n e y9 dZY nw dZ e�e�Zdd � Zd d� Zdd � Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd#dd �Zd$d!d"�ZdS )%aJ Network NTP =========== .. versionadded:: 2016.11.0 Manage the configuration of NTP peers and servers on the network devices through the NAPALM proxy. :codeauthor: Mircea Ulinic <ping@mirceaulinic.net> & Jerome Fleury <jf@cloudflare.com> :maturity: new :depends: napalm :platform: unix Dependencies ------------ - Requires netaddr_ to be installed: `pip install netaddr` to check if IP Addresses are correctly specified - Requires dnspython_ to be installed: `pip install dnspython` to resolve the nameserver entities (in case the user does not configure the peers/servers using their IP addresses) - :mod:`NAPALM proxy minion <salt.proxy.napalm>` - :mod:`NTP operational and configuration management module <salt.modules.napalm_ntp>` .. _netaddr: https://pythonhosted.org/netaddr/ .. _dnspython: http://www.dnspython.org/ � N)� IPAddress)�AddrFormatErrorTFZnetntpc C s t jj�ttt�S )z_ NAPALM library must be installed for this module to work and run in a (proxy) minion. )�salt�utilsZnapalmZvirtual�__opts__�__virtualname__�__file__� r r �F/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/netntp.py�__virtual__@ s r c C s | i ddd�}|S )NF� )�name�changes�result�commentr )r �retr r r �_default_retL s r c C � t d � S )zRetrieves configured NTP peersz ntp.peers��__salt__r r r r �_retrieve_ntp_peersR � r c C r )z Retrieves configured NTP serverszntp.serversr r r r r �_retrieve_ntp_serversX r r c C s� t | t�sdS | D ] }t |t�s dS q tsdS g }| D ]?}z|�tt|��� W q ty[ ts4Y qg }ztj � |�}W n tj jyL Y Y dS w |D ] }|�t|�� qOY qw |} dS )z_Checks whether the input is a valid list of peers and transforms domain names into IP AddressesFT)� isinstance�list�str�HAS_NETADDR�appendr r �HAS_DNSRESOLVER�dnsZresolver�queryZNoAnswer)�peersZpeerZ ip_only_peersZ dns_replyZdns_ipr r r �_check^ s8 �� ���r"