Your IP : 216.73.217.13


Current Path : /lib/python3/dist-packages/uaclient/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/uaclient/__pycache__/exceptions.cpython-38.pyc

U

8�-d96�@sTddlZddlmZmZmZddlmZddlmZddl	m
Z
Gdd�de�ZGdd	�d	e�Z
Gd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�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.d/�d/e�Z Gd0d1�d1e�Z!Gd2d3�d3e�Z"Gd4d5�d5e�Z#Gd6d7�d7e�Z$Gd8d9�d9e�Z%Gd:d;�d;e�Z&Gd<d=�d=e�Z'Gd>d?�d?e�Z(Gd@dA�dAe�Z)GdBdC�dCe�Z*GdDdE�dEe�Z+GdFdG�dGe�Z,GdHdI�dIe,�Z-GdJdK�dKe,�Z.GdLdM�dMe,�Z/GdNdO�dOe�Z0GdPdQ�dQe1�Z2GdRdS�dSe1�Z3GdTdU�dUe2�Z4GdVdW�dWe2�Z5GdXdY�dYe�Z6GdZd[�d[e�Z7Gd\d]�d]e7�Z8Gd^d_�d_e7�Z9Gd`da�dae�Z:Gdbdc�dce�Z;Gddde�dee�Z<Gdfdg�dge�Z=dS)h�N)�Any�Dict�Optional)�error)�messages)�PRINT_WRAP_WIDTHc@s:eZdZdZdZdeeeeeeefdd�dd�Z	dS)�UserFacingErrorz�
    An exception to be raised when an execution-ending error is encountered.

    :param msg:
        Takes a single parameter, which is the user-facing error message that
        should be emitted before exiting non-zero.
    �N)�msg�msg_code�additional_info�returncCs||_||_||_dS�N)r
