Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/subscription_manager.cpython-312.pyc
�

-�_g
��P�ddlmZmZddlZddlmZddlmZmZGd�dee�Z	y)�)�
NoOptionError�NoSectionErrorN)�remove)�Plugin�RedHatPluginc�<�eZdZdZdZdZdZdZdZd�Z	d�Z
d	�Zd
�Zy)�SubscriptionManagerz subscription-manager information�subscription_manager)�system�packagemanager�sysmgmt)�/etc/rhsm/rhsm.conf)zsubscription-manager�
rhsm_curl_cfgc��d}|jdd�}|r5|jdd�}|jdd�}|rd|z}d|�d|�|��}|jdd	�}|r�|r�|jdd
�}|rv|jj|j�|_t|jdd�
�5}|j
d|�d|���ddd�|d|j��z
}|S|d|��z
}|S#1swY�'xYw)z4 return curl options --proxy[-user] per RHSM config ��server�proxy_hostname�proxy_scheme�
proxy_port�:z--proxy �://�
proxy_user�proxy_password�wzutf-8)�encodingz
--proxy-user Nz
 --config z --proxy-user )�get�archive�	dest_path�curl_config�_curl_cfg_fname�open�write)	�self�config�proxyrrrr�
proxy_pass�_fs	         �I/usr/lib/python3/dist-packages/sos/report/plugins/subscription_manager.py�get_proxy_stringz$SubscriptionManager.get_proxy_strings#�������H�.>�?���!�:�:�h��?�L����H�l�;�J�� �:�-�
��|�n�C��/?�
�|�L�E��Z�Z��,�7�
��Z����H�.>�?�J��'+�|�|�'=�'=�d�>N�>N�'O��$��$�.�.��g�F��"��H�H�'�
�|�1�Z�L�A����:�d�&:�&:�%;�<�<�����>�*��6�6������s�8C6�6C?c	���|jdd�dk7rdnd}|jdd�}t|�dkDrd|z}d	|�d
|jdd��|�|jdd���S)
z- return URL per RHSM config for curl command r�insecure�1�sr�portrr�httpr�hostname�prefix)r�len)r#r$�securer.s    r(�get_server_urlz"SubscriptionManager.get_server_url3sw���
�
�8�Z�8�C�?��R���z�z�(�F�+���t�9�q�=���:�D��v�h�c�&�*�*�X�z�"B�!C�D�6��:�:�h��1�2�4�	5�c��|jgd��|jdd��|jdd��|jdd��|jgd	�d
��|jd|j����tjd
�}|j|D�cgc]}d|����	c}d��d}d}d|_	ddlm}|�}|j|�}|j|�}d|�d|jdd��d|��}|jdd�}	|	rd|	i}|j||d��ycc}w#ttttf$r}
|jd|
���Yd}
~
�Ld}
~
wwxYw)N)z
/etc/rhsm/z/var/lib/rhsm/z/var/log/rhsm/rhsm.logz/var/log/rhsm/rhsmcertd.logzsubscription-manager identity�subscription_manager_id)�tagsz$subscription-manager list --consumed�"subscription_manager_list_consumedz%subscription-manager list --installed�subscription_manager_installed)z%subscription-manager list --availablez+subscription-manager list --all --availablez#subscription-manager release --showz#subscription-manager release --listzsyspurpose showz&subscription-manager syspurpose --showzsubscription-manager statusT)�
cmd_as_tagzFrhsm-debug system --sos --no-archive --no-subscriptions --destination z/etc/pki/product-default/*.pemz
rct cat-cert �*subscription_manager_installed_product_idszccurl -vv --cacert /etc/rhsm/ca/redhat-uep.pem https://subscription.rhsm.redhat.com:443/subscriptionr)�get_config_parserz	curl -vv z
 --cacert �rhsm�repo_ca_cert� r�no_proxy�NO_PROXYz*Error checking for RHSM cert/proxy issue: �)�env�timeout)�
add_copy_spec�add_cmd_output�get_cmd_output_path�globr �rhsm.configr=r)r4r�ModuleNotFoundError�ImportErrorrr�
_log_debug)r#�certs�cert�curlcmdrDr=r$r%�
server_urlrA�errs           r(�setupzSubscriptionManager.setup=s������+�	,�
	
���;�!:�	�	<����B�!E�	�	G����C�!A�	�	C����
��	�	�	
���@�#�7�7�9�:�<�	=��	�	�:�;������F��}�T�F�3�F�!M�	�	O�J����#���
	P�5�&�(�F��)�)�&�1�E��,�,�V�4�J�"�:�,�j� �*�*�V�^�<�=�Q�u�g�G�G��z�z�(�J�7�H��!�8�,��	
���G��b��9��-G��&$�[�-�� �	P��O�O�H���N�O�O��	P�s�(E�	A"E�E<�E7�7E<c��d}d}|jd||�d}d}|jd||�|jrt|j�yy)Nz"(proxy_password(\s)*=(\s)*)(\S+)\nz\1********\nrz(password(\s)*=(\s)*)(\S+)\nz/var/lib/rhsm/repo_server_val/*)�do_path_regex_subr r)r#�	passwdreg�repl�regexps    r(�postproczSubscriptionManager.postprocpsZ��9�	������4�i��F�1�������@�&�$�O�����4�'�'�(� r5N)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�files�packagesrr)r4rSrY�r5r(r	r	s5��3�J�(�K�6�H�$�E�(�H�!�K��05�1:�f)r5r	)
�configparserrrrI�osr�sos.report.pluginsrrr	rbr5r(�<module>rfs#��7���3�r)�&�,�r)r5