
    μgH                     <
   d dl mZmZmZ d dlmZ  G d de      Z G d de      Z G d de      Z	 G d	 d
e      Z
 G d de      Z G d de      ZeZ G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Z G d- d.e      Z G d/ d0e      Z G d1 d2e      Z  G d3 d4e      Z! G d5 d6e      Z" G d7 d8e      Z# G d9 d:e      Z$ G d; d<e      Z% G d= d>e      Z& G d? d@e&      Z' G dA dBe&      Z( G dC dDe      Z) G dE dFee      Z*e*Z+ G dG dHe      Z, G dI dJe      Z- G dK dLe      Z. G dM dNe      Z/ G dO dPe      Z0 G dQ dRe      Z1 G dS dTe      Z2 G dU dVe      Z3 G dW dXe      Z4 G dY dZe      Z5 G d[ d\e      Z6 G d] d^e      Z7 G d_ d`e      Z8 G da dbe      Z9 G dc dde      Z: G de dfe      Z; G dg dhe      Z< G di dje      Z= G dk dle      Z> G dm dne      Z? G do dpe      Z@ G dq dre      ZA G ds dte      ZB G du dve@      ZC G dw dxe@      ZD G dy dze      ZE G d{ d|e      ZF G d} d~e      ZG G d de      ZH G d de      ZI G d de      ZJ G d de      ZK G d de      ZL G d de      ZM G d de      ZN G d de      ZO G d de      ZP G d de      ZQ G d deQ      ZR G d de      ZS G d de      ZT G d deT      ZU G d deT      ZV G d deT      ZW G d de      ZX G d de      ZY G d de      ZZ G d de      Z[ G d de      Z\ G d de      Z] G d de      Z^ G d de      Z_ G d de      Z` G d de      Za G d de      Zb G d de      Zc G d de      Zd G d de      Ze G d de      Zf G d de      Zg G d de      Zh G d de      Zi G dÄ de      Zj G dń de      Zk G dǄ de      Zl G dɄ de      Zm G d˄ de      Zn G d̈́ de      Zo G dτ de      Zp G dф de      Zq G dӄ de      Zr G dՄ de      Zs G dׄ de      Zt G dل de      Zu G dۄ de      Zv G d݄ de      Zw G d߄ de      Zx G d de      Zy G d de      Zz G d de      Z{ G d de      Z| G d de      Z} G d de      Z~y)    )ListOptionalTuple)messagesc                       e Zd Zy)InPlaceUpgradeNotSupportedErrorN__name__
__module____qualname__     5/usr/lib/python3/dist-packages/uaclient/exceptions.pyr   r          r   r   c                       e Zd Zy)IsProLicensePresentErrorNr	   r   r   r   r   r   
   r   r   r   c                       e Zd Zy)CancelProLicensePollingNr	   r   r   r   r   r      r   r   r   c                       e Zd Zy)DelayProLicensePollingNr	   r   r   r   r   r      r   r   r   c                   B     e Zd Z	 	 	 ddedee   dededdf
 fdZ xZS )	ProcessExecutionErrorNcmd	exit_codestdoutstderrreturnc                     || _         || _        || _        |s!t        j                  j                  |      }n"t        j                  j                  |||      }t        | !  |       y )N)r   )r   r   r   )	r   r   r   r   SUBP_INVALID_COMMANDformatSUBP_COMMAND_FAILEDsuper__init__)selfr   r   r   r   message	__class__s         r   r#   zProcessExecutionError.__init__   sg     "33::s:CG22999V : G 	!r   )N r'   )r
   r   r   strr   intr#   __classcell__r&   s   @r   r   r      sL     $("" C=" 	"
 " 