rr)�selfr
rr�r�5/usr/lib/python3/dist-packages/uaclient/exceptions.py�__init__szUserFacingError.__init__)NN)
�__name__�
__module__�__qualname__�__doc__�	exit_code�strrrrrrrrrr	s��rcs&eZdZeedd��fdd�Z�ZS)�APTInstallErrorN)�name�service_msgr
cst�jtjjtjjd�dS�N�r
r)�superrrZAPT_INSTALL_FAILEDr
r)rrr��	__class__rrr s�zAPTInstallError.__init__�rrrrr�
__classcell__rrrrrsrcseZdZ�fdd�Z�ZS)�APTProcessConflictErrorcst�jtjjtjjd�dSr)rrrZAPT_PROCESS_CONFLICTr
r�rrrrr(s�z APTProcessConflictError.__init__�rrrrr"rrrrr#'sr#cs$eZdZedd��fdd�Z�ZS)�APTInvalidRepoErrorN��	error_msgr
cst�j|d�dS)N�r
)rr)rr(rrrr0szAPTInvalidRepoError.__init__r!rrrrr&/sr&cs"eZdZdd��fdd�Z�ZS)�APTUpdateProcessConflictErrorN�r
cst�jtjjtjjd�dSr)rrrZAPT_UPDATE_PROCESS_CONFLICTr
rr$rrrr5s�z&APTUpdateProcessConflictError.__init__r%rrrrr*4sr*cs$eZdZedd��fdd�Z�ZS)�APTUpdateInvalidRepoErrorN)�repo_msgr
cs&tjj|d�}t�j|j|jd�dS)N)r-r)rZAPT_UPDATE_INVALID_REPO�formatrrr
r)rr-r
rrrr=sz"APTUpdateInvalidRepoError.__init__r!rrrrr,<sr,cs*eZdZdeedd��fdd�
Z�ZS)�APTInstallProcessConflictErrorN)�
header_msgr
cs2|r|d7}tjj|d�}t�j|j|jd�dS)N�.
)r0r)rZAPT_INSTALL_PROCESS_CONFLICTr.rrr
r)rr0r
rrrrCs�z'APTInstallProcessConflictError.__init__)N)rrrrrrr"rrrrr/Bsr/cs,eZdZdeeedd��fdd�
Z�ZS)�APTInstallInvalidRepoErrorN)r-r0r
cs4|r|d7}tjj||d�}t�j|j|jd�dS)Nr1)r0r-r)rZAPT_INSTALL_INVALID_REPOr.rrr
r)rr-r0r
rrrrOs�z#APTInstallInvalidRepoError.__init__)N)rrrrrrr"rrrrr2Ns��r2cs&eZdZeedd��fdd�Z�ZS)�SnapdNotProperlyInstalledErrorN)�snap_cmd�servicer
cs(tjj||d�}t�j|j|jd�dS)N)r4r5r)rZSNAPD_NOT_PROPERLY_INSTALLEDr.rrr
r)rr4r5r
rrrr\s
�z'SnapdNotProperlyInstalledError.__init__r!rrrrr3[sr3cs"eZdZdd��fdd�Z�ZS)�CannotInstallSnapdErrorNr+cstj}t�j|j|jd�dSr)rZCANNOT_INSTALL_SNAPDrrr
r�rr
rrrresz CannotInstallSnapdError.__init__r%rrrrr6dsr6cs$eZdZedd��fdd�Z�ZS)�ErrorInstallingLivepatchNr'cs&tjj|d�}t�j|j|jd�dS)N�r(r)rZERROR_INSTALLING_LIVEPATCHr.rrr
r�rr(r
rrrrksz!ErrorInstallingLivepatch.__init__r!rrrrr8jsr8cs(eZdZeeedd��fdd�Z�ZS)�InvalidServiceToDisableErrorN)�	operation�invalid_servicerr
cs*tjj|||d�}t�j|j|jd�dS)N)r<r=rr)rZINVALID_SERVICE_OP_FAILUREr.rrr
r)rr<r=rr
rrrrqs�z%InvalidServiceToDisableError.__init__r!rrrrr;ps
�r;cs"eZdZed��fdd�Z�ZS)�ProxyNotWorkingError��proxycs$t�jtjj|d�jtjjd�dS�Nr?r)rrrZNOT_SETTING_PROXY_NOT_WORKINGr.r
r�rr@rrrr}s�zProxyNotWorkingError.__init__r!rrrrr>|sr>cs"eZdZed��fdd�Z�ZS)�ProxyInvalidUrlr?cs$t�jtjj|d�jtjjd�dSrA)rrrZNOT_SETTING_PROXY_INVALID_URLr.r
rrBrrrr�s�zProxyInvalidUrl.__init__r!rrrrrC�srCc@seZdZdZdZdS)�NonAutoAttachImageErrorz>Raised when machine isn't running an auto-attach enabled imagerN)rrrrrrrrrrD�srDcs*eZdZdZdZed��fdd�Z�ZS)�AlreadyAttachedErrorzDAn exception to be raised when a command needs an unattached system.���account_namecs&tjj|d�}t�j|j|jd�dS)NrGr)rZALREADY_ATTACHEDr.rrr
r)rrHr
rrrr�szAlreadyAttachedError.__init__)rrrrrrrr"rrrrrE�srEcs$eZdZdZdZ�fdd�Z�ZS)�AttachErrorz@An exception to be raised when we detect a generic attach error.r	cstj}t�j|j|jd�dSr)rZATTACH_FAILURErrr
rr7rrrr�szAttachError.__init__)rrrrrrr"rrrrrI�srIcs&eZdZeedd��fdd�Z�ZS)�AttachInvalidConfigFileErrorN)�config_namerr
cs2tjj||d�}t�jtj|jtd�|j	d�dS)N)rKr)�widthr)
rZATTACH_CONFIG_READ_ERRORr.rr�textwrapZfillr
rr)rrKrr
rrrr�s��z%AttachInvalidConfigFileError.__init__r!rrrrrJ�srJcseZdZ�fdd�Z�ZS)�AttachInvalidTokenErrorcst�jtjjtjjd�dSr)rrrZATTACH_INVALID_TOKENr
rr$rrrr�s�z AttachInvalidTokenError.__init__r%rrrrrN�srNcseZdZ�fdd�Z�ZS)�ConnectivityErrorcst�jtjjtjjd�dSr)rrrZCONNECTIVITY_ERRORr
rr$rrrr�s�zConnectivityError.__init__r%rrrrrO�srOcseZdZ�fdd�Z�ZS)� MagicAttachTokenAlreadyActivatedcstj}t�j|j|jd�dSr)rZ$MAGIC_ATTACH_TOKEN_ALREADY_ACTIVATEDrrr
rr7rrrr�s
�z)MagicAttachTokenAlreadyActivated.__init__r%rrrrrP�srPcseZdZ�fdd�Z�ZS)�MagicAttachTokenErrorcstj}t�j|j|jd�dSr)rZMAGIC_ATTACH_TOKEN_ERRORrrr
rr7rrrr�s
�zMagicAttachTokenError.__init__r%rrrrrQ�srQcs"eZdZed��fdd�Z�ZS)�MagicAttachInvalidEmail��emailcs&tjj|d�}t�j|j|jd�dS)NrSr)rZMAGIC_ATTACH_INVALID_EMAILr.rrr
r)rrTr
rrrr�s
�z MagicAttachInvalidEmail.__init__r!rrrrrR�srRcseZdZ�fdd�Z�ZS)�MagicAttachUnavailablecstj}t�j|j|jd�dSr)rZMAGIC_ATTACH_UNAVAILABLErrr
rr7rrrr�s
�zMagicAttachUnavailable.__init__r%rrrrrU�srUcseZdZ�fdd�Z�ZS)�MagicAttachInvalidParamcs(tjj||d�}t�j|j|jd�dS)N)�param�valuer)rZMAGIC_ATTACH_INVALID_PARAMr.rrr
r)rrWrXr
rrrr�s
�z MagicAttachInvalidParam.__init__r%rrrrrV�srVcs*eZdZdZeeed��fdd�Z�ZS)�
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
    ��lock_request�lock_holder�pidcs6||_||_tjj|||d�}t�j|j|jd�dS)NrZr)	r\r]rZLOCK_HELD_ERRORr.rrr
