File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/nftables.cpython-310.pyc
o
�N�g�� �
@ sj d Z ddlZddlZddlZddlZddlZddlZddlm Z ddl
mZ e�
e�Zdddddddd d
d� Zdd
� Zdd� Zd?dd�Zdd� Z d@dd�ZdAdd�ZdBdd�ZdBdd�ZdBdd�ZdCd d!�ZdDd#d$�ZdDd%d&�ZdEd'd(�ZdCd)d*�ZdBd+d,�ZdBd-d.�Z dFd/d0�Z!dEd1d2�Z"dDd3d4�Z#dGd5d6�Z$dHd7d8�Z%dId9d:�Z&dEd;d<�Z'dDd=d>�Z(dS )Jz
Support for nftables
� N)�CommandExecutionError)�STATE_INTERNAL_KEYWORDS�ip�ip6�inet�arp�bridge�netdev) �ipv4Zip4r Zipv6r r r r r c C s t jj�d�r dS dS )z7
Only load the module if nftables is installed
�nft�nftables)FzHThe nftables execution module failed to load: nftables is not installed.)�salt�utils�path�which� r r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/nftables.py�__virtual__ s r c C s dS )z
Return correct command
r r r r r r �
_nftables_cmd* s r c C sD t d dkrdS t d dkrdS t d dkrdS t d dkr dS dS ) z.
Use the same file for rules for now.
Z os_familyZRedHatz
/etc/nftablesZArchZDebian�osZGentooF)Z
__grains__��familyr r r �_conf1 s r c C s$ t � � d�} td | ��� }|d S )z�
Return version from nftables --version
CLI Example:
.. code-block:: bash
salt '*' nftables.version
z
--version�cmd.run� )r �__salt__�split)�cmd�outr r r �versionA s r � r
c K sj dddd�}d|v r|d |d<