" "r   r   c                   J    e Zd ZdZdZdZdZddZed        Z	ed        Z
d Zy)	UbuntuProErrorzu
    Base class for all of our custom errors.
    All possible exceptions from our API should extend this class.
    N   c                     | j                   " | j                   j                  di || _        n| j                  | _        || _        |j                         D ]  \  }}t        | ||        y Nr   )_formatted_msgr    	named_msg_msgadditional_infoitemssetattr)r$   kwargskeyvalues       r   r#   zUbuntuProError.__init__5   sj    *7T0077 DN "YYDN% ,,. 	&JCD#u%	&r   c                 .    | j                   j                  S Nr2   msgr$   s    r   r=   zUbuntuProError.msgB   s    ~~!!!r   c                 .    | j                   j                  S r;   )r2   namer>   s    r   msg_codezUbuntuProError.msg_codeF   s    ~~"""r   c                 .    | j                   j                  S r;   r<   r>   s    r   __str__zUbuntuProError.__str__J   s    ~~!!!r   r   N)r
   r   r   __doc__r3   r1   r   r#   propertyr=   rA   rC   r   r   r   r-   r-   *   sJ    
 DNI& " " # #"r   r-   c                   <     e Zd ZdZdej
                  f fdZ x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.
    r2   c                 2    t        |   di | || _        y r0   )r"   r#   r2   )r$   r2   r7   r&   s      r   r#   z AnonymousUbuntuProError.__init__[   s    "6""r   )r
   r   r   rE   r   NamedMessager#   r*   r+   s   @r   rH   rH   T   s    #("7"7 # #r   rH   c                   $    e Zd Zej                  Zy)APTProcessConflictErrorN)r
   r   r   r   E_APT_PROCESS_CONFLICTr3   r   r   r   rL   rL   e       **Dr   rL   c                   $    e Zd Zej                  Zy)APTInvalidRepoErrorN)r
   r   r   r   E_APT_UPDATE_INVALID_URL_CONFIGr1   r   r   r   rP   rP   i       ==Nr   rP   c                   $    e Zd Zej                  Zy)APTUpdateProcessConflictErrorN)r
   r   r   r   E_APT_UPDATE_PROCESS_CONFLICTr3   r   r   r   rT   rT   m       11Dr   rT   c                   $    e Zd Zej                  Zy)APTUpdateInvalidRepoErrorN)r
   r   r   r   E_APT_UPDATE_INVALID_REPOr1   r   r   r   rX   rX   q       77Nr   rX   c                   $    e Zd Zej                  Zy)APTUpdateFailedN)r
   r   r   r   E_APT_UPDATE_FAILEDr1   r   r   r   r\   r\   u       11Nr   r\   c                   $    e Zd Zej                  Zy)APTInstallProcessConflictErrorN)r
   r   r   r   E_APT_INSTALL_PROCESS_CONFLICTr3   r   r   r   r`   r`   y   s    22Dr   r`   c                   $    e Zd Zej                  Zy)APTInstallInvalidRepoErrorN)r
   r   r   r   E_APT_INSTALL_INVALID_REPOr1   r   r   r   rc   rc   }       88Nr   rc   c                   $    e Zd Zej                  Zy)APTInvalidCredentialsN)r
   r   r   r   E_APT_INVALID_CREDENTIALSr1   r   r   r   rg   rg      rZ   r   rg   c                   $    e Zd Zej                  Zy)
APTTimeoutN)r
   r   r   r   E_APT_TIMEOUTr1   r   r   r   rj   rj          ++Nr   rj   c                   $    e Zd Zej                  Zy)APTUnexpectedErrorN)r
   r   r   r   E_APT_UNEXPECTED_ERRORr1   r   r   r   rn   rn          44Nr   rn   c                   $    e Zd Zej                  Zy)APTCommandTimeoutN)r
   r   r   r   E_APT_COMMAND_TIMEOUTr1   r   r   r   rr   rr          33Nr   rr   c                   $    e Zd Zej                  Zy)SnapNotInstalledErrorN)r
   r   r   r   E_SNAP_NOT_INSTALLED_ERRORr1   r   r   r   rv   rv      re   r   rv   c                   $    e Zd Zej                  Zy)UnexpectedSnapdAPIErrorN)r
   r   r   r   E_UNEXPECTED_SNAPD_API_ERRORr1   r   r   r   ry   ry          ::Nr   ry   c                   $    e Zd Zej                  Zy)SnapdAPIConnectionRefusedN)r
   r   r   r   E_SNAPD_CONNECTION_REFUSEDr3   r   r   r   r}   r}          ..Dr   r}   c                   $    e Zd Zej                  Zy)CannotInstallSnapdErrorN)r
   r   r   r   E_CANNOT_INSTALL_SNAPDr3   r   r   r   r   r      rN   r   r   c                   $    e Zd Zej                  Zy)ErrorInstallingLivepatchN)r
   r   r   r   E_ERROR_INSTALLING_LIVEPATCHr1   r   r   r   r   r      r{   r   r   c                   $    e Zd Zej                  Zy)
InvalidUrlN)r
   r   r   r   E_INVALID_URLr1   r   r   r   r   r      rl   r   r   c                   $    e Zd Zej                  Zy)ProxyNotWorkingErrorN)r
   r   r   r   E_NOT_SETTING_PROXY_NOT_WORKINGr1   r   r   r   r   r      rR   r   r   c                   $    e Zd Zej                  Zy)ProxyInvalidUrlN)r
   r   r   r   E_NOT_SETTING_PROXY_INVALID_URLr1   r   r   r   r   r      rR   r   r   c                   $    e Zd Zej                  Zy)PycurlRequiredErrorN)r
   r   r   r   E_PYCURL_REQUIREDr3   r   r   r   r   r          %%Dr   r   c                   $    e Zd Zej                  Zy)PycurlErrorN)r
   r   r   r   E_PYCURL_ERRORr1   r   r   r   r   r      s    ,,Nr   r   c                   $    e Zd Zej                  Zy)ProxyAuthenticationFailedN)r
   r   r   r   E_PROXY_AUTH_FAILr3   r   r   r   r   r      r   r   r   c                   6    e Zd Zej                  ZdZdZdZd Z	y)ExternalAPIErrorNc                 d    dj                  | j                  | j                  | j                        S )Nz{}: [{}], {})r    codeurlbodyr>   s    r   rC   zExternalAPIError.__str__   s#    $$TYY$))DDr   )
r
   r   r   r   E_EXTERNAL_API_ERRORr1   r   r   r   rC   r   r   r   r   r      s"    22ND
CDEr   r   c                       e Zd Zy)ContractAPIErrorNr	   r   r   r   r   r      r   r   r   c                       e Zd Zy)SecurityAPIErrorNr	   r   r   r   r   r      r   r   r   c                   8     e Zd Zej                  Zd fdZ xZS )PycurlCACertificatesErrorc                 2    t        |   di | || _        y r0   )r"   r#   r   )r$   r   r7   r&   s      r   r#   z"PycurlCACertificatesError.__init__   s    "6"r   rD   )r
   r   r   r   E_PYCURL_CA_CERTIFICATESr3   r#   r*   r+   s   @r   r   r      s    ,,D r   r   c                   4    e Zd Zej                  ZdedefdZy)ConnectivityErrorcauser   c                     t        |dd       rt        t        |d            }nt        |      }t        j                  | |       t        j                  | ||       || _        || _        y )Nreason)cause_errorr   )getattrr(   IOErrorr#   r-   r   r   )r$   r   r   r   s       r   r#   zConnectivityError.__init__   s`    
 5(D)geX67Ke*K{++3G 'r   N)	r
   r   r   r   E_CONNECTIVITY_ERRORr1   	Exceptionr(   r#   r   r   r   r   r      s$    22N r   r   c                   $    e Zd Zej                  Zy)ContractExpiredErrorN)r
   r   r   r   E_CONTRACT_EXPIREDr3   r   r   r   r   r      s    &&Dr   r   c                   $    e Zd Zej                  Zy)InvalidServiceOpErrorNr
   r   r   r   E_INVALID_SERVICE_OP_FAILUREr1   r   r   r   r   r     r{   r   r   c                   ,    e Zd ZdZdZej                  Zy)AlreadyAttachedErrorzDAn exception to be raised when a command needs an unattached system.   N)r
   r   r   rE   r   r   E_ALREADY_ATTACHEDr1   r   r   r   r   r     s    NI00Nr   r   c                   ,    e Zd ZdZdZej                  Zy)AttachErrorz@An exception to be raised when we detect a generic attach error.r.   N)r
   r   r   rE   r   r   E_ATTACH_FAILUREr3   r   r   r   r   r     s    JI$$Dr   r   c                   $    e Zd Zej                  Zy)AttachInvalidConfigFileErrorN)r
   r   r   r   E_ATTACH_CONFIG_READ_ERRORr1   r   r   r   r   r     re   r   r   c                   $    e Zd Zej                  Zy)AttachInvalidTokenErrorN)r
   r   r   r   E_ATTACH_INVALID_TOKENr3   r   r   r   r   r     rN   r   r   c                   $    e Zd Zej                  Zy)AttachForbiddenExpiredN)r
   r   r   r   E_ATTACH_FORBIDDEN_EXPIREDr1   r   r   r   r   r     re   r   r   c                   $    e Zd Zej                  Zy)AttachForbiddenNotYetN)r
   r   r   r   E_ATTACH_FORBIDDEN_NOT_YETr1   r   r   r   r   r   !  re   r   r   c                   $    e Zd Zej                  Zy)AttachForbiddenNeverN)r
   r   r   r   E_ATTACH_FORBIDDEN_NEVERr1   r   r   r   r   r   %      66Nr   r   c                   $    e Zd Zej                  Zy)AttachExpiredTokenN)r
   r   r   r   E_ATTACH_EXPIRED_TOKENr3   r   r   r   r   r   )  rN   r   r   c                   $    e Zd Zej                  Zy) MagicAttachTokenAlreadyActivatedN)r
   r   r   r   &E_MAGIC_ATTACH_TOKEN_ALREADY_ACTIVATEDr3   r   r   r   r   r   -  s    ::Dr   r   c                   $    e Zd Zej                  Zy)MagicAttachTokenErrorN)r
   r   r   r   E_MAGIC_ATTACH_TOKEN_ERRORr3   r   r   r   r   r   1  r   r   r   c                   $    e Zd Zej                  Zy)MagicAttachUnavailableN)r
   r   r   r   E_MAGIC_ATTACH_UNAVAILABLEr3   r   r   r   r   r   5  r   r   r   c                   $    e Zd Zej                  Zy)MagicAttachInvalidParamN)r
   r   r   r   E_MAGIC_ATTACH_INVALID_PARAMr1   r   r   r   r   r   9  r{   r   r   c                   (    e Zd ZdZej
                  Zy)MissingAptURLDirectivez@An exception for when the contract server doesn't include aptURLN)r
   r   r   rE   r   E_MISSING_APT_URL_DIRECTIVEr1   r   r   r   r   r   =  s    J99Nr   r   c                   (    e Zd ZdZej
                  Zy)UnattachedErrorz>An exception to be raised when a machine needs to be attached.N)r
   r   r   rE   r   E_UNATTACHEDr3   r   r   r   r   r   C  s    H  Dr   r   c                   $    e Zd Zej                  Zy)UnattachedValidServicesErrorN)r
   r   r   r   "E_VALID_SERVICE_FAILURE_UNATTACHEDr1   r   r   r   r   r   I      @@Nr   r   c                   $    e Zd Zej                  Zy)UnattachedMixedServicesErrorN)r
   r   r   r   #E_MIXED_SERVICES_FAILURE_UNATTACHEDr1   r   r   r   r   r   M      AANr   r   c                   $    e Zd Zej                  Zy)UnattachedInvalidServicesErrorNr   r   r   r   r   r   Q  r{   r   r   c                   $    e Zd Zej                  Zy)EntitlementNotFoundErrorN)r
   r   r   r   E_ENTITLEMENT_NOT_FOUNDr1   r   r   r   r   r   U      55Nr   r   c                   d     e Zd ZdZej
                  Zdeee	ej                  f      f fdZ xZS )EntitlementsNotEnabledError   failed_servicesc                     |D cg c]%  }|d   |d   j                   |d   j                  d' }}t        |   d|i       y c c}w )Nr   r.   )r@   r   titleservices)r4   )r@   r=   r"   r#   )r$   r   f
