+
    }n j  ã                   óú   € ^ RI t ^ RIt^ RIHtHtHtHt ^ RIHtH	t	H
t
HtHt ^ RIHt ] P                  ! ]P                   ! ]4      4      tRtRtRtRtR	tR
tRR.R. ROR. ROR. ROR. ROR. RO/t ! R R]4      tR# )é    N)ÚAnyÚDictÚListÚOptional)Ú
exceptionsÚhttpÚsecret_managerÚsystemÚutil)ÚPublicCloudAutoAttachInstancezˆhttp://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=contracts.canonical.com&format=full&licenses=TRUEzThttp://metadata.google.internal/computeMetadata/v1/instance/licenses/?recursive=truez&wait_for_change=truez&last_etag={etag}z/sys/class/dmi/id/product_namezGoogle Compute EngineÚxenialÚ8045211386737108299ÚbionicÚfocalÚjammyÚnobleÚresolutec                   óä   a € ] tR t^Ft o R t]]P                  ! ]P                  . ROR7      V 3R lR l4       4       t
]V 3R lR l4       t]V 3R lR l4       tV 3R	 lR
 ltV 3R lR ltRtV tR# )ÚGCPAutoAttachInstancec                ó   € R V n         R # )N©Úetag©Úselfs   &Ú5/usr/lib/python3/dist-packages/uaclient/clouds/gcp.pyÚ__init__ÚGCPAutoAttachInstance.__init__G   s   € ð ˆŽ	ó    )Úretry_sleepsc                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# ©é   Úreturn)r   Ústrr   )ÚformatÚ__classdict__s   "€r   Ú__annotate__Ú"GCPAutoAttachInstance.__annotate__P   s   ø€ ÷ 
ñ 
™d¡3© 8�nñ 
r   c                óÜ  € \         P                  ! \        R R/^R7      pVP                  ^È8X  d8   \        P
                  P                  VP                  4       RVP                  /# VP                  P                  R4      pV'       d8   RVP                  4       9   d#   \        P                  ! VP                  VR7      h\        P                  ! VP                  VP                  R7      h)úMetadata-FlavorÚGoogle)ÚheadersÚtimeoutÚidentityTokenÚerror_descriptionzservice account)Ústatus_codeÚ	error_msg)ÚcodeÚbody)r   ÚreadurlÚ	TOKEN_URLr2   r	   ÚsecretsÚ
add_secretr3   Ú	json_dictÚgetÚlowerr   ÚGCPServiceAccountErrorÚCloudMetadataError)r   ÚresponseÚ
error_descs   &  r   Úidentity_docÚ"GCPAutoAttachInstance.identity_docN   s½   € ô —<’<ÜÐ 1°8Ð<Àaô
ˆð �=‰=˜CÔÜ×"Ñ"×-Ñ-¨h¯m©mÔ<Ø# X§]¡]Ð3Ð3à×'Ñ'×+Ñ+Ð,?Ó@ˆ
ßÐ+¨z×/?Ñ/?Ó/AÔAÜ×3Ò3Ø$ŸM™M°Zôð ô ×+Ò+Ø—‘ X§]¡]ô
ð 	
r   c                ó    <€ V ^8„  d   QhRS[ /# r!   )r$   )r%   r&   s   "€r   r'   r(   b   s   ø€ ÷ ñ ™Cñ r   c                ó   € R # )Úgcp© r   s   &r   Ú
cloud_typeÚ GCPAutoAttachInstance.cloud_typea   s   € ár   c                ó    <€ V ^8„  d   QhRS[ /# r!   ©Úbool)r%   r&   s   "€r   r'   r(   f   s   ø€ ÷ ñ ™4ñ r   c                óÂ   € \         P                  P                  \        4      '       d6   \        P
                  ! \        4      p\        VP                  4       8X  d   R# R# )z$This machine is a viable GCPInstanceTF)ÚosÚpathÚexistsÚDMI_PRODUCT_NAMEr
   Ú	load_fileÚGCP_PRODUCT_NAMEÚstrip)r   Úproduct_names   & r   Ú	is_viableÚGCPAutoAttachInstance.is_viablee   s@   € ô �7‰7�>‰>Ô*×+Ò+Ü!×+Ò+Ô,<Ó=ˆLÜ <×#5Ñ#5Ó#7Ô7Ùár   c                ó    <€ V ^8„  d   QhRS[ /# r!   rH   )r%   r&   s   "€r   r'   r(   o   s   ø€ ÷ ñ ©Tñ r   c                óˆ   € \         P                  ! 4       P                  pV\        9  d   \        P                  R 4       R# R# )z0This series isn't supported for GCP auto-attach.FT)r
   Úget_release_infoÚseriesÚGCP_LICENSESÚLOGÚinfo)r   rX   s   & r   Úshould_poll_for_pro_licenseÚ1GCPAutoAttachInstance.should_poll_for_pro_licenseo   s1   € Ü×(Ò(Ó*×1Ñ1ˆØœÔ%Ü�H‰HÐGÔHÙÙr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r"   Úwait_for_changer#   rH   )r%   r&   s   "€r   r'   r(   v   s   ø€ ÷ 6ñ 6¹ð 6Á$ñ 6r   c               óÎ  € \         pV'       dG   V\        ,          pV P                  '       d(   V\        P	                  V P                  R 7      ,          p\
        P                  ! VRR/R7      pVP                  ^È8X  d‰   VP                   Uu. uF  qDR,          NK  	  ppVP                  P                  R4      V n        \        P                  ! 4       P                  p\        P                  V. 4       F  pWu9   g   K   R# 	  R# \        P!                  VP"                  4       VP                  R8X  d   \$        P&                  ! 4       h\$        P(                  ! 4       hu upi )	r   r*   r+   )r,   Úidr   TFi�  )ÚLICENSES_URLÚWAIT_FOR_CHANGEr   Ú	LAST_ETAGr%   r   r4   r2   Ú	json_listr,   r9   r
   rW   rX   rY   rZ   Úerrorr3   r   ÚCancelProLicensePollingÚDelayProLicensePolling)r   r_   Úurlr=   ÚlicenseÚlicense_idsrX   Úlics   &$      r   Úis_pro_license_presentÚ,GCPAutoAttachInstance.is_pro_license_presentv   s  € ÜˆçØ”?Õ"ˆCØ�y�yˆyØ”y×'Ñ'¨T¯Y©YÐ'Ó7Õ7�ä—<’< Ð.?ÀÐ-JÔKˆØ�=‰=˜CÔØ8@×8JÒ8JÓKÑ8J¨W 4Ÿ=˜=Ñ8JˆKÐKØ ×(Ñ(×,Ñ,¨VÓ4ˆDŒIÜ×,Ò,Ó.×5Ñ5ˆFÜ#×'Ñ'¨°Ö3�ØÖ%Úñ 4ñ ä�	‰	�(—-‘-Ô Ø�=‰=˜CÔÜ×4Ò4Ó6Ð6ä×3Ò3Ó5Ð5ùò Ls   ÂE"r   N)g      à?é   ro   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úpropertyr   Úretryr   r<   r?   rE   rS   r\   rm   Ú__static_attributes__Ú__classdictcell__)r&   s   @r   r   r   F   st   ø‡ € òð Ø	‡Z‚Z�
×-Ñ-ºKÔH÷
ó Ió ð
ð" ÷ó ðð ÷ó ð÷ð ÷6ö 6r   r   )Ú6022427724719891830Ú7427070211152946628Ú5038396554373364947Ú6800391258104804724)Ú599959289349842382Ú7818678586103571931Ú1160717088167951565Ú3205608531634042128)Ú2592866803419978320Ú160084055690847662Ú2161143262079483057Ú3217217922724410098)Ú2176054482269786025Ú4168323874790319525Ú5097486993533230500Ú7478836627327038165)Ú9208223505600398646Ú94031624764048077Ú3894136194827958490Ú2149234954061887532)ÚloggingrK   Útypingr   r   r   r   Úuaclientr   r   r	   r
   r   Úuaclient.cloudsr   Ú	getLoggerÚreplace_top_level_logger_namerp   rZ   r5   rb   rc   rd   rN   rP   rY   r   rD   r   r   Ú<module>r’      s¶   ðÛ Û 	ß ,Ó ,ç CÕ CÝ 9à×Ò˜×:Ò:¸8ÓDÓE€ð ð 
ðð ð *€Ø€	à3Ð Ø*Ð ð 	Ð(Ð)Øò 
ð 	ò 
ð 	ò 
ð 	ò 
ð 	ò 
ð5 ð ôJF6Ð9ö F6r   