r)rr[r\r]r
rrrr�s�zLockHeldError.__init__)rrrrr�intrr"rrrrrY�srYcs eZdZdZ�fdd�Z�ZS)�MissingAptURLDirectivez@An exception for when the contract server doesn't include aptURLcs&tjj|d�}t�j|j|jd�dS)N��entitlement_namer)rZMISSING_APT_URL_DIRECTIVEr.rrr
r�rrar
rrrrs�zMissingAptURLDirective.__init__�rrrrrr"rrrrr_�sr_cs&eZdZdZdd��fdd�Z�ZS)�NonRootUserErrorz7An exception to be raised when a user needs to be root.Nr+cst�jtjjtjjd�dSr)rrrZNONROOT_USERr
rr$rrrrs�zNonRootUserError.__init__rcrrrrrd	srdcs0eZdZdZejfejdd��fdd�
Z�ZS)�UnattachedErrorz>An exception to be raised when a machine needs to be attached.N)r
r
cst�j|j|jd�dSr)rrr
rr7rrrrszUnattachedError.__init__)	rrrrrZ
UNATTACHEDZNamedMessagerr"rrrrres��recs*eZdZdZeedd��fdd�Z�ZS)�SecurityAPIMetadataErrorzDAn exception raised with Security API metadata returns invalid data.N)r
�issue_idr
cs&t��d|dtjj|d��dS)NzError: �
)Zissue)rrrZSECURITY_ISSUE_NOT_RESOLVEDr.)rr
rgrrrrs����z!SecurityAPIMetadataError.__init__)rrrrrrr"rrrrrfsrfcs"eZdZed��fdd�Z�ZS)�InvalidProImager9cs,||_tjj|d�}t�j|j|jd�dS)Nr)r)Zcontract_server_msgrZINVALID_PRO_IMAGEr.rrr
rr:rrrr(szInvalidProImage.__init__r!rrrrri'srics6eZdZdZdeeed��fdd�
Zdd�Z�ZS)	�GCPProAccountErrorz?An exception raised when GCP Pro service account is not enabledNrcs||_t��||�dSr)�coderr)rr
rrkrrrr1szGCPProAccountError.__init__cCsdj|j|jd�S)Nz(GCPProServiceAccount Error {code}: {msg})rkr
)r.rkr
r$rrr�__str__5s�zGCPProAccountError.__str__)N)	rrrrrrrrlr"rrrrrj.srjc@s eZdZeedd�dd�ZdS)�CloudFactoryErrorN)�
cloud_typer
cCs
||_dSr)rn)rrnrrrr<szCloudFactoryError.__init__)rrrrrrrrrrrm;srmc@seZdZdS)�CloudFactoryNoCloudErrorN�rrrrrrrro@sroc@seZdZdS)�!CloudFactoryUnsupportedCloudErrorNrprrrrrqDsrqc@seZdZdS)�CloudFactoryNonViableCloudErrorNrprrrrrrHsrrcs"eZdZed��fdd�Z�ZS)�EntitlementNotFoundErrorr`cs&tjj|d�}t�j|j|jd�dS)N)rr)rZENTITLEMENT_NOT_FOUNDr.rrr
rrbrrrrMsz!EntitlementNotFoundError.__init__r!rrrrrsLsrscs@eZdZdejeeeeeefeed��fdd�
Z	�Z
S)�UrlErrorN)�causerk�headers�urlcsRt|dd�rt|j�}nt|�}t��|�||_||_|jdkrHi|_||_dS)N�reason)�getattrrrxrrrkrvrw)rrurkrvrwZcause_errorrrrrSs
zUrlError.__init__)NNN)rrrrZURLErrorrr^rrrr"rrrrrtRs��rtcs0eZdZdeeeeedd��fdd�
Z�ZS)�ProcessExecutionErrorN�)�cmdr�stdout�stderrr
cs<||_||_||_|sd}nd}t��|j|||d��dS)Nz"Invalid command specified '{cmd}'.zEFailed running command '{cmd}' [exit({exit_code})]. Message: {stderr})r|r~r)r}r~rrrr.)rr|rr}r~Zmessage_tmplrrrrgs��zProcessExecutionError.__init__)Nr{r{)rrrrrr^rr"rrrrrzfs��rzcs:eZdZ�fdd�Zdd�Zd
dd�Z�fdd	�Z�ZS)�ContractAPIErrorcs.t��||j|j|j�|dkr$i}||_dSr)rrrkrvrw�	api_error�r�eZerror_responserrrr~szContractAPIError.__init__cCs0||j�d�krdS|j�dd��|�r,dSdS)NrkT�messager{F)r��get�
startswith�r�
error_coderrr�__contains__�s
zContractAPIError.__contains__NcCs |j�d�|kr|j�d�S|S)Nrkr�)r�r�)rr��defaultrrr�__get__�szContractAPIError.__get__cs2t���}|dt|j�dd|j�dd�S)N�: [�]�, r�r{)rrlrrwr�r�)r�prefixrrrrl�s
������zContractAPIError.__str__)N�rrrrr�r�rlr"rrrrr}s
rcs:eZdZ�fdd�Zdd�Zd
dd�Z�fdd	�Z�ZS)�SecurityAPIErrorcs*t��||j|j|j�|�dd�|_dS)Nr�r{)rrrkrvrwr�r�r�rrrr�szSecurityAPIError.__init__cCst||jk�Sr)�boolr�r�rrrr��szSecurityAPIError.__contains__NcCs||jkr|jS|Sr)r�)rZ	error_strr�rrrr��s
zSecurityAPIError.__get__csLt���}|jg}|r6|dt|j�dd�|�S|dt|j�dS)Nr�z] r�r�)rrlr�rrw�join)rr�Zdetailsrrrrl�s

 zSecurityAPIError.__str__)Nr�rrrrr��s
r�c@seZdZdS)�InPlaceUpgradeNotSupportedErrorNrprrrrr��sr�c@seZdZdS)�IsProLicensePresentErrorNrprrrrr��sr�c@seZdZdS)�CancelProLicensePollingNrprrrrr��sr�c@seZdZdS)�DelayProLicensePollingNrprrrrr��sr�cs&eZdZeedd��fdd�Z�ZS)�InvalidFileFormatErrorN)�	file_name�file_formatr
cs(tjj||d�}t�j|j|jd�dS)N)r�r�r)rZINVALID_FILE_FORMATr.rrr
r)rr�r�r
rrrr�s
�zInvalidFileFormatError.__init__r!rrrrr��sr�cs$eZdZeed��fdd�Z�ZS)�ParsingErrorOnOSReleaseFile��orig_ver�mod_vercs(tjj||d�}t�j|j|jd�dS)Nr�r)rZ ERROR_PARSING_VERSION_OS_RELEASEr.rrr
r)rr�r�r
rrrr�s
�z$ParsingErrorOnOSReleaseFile.__init__r!rrrrr��sr�cseZdZ�fdd�Z�ZS)�MissingSeriesOnOSReleaseFilecs&tjj|d�}t�j|j|jd�dS)N)�versionr)rZMISSING_SERIES_ON_OS_RELEASEr.rrr
r)rr�r
rrrr�sz%MissingSeriesOnOSReleaseFile.__init__r%rrrrr��sr�cseZdZ�fdd�Z�ZS)�InvalidLockFilecs&tjj|d�}t�j|j|jd�dS)N)�lock_file_pathr)rZINVALID_LOCK_FILEr.rrr
r)rr�r
rrrr�szInvalidLockFile.__init__r%rrrrr��sr�)>rM�typingrrrZurllibrZuaclientrZuaclient.defaultsr�	Exceptionrrr#r&r*r,r/r2r3r6r8r;r>rCrDrErIrJrNrOrPrQrRrUrVrYr_rdrerfrirjrmrorqrrrs�IOErrorrtrzrr�r�r�r�r�r�r�r�r�rrrr�<module>sj
	

				
		
"