o >fY @sddlZddlZddlmZmZddlmZmZmZm Z m Z ddl m Z e e eZdZdZedeeded Zd Zd Zd Zd ZGddde ZdS)N)AnyDict) exceptionshttpsecret_managersystemutil)AutoAttachCloudInstancez http://169.254.169.254/metadata/z 2020-09-01zattested/document?api-version=zinstance/compute?api-version=)pkcs7computez#/sys/class/dmi/id/chassis_asset_tagz%/var/lib/cloud/seed/azure/ovf-env.xmlz 7783-7084-3265-9085-8269-3286-77 UBUNTU_PROc@s~eZdZeejejgdddee e ffddZ ede fddZ ede fdd Zde fd d Zd e de fd dZdS)UAAutoAttachAzureInstance)rr) retry_sleepsreturncCsi}ttD]5\}}tj|ddidd}|jdkr$tj|j|jd|dkr8|j d}|||<t j |q|j ||<q|S) NMetadatatruer)headerstimeout)codebodyr signature) sorted IMDS_URLSitemsrreadurlrrCloudMetadataErrorr json_dictrsecrets add_secret)self responseskeyurlresponserr&7/usr/lib/python3/dist-packages/uaclient/clouds/azure.py identity_docs    z&UAAutoAttachAzureInstance.identity_doccCdS)Nazurer&r!r&r&r' cloud_type/z$UAAutoAttachAzureInstance.cloud_typecCs2tjtrtt}t|krdStjtS)z&This machine is a viable AzureInstanceT) ospathexistsDMI_CHASSIS_ASSET_TAGr load_fileAZURE_CHASSIS_ASSET_TAGstripAZURE_OVF_ENV_FILE)r!chassis_asset_tagr&r&r' is_viable3s    z#UAAutoAttachAzureInstance.is_viablecCr))NTr&r+r&r&r'should_poll_for_pro_license<r-z5UAAutoAttachAzureInstance.should_poll_for_pro_licensewait_for_changec Cs|rttdd}z tj|ddid}Wnty,}z t|td}~ww|j dkrs