HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/files/__pycache__/user_config_file.cpython-310.pyc
o

��Jh��@s�ddlZddlZddlmZddlmZddlmZmZm	Z	ddl
mZmZm
Z
mZmZmZddlmZmZddlmZgd�ZGd	d
�d
e
�ZGdd�de�Ze��Ze�e	�e��ZGd
d�d�Zeej �Z!dS)�N)�Optional)�urlparse)�defaults�event_logger�util)�
BoolDataValue�
DataObject�
EnumDataValue�Field�IntDataValue�StringDataValue)�DataObjectFile�DataObjectFileFormat)�UAFile)�apt_http_proxy�apt_https_proxy�global_apt_http_proxy�global_apt_https_proxy�ua_apt_http_proxy�ua_apt_https_proxy�
http_proxy�https_proxyc@s eZdZdZdZdZdd�ZdS)�LXDGuestAttachEnum�on�off�	availablecCs|jS�N)�value)�self�r�A/usr/lib/python3/dist-packages/uaclient/files/user_config_file.py�__str__$szLXDGuestAttachEnum.__str__N)�__name__�
__module__�__qualname__�ON�OFF�	AVAILABLEr!rrrr rs
rc"@s|eZdZededd�ededd�ededd�ededd�ededd�ededd�ed	edd�ed
edd�ededd�ededd�ed
edd�ededd�ededd�ededd�ededd�ededd�gZ																dde	e
de	e
de	e
de	e
de	e
de	e
d	e	e
d
e	e
de	ede	e
d
e	ede	ede	ede	ede	e
de	ef dd�Z
dS)�UserConfigDatarF)�requiredrrrrrrr�apt_news�apt_news_url�poll_for_pro_license�polling_error_retry_delay�metering_timer�update_messaging_timer�vulnerability_data_url_prefix�lxd_guest_attachNcCsd||_||_||_||_||_||_||_||_|	|_|
|_	||_
||_|
|_||_
||_||_dSr)rrrrrrrrr*r+r,r-r.r/r0r1)rrrrrrrrrr*r+r,r-r.r/r0r1rrr �__init__>s 
zUserConfigData.__init__)NNNNNNNNNNNNNNNN)r"r#r$r
rrrr�fieldsr�str�bool�intr2rrrr r((s�����������	�
���
�����r(c@s`eZdZejfdefdd�Zedefdd��Z	dedefdd	�Z
defd
d�Zdefd
d�ZdS)�UserConfigFileObject�	directorycCsRtj}ttt|tj�|tj�dd�t	j
dd�|_ttt||dd�t	j
dd�|_dS)NT)�private)� optional_type_errors_become_nullF)
r�USER_CONFIG_FILEr
r(r�os�path�join�PRIVATE_SUBDIRr�JSON�_private�_public)rr8�	file_namerrr r2hs"��
�zUserConfigFileObject.__init__�returncCs|j��}|durt�}|Sr)rB�readr()r�
public_configrrr rF{s
z"UserConfigFileObject.public_config�user_configcCsF|��}tD]}|�|�}|rt|�}|js|jrd||<qt�|�S)Nz
<REDACTED>)�to_dict�PROXY_FIELDS�getr�username�passwordr(�	from_dict)rrG�redacted_data_dict�fieldr�
parsed_urlrrr �redact_config_data�s
�
z'UserConfigFileObject.redact_config_datacCs:t��r|j��}|dur|S|j��}|dur|St�Sr)r�we_are_currently_rootrArErBr()r�private_configrFrrr rE�s

zUserConfigFileObject.read�contentcCs&|j�|�|�|�}|j�|�dSr)rA�writerQrB)rrT�redacted_contentrrr rU�s
zUserConfigFileObject.writeN)
r"r#r$r�DEFAULT_DATA_DIRr4r2�propertyr(rFrQrErUrrrr r7gs�
�
r7)"�loggingr<�typingr�urllib.parser�uaclientrrr�uaclient.data_typesrrr	r
rr�uaclient.files.data_typesr
r�uaclient.files.filesrrIrr(�get_event_logger�event�	getLogger�replace_top_level_logger_namer"�LOGr7rWrGrrrr �<module>s 	;7