Ë
    GKÕic  ã                   óà   — d dl Z d dlZd dlmZmZ d dlmZmZmZm	Z	m
Z
 d dlmZ  e j                   e
j                  e«      «      ZdZdZedz   ez   edz   ez   d	œZd
ZdZdZdZ G d„ de«      Zy)é    N)ÚAnyÚDict)Ú
exceptionsÚhttpÚsecret_managerÚsystemÚutil)ÚPublicCloudAutoAttachInstancez http://169.254.169.254/metadata/z
2020-09-01zattested/document?api-version=zinstance/compute?api-version=)Úpkcs7Úcomputez#/sys/class/dmi/id/chassis_asset_tagz%/var/lib/cloud/seed/azure/ovf-env.xmlz 7783-7084-3265-9085-8269-3286-77Ú
UBUNTU_PROc                   óº   — e Zd Ze ej
                  ej                  g d¢¬«      dee	e
f   fd„«       «       Zede	fd„«       Zedefd„«       Zdefd„Zdedefd	„Zy
)ÚAzureAutoAttachInstance)é   r   r   )Úretry_sleepsÚreturnc                 óŒ  — i }t        t        j                  «       «      D ]¡  \  }}t        j                  |ddid¬«      }|j
                  dk7  r+t        j                  |j
                  |j                  ¬«      ‚|dk(  r4|j                  d   }|||<   t        j                  j                  |«       Œ“|j                  ||<   Œ£ |S )	NÚMetadataÚtruer   )ÚheadersÚtimeoutéÈ   )ÚcodeÚbodyr   Ú	signature)ÚsortedÚ	IMDS_URLSÚitemsr   Úreadurlr   r   ÚCloudMetadataErrorr   Ú	json_dictr   ÚsecretsÚ
add_secret)ÚselfÚ	responsesÚkeyÚurlÚresponser   s         ú7/usr/lib/python3/dist-packages/uaclient/clouds/azure.pyÚidentity_docz$AzureAutoAttachInstance.identity_doc   s½   € ð ˆ	ÜœyŸ™Ó0Ó1ò 	4‰HˆC�Ü—|‘|Ø˜j¨&Ð1¸1ôˆHð �}‰} Ò#Ü ×3Ñ3Ø!Ÿ™¨X¯]©]ôð ð �gŠ~Ø$×.Ñ.¨{Ñ;�	Ø!*�	˜#‘Ü×&Ñ&×1Ñ1°)Õ<à!)×!3Ñ!3�	˜#’ð	4ð Ðó    c                  ó   — y)NÚazure© ©r$   s    r)   Ú
cloud_typez"AzureAutoAttachInstance.cloud_type/   s   € àr+   c                 óð   — t         j                  j                  t        «      r1t	        j
                  t        «      }t        |j                  «       k(  ryt         j                  j                  t        «      S )z&This machine is a viable AzureInstanceT)	ÚosÚpathÚexistsÚDMI_CHASSIS_ASSET_TAGr   Ú	load_fileÚAZURE_CHASSIS_ASSET_TAGÚstripÚAZURE_OVF_ENV_FILE)r$   Úchassis_asset_tags     r)   Ú	is_viablez!AzureAutoAttachInstance.is_viable3   sP   € ô �7‰7�>‰>Ô/Ô0Ü &× 0Ñ 0Ô1FÓ GÐÜ&Ð*;×*AÑ*AÓ*CÒCØÜ�w‰w�~‰~Ô0Ó1Ð1r+   c                  ó   — y)NTr.   r/   s    r)   Úshould_poll_for_pro_licensez3AzureAutoAttachInstance.should_poll_for_pro_license<   s   € àr+   Úwait_for_changec                óÊ  — |rt        j                  «       ‚t        j                  dd«      }	 t	        j
                  |ddi¬«      }|j                  dk7  r3t        j                  |j                  «       t        j                  «       ‚|j                  j                  d«      t        k(  S # t        $ r.}t        j                  |«       t        j                  «       ‚d }~ww xY w)Nr   Ú r   r   )r   r   ÚlicenseType)r   ÚCancelProLicensePollingr   Úgetr   r   ÚOSErrorÚLOGÚerrorr   r   r!   ÚAZURE_PRO_LICENSE_TYPE)r$   r>   r'   r(   Úes        r)   Úis_pro_license_presentz.AzureAutoAttachInstance.is_pro_license_present@   s´   € ÙÜ×4Ñ4Ó6Ð6ä�m‰m˜I rÓ*ˆð	7Ü—|‘| C°*¸fÐ1EÔFˆHð
 �=‰=˜CÒÜ�I‰I�h—m‘mÔ$Ü×4Ñ4Ó6Ð6à×!Ñ!×%Ñ% mÓ4Ô8NÑNÐNøô ò 	7Ü�I‰I�aŒLÜ×4Ñ4Ó6Ð6ûð	7ús   ®B+ Â+	C"Â4)CÃC"N)Ú__name__Ú
__module__Ú__qualname__Úpropertyr	   Úretryr   r    r   Ústrr   r*   r0   Úboolr;   r=   rI   r.   r+   r)   r   r      s™   „ ð Ø€T‡Z�Z�
×-Ñ-ºIÔFð˜d 3¨ 8™nò ó Gó ðð$ ð˜Cò ó ðð ð2˜4ò 2ó ð2ð¨Tó ðO¸ð OÀ$ô Or+   r   )Úloggingr2   Útypingr   r   Úuaclientr   r   r   r   r	   Úuaclient.cloudsr
   Ú	getLoggerÚreplace_top_level_logger_namerJ   rE   ÚIMDS_BASE_URLÚAPI_VERSIONr   r5   r9   r7   rG   r   r.   r+   r)   ú<module>rY      s�   ðÛ Û 	ß ç CÕ CÝ 9à€g×ÑÐ:˜×:Ñ:¸8ÓDÓE€à2€à€àÐ=Ñ=ÀÑKØÐ>Ñ>ÀÑLñ€	ð
 >Ð Ø<Ð Ø<Ð Ø%Ð ô7OÐ;õ 7Or+   