%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.9/site-packages/ansible/module_utils/facts/network/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.9/site-packages/ansible/module_utils/facts/network/__pycache__/aix.cpython-39.pyc

a

�)g��@s\ddlmZmZmZeZddlZddlmZddl	m
Z
Gdd�de
�ZGdd�de�ZdS)	�)�absolute_import�division�print_functionN)�NetworkCollector)�GenericBsdIfconfigNetworkc@s.eZdZdZdZdd�Zddd�Zdd	�Zd
S)�
AIXNetworkz]
    This is the AIX Network Class.
    It uses the GenericBsdIfconfigNetwork unchanged.
    �AIXc
Cs�tiid�}|j�d�}|r�|j�|dg�\}}}|��}|D]~}|��}	t|	�dkr>|	ddkr>d|	dvr�|	d|dd	<|	d
|dd<q>d|	dvr>|	d|d
d	<|	d
|d
d<q>|d|d
fS)N)�v4�v6Znetstatz-nr�r�default�.r	Zgateway��	interface�:r
)�dict�module�get_bin_path�run_command�
splitlines�split�len)
�selfZ
route_pathrZnetstat_path�rc�out�err�lines�line�words�r�J/usr/lib/python3.9/site-packages/ansible/module_utils/facts/network/aix.py�get_default_interfaces sz!AIXNetwork.get_default_interfaces�-acCs�i}i}tggd�}d}d}d}|j�d�}	|	rF|j�|	dg�\}}}|j�||g�\}
}}|��D�]z}
|
�r�|
��}t�d|
�r�|�|�}|||d<n�|d�	d�r�|�
|||�n�|ddkr�|�|||�n�|dd	kr�|�|||�n�|dd
k�r|�
|||�n�|ddk�r.|�|||�nh|ddk�rL|�|||�nJ|dd
k�rj|�|||�n,|ddk�r�|�|||�n|�|||�|sd|��ddkrd|ddk�rdt�d|d��rd|j�d�}|�rd|j�||dg�\}
}}|
dk�r�q�|��D]T}
|
�st�d|
�}|�r8|�d�|d<t�d|
�}|�rt�d|
��rd	|d<�qd|vrd|j�d�}|rd|j�|d|dg�\}
}}|
dk�r��q�|��D].}
|
�r�|
��}|ddk�r�|d|d<�q�qd||fS)N)Zall_ipv4_addressesZall_ipv6_addresses�unamez-Wz^\w*\d*:�devicerzoptions=Znd6Zetherzmedia:zstatus:ZlladdrZinetZinet6�0�
macaddress�unknownz^enZentstatz^Hardware Address: (.*)rz
^Device Type:z
.*Ethernet�typeZmtuZlsattrz-El)rrrrrr�re�match�parse_interface_line�
startswithZparse_options_lineZparse_nd6_lineZparse_ether_lineZparse_media_lineZparse_status_lineZparse_lladdr_lineZparse_inet_lineZparse_inet6_lineZparse_unknown_line�group)rZ
ifconfig_pathZifconfig_optionsZ
interfaces�
current_if�ipsZuname_rcZ	uname_outZ	uname_errZ
uname_pathrrrrrZentstat_pathZbuffZlsattr_pathrrr �get_interfaces_info6s~�
 

zAIXNetwork.get_interfaces_infocCs<|ddd�}|ggdd�}|�|d�|d<d|d<|S)Nr���r')r$Zipv4Zipv6r(r�flagsr&)Zget_options)rrr$r.rrr r+�s
zAIXNetwork.parse_interface_lineN)r")�__name__�
__module__�__qualname__�__doc__�platformr!r0r+rrrr rs

Qrc@seZdZeZdZdS)�AIXNetworkCollectorrN)r3r4r5rZ_fact_classZ	_platformrrrr r8�sr8)
Z
__future__rrrr(Z
__metaclass__r)Z'ansible.module_utils.facts.network.baserZ.ansible.module_utils.facts.network.generic_bsdrrr8rrrr �<module>sv

Zerion Mini Shell 1.0