File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/omapi.cpython-310.pyc
Back
o ;jR � @ s� d Z ddlZddlZddlZe�e�ZzddlZ dZ W n ey/ Z zdZ W Y dZ[ndZ[ww dd� Z dd� Zd d d �Zddd�ZdS )z� This module interacts with an ISC DHCP Server via OMAPI. server_ip and server_port params may be set in the minion config or pillar: .. code-block:: yaml omapi.server_ip: 127.0.0.1 omapi.server_port: 7991 :depends: pypureomapi Python module � NTFc C s t rdS dS )z+ Confirm pypureomapi is available. �omapi)Fz]The omapi execution module cannot be loaded: the pypureomapi python library is not available.)� omapi_support� r r �F/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/omapi.py�__virtual__ s r c C s� t �dt�dd��} t �dt�dd��}t �dt�dd ��}t �dt�dd ��}|r1tjj�|�}|r:tjj�|�}tj| |||d�S )Nzomapi.server_ipz 127.0.0.1zomapi.server_porti7 z omapi.keyz omapi.user)�username�key) Z __pillar__�getZ__opts__�salt�utils�stringutils�to_bytesr ZOmapi)Z server_ipZserver_portr r r r r �_conn+ s ��r c C s2 d}t � }tj�d�}|j�dt�dd�f� |j�dt�dd�f� |j�dt� | �f� |j�dt�dd�f� |rG|j�d t� |�f� |rV|j�d tjj �|�f� |re|j�dtjj �|�f� |ro|d|� d �7 }|r{|r{|d|� d �7 }|r�|j�dtjj �|�f� |�|�} | jtjkr�dS dS )aH Add a host object for the given mac. CLI Example: .. code-block:: bash salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1 Add ddns-hostname and a fixed-ip statements: .. code-block:: bash salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1 ip=10.1.1.1 ddns=true � � hosts create� !I� s exclusive� hardware-address� hardware-types ip-address� names groupzoption host-name "z"; zddns-hostname "s statementsFT)r r �OmapiMessage�open�message�append�struct�pack�obj�pack_macZpack_ipr r r r �query_server�opcode�OMAPI_OP_UPDATE) �mac�name�ipZddns�groupZsupersede_hostZ statements�o�msg�responser r r �add_host; s. r( c C s� | s|st d��t� }tj�d�}| r*|j�dt�| �f� |j�dt� dd�f� |r9|j�dt jj� |�f� |�|�}|jtjkrFdS |jd krMd S |�tj�|j��}|jtjkr_d S dS )z� Delete the host with the given mac or name. CLI Examples: .. code-block:: bash salt dhcp-server omapi.delete_host name=host1 salt dhcp-server omapi.delete_host mac=ab:ab:ab:ab:ab:ab z!At least one argument is requiredr r r r r r Nr FT)� TypeErrorr r r r r r r r r r r r r r r r �handle�deleteZOMAPI_OP_STATUS)r! r"