%PDF- %PDF-
Mini Shell

Mini Shell

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

a

�)gY�@s�ddlmZmZmZeZddlZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZmZddlmZmZmZddlmZGdd	�d	e�ZGd
d�de
�ZdS)�)�absolute_import�division�print_functionN)�reduce)�Hardware�HardwareCollector)�TimeoutError�timeout)�get_file_content�get_file_lines�get_mount_size)�
get_sysctlc@sTeZdZdZdZgd�Zddd�Zdd�Zd	d
�Ze	�dd��Z
d
d�Zdd�ZdS)�NetBSDHardwarez�
    NetBSD-specific subclass of Hardware.  Defines memory and CPU facts:
    - memfree_mb
    - memtotal_mb
    - swapfree_mb
    - swaptotal_mb
    - processor (a list)
    - processor_cores
    - processor_count
    - devices
    - uptime_seconds
    �NetBSD)ZMemTotalZ	SwapTotalZMemFreeZSwapFreeNcCs�i}t|jdg�|_|��}|��}i}z|��}WntyFYn0|��}|��}|�	|�|�	|�|�	|�|�	|�|�	|�|S)NZmachdep)
r
�module�sysctl�
get_cpu_facts�get_memory_facts�get_mount_factsr�
get_dmi_facts�get_uptime_facts�update)�selfZcollected_factsZhardware_facts�	cpu_facts�memory_facts�mount_facts�	dmi_factsZuptime_facts�r�N/usr/lib/python3.9/site-packages/ansible/module_utils/facts/hardware/netbsd.py�populate0s"




zNetBSDHardware.populatecCsi}d}d}i}t�dtj�s"|Sg|d<td�D]�}|�dd�}|d��}|dks^|dkr�d|vrng|d<|d�|d���|d7}q2|dkr�|d��}||vr�d||<q2|d	kr2t|d���||<q2t|�dk�rt|�|d
<t	dd�|�
��|d
<n||d
<d|d
<|S)Nrz
/proc/cpuinfoZ	processor�:�z
model nameZ	Processorzphysical idz	cpu coresZprocessor_countcSs||S)Nr)�x�yrrr�<lambda>b�z.NetBSDHardware.get_cpu_facts.<locals>.<lambda>Zprocessor_coresZNA)�os�access�R_OKr�split�strip�append�int�lenr�values)rr�iZphysidZsockets�line�data�keyrrrrGs6

zNetBSDHardware.get_cpu_factscCsti}t�dtj�s|Std�D]P}|�dd�}|d}|tjvr|d���d�d}t|�d|d|�	�<q|S)Nz
/proc/meminfor r!r� iz%s_mb)
r&r'r(rr)r�MEMORY_FACTSr*r,�lower)rrr0r1r2�valrrrris
zNetBSDHardware.get_memory_factscCs�i}g|d<td�}|s|S|��D]p}|�d�s$|��dkr@q$t�dd|���}t|d�}|d|d|d	|d
d�}|�|�|d�	|�q$|S)NZmountsz
/etc/fstab�#�z\s+r3r!r��)ZmountZdeviceZfstype�options)
r
�
splitlines�
startswithr*�re�subr)rrr+)rrZfstabr0�fieldsZmount_statvfs_infoZ
mount_inforrrrvs$�
zNetBSDHardware.get_mount_factscCs>i}dddddd�}|D] }||jvr|j||||<q|S)NZproduct_nameZproduct_versionZproduct_uuidZproduct_serialZ
system_vendor)zmachdep.dmi.system-productzmachdep.dmi.system-versionzmachdep.dmi.system-uuidzmachdep.dmi.system-serialzmachdep.dmi.system-vendor)r)rrZ
sysctl_to_dmiZmibrrrr�s�
zNetBSDHardware.get_dmi_factscCs`|j�d�}|ddg}|j�|�\}}}|dkr4iS|��}|��sHiSdtt��t|��iS)Nrz-nz
kern.boottimerZuptime_seconds)rZget_bin_pathZrun_commandr*�isdigitr,�time)rZ
sysctl_cmd�cmd�rc�out�errZ
kern_boottimerrrr�s
�zNetBSDHardware.get_uptime_facts)N)
�__name__�
__module__�__qualname__�__doc__�platformr4rrrr	rrrrrrrr s
"

rc@seZdZeZdZdS)�NetBSDHardwareCollectorrN)rGrHrIrZ_fact_classZ	_platformrrrrrL�srL)Z
__future__rrr�typeZ
__metaclass__r&r>rBZansible.module_utils.six.movesrZ(ansible.module_utils.facts.hardware.baserrZ"ansible.module_utils.facts.timeoutrr	Z ansible.module_utils.facts.utilsr
rrZ!ansible.module_utils.facts.sysctlr
rrLrrrr�<module>s

Zerion Mini Shell 1.0