HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/api/__pycache__/api.cpython-38.pyc
U

��Jh<�@sRddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZmZddl
mZmZmZddlmZddlmZddlmZmZdd	lmZd
ddd
ddddddddddddddddddd d!d"d#d$gZeeeee	eeefeefd%�d&d'�Zeeee	eeefeefd(�d)d*�Zd0eeeeeeeed+�d,d-�ZGd.d/�d/�ZdS)1�N)�
import_module)�Any�Callable�Dict�List�Optional�Tuple)�AbstractProgress�errors)�APIData�APIResponse�ErrorWarningObject)�UAConfig)�IncorrectFieldTypeError)�API_UNKNOWN_ARG�WARN_NEW_VERSION_AVAILABLE)�check_for_new_versionzu.pro.version.v1z,u.pro.attach.auto.configure_retry_service.v1z%u.pro.attach.auto.full_auto_attach.v1z'u.pro.attach.auto.should_auto_attach.v1z%u.pro.attach.guest.get_guest_token.v1zu.pro.attach.magic.initiate.v1zu.pro.attach.magic.revoke.v1zu.pro.attach.magic.wait.v1z'u.pro.attach.token.full_token_attach.v1zu.pro.detach.v1zu.pro.packages.summary.v1zu.pro.packages.updates.v1zu.pro.security.cves.v1z!u.pro.security.fix.cve.execute.v1zu.pro.security.fix.cve.plan.v1z!u.pro.security.fix.usn.execute.v1zu.pro.security.fix.usn.plan.v1z'u.pro.security.status.livepatch_cves.v1z(u.pro.security.status.reboot_required.v1zu.pro.services.dependencies.v1zu.pro.services.disable.v1zu.pro.services.enable.v1z u.pro.status.enabled_services.v1zu.pro.status.is_attached.v1zu.apt_news.current_news.v1zu.security.package_manifest.v1zu.unattended_upgrades.status.v1)�options�fields�returnc	Cs�i}g}|D]|}z|�d�\}}Wn tk
rBtj|d��YnX|rL|sXtj|d��||kr�|�ttj|d�jtj	id��|||<q||fS)N�=��arg��title�code�meta)
�split�
ValueErrorr
ZAPIBadArgsFormat�appendr
r�format�msg�name)rr�kwargs�warningsZoption�k�v�r'�2/usr/lib/python3/dist-packages/uaclient/api/api.py�_process_options+s&��
r))�datarrcCs�i}g}zt�|�}Wn$tjjk
r:tj|d��YnX|��D]8\}}||krt|�tt	j
|d�jt	jid��|||<qD||fS)N)r*rr)
�json�loads�decoderZJSONDecodeErrorr
ZAPIJSONDataFormatError�itemsrr
rr r!r")r*rr#r$Z	json_datar%r&r'r'r(�
_process_dataHs"��
r/)�
endpoint_pathrr*�cfg�progress_objectrc
Cs6|tkrt�tj|d��Std|�}|j}g}|j�rndd�|jjD�}z@|r`t||�\}	}
n|rtt	||�\}	}
n
ig}	}
|�
|
�Wn2tjk
r�}zt�|�WY�Sd}~XYnXz|j�|	�}Wn>t
k
�r}zt�tj|j|d��WY�Sd}~XYnXz*|j�r*|j|||d�}n|�||�}Wn2tk
�rj}zt�|�WY�Sd}~XYnXnx|�sz|�r�t�tj|d��Sz&|j�r�|j||d�}n
|�|�}Wn2tk
�r�}zt�|�WY�Sd}~XYnXt�}
|
�r|�ttj|
d�jtjid��t|j|j|t|j||jd	�d
�S)N)�endpointz
uaclient.api.cSsg|]
}|j�qSr')�key)�.0�fr'r'r(�
<listcomp>uszcall_api.<locals>.<listcomp>)rr3)r2)�versionr)�typeZ
attributesr)Z_schema_versionr$r*) �VALID_ENDPOINTSr
Z	error_outZAPIInvalidEndpointrr3�options_clsrr)r/�extendZAPIErrorZ	from_dictrZ
APIMissingArgr4�supports_progress�fn�	ExceptionZAPINoArgsForEndpointrrr
rr r!r"rr8r$rr)r0rr*r1r2�moduler3Zoption_warningsrr#r$�e�resultZnew_versionr'r'r(�call_apibs�
�
 ��"
� ���
��rCc@s"eZdZdeeeed�dd�ZdS)�APIEndpointF)r8r"r>r=cCs"||_||_||_||_||_dS)N)r8r"r>r;r=)�selfr8r"r>r;r=r'r'r(�__init__�s
zAPIEndpoint.__init__N)F)�__name__�
__module__�__qualname__�strr�boolrFr'r'r'r(rD�s��rD)N) r+�	importlibr�typingrrrrrrZuaclient.apir	r
Zuaclient.api.data_typesrrr
Zuaclient.configrZuaclient.data_typesrZuaclient.messagesrrZuaclient.versionrr:rJr)r/rCrDr'r'r'r(�<module>sl � ����T