o
    ÙKÕi$I  ã                   @   sŽ  d dl mZmZmZ d dlmZ G dd„ deƒZG dd„ deƒZG dd„ deƒZ	G d	d
„ d
eƒZ
G dd„ deƒZG dd„ deƒZeZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eƒZG d#d$„ d$eƒZG d%d&„ d&eƒZG d'd(„ d(eƒZG d)d*„ d*eƒZG d+d,„ d,eƒZG d-d.„ d.eƒZG d/d0„ d0eƒZG d1d2„ d2eƒZ G d3d4„ d4eƒZ!G d5d6„ d6eƒZ"G d7d8„ d8eƒZ#G d9d:„ d:eƒZ$G d;d<„ d<eƒZ%G d=d>„ d>eƒZ&G d?d@„ d@e&ƒZ'G dAdB„ dBe&ƒZ(G dCdD„ dDeƒZ)G dEdF„ dFeeƒZ*e*Z+G dGdH„ dHeƒZ,G dIdJ„ dJeƒZ-G dKdL„ dLeƒZ.G dMdN„ dNeƒZ/G dOdP„ dPeƒZ0G dQdR„ dReƒZ1G dSdT„ dTeƒZ2G dUdV„ dVeƒZ3G dWdX„ dXeƒZ4G dYdZ„ dZeƒZ5G d[d\„ d\eƒZ6G d]d^„ d^eƒZ7G d_d`„ d`eƒZ8G dadb„ dbeƒZ9G dcdd„ ddeƒZ:G dedf„ dfeƒZ;G dgdh„ dheƒZ<G didj„ djeƒZ=G dkdl„ dleƒZ>G dmdn„ dneƒZ?G dodp„ dpeƒZ@G dqdr„ dreƒZAG dsdt„ dteƒZBG dudv„ dve@ƒZCG dwdx„ dxe@ƒZDG dydz„ dzeƒZEG d{d|„ d|eƒZFG d}d~„ d~eƒZGG dd€„ d€eƒZHG d�d‚„ d‚eƒZIG dƒd„„ d„eƒZJG d…d†„ d†eƒZKG d‡dˆ„ dˆeƒZLG d‰dŠ„ dŠeƒZMG d‹dŒ„ dŒeƒZNG d�dŽ„ dŽeƒZOG d�d�„ d�eƒZPG d‘d’„ d’eƒZQG d“d”„ d”eQƒZRG d•d–„ d–eƒZSG d—d˜„ d˜eƒZTG d™dš„ dšeTƒZUG d›dœ„ dœeTƒZVG d�dž„ džeTƒZWG dŸd „ d eƒZXG d¡d¢„ d¢eƒZYG d£d¤„ d¤eƒZZG d¥d¦„ d¦eƒZ[G d§d¨„ d¨eƒZ\G d©dª„ dªeƒZ]G d«d¬„ d¬eƒZ^G d­d®„ d®eƒZ_G d¯d°„ d°eƒZ`G d±d²„ d²eƒZaG d³d´„ d´eƒZbG dµd¶„ d¶eƒZcG d·d¸„ d¸eƒZdG d¹dº„ dºeƒZeG d»d¼„ d¼eƒZfG d½d¾„ d¾eƒZgG d¿dÀ„ dÀeƒZhG dÁdÂ„ dÂeƒZiG dÃdÄ„ dÄeƒZjG dÅdÆ„ dÆeƒZkG dÇdÈ„ dÈeƒZlG dÉdÊ„ dÊeƒZmG dËdÌ„ dÌeƒZnG dÍdÎ„ dÎeƒZoG dÏdÐ„ dÐeƒZpG dÑdÒ„ dÒeƒZqG dÓdÔ„ dÔeƒZrG dÕdÖ„ dÖeƒZsG d×dØ„ dØeƒZtG dÙdÚ„ dÚeƒZuG dÛdÜ„ dÜeƒZvG dÝdÞ„ dÞeƒZwG dßdà„ dàeƒZxG dádâ„ dâeƒZyG dãdä„ däeƒZzG dådæ„ dæeƒZ{G dçdè„ dèeƒZ|G dédê„ dêeƒZ}G dëdì„ dìeƒZ~G dídî„ dîeƒZdïS )ðé    )ÚListÚOptionalÚTuple)Úmessagesc                   @   ó   e Zd ZdS )ÚInPlaceUpgradeNotSupportedErrorN©Ú__name__Ú
__module__Ú__qualname__© r   r   ú5/usr/lib/python3/dist-packages/uaclient/exceptions.pyr      ó    r   c                   @   r   )ÚIsProLicensePresentErrorNr   r   r   r   r   r   
   r   r   c                   @   r   )ÚCancelProLicensePollingNr   r   r   r   r   r      r   r   c                   @   r   )ÚDelayProLicensePollingNr   r   r   r   r   r      r   r   c                       s>   e Zd Z			d
dedee dededdf
‡ fdd	„Z‡  ZS )ÚProcessExecutionErrorNÚ ÚcmdÚ	exit_codeÚstdoutÚstderrÚreturnc                    sH   || _ || _|| _|stjj|d�}n	tjj|||d�}tƒ  |¡ d S )N)r   )r   r   r   )	r   r   r   r   ÚSUBP_INVALID_COMMANDÚformatÚSUBP_COMMAND_FAILEDÚsuperÚ__init__)Úselfr   r   r   r   Úmessage©Ú	__class__r   r   r      s   ÿzProcessExecutionError.__init__)Nr   r   )r	   r
   r   Ústrr   Úintr   Ú__classcell__r   r   r    r   r      s    ûþýüûúr   c                   @   sF   e Zd ZdZdZdZdZddd„Zedd„ ƒZ	ed	d
„ ƒZ
dd„ ZdS )ÚUbuntuProErrorzu
    Base class for all of our custom errors.
    All possible exceptions from our API should extend this class.
    Né   r   c                 K   sP   | j d ur| j jdi |¤Ž| _n| j| _|| _| ¡ D ]
\}}t| ||ƒ qd S ©Nr   )Ú_formatted_msgr   Ú	named_msgÚ_msgÚadditional_infoÚitemsÚsetattr)r   ÚkwargsÚkeyÚvaluer   r   r   r   5   s   


ÿÿzUbuntuProError.__init__c                 C   ó   | j jS ©N©r)   Úmsg©r   r   r   r   r4   B   ó   zUbuntuProError.msgc                 C   r1   r2   )r)   Únamer5   r   r   r   Úmsg_codeF   r6   zUbuntuProError.msg_codec                 C   r1   r2   r3   r5   r   r   r   Ú__str__J   s   zUbuntuProError.__str__©r   N)r	   r
   r   Ú__doc__r*   r(   r   r   Úpropertyr4   r8   r9   r   r   r   r   r%   *   s    


r%   c                       s(   e Zd ZdZdejf‡ fdd„Z‡  ZS )Ú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.
    r)   c                    ó   t ƒ jdi |¤Ž || _d S r'   )r   r   r)   )r   r)   r.   r    r   r   r   [   ó   
z AnonymousUbuntuProError.__init__)r	   r
   r   r;   r   ÚNamedMessager   r$   r   r   r    r   r=   T   s    r=   c                   @   ó   e Zd ZejZdS )ÚAPTProcessConflictErrorN)r	   r
   r   r   ÚE_APT_PROCESS_CONFLICTr*   r   r   r   r   rB   e   ó    
rB   c                   @   rA   )ÚAPTInvalidRepoErrorN)r	   r
   r   r   ÚE_APT_UPDATE_INVALID_URL_CONFIGr(   r   r   r   r   rE   i   rD   rE   c                   @   rA   )ÚAPTUpdateProcessConflictErrorN)r	   r
   r   r   ÚE_APT_UPDATE_PROCESS_CONFLICTr*   r   r   r   r   rG   m   rD   rG   c                   @   rA   )ÚAPTUpdateInvalidRepoErrorN)r	   r
   r   r   ÚE_APT_UPDATE_INVALID_REPOr(   r   r   r   r   rI   q   rD   rI   c                   @   rA   )ÚAPTUpdateFailedN)r	   r
   r   r   ÚE_APT_UPDATE_FAILEDr(   r   r   r   r   rK   u   rD   rK   c                   @   rA   )ÚAPTInstallProcessConflictErrorN)r	   r
   r   r   ÚE_APT_INSTALL_PROCESS_CONFLICTr*   r   r   r   r   rM   y   rD   rM   c                   @   rA   )ÚAPTInstallInvalidRepoErrorN)r	   r
   r   r   ÚE_APT_INSTALL_INVALID_REPOr(   r   r   r   r   rO   }   rD   rO   c                   @   rA   )ÚAPTInvalidCredentialsN)r	   r
   r   r   ÚE_APT_INVALID_CREDENTIALSr(   r   r   r   r   rQ   �   rD   rQ   c                   @   rA   )Ú
APTTimeoutN)r	   r
   r   r   ÚE_APT_TIMEOUTr(   r   r   r   r   rS   …   rD   rS   c                   @   rA   )ÚAPTUnexpectedErrorN)r	   r
   r   r   ÚE_APT_UNEXPECTED_ERRORr(   r   r   r   r   rU   ‰   rD   rU   c                   @   rA   )ÚAPTCommandTimeoutN)r	   r
   r   r   ÚE_APT_COMMAND_TIMEOUTr(   r   r   r   r   rW   �   rD   rW   c                   @   rA   )ÚSnapNotInstalledErrorN)r	   r
   r   r   ÚE_SNAP_NOT_INSTALLED_ERRORr(   r   r   r   r   rY   –   rD   rY   c                   @   rA   )ÚUnexpectedSnapdAPIErrorN)r	   r
   r   r   ÚE_UNEXPECTED_SNAPD_API_ERRORr(   r   r   r   r   r[   š   rD   r[   c                   @   rA   )ÚSnapdAPIConnectionRefusedN)r	   r
   r   r   ÚE_SNAPD_CONNECTION_REFUSEDr*   r   r   r   r   r]   ž   rD   r]   c                   @   rA   )ÚCannotInstallSnapdErrorN)r	   r
   r   r   ÚE_CANNOT_INSTALL_SNAPDr*   r   r   r   r   r_   ¢   rD   r_   c                   @   rA   )ÚErrorInstallingLivepatchN)r	   r
   r   r   ÚE_ERROR_INSTALLING_LIVEPATCHr(   r   r   r   r   ra   ¦   rD   ra   c                   @   rA   )Ú
InvalidUrlN)r	   r
   r   r   ÚE_INVALID_URLr(   r   r   r   r   rc   ¯   rD   rc   c                   @   rA   )ÚProxyNotWorkingErrorN)r	   r
   r   r   ÚE_NOT_SETTING_PROXY_NOT_WORKINGr(   r   r   r   r   re   ³   rD   re   c                   @   rA   )ÚProxyInvalidUrlN)r	   r
   r   r   ÚE_NOT_SETTING_PROXY_INVALID_URLr(   r   r   r   r   rg   ·   rD   rg   c                   @   rA   )ÚPycurlRequiredErrorN)r	   r
   r   r   ÚE_PYCURL_REQUIREDr*   r   r   r   r   ri   »   rD   ri   c                   @   rA   )ÚPycurlErrorN)r	   r
   r   r   ÚE_PYCURL_ERRORr(   r   r   r   r   rk   ¿   rD   rk   c                   @   rA   )ÚProxyAuthenticationFailedN)r	   r
   r   r   ÚE_PROXY_AUTH_FAILr*   r   r   r   r   rm   Ã   rD   rm   c                   @   s&   e Zd ZejZdZdZdZdd„ Z	dS )ÚExternalAPIErrorNc                 C   s   d  | j| j| j¡S )Nz{}: [{}], {})r   ÚcodeÚurlÚbodyr5   r   r   r   r9   Í   s   zExternalAPIError.__str__)
r	   r
   r   r   ÚE_EXTERNAL_API_ERRORr(   rp   rq   rr   r9   r   r   r   r   ro   Ç   s    ro   c                   @   r   )ÚContractAPIErrorNr   r   r   r   r   rt   Ñ   r   rt   c                   @   r   )ÚSecurityAPIErrorNr   r   r   r   r   ru   Õ   r   ru   c                       s$   e Zd ZejZd‡ fdd„Z‡  ZS )ÚPycurlCACertificatesErrorr   Nc                    r>   r'   )r   r   rq   )r   rq   r.   r    r   r   r   Ü   r?   z"PycurlCACertificatesError.__init__r:   )r	   r
   r   r   ÚE_PYCURL_CA_CERTIFICATESr*   r   r$   r   r   r    r   rv   Ù   s    rv   c                   @   s$   e Zd ZejZdedefdd„ZdS )ÚConnectivityErrorÚcauserq   c                 C   sP   t |dd ƒrtt |dƒƒ}nt|ƒ}t | |¡ tj| ||d� || _|| _d S )NÚreason)Úcause_errorrq   )Úgetattrr"   ÚIOErrorr   r%   r{   rq   )r   ry   rq   r{   r   r   r   r   ä   s   
zConnectivityError.__init__N)	r	   r
   r   r   ÚE_CONNECTIVITY_ERRORr(   Ú	Exceptionr"   r   r   r   r   r   rx   á   s    þýrx   c                   @   rA   )ÚContractExpiredErrorN)r	   r
   r   r   ÚE_CONTRACT_EXPIREDr*   r   r   r   r   r€   ÿ   rD   r€   c                   @   rA   )ÚInvalidServiceOpErrorN©r	   r
   r   r   ÚE_INVALID_SERVICE_OP_FAILUREr(   r   r   r   r   r‚     rD   r‚   c                   @   ó   e Zd ZdZdZejZdS )ÚAlreadyAttachedErrorzDAn exception to be raised when a command needs an unattached system.é   N)r	   r
   r   r;   r   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
   r   r;   r   r   ÚE_ATTACH_FAILUREr*   r   r   r   r   rŠ     r‰   rŠ   c                   @   rA   )ÚAttachInvalidConfigFileErrorN)r	   r
   r   r   ÚE_ATTACH_CONFIG_READ_ERRORr(   r   r   r   r   rŒ     rD   rŒ   c                   @   rA   )ÚAttachInvalidTokenErrorN)r	   r
   r   r   ÚE_ATTACH_INVALID_TOKENr*   r   r   r   r   rŽ     rD   rŽ   c                   @   rA   )ÚAttachForbiddenExpiredN)r	   r
   r   r   ÚE_ATTACH_FORBIDDEN_EXPIREDr(   r   r   r   r   r�     rD   r�   c                   @   rA   )ÚAttachForbiddenNotYetN)r	   r
   r   r   ÚE_ATTACH_FORBIDDEN_NOT_YETr(   r   r   r   r   r’   !  rD   r’   c                   @   rA   )ÚAttachForbiddenNeverN)r	   r
   r   r   ÚE_ATTACH_FORBIDDEN_NEVERr(   r   r   r   r   r”   %  rD   r”   c                   @   rA   )ÚAttachExpiredTokenN)r	   r
   r   r   ÚE_ATTACH_EXPIRED_TOKENr*   r   r   r   r   r–   )  rD   r–   c                   @   rA   )Ú MagicAttachTokenAlreadyActivatedN)r	   r
   r   r   Ú&E_MAGIC_ATTACH_TOKEN_ALREADY_ACTIVATEDr*   r   r   r   r   r˜   -  rD   r˜   c                   @   rA   )ÚMagicAttachTokenErrorN)r	   r
   r   r   ÚE_MAGIC_ATTACH_TOKEN_ERRORr*   r   r   r   r   rš   1  rD   rš   c                   @   rA   )ÚMagicAttachUnavailableN)r	   r
   r   r   ÚE_MAGIC_ATTACH_UNAVAILABLEr*   r   r   r   r   rœ   5  rD   rœ   c                   @   rA   )ÚMagicAttachInvalidParamN)r	   r
   r   r   ÚE_MAGIC_ATTACH_INVALID_PARAMr(   r   r   r   r   rž   9  rD   rž   c                   @   ó   e Zd ZdZejZdS )ÚMissingAptURLDirectivez@An exception for when the contract server doesn't include aptURLN)r	   r
   r   r;   r   Ú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
   r   r;   r   ÚE_UNATTACHEDr*   r   r   r   r   r¤   C  r£   r¤   c                   @   rA   )ÚUnattachedValidServicesErrorN)r	   r
   r   r   Ú"E_VALID_SERVICE_FAILURE_UNATTACHEDr(   r   r   r   r   r¦   I  rD   r¦   c                   @   rA   )ÚUnattachedMixedServicesErrorN)r	   r
   r   r   Ú#E_MIXED_SERVICES_FAILURE_UNATTACHEDr(   r   r   r   r   r¨   M  rD   r¨   c                   @   rA   )ÚUnattachedInvalidServicesErrorNrƒ   r   r   r   r   rª   Q  rD   rª   c                   @   rA   )ÚEntitlementNotFoundErrorN)r	   r
   r   r   ÚE_ENTITLEMENT_NOT_FOUNDr(   r   r   r   r   r«   U  rD   r«   c                       s:   e Zd ZdZejZdeee	ej
f  f‡ fdd„Z‡  ZS )ÚEntitlementsNotEnabledErroré   Úfailed_servicesc                    s$   dd„ |D ƒ}t ƒ jd|id� d S )Nc                 S   s(   g | ]}|d  |d j |d jdœ‘qS )r   r&   )r7   rp   Útitle)r7   r4   )Ú.0Úfr   r   r   Ú
<listcomp>`  s    ÿÿz8EntitlementsNotEnabledError.__init__.<locals>.<listcomp>Úservices)r+   )r   r   )r   r¯   Ú
info_dictsr    r   r   r   ]  s   þ
ÿz$EntitlementsNotEnabledError.__init__)r	   r
   r   r   r   Ú E_ENTITLEMENTS_NOT_ENABLED_ERRORr*   r   r   r"   r@   r   r$   r   r   r    r   r­   Y  s    ÿr­   c                       ó.   e Zd ZejZdedejf‡ fdd„Z‡  Z	S )ÚEntitlementNotEnabledErrorÚservicerz   c                    ó&   t ƒ j|d|j|j|jdœid� d S ©Nrz   )rp   r°   r+   )r¹   r+   ©r   r   r7   r4   r+   ©r   r¹   rz   r    r   r   r   l  ó   ýÿ
þz#EntitlementNotEnabledError.__init__)
r	   r
   r   r   ÚE_ENTITLEMENT_NOT_ENABLED_ERRORr(   r"   r@   r   r$   r   r   r    r   r¸   i  ó     r¸   c                       r·   )ÚEntitlementNotDisabledErrorr¹   rz   c                    rº   r»   r¼   r½   r    r   r   r   |  r¾   z$EntitlementNotDisabledError.__init__)
r	   r
   r   r   Ú E_ENTITLEMENT_NOT_DISABLED_ERRORr(   r"   r@   r   r$   r   r   r    r   rÁ   y  rÀ   rÁ   c                   @   rA   )ÚAttachFailureDefaultServicesN)r	   r
   r   r   Ú!E_ATTACH_FAILURE_DEFAULT_SERVICESr*   r   r   r   r   rÃ   ‰  rD   rÃ   c                   @   rA   )ÚAttachFailureUnknownErrorN)r	   r
   r   r   ÚE_ATTACH_FAILURE_UNEXPECTEDr*   r   r   r   r   rÅ   �  rD   rÅ   c                   @   rA   )ÚAttachFailureRestrictedReleaseN)r	   r
   r   r   Ú!ATTACH_FAILURE_RESTRICTED_RELEASEr(   r   r   r   r   rÇ   ‘  rD   rÇ   c                   @   rA   )ÚRepoNoAptKeyN)r	   r
   r   r   ÚE_REPO_NO_APT_KEYr(   r   r   r   r   rÉ   •  rD   rÉ   c                   @   rA   )ÚRepoNoSuitesN)r	   r
   r   r   ÚE_REPO_NO_SUITESr(   r   r   r   r   rË   ™  rD   rË   c                   @   rA   )ÚRepoPinFailNoOriginN)r	   r
   r   r   ÚE_REPO_PIN_FAIL_NO_ORIGINr(   r   r   r   r   rÍ   �  rD   rÍ   c                   @   rA   )Ú InvalidContractDeltasServiceTypeN)r	   r
   r   r   Ú&E_INVALID_CONTRACT_DELTAS_SERVICE_TYPEr(   r   r   r   r   rÏ   ¡  rD   rÏ   c                   @   rA   )Ú%EntitlementsAPTDirectivesAreNotUniqueN)r	   r
   r   r   Ú,E_ENTITLEMENTS_APT_DIRECTIVES_ARE_NOT_UNIQUEr(   r   r   r   r   rÑ   ¥  rD   rÑ   c                   @   rA   )ÚRequiredServiceStopsEnableN)r	   r
   r   r   ÚE_REQUIRED_SERVICE_STOPS_ENABLEr(   r   r   r   r   rÓ   ©  rD   rÓ   c                   @   rA   )ÚIncompatibleServiceStopsEnableN)r	   r
   r   r   Ú#E_INCOMPATIBLE_SERVICE_STOPS_ENABLEr(   r   r   r   r   rÕ   ­  rD   rÕ   c                   @   rA   )ÚDependentServiceStopsDisableN)r	   r
   r   r   Ú!E_DEPENDENT_SERVICE_STOPS_DISABLEr(   r   r   r   r   r×   ±  rD   r×   c                   @   rA   )ÚLandscapeConfigFailedN)r	   r
   r   r   ÚE_LANDSCAPE_CONFIG_FAILEDr*   r   r   r   r   rÙ   µ  rD   rÙ   c                   @   rA   )Ú#NonInteractiveKernelPurgeDisallowedN)r	   r
   r   r   Ú)E_NON_INTERACTIVE_KERNEL_PURGE_DISALLOWEDr*   r   r   r   r   rÛ   ¹  rD   rÛ   c                   @   s   e Zd ZejZdZdS )ÚInvalidProImageN)r	   r
   r   r   ÚE_INVALID_PRO_IMAGEr(   Ú	error_msgr   r   r   r   rÝ   Â  s    rÝ   c                   @   rA   )ÚCloudMetadataErrorN)r	   r
   r   r   ÚE_CLOUD_METADATA_ERRORr(   r   r   r   r   rà   Ç  rD   rà   c                   @   r    )ÚGCPServiceAccountErrorz;An exception raised when GCP service account is not enabledN)r	   r
   r   r;   r   Ú$E_GCP_SERVICE_ACCT_NOT_ENABLED_ERRORr(   r   r   r   r   râ   Ë  r£   râ   c                   @   rA   )ÚAWSNoValidIMDSN)r	   r
   r   r   ÚE_AWS_NO_VALID_IMDSr(   r   r   r   r   rä   Ñ  rD   rä   c                   @   r   )ÚCloudFactoryErrorNr   r   r   r   r   ræ   Õ  r   ræ   c                   @   rA   )ÚCloudFactoryNoCloudErrorN)r	   r
   r   r   Ú E_UNABLE_TO_DETERMINE_CLOUD_TYPEr*   r   r   r   r   rç   Ù  rD   rç   c                   @   rA   )ÚCloudFactoryNonViableCloudErrorN)r	   r
   r   r   ÚE_UNSUPPORTED_AUTO_ATTACHr*   r   r   r   r   ré   Ý  rD   ré   c                   @   r…   )ÚNonAutoAttachImageErrorz>Raised when machine isn't running an auto-attach enabled imager   N)r	   r
   r   r;   r   r   Ú$E_UNSUPPORTED_AUTO_ATTACH_CLOUD_TYPEr(   r   r   r   r   rë   á  r‰   rë   c                   @   rA   )ÚLXDAutoAttachNotAvailableN)r	   r
   r   r   ÚE_LXD_AUTO_ATTACH_NOT_AVAILABLEr*   r   r   r   r   rí   è  rD   rí   c                   @   rA   )ÚLXDAutoAttachNotAllowedN)r	   r
   r   r   ÚE_LXD_AUTO_ATTACH_NOT_ALLOWEDr*   r   r   r   r   rï   ì  rD   rï   c                   @   rA   )ÚInvalidFileFormatErrorN)r	   r
   r   r   ÚE_INVALID_FILE_FORMATr(   r   r   r   r   rñ   õ  rD   rñ   c                   @   rA   )ÚInvalidFileEncodingErrorN)r	   r
   r   r   ÚE_INVALID_FILE_ENCODINGr(   r   r   r   r   ró   ù  rD   ró   c                   @   rA   )ÚParsingErrorOnOSReleaseFileN)r	   r
   r   r   Ú"E_ERROR_PARSING_VERSION_OS_RELEASEr(   r   r   r   r   rõ   ý  rD   rõ   c                   @   rA   )ÚMissingSeriesOnOSReleaseFileN)r	   r
   r   r   ÚE_MISSING_SERIES_ON_OS_RELEASEr(   r   r   r   r   r÷     rD   r÷   c                   @   rA   )ÚInvalidLockFileN)r	   r
   r   r   ÚE_INVALID_LOCK_FILEr(   r   r   r   r   rù     rD   rù   c                   @   rA   )ÚInvalidJsonN)r	   r
   r   r   ÚE_JSON_PARSER_ERRORr(   r   r   r   r   rû   	  rD   rû   c                   @   rA   )ÚInvalidBooleanConfigValueN)r	   r
   r   r   ÚE_INVALID_BOOLEAN_CONFIG_VALUEr(   r   r   r   r   rý     rD   rý   c                   @   rA   )ÚInvalidPosIntConfigValueN)r	   r
   r   r   Ú"E_CLI_CONFIG_VALUE_MUST_BE_POS_INTr(   r   r   r   r   rÿ     rD   rÿ   c                   @   rA   )ÚInvalidURLConfigValueN)r	   r
   r   r   ÚE_CONFIG_INVALID_URLr(   r   r   r   r   r    rD   r  c                   @   rA   )ÚInvalidFeatureYamlConfigValueN)r	   r
   r   r   ÚE_CONFIG_NO_YAML_FILEr(   r   r   r   r   r    rD   r  c                   @   rA   )ÚInvalidProxyCombinationConfigN)r	   r
   r   r   ÚE_INVALID_PROXY_COMBINATIONr*   r   r   r   r   r    rD   r  c                   @   rA   )ÚMissingDistroInfoFileN)r	   r
   r   r   ÚE_MISSING_DISTRO_INFO_FILEr*   r   r   r   r   r  !  rD   r  c                   @   rA   )ÚMissingSeriesInDistroInfoFileN)r	   r
   r   r   Ú$E_MISSING_SERIES_IN_DISTRO_INFO_FILEr(   r   r   r   r   r	  %  rD   r	  c                   @   rA   )ÚUnsupportedManifestFileN)r	   r
   r   r   ÚE_UNSUPPORTED_MANIFEST_FILEr(   r   r   r   r   r  )  rD   r  c                   @   rA   )ÚInvalidOptionCombinationN)r	   r
   r   r   ÚE_INVALID_OPTION_COMBINATIONr(   r   r   r   r   r  2  rD   r  c                   @   rA   )ÚDepedentOptionErrorN)r	   r
   r   r   ÚE_DEPENDENT_OPTIONr(   r   r   r   r   r  6  rD   r  c                   @   rA   )ÚNoHelpContentN)r	   r
   r   r   ÚE_CLI_NO_HELPr(   r   r   r   r   r  :  rD   r  c                   @   rA   )ÚInvalidSecurityIssueIdFormatN)r	   r
   r   r   Ú#E_SECURITY_FIX_CLI_ISSUE_REGEX_FAILr(   r   r   r   r   r  >  rD   r  c                   @   rA   )ÚInvalidArgChoiceN)r	   r
   r   r   ÚE_CLI_VALID_CHOICESr(   r   r   r   r   r  B  rD   r  c                   @   rA   )ÚEmptyConfigValueN)r	   r
   r   r   ÚE_CLI_EMPTY_CONFIG_VALUEr(   r   r   r   r   r  F  rD   r  c                   @   rA   )ÚGenericInvalidFormatN)r	   r
   r   r   ÚE_CLI_EXPECTED_FORMATr(   r   r   r   r   r  J  rD   r  c                   @   rA   )ÚRefreshConfigFailureN)r	   r
   r   r   ÚE_REFRESH_CONFIG_FAILUREr*   r   r   r   r   r  N  rD   r  c                   @   rA   )ÚRefreshContractFailureN)r	   r
   r   r   ÚE_REFRESH_CONTRACT_FAILUREr*   r   r   r   r   r  R  rD   r  c                   @   rA   )ÚRefreshMessagesFailureN)r	   r
   r   r   ÚE_REFRESH_MESSAGES_FAILUREr*   r   r   r   r   r  V  rD   r  c                   @   rA   )ÚCLIJSONFormatRequireAssumeYesN)r	   r
   r   r   Ú E_JSON_FORMAT_REQUIRE_ASSUME_YESr*   r   r   r   r   r!  Z  rD   r!  c                   @   rA   )ÚCLIAttachTokenArgXORConfigN)r	   r
   r   r   ÚE_ATTACH_TOKEN_ARG_XOR_CONFIGr*   r   r   r   r   r#  ^  rD   r#  c                   @   rA   )ÚCLIAPIOptionsXORDataN)r	   r
   r   r   Ú"E_API_ERROR_ARGS_AND_DATA_TOGETHERr*   r   r   r   r   r%  b  rD   r%  c                   @   rA   )ÚPromptDeniedErrorN)r	   r
   r   r   ÚE_PROMPT_DENIEDr*   r   r   r   r   r'  f  rD   r'  c                   @   rA   )ÚVulnerabilityDataNotFoundN)r	   r
   r   r   ÚE_VULNERABILITY_DATA_NOT_FOUNDr*   r   r   r   r   r)  o  rD   r)  c                   @   s   e Zd ZdZejZdZdS )Ú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
   r   r;   r   ÚE_LOCK_HELD_ERRORr(   Úpidr   r   r   r   r+  x  s    r+  c                   @   r    )ÚNonRootUserErrorz7An exception to be raised when a user needs to be root.N)r	   r
   r   r;   r   ÚE_NONROOT_USERr*   r   r   r   r   r.  „  r£   r.  c                   @   r    )ÚSecurityAPIMetadataErrorzDAn exception raised with Security API metadata returns invalid data.N)r	   r
   r   r;   r   ÚE_SECURITY_API_INVALID_METADATAr(   r   r   r   r   r0  Š  r£   r0  c                   @   rA   )ÚSecurityIssueNotFoundN)r	   r
   r   r   ÚE_SECURITY_FIX_NOT_FOUND_ISSUEr(   r   r   r   r   r2  �  rD   r2  c                   @   rA   )ÚGPGKeyNotFoundN)r	   r
   r   r   ÚE_GPG_KEY_NOT_FOUNDr(   r   r   r   r   r4  ”  rD   r4  c                   @   rA   )ÚUnknownProcessorTypeN)r	   r
   r   r   ÚE_UNKNOWN_PROCESSOR_TYPEr(   r   r   r   r   r6  ˜  rD   r6  c                   @   rA   )Ú FeatureNotSupportedOldTokenErrorN)r	   r
   r   r   Ú!E_FEATURE_NOT_SUPPORTED_OLD_TOKENr(   r   r   r   r   r8  œ  rD   r8  c                   @   rA   )ÚETagUnchangedN)r	   r
   r   r   ÚE_ETAG_UNCHANGEDÚ_formatted_msg_r   r   r   r   r:     rD   r:  c                   @   rA   )ÚNoServicesToEnableN)r	   r
   r   r   ÚE_NO_SERVICES_TO_ENABLEr*   r   r   r   r   r=  ¤  rD   r=  N)€Útypingr   r   r   Úuaclientr   r   r   r   r   r   r}   r   r%   ÚUserFacingErrorr=   rB   rE   rG   rI   rK   rM   rO   rQ   rS   rU   rW   rY   r[   r]   r_   ra   rc   re   rg   ri   rk   rm   ro   rt   ru   rv   rx   ÚUrlErrorr€   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  r  r  r  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r.  r0  r2  r4  r6  r8  r:  r=  r   r   r   r   Ú<module>   sô    '		
					