%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__/sunos.cpython-39.pyc

a

�)g\)�@s�ddlmZmZmZeZddlZddlZddlm	Z	ddl
mZddlm
Z
mZddlmZmZddlmZddlmZGd	d
�d
e�ZGdd�de�ZdS)
�)�absolute_import�division�print_functionN)�get_best_parsable_locale)�bytes_to_human)�get_file_content�get_mount_size)�Hardware�HardwareCollector)�timeout)�reducec@sXeZdZdZdZddd�Zddd�Zdd	�Ze��d
d��Z	dd
�Z
dd�Zdd�ZdS)�
SunOSHardwarez�
    In addition to the generic memory and cpu facts, this also sets
    swap_reserved_mb and swap_allocated_mb that is available from *swap -s*.
    �SunOSNc
Cs�i}t|j�}|||d�|j_|��}|��}|��}|��}|��}i}	z|��}	Wnt	j
yjYn0|�|�|�|�|�|�|�|�|�|�|�|	�|S)N)�LANG�LC_ALL�
LC_NUMERIC)r�moduleZrun_command_environ_update�
get_cpu_facts�get_memory_facts�
get_dmi_facts�get_device_facts�get_uptime_facts�get_mount_factsr�TimeoutError�update)
�self�collected_factsZhardware_facts�locale�	cpu_facts�memory_facts�	dmi_facts�device_facts�uptime_facts�mount_facts�r$�M/usr/lib/python3.9/site-packages/ansible/module_utils/facts/hardware/sunos.py�populate%s(






zSunOSHardware.populatecCsxd}i}i}|pi}|j�d�\}}}g|d<|��D]�}t|�dkrHq6|�dd�}	|	d��}
|
dkrnd}q6|
dkr�|	d��}q6|
dkr�|	d��}q6|
d	kr�|p�|	d��}
|�d
�dkr�|
d|d
7}
d|vr�g|d<|d�|
�q6|
dkr6|	d��}||v�rd||<q6||d7<q6t|�dk�r\t|�|d<tdd�|�	��|d<nd|d<t|d�|d<|S)Nrz/usr/bin/kstat cpu_info�	processor�zmodule:��brandZ	clock_MHz�implementationZansible_machineZi86pcz @ ZMHzZansible_processorZchip_idZprocessor_countcSs||S)Nr$)�x�yr$r$r%�<lambda>s�z-SunOSHardware.get_cpu_facts.<locals>.<lambda>Zprocessor_coresZNA)
r�run_command�
splitlines�len�split�strip�get�appendr�values)rrZphysidZsocketsr�rc�out�err�line�data�keyr*Z	clock_mhzr'r$r$r%rCsF

zSunOSHardware.get_cpu_factsc
Cs�i}|j�dg�\}}}|��D] }d|vr t|��d�|d<q |j�d�\}}}t|��ddd��}t|��ddd��}t|��d	dd��}t|��d
dd��}	|	d|d<|	|d|d
<|d|d<|d|d<|S)Nz/usr/sbin/prtconfzMemory size�Zmemtotal_mbz/usr/sbin/swap -sr(������
iZswapfree_mbZswaptotal_mbZswap_allocated_mbZswap_reserved_mb)rr0r1�intr3)
rrr8r9r:r;Z	allocatedZreserved�used�freer$r$r%rzszSunOSHardware.get_memory_factscCs|i}g|d<td�}|rx|��D]V}|�d�}t|d�}|d|d|d|d|dd	�}|�|�|d�|�q |S)
NZmountsz/etc/mnttab�	r(rr>��)ZmountZdeviceZfstype�options�time)rr1r3rrr6)rr#Zfstabr;�fieldsZmount_statvfs_infoZ
mount_infor$r$r%r�s 
�
zSunOSHardware.get_mount_factsc
Cs�i}|j�d�\}}}d|��d}|jjd|gd�}|j�|�\}}}|r�|�d�d}gd�}	d	�ttj|	��}
d
|
ddd
}t�	||�}|r�|�
d�|d<|�
d�|d<|S)Nz/usr/bin/uname -iz/usr/platform/z/sbinZprtdiag)Zopt_dirs�
r)ZFujitsuzOracle CorporationZQEMUzSun MicrosystemszVMware, Inc.�|zSystem Configuration:\s+(z)\s+z(?:sun\w+\s+)?z(.+)r(Z
system_vendorr>Zproduct_name)rr0�rstripZget_bin_pathr3�join�map�re�escape�match�group)
rr r8�platformr:Z
platform_sbinZprtdiag_pathr9Zsystem_confZvendorsZ
vendor_regexpZsystem_conf_regexp�foundr$r$r%r�s.����zSunOSHardware.get_dmi_factscsi}i|d<dddddddd	d
ddd
�}ddg}|D]}|�d|�q4i}|j�|�\}}}|dkrj|Stdd�|�d�D��}	|	D]���fdd�|�d�D�}
|
D]R}|�d�\}}
|�d�d}|dkr�tt|
��||�|�<q�|
��||�|�<q�d�}||d|<i}q�|S)NZdevices�productZrevision�serial�sizeZvendorZhard_errorsZsoft_errorsZtransport_errorsZmedia_errorsZpredictive_failure_analysisZillegal_request)ZProductZRevisionz	Serial No�SizeZVendorzHard ErrorszSoft ErrorszTransport ErrorszMedia ErrorzPredictive Failure AnalysiszIllegal Requestz/usr/bin/kstatz-pz
sderr:::%srcss&|]}|�d�r|�d�dVqdS)Zsderr�:r(N)�
startswithr3��.0r;r$r$r%�	<genexpr>�r/z1SunOSHardware.get_device_facts.<locals>.<genexpr>rLc3s,|]$}d|vr|�d�d�kr|VqdS)r[r(N)r3r]��instancer$r%r_�r/rFr[rGrZ�sd)	r6rr0�	frozensetr3r�floatr5rN)rr!Z
disk_stats�cmdZds�dr8r9r:Zsd_instances�linesr;�text�value�statZdisknamer$r`r%r�sD�zSunOSHardware.get_device_factscCsHi}|j�d�\}}}|dkr"dStt��t|�d�d��|d<|S)Nz./usr/bin/kstat -p unix:0:system_misc:boot_timerrFr(Zuptime_seconds)rr0rCrJr3)rr"r8r9r:r$r$r%rs"zSunOSHardware.get_uptime_facts)N)N)
�__name__�
__module__�__qualname__�__doc__rUr&rrrrrrrr$r$r$r%r
s

7
&=r
c@seZdZeZdZedg�ZdS)�SunOSHardwareCollectorrrUN)rkrlrmr
Z_fact_classZ	_platform�setZrequired_factsr$r$r$r%rosro)Z
__future__rrr�typeZ
__metaclass__rQrJZ"ansible.module_utils.common.localerZ+ansible.module_utils.common.text.formattersrZ ansible.module_utils.facts.utilsrrZ(ansible.module_utils.facts.hardware.baser	r
Zansible.module_utils.factsrZansible.module_utils.six.movesrr
ror$r$r$r%�<module>s}

Zerion Mini Shell 1.0