HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/usr/lib/python3/dist-packages/uaclient/__pycache__/exceptions.cpython-310.pyc
o

nHJew:�@s(ddlmZmZmZddlmZGdd�de�ZGdd�de�ZGdd�de�Z	Gd	d
�d
e�Z
Gdd�de�ZGd
d�de�Z
Gdd�de�ZeZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�ZGd#d$�d$e�ZGd%d&�d&e�ZGd'd(�d(e�ZGd)d*�d*e�ZGd+d,�d,e�ZGd-d.�d.e�ZGd/d0�d0e�ZGd1d2�d2e�Z Gd3d4�d4e�Z!Gd5d6�d6e�Z"Gd7d8�d8e�Z#Gd9d:�d:e�Z$Gd;d<�d<e�Z%Gd=d>�d>e�Z&Gd?d@�d@e�Z'GdAdB�dBe'�Z(GdCdD�dDe'�Z)GdEdF�dFe�Z*GdGdH�dHe�Z+GdIdJ�dJe�Z,GdKdL�dLe�Z-GdMdN�dNe�Z.GdOdP�dPe�Z/GdQdR�dRe�Z0GdSdT�dTe�Z1GdUdV�dVe�Z2GdWdX�dXe�Z3GdYdZ�dZe�Z4Gd[d\�d\e�Z5Gd]d^�d^e�Z6Gd_d`�d`e�Z7Gdadb�dbe�Z8Gdcdd�dde�Z9Gdedf�dfe�Z:Gdgdh�dhe�Z;Gdidj�dje�Z<Gdkdl�dle�Z=Gdmdn�dne�Z>Gdodp�dpe>�Z?Gdqdr�dre>�Z@Gdsdt�dte�ZAGdudv�dve�ZBGdwdx�dxe�ZCGdydz�dze�ZDGd{d|�d|e�ZEGd}d~�d~e�ZFGdd��d�eF�ZGGd�d��d�e�ZHGd�d��d�e�ZIGd�d��d�eI�ZJGd�d��d�eI�ZKGd�d��d�eI�ZLGd�d��d�e�ZMGd�d��d�e�ZNGd�d��d�e�ZOGd�d��d�e�ZPGd�d��d�e�ZQGd�d��d�e�ZRGd�d��d�e�ZSGd�d��d�e�ZTGd�d��d�e�ZUGd�d��d�e�ZVGd�d��d�e�ZWGd�d��d�e�ZXGd�d��d�e�ZYGd�d��d�e�ZZGd�d��d�e�Z[Gd�d��d�e�Z\Gd�d��d�e�Z]Gd�d��d�e�Z^Gd�d��d�e�Z_Gd�d��d�e�Z`Gd�d��d�e�ZaGd�d��d�e�ZbGd�d��d�e�ZcGd�d��d�e�ZdGd�d��d�e�ZeGd�d��d�e�ZfGd�d��d�e�ZgGd�d„d�e�Zhd�S)��)�List�Optional�Tuple)�messagesc@�eZdZdS)�InPlaceUpgradeNotSupportedErrorN��__name__�
__module__�__qualname__�rr�5/usr/lib/python3/dist-packages/uaclient/exceptions.pyr�rc@r)�IsProLicensePresentErrorNrrrrr
r
rrc@r)�CancelProLicensePollingNrrrrr
rrrc@r)�DelayProLicensePollingNrrrrr
rrrcs&eZdZdedef�fdd�Z�ZS)�UrlError�cause�urlcs:t|dd�rtt|d��}nt|�}t��|�||_dS)N�reason)�getattr�str�super�__init__r)�selfrr�cause_error��	__class__rr
rs

zUrlError.__init__)r	r
r�	Exceptionrr�
__classcell__rrrr
rs��rcs>eZdZ			d
dedeedededdf
�fdd	�
Z�ZS)�ProcessExecutionErrorN��cmd�	exit_code�stdout�stderr�returncsH||_||_||_|stjj|d�}n	tjj|||d�}t��|�dS)N)r")r"r#r%)	r$r%r#r�SUBP_INVALID_COMMAND�format�SUBP_COMMAND_FAILEDrr)rr"r#r$r%�messagerrr
r%s�zProcessExecutionError.__init__)Nr!r!)r	r
rrr�intrrrrrr
r $s������r c@sFeZdZdZdZdZdZd
dd�Zedd��Z	ed	d
��Z
dd�ZdS)�UbuntuProErrorzu
    Base class for all of our custom errors.
    All possible exceptions from our API should extend this class.
    N�r&cKsP|jdur|jjdi|��|_n|j|_||_|��D]
\}}t|||�qdS�Nr)�_formatted_msgr(�	named_msg�_msg�additional_info�items�setattr)r�kwargs�key�valuerrr
rCs


��zUbuntuProError.__init__cC�|jjS�N�r0�msg�rrrr
r;P�zUbuntuProError.msgcCr8r9)r0�namer<rrr
�msg_codeTr=zUbuntuProError.msg_codecCr8r9r:r<rrr
�__str__XszUbuntuProError.__str__�r&N)r	r
r�__doc__r1r/r#r�propertyr;r?r@rrrr
r,8s


r,cs(eZdZdZdejf�fdd�Z�ZS)�AnonymousUbuntuProErrorz�
    For cases where we have a NamedMessage of an Error already but it isn't in
    exception form, and we need to raise it as an exception. This generally
    should only be used in cli-only code.
    r0c�t�jdi|��||_dSr.)rrr0)rr0r5rrr
ri�
z AnonymousUbuntuProError.__init__)r	r
rrBr�NamedMessagerrrrrr
rDbsrDc@�eZdZejZdS)�APTProcessConflictErrorN)r	r
rr�E_APT_PROCESS_CONFLICTr1rrrr
rIs�
rIc@rH)�APTInvalidRepoErrorN)r	r
rr�E_APT_UPDATE_INVALID_URL_CONFIGr/rrrr
rLwrKrLc@rH)�APTUpdateProcessConflictErrorN)r	r
rr�E_APT_UPDATE_PROCESS_CONFLICTr1rrrr
rN{rKrNc@rH)�APTUpdateInvalidRepoErrorN)r	r
rr�E_APT_UPDATE_INVALID_REPOr/rrrr
rPrKrPc@rH)�APTUpdateFailedN)r	r
rr�E_APT_UPDATE_FAILEDr/rrrr
rR�rKrRc@rH)�APTInstallProcessConflictErrorN)r	r
rr�E_APT_INSTALL_PROCESS_CONFLICTr1rrrr
rT�rKrTc@rH)�APTInstallInvalidRepoErrorN)r	r
rr�E_APT_INSTALL_INVALID_REPOr/rrrr
rV�rKrVc@rH)�APTInvalidCredentialsN)r	r
rr�E_APT_INVALID_CREDENTIALSr/rrrr
rX�rKrXc@rH)�
APTTimeoutN)r	r
rr�
E_APT_TIMEOUTr/rrrr
rZ�rKrZc@rH)�APTUnexpectedErrorN)r	r
rr�E_APT_UNEXPECTED_ERRORr/rrrr
r\�rKr\c@rH)�APTCommandTimeoutN)r	r
rr�E_APT_COMMAND_TIMEOUTr/rrrr
r^�rKr^c@rH)�SnapNotInstalledErrorN)r	r
rr�E_SNAP_NOT_INSTALLED_ERRORr/rrrr
r`�rKr`c@rH)�UnexpectedSnapdAPIErrorN)r	r
rr�E_UNEXPECTED_SNAPD_API_ERRORr/rrrr
rb�rKrbc@rH)�SnapdAPIConnectionRefusedN)r	r
rr�E_SNAPD_CONNECTION_REFUSEDr1rrrr
rd�rKrdc@rH)�CannotInstallSnapdErrorN)r	r
rr�E_CANNOT_INSTALL_SNAPDr1rrrr
rf�rKrfc@rH)�ErrorInstallingLivepatchN)r	r
rr�E_ERROR_INSTALLING_LIVEPATCHr/rrrr
rh�rKrhc@rH)�ProxyNotWorkingErrorN)r	r
rr�E_NOT_SETTING_PROXY_NOT_WORKINGr/rrrr
rj�rKrjc@rH)�ProxyInvalidUrlN)r	r
rr�E_NOT_SETTING_PROXY_INVALID_URLr/rrrr
rl�rKrlc@rH)�PycurlRequiredErrorN)r	r
rr�E_PYCURL_REQUIREDr1rrrr
rn�rKrnc@rH)�PycurlErrorN)r	r
rr�E_PYCURL_ERRORr/rrrr
rp�rKrpc@rH)�ProxyAuthenticationFailedN)r	r
rr�E_PROXY_AUTH_FAILr1rrrr
rr�rKrrc@rH)�ConnectivityErrorN)r	r
rr�E_CONNECTIVITY_ERRORr1rrrr
rt�rKrtc@s&eZdZejZdZdZdZdd�Z	dS)�ExternalAPIErrorNcCsd�|j|j|j�S)Nz{}: [{}], {})r(�coder�bodyr<rrr
r@�szExternalAPIError.__str__)
r	r
rr�E_EXTERNAL_API_ERRORr/rwrrxr@rrrr
rv�srvc@r)�ContractAPIErrorNrrrrr
rz�rrzc@r)�SecurityAPIErrorNrrrrr
r{�rr{cs$eZdZejZd�fdd�Z�ZS)�PycurlCACertificatesErrorr&NcrEr.)rrr)rrr5rrr
r�rFz"PycurlCACertificatesError.__init__rA)r	r
rr�E_PYCURL_CA_CERTIFICATESr1rrrrrr
r|�sr|c@rH)�InvalidServiceOpErrorN�r	r
rr�E_INVALID_SERVICE_OP_FAILUREr/rrrr
r~�rKr~c@�eZdZdZdZejZdS)�AlreadyAttachedErrorzDAn exception to be raised when a command needs an unattached system.�N)r	r
rrBr#r�E_ALREADY_ATTACHEDr/rrrr
r���
r�c@r�)�AttachErrorz@An exception to be raised when we detect a generic attach error.r-N)r	r
rrBr#r�E_ATTACH_FAILUREr1rrrr
r��r�r�c@rH)�AttachInvalidConfigFileErrorN)r	r
rr�E_ATTACH_CONFIG_READ_ERRORr/rrrr
r�rKr�c@rH)�AttachInvalidTokenErrorN)r	r
rr�E_ATTACH_INVALID_TOKENr1rrrr
r�
rKr�c@rH)�AttachForbiddenExpiredN)r	r
rr�E_ATTACH_FORBIDDEN_EXPIREDr/rrrr
r�rKr�c@rH)�AttachForbiddenNotYetN)r	r
rr�E_ATTACH_FORBIDDEN_NOT_YETr/rrrr
r�rKr�c@rH)�AttachForbiddenNeverN)r	r
rr�E_ATTACH_FORBIDDEN_NEVERr/rrrr
r�rKr�c@rH)�AttachExpiredTokenN)r	r
rr�E_ATTACH_EXPIRED_TOKENr1rrrr
r�rKr�c@rH)� MagicAttachTokenAlreadyActivatedN)r	r
rr�&E_MAGIC_ATTACH_TOKEN_ALREADY_ACTIVATEDr1rrrr
r�rKr�c@rH)�MagicAttachTokenErrorN)r	r
rr�E_MAGIC_ATTACH_TOKEN_ERRORr1rrrr
r�"rKr�c@rH)�MagicAttachUnavailableN)r	r
rr�E_MAGIC_ATTACH_UNAVAILABLEr1rrrr
r�&rKr�c@rH)�MagicAttachInvalidParamN)r	r
rr�E_MAGIC_ATTACH_INVALID_PARAMr/rrrr
r�*rKr�c@�eZdZdZejZdS)�MissingAptURLDirectivez@An exception for when the contract server doesn't include aptURLN)r	r
rrBr�E_MISSING_APT_URL_DIRECTIVEr/rrrr
r�.�
r�c@r�)�UnattachedErrorz>An exception to be raised when a machine needs to be attached.N)r	r
rrBr�E_UNATTACHEDr1rrrr
r�4r�r�c@rH)�UnattachedValidServicesErrorN)r	r
rr�"E_VALID_SERVICE_FAILURE_UNATTACHEDr/rrrr
r�:rKr�c@rH)�UnattachedMixedServicesErrorN)r	r
rr�#E_MIXED_SERVICES_FAILURE_UNATTACHEDr/rrrr
r�>rKr�c@rH)�UnattachedInvalidServicesErrorNrrrrr
r�BrKr�c@rH)�EntitlementNotFoundErrorN)r	r
rr�E_ENTITLEMENT_NOT_FOUNDr/rrrr
r�FrKr�cs:eZdZdZejZdeee	ej
ff�fdd�Z�ZS)�EntitlementsNotEnabledError��failed_servicescs$dd�|D�}t�jd|id�dS)NcSs(g|]}|d|dj|djd��qS)rr-)r>rw�title)r>r;)�.0�frrr
�
<listcomp>Rs��z8EntitlementsNotEnabledError.__init__.<locals>.<listcomp>�services)r2)rr)rr��
info_dictsrrr
rOs�
�z$EntitlementsNotEnabledError.__init__)
r	r
rr#r� E_ENTITLEMENTS_NOT_ENABLED_ERRORr1rrrrGrrrrrr
r�Js�r�c@rH)�AttachFailureDefaultServicesN)r	r
rr�!E_ATTACH_FAILURE_DEFAULT_SERVICESr1rrrr
r�[rKr�c@rH)�AttachFailureUnknownErrorN)r	r
rr�E_ATTACH_FAILURE_UNEXPECTEDr1rrrr
r�_rKr�c@rH)�RepoNoAptKeyN)r	r
rr�E_REPO_NO_APT_KEYr/rrrr
r�crKr�c@rH)�RepoNoSuitesN)r	r
rr�E_REPO_NO_SUITESr/rrrr
r�grKr�c@rH)�RepoPinFailNoOriginN)r	r
rr�E_REPO_PIN_FAIL_NO_ORIGINr/rrrr
r�krKr�c@rH)� InvalidContractDeltasServiceTypeN)r	r
rr�&E_INVALID_CONTRACT_DELTAS_SERVICE_TYPEr/rrrr
r�orKr�c@seZdZejZdZdS)�InvalidProImageN)r	r
rr�E_INVALID_PRO_IMAGEr/�	error_msgrrrr
r�xsr�c@rH)�CloudMetadataErrorN)r	r
rr�E_CLOUD_METADATA_ERRORr/rrrr
r�}rKr�c@r�)�GCPServiceAccountErrorz;An exception raised when GCP service account is not enabledN)r	r
rrBr�$E_GCP_SERVICE_ACCT_NOT_ENABLED_ERRORr/rrrr
r��r�r�c@rH)�AWSNoValidIMDSN)r	r
rr�E_AWS_NO_VALID_IMDSr/rrrr
r��rKr�c@r)�CloudFactoryErrorNrrrrr
r��rr�c@rH)�CloudFactoryNoCloudErrorN)r	r
rr� E_UNABLE_TO_DETERMINE_CLOUD_TYPEr1rrrr
r��rKr�c@rH)�CloudFactoryNonViableCloudErrorN)r	r
rr�E_UNSUPPORTED_AUTO_ATTACHr1rrrr
r��rKr�c@r�)�NonAutoAttachImageErrorz>Raised when machine isn't running an auto-attach enabled imagerN)r	r
rrBr#r�$E_UNSUPPORTED_AUTO_ATTACH_CLOUD_TYPEr/rrrr
r��r�r�c@rH)�InvalidFileFormatErrorN)r	r
rr�E_INVALID_FILE_FORMATr/rrrr
r��rKr�c@rH)�ParsingErrorOnOSReleaseFileN)r	r
rr�"E_ERROR_PARSING_VERSION_OS_RELEASEr/rrrr
r��rKr�c@rH)�MissingSeriesOnOSReleaseFileN)r	r
rr�E_MISSING_SERIES_ON_OS_RELEASEr/rrrr
r��rKr�c@rH)�InvalidLockFileN)r	r
rr�E_INVALID_LOCK_FILEr/rrrr
r��rKr�c@rH)�InvalidJsonN)r	r
rr�E_JSON_PARSER_ERRORr/rrrr
r��rKr�c@rH)�InvalidBooleanConfigValueN)r	r
rr�E_INVALID_BOOLEAN_CONFIG_VALUEr/rrrr
r��rKr�c@rH)�InvalidPosIntConfigValueN)r	r
rr�"E_CLI_CONFIG_VALUE_MUST_BE_POS_INTr/rrrr
r��rKr�c@rH)�InvalidURLConfigValueN)r	r
rr�E_CONFIG_INVALID_URLr/rrrr
r��rKr�c@rH)�InvalidFeatureYamlConfigValueN)r	r
rr�E_CONFIG_NO_YAML_FILEr/rrrr
r��rKr�c@rH)�InvalidProxyCombinationConfigN)r	r
rr�E_INVALID_PROXY_COMBINATIONr1rrrr
r��rKr�c@rH)�MissingDistroInfoFileN)r	r
rr�E_MISSING_DISTRO_INFO_FILEr1rrrr
r��rKr�c@rH)�MissingSeriesInDistroInfoFileN)r	r
rr�$E_MISSING_SERIES_IN_DISTRO_INFO_FILEr/rrrr
r��rKr�c@rH)�InvalidOptionCombinationN)r	r
rr�E_INVALID_OPTION_COMBINATIONr/rrrr
r��rKr�c@rH)�
NoHelpContentN)r	r
rr�
E_CLI_NO_HELPr/rrrr
r��rKr�c@rH)�InvalidSecurityIssueIdFormatN)r	r
rr�#E_SECURITY_FIX_CLI_ISSUE_REGEX_FAILr/rrrr
r��rKr�c@rH)�InvalidArgChoiceN)r	r
rr�E_CLI_VALID_CHOICESr/rrrr
r��rKr�c@rH)�GenericInvalidFormatN)r	r
rr�E_CLI_EXPECTED_FORMATr/rrrr
r��rKr�c@rH)�RefreshConfigFailureN)r	r
rr�E_REFRESH_CONFIG_FAILUREr1rrrr
r��rKr�c@rH)�RefreshContractFailureN)r	r
rr�E_REFRESH_CONTRACT_FAILUREr1rrrr
r��rKr�c@rH)�RefreshMessagesFailureN)r	r
rr�E_REFRESH_MESSAGES_FAILUREr1rrrr
r��rKr�c@rH)�CLIJSONFormatRequireAssumeYesN)r	r
rr� E_JSON_FORMAT_REQUIRE_ASSUME_YESr1rrrr
r��rKr�c@rH)�CLIAttachTokenArgXORConfigN)r	r
rr�E_ATTACH_TOKEN_ARG_XOR_CONFIGr1rrrr
r��rKr�c@rH)�CLIAPIOptionsXORDataN)r	r
rr�"E_API_ERROR_ARGS_AND_DATA_TOGETHERr1rrrr
r�rKr�c@seZdZdZejZdZdS)�
LockHeldErroraAn exception for when another pro operation is in progress

    :param lock_request: String of the command requesting the lock
    :param lock_holder: String of the command that currently holds the lock
    :param pid: Integer of the process id of the lock_holder
    N)r	r
rrBr�E_LOCK_HELD_ERRORr/�pidrrrr
r�	sr�c@r�)�NonRootUserErrorz7An exception to be raised when a user needs to be root.N)r	r
rrBr�E_NONROOT_USERr1rrrr
rr�rc@r�)�SecurityAPIMetadataErrorzDAn exception raised with Security API metadata returns invalid data.N)r	r
rrBr�E_SECURITY_API_INVALID_METADATAr/rrrr
rr�rc@rH)�SecurityIssueNotFoundN)r	r
rr�E_SECURITY_FIX_NOT_FOUND_ISSUEr/rrrr
r!rKrc@rH)�GPGKeyNotFoundN)r	r
rr�E_GPG_KEY_NOT_FOUNDr/rrrr
r%rKrN)i�typingrrr�uaclientrrrrrr�IOErrorrr r,�UserFacingErrorrDrIrLrNrPrRrTrVrXrZr\r^r`rbrdrfrhrjrlrnrprrrtrvrzr{r|r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrr
�<module>s�'