info_dictsr&   s       r   r#   z$EntitlementsNotEnabledError.__init__]  s^    
 %
 qT1Q499qtxx@

 
 	'4 	 	
	
s   *A)r
   r   r   r   r    E_ENTITLEMENTS_NOT_ENABLED_ERRORr3   r   r   r(   rJ   r#   r*   r+   s   @r   r   r   Y  s:    I44D	
#E#x/D/D*D$EF	
 	
r   r   c                   T     e Zd Zej                  Zdedej                  f fdZ xZ	S )EntitlementNotEnabledErrorservicer   c                 p    t         |   |d|j                  |j                  |j                  di       y Nr   )r   r   r4   )r   r4   r"   r#   r@   r=   r4   r$   r   r   r&   s      r   r#   z#EntitlementNotEnabledError.__init__l  <    "KK#ZZ'-'='= 	 		
r   )
r
   r   r   r   E_ENTITLEMENT_NOT_ENABLED_ERRORr1   r(   rJ   r#   r*   r+   s   @r   r   r   i  s,    ==N

 

X-B-B 

 

r   r   c                   T     e Zd Zej                  Zdedej                  f fdZ xZ	S )EntitlementNotDisabledErrorr   r   c                 p    t         |   |d|j                  |j                  |j                  di       y r  r  r  s      r   r#   z$EntitlementNotDisabledError.__init__|  r  r   )
r
   r   r   r    E_ENTITLEMENT_NOT_DISABLED_ERRORr1   r(   rJ   r#   r*   r+   s   @r   r  r  y  s,    >>N

 

X-B-B 

 

r   r  c                   $    e Zd Zej                  Zy)AttachFailureDefaultServicesN)r
   r   r   r   !E_ATTACH_FAILURE_DEFAULT_SERVICESr3   r   r   r   r  r    s    55Dr   r  c                   $    e Zd Zej                  Zy)AttachFailureUnknownErrorN)r
   r   r   r   E_ATTACH_FAILURE_UNEXPECTEDr3   r   r   r   r  r        //Dr   r  c                   $    e Zd Zej                  Zy)AttachFailureRestrictedReleaseN)r
   r   r   r   !ATTACH_FAILURE_RESTRICTED_RELEASEr1   r   r   r   r  r        ??Nr   r  c                   $    e Zd Zej                  Zy)RepoNoAptKeyN)r
   r   r   r   E_REPO_NO_APT_KEYr1   r   r   r   r  r    s    //Nr   r  c                   $    e Zd Zej                  Zy)RepoNoSuitesN)r
   r   r   r   E_REPO_NO_SUITESr1   r   r   r   r  r    s    ..Nr   r  c                   $    e Zd Zej                  Zy)RepoPinFailNoOriginN)r
   r   r   r   E_REPO_PIN_FAIL_NO_ORIGINr1   r   r   r   r  r    rZ   r   r  c                   $    e Zd Zej                  Zy) InvalidContractDeltasServiceTypeN)r
   r   r   r   &E_INVALID_CONTRACT_DELTAS_SERVICE_TYPEr1   r   r   r   r  r    s    DDNr   r  c                   $    e Zd Zej                  Zy)%EntitlementsAPTDirectivesAreNotUniqueN)r
   r   r   r   ,E_ENTITLEMENTS_APT_DIRECTIVES_ARE_NOT_UNIQUEr1   r   r   r   r"  r"    s    JJNr   r"  c                   $    e Zd Zej                  Zy)RequiredServiceStopsEnableN)r
   r   r   r   E_REQUIRED_SERVICE_STOPS_ENABLEr1   r   r   r   r%  r%    rR   r   r%  c                   $    e Zd Zej                  Zy)IncompatibleServiceStopsEnableN)r
   r   r   r   #E_INCOMPATIBLE_SERVICE_STOPS_ENABLEr1   r   r   r   r(  r(    r   r   r(  c                   $    e Zd Zej                  Zy)DependentServiceStopsDisableN)r
   r   r   r   !E_DEPENDENT_SERVICE_STOPS_DISABLEr1   r   r   r   r+  r+    r  r   r+  c                   $    e Zd Zej                  Zy)LandscapeConfigFailedN)r
   r   r   r   E_LANDSCAPE_CONFIG_FAILEDr3   r   r   r   r.  r.        --Dr   r.  c                   $    e Zd Zej                  Zy)#NonInteractiveKernelPurgeDisallowedN)r
   r   r   r   )E_NON_INTERACTIVE_KERNEL_PURGE_DISALLOWEDr3   r   r   r   r2  r2    s    ==Dr   r2  c                   (    e Zd Zej                  ZdZy)InvalidProImageN)r
   r   r   r   E_INVALID_PRO_IMAGEr1   	error_msgr   r   r   r5  r5    s    11NIr   r5  c                   $    e Zd Zej                  Zy)CloudMetadataErrorN)r
   r   r   r   E_CLOUD_METADATA_ERRORr1   r   r   r   r9  r9    rp   r   r9  c                   (    e Zd ZdZej
                  Zy)GCPServiceAccountErrorz;An exception raised when GCP service account is not enabledN)r
   r   r   rE   r   $E_GCP_SERVICE_ACCT_NOT_ENABLED_ERRORr1   r   r   r   r<  r<    s    EBBNr   r<  c                   $    e Zd Zej                  Zy)AWSNoValidIMDSN)r
   r   r   r   E_AWS_NO_VALID_IMDSr1   r   r   r   r?  r?    r^   r   r?  c                       e Zd Zy)CloudFactoryErrorNr	   r   r   r   rB  rB    r   r   rB  c                   $    e Zd Zej                  Zy)CloudFactoryNoCloudErrorN)r
   r   r   r    E_UNABLE_TO_DETERMINE_CLOUD_TYPEr3   r   r   r   rD  rD        44Dr   rD  c                   $    e Zd Zej                  Zy)CloudFactoryNonViableCloudErrorN)r
   r   r   r   E_UNSUPPORTED_AUTO_ATTACHr3   r   r   r   rH  rH    r0  r   rH  c                   ,    e Zd ZdZdZej                  Zy)NonAutoAttachImageErrorz>Raised when machine isn't running an auto-attach enabled imager   N)r
   r   r   rE   r   r   $E_UNSUPPORTED_AUTO_ATTACH_CLOUD_TYPEr1   r   r   r   rK  rK    s    HIBBNr   rK  c                   $    e Zd Zej                  Zy)LXDAutoAttachNotAvailableN)r
   r   r   r   E_LXD_AUTO_ATTACH_NOT_AVAILABLEr3   r   r   r   rN  rN    s    33Dr   rN  c                   $    e Zd Zej                  Zy)LXDAutoAttachNotAllowedN)r
   r   r   r   E_LXD_AUTO_ATTACH_NOT_ALLOWEDr3   r   r   r   rQ  rQ    rV   r   rQ  c                   $    e Zd Zej                  Zy)InvalidFileFormatErrorN)r
   r   r   r   E_INVALID_FILE_FORMATr1   r   r   r   rT  rT    rt   r   rT  c                   $    e Zd Zej                  Zy)InvalidFileEncodingErrorN)r
   r   r   r   E_INVALID_FILE_ENCODINGr1   r   r   r   rW  rW    r   r   rW  c                   $    e Zd Zej                  Zy)ParsingErrorOnOSReleaseFileN)r
   r   r   r   "E_ERROR_PARSING_VERSION_OS_RELEASEr1   r   r   r   rZ  rZ    r   r   rZ  c                   $    e Zd Zej                  Zy)MissingSeriesOnOSReleaseFileN)r
   r   r   r   E_MISSING_SERIES_ON_OS_RELEASEr1   r   r   r   r]  r]        <<Nr   r]  c                   $    e Zd Zej                  Zy)InvalidLockFileN)r
   r   r   r   E_INVALID_LOCK_FILEr1   r   r   r   ra  ra    r^   r   ra  c                   $    e Zd Zej                  Zy)InvalidJsonN)r
   r   r   r   E_JSON_PARSER_ERRORr1   r   r   r   rd  rd  	  r^   r   rd  c                   $    e Zd Zej                  Zy)InvalidBooleanConfigValueN)r
   r   r   r   E_INVALID_BOOLEAN_CONFIG_VALUEr1   r   r   r   rg  rg    r_  r   rg  c                   $    e Zd Zej                  Zy)InvalidPosIntConfigValueN)r
   r   r   r   "E_CLI_CONFIG_VALUE_MUST_BE_POS_INTr1   r   r   r   rj  rj    r   r   rj  c                   $    e Zd Zej                  Zy)InvalidURLConfigValueN)r
   r   r   r   E_CONFIG_INVALID_URLr1   r   r   r   rm  rm    s    22Nr   rm  c                   $    e Zd Zej                  Zy)InvalidFeatureYamlConfigValueN)r
   r   r   r   E_CONFIG_NO_YAML_FILEr1   r   r   r   rp  rp    rt   r   rp  c                   $    e Zd Zej                  Zy)InvalidProxyCombinationConfigN)r
   r   r   r   E_INVALID_PROXY_COMBINATIONr3   r   r   r   rs  rs    r  r   rs  c                   $    e Zd Zej                  Zy)MissingDistroInfoFileN)r
   r   r   r   E_MISSING_DISTRO_INFO_FILEr3   r   r   r   rv  rv  !  r   r   rv  c                   $    e Zd Zej                  Zy)MissingSeriesInDistroInfoFileN)r
   r   r   r   $E_MISSING_SERIES_IN_DISTRO_INFO_FILEr1   r   r   r   ry  ry  %  s    BBNr   ry  c                   $    e Zd Zej                  Zy)UnsupportedManifestFileN)r
   r   r   r   E_UNSUPPORTED_MANIFEST_FILEr1   r   r   r   r|  r|  )  s    99Nr   r|  c                   $    e Zd Zej                  Zy)InvalidOptionCombinationN)r
   r   r   r   E_INVALID_OPTION_COMBINATIONr1   r   r   r   r  r  2  r{   r   r  c                   $    e Zd Zej                  Zy)DepedentOptionErrorN)r
   r   r   r   E_DEPENDENT_OPTIONr1   r   r   r   r  r  6  s    00Nr   r  c                   $    e Zd Zej                  Zy)NoHelpContentN)r
   r   r   r   E_CLI_NO_HELPr1   r   r   r   r  r  :  rl   r   r  c                   $    e Zd Zej                  Zy)InvalidSecurityIssueIdFormatN)r
   r   r   r   #E_SECURITY_FIX_CLI_ISSUE_REGEX_FAILr1   r   r   r   r  r  >  r   r   r  c                   $    e Zd Zej                  Zy)InvalidArgChoiceN)r
   r   r   r   E_CLI_VALID_CHOICESr1   r   r   r   r  r  B  r^   r   r  c                   $    e Zd Zej                  Zy)EmptyConfigValueN)r
   r   r   r   E_CLI_EMPTY_CONFIG_VALUEr1   r   r   r   r  r  F  r   r   r  c                   $    e Zd Zej                  Zy)GenericInvalidFormatN)r
   r   r   r   E_CLI_EXPECTED_FORMATr1   r   r   r   r  r  J  rt   r   r  c                   $    e Zd Zej                  Zy)RefreshConfigFailureN)r
   r   r   r   E_REFRESH_CONFIG_FAILUREr3   r   r   r   r  r  N  s    ,,Dr   r  c                   $    e Zd Zej                  Zy)RefreshContractFailureN)r
   r   r   r   E_REFRESH_CONTRACT_FAILUREr3   r   r   r   r  r  R  r   r   r  c                   $    e Zd Zej                  Zy)RefreshMessagesFailureN)r
   r   r   r   E_REFRESH_MESSAGES_FAILUREr3   r   r   r   r  r  V  r   r   r  c                   $    e Zd Zej                  Zy)CLIJSONFormatRequireAssumeYesN)r
   r   r   r    E_JSON_FORMAT_REQUIRE_ASSUME_YESr3   r   r   r   r  r  Z  rF  r   r  c                   $    e Zd Zej                  Zy)CLIAttachTokenArgXORConfigN)r
   r   r   r   E_ATTACH_TOKEN_ARG_XOR_CONFIGr3   r   r   r   r  r  ^  rV   r   r  c                   $    e Zd Zej                  Zy)CLIAPIOptionsXORDataN)r
   r   r   r   "E_API_ERROR_ARGS_AND_DATA_TOGETHERr3   r   r   r   r  r  b  s    66Dr   r  c                   $    e Zd Zej                  Zy)PromptDeniedErrorN)r
   r   r   r   E_PROMPT_DENIEDr3   r   r   r   r  r  f  s    ##Dr   r  c                   $    e Zd Zej                  Zy)ManifestParseErrorN)r
   r   r   r   E_MANIFEST_PARSE_ERRORr1   r   r   r   r  r  o  rp   r   r  c                   ,    e Zd ZdZej
                  ZdZy)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   rE   r   E_LOCK_HELD_ERRORr1   pidr   r   r   r  r  x  s     //N
Cr   r  c                   (    e Zd ZdZej
                  Zy)NonRootUserErrorz7An exception to be raised when a user needs to be root.N)r
   r   r   rE   r   E_NONROOT_USERr3   r   r   r   r  r    s    A""Dr   r  c                   (    e Zd ZdZej
                  Zy)SecurityAPIMetadataErrorzDAn exception raised with Security API metadata returns invalid data.N)r
   r   r   rE   r   E_SECURITY_API_INVALID_METADATAr1   r   r   r   r  r    s    N==Nr   r  c                   $    e Zd Zej                  Zy)SecurityIssueNotFoundN)r
   r   r   r   E_SECURITY_FIX_NOT_FOUND_ISSUEr1   r   r   r   r  r    r_  r   r  c                   $    e Zd Zej                  Zy)GPGKeyNotFoundN)r
   r   r   r   E_GPG_KEY_NOT_FOUNDr1   r   r   r   r  r    r^   r   r  c                   $    e Zd Zej                  Zy)UnknownProcessorTypeN)r
   r   r   r   E_UNKNOWN_PROCESSOR_TYPEr1   r   r   r   r  r    r   r   r  c                   $    e Zd Zej                  Zy) FeatureNotSupportedOldTokenErrorN)r
   r   r   r   !E_FEATURE_NOT_SUPPORTED_OLD_TOKENr1   r   r   r   r  r    r  r   r  c                   $    e Zd Zej                  Zy)ETagUnchangedN)r
   r   r   r   E_ETAG_UNCHANGED_formatted_msg_r   r   r   r  r    s    //Or   r  N)typingr   r   r   uaclientr   r   r   r   r   r   r   r   r-   UserFacingErrorrH   rL   rP   rT   rX   r\   r`   rc   rg   rj   rn   rr   rv   ry   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   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.  r2  r5  r9  r<  r?  rB  rD  rH  rK  rN  rQ  rT  rW  rZ  r]  ra  rd  rg  rj  rm  rp  rs  rv  ry  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   <module>r     s   ( ( 	i 		y 		6 		5 	"G "(!"Y !"N !	#n 	#"+n +>. >2N 28 82n 23^ 39 98N 8, ,5 54 49N 9;n ;/ /+n +;~ ;, ,>> >>n >&. &-. -& &E~ E	' 		' 	  . '> ';N ;1> 1%. %9> 9+n +9^ 99N 97> 7+ +;~ ;/N //^ /;n ;:^ :!n !A> AB> B;^ ;6~ 6
. 
 
 
 
. 
 6#> 60 ; 0@^ @0> 0/> /8. 8E~ EKN K> >B^ B@> @.N .>. >n 
5 5C/ C2^ 2	 	50 5.&7 .C/ C4 42n 24^ 46~ 6A. A=> =2n 22. 2= =A~ A3N 34N 40N 0/N /CN C:n :;~ ;1. 1,N ,B> B2~ 27~ 74> 4-> -/^ //^ /5N 52 27> 7$ $5 5	N 	#~ #>~ >=N =2^ 27> 7@~ @0N 0r   