File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/network.cpython-310.pyc
o
�N�g� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddl
ZddlZddlZddlZddlmZ ddlmZ e�e�Zdd� Zdwd d
�Zdxdd
�Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Z dd� Z!dd� Z"dd� Z#d d!� Z$d"d#� Z%d$d%� Z&d&d'� Z'd(d)� Z(d*d+� Z)d,d-� Z*d.d/� Z+ej,j-j.�/d0�d1d0� �Z0ej,j-j.�/d2�d3d2� �Z1ej,j-j.�/d4�d5d4� �Z2d6d7� Z3d8d9� Z4ej,j5�6e4d:�Z7d;d<� Z8d=d>� Z9dyd?d@�Z:dAdB� Z;dCdD� Z<dEdF� Z=dGdH� Z>dydIdJ�Z?dzdKdL�Z@ej,j5�6e@dM�ZAd{dNdO�ZBej,j5�6eBdP�ZCdQdR� ZDdSdT� ZEdUdV� ZFdydWdX�ZGdYdZ� ZHd[d\� ZId]d^� ZJd_d`� ZKdadb� ZLdcdd� ZMdedf� ZNdydgdh�ZOdydidj�ZPdkdl� ZQdmdn� ZRdodp� ZSd|dqdr�ZTd|dsdt�ZUdudv� ZVdS )}z7
Module for gathering and managing network information
� N)� ipaddress)�CommandExecutionErrorc C s t jj�� rdS dS )z)
Only work on POSIX-like systems
)FzRThe network execution module cannot be loaded on Windows: use win_network instead.T)�salt�utils�platformZ
is_windows� r r �H/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/network.py�__virtual__ s r �255.255.255.255� c C sN t d | �}t�tjtj�}|�tjtjd� |�d|d |t|�f� dS )a
Send Wake On Lan packet to a host
CLI Example:
.. code-block:: bash
salt '*' network.wol 08-00-27-13-69-77
salt '*' network.wol 080027136977 255.255.255.255 7
salt '*' network.wol 08:00:27:13:69:77 255.255.255.255 7
znetwork.mac_str_to_bytes� s ������� T) � __utils__�socket�AF_INET�
SOCK_DGRAM�
setsockopt�
SOL_SOCKET�SO_BROADCAST�sendto�int)ZmacZbcastZdestport�dest�sockr r r �wol( s
r Fc C s~ |rt d dkrd�td | �|�}nd�|td | ��}n d�td | ��}|r9td |�}|d d kr7d
S dS td |�S )
a�
Performs an ICMP ping to a host
.. versionchanged:: 2015.8.0
Added support for SunOS
CLI Example:
.. code-block:: bash
salt '*' network.ping archlinux.org
.. versionadded:: 2015.5.0
Return a True or False instead of ping output.
.. code-block:: bash
salt '*' network.ping archlinux.org return_boolean=True
Set the time to wait for a response in seconds.
.. code-block:: bash
salt '*' network.ping archlinux.org timeout=3
�kernel�SunOSzping -c 4 {} {}�network.sanitize_hostzping -W {} -c 4 {}zping -c 4 {}�cmd.run_all�retcoder FT�cmd.run)�
__grains__�formatr �__salt__)�host�timeoutZreturn_boolean�cmd�retr r r �ping; s ��r'