HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/clouds/__pycache__/azure.cpython-310.pyc
o

��Jhc�@s�ddlZddlZddlmZmZddlmZmZmZm	Z	m
Z
ddlmZe�
e
�e��ZdZdZedeeded	�Zd
ZdZdZd
ZGdd�de�ZdS)�N)�Any�Dict)�
exceptions�http�secret_manager�system�util)�PublicCloudAutoAttachInstancez http://169.254.169.254/metadata/z
2020-09-01zattested/document?api-version=zinstance/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@s~eZdZeejejgd�d�dee	e
ffdd���Zede	fdd��Zede
fdd	��Zde
fd
d�Zde
de
fd
d�ZdS)�AzureAutoAttachInstance)�rr)�retry_sleeps�returncCs�i}tt���D]5\}}tj|ddidd�}|jdkr$tj|j|jd��|dkr8|j	d}|||<t
j�|�q|j	||<q|S)	N�Metadata�truer)�headers�timeout��)�code�bodyr
�	signature)
�sorted�	IMDS_URLS�itemsr�readurlrr�CloudMetadataErrorr�	json_dictr�secrets�
add_secret)�self�	responses�key�url�responser�r&�7/usr/lib/python3/dist-packages/uaclient/clouds/azure.py�identity_docs
�
�
z$AzureAutoAttachInstance.identity_doccC�dS)N�azurer&�r!r&r&r'�
cloud_type/�z"AzureAutoAttachInstance.cloud_typecCs2tj�t�rt�t�}t|��krdStj�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_tagr&r&r'�	is_viable3s

z!AzureAutoAttachInstance.is_viablecCr))NTr&r+r&r&r'�should_poll_for_pro_license<r-z3AzureAutoAttachInstance.should_poll_for_pro_license�wait_for_changec
Cs�|rt���t�dd�}ztj|ddid�}Wnty,}z	t�|�t���d}~ww|j	dkr<t�|j
�t���|j�d�tkS)Nr�rr)rr�licenseType)
r�CancelProLicensePollingr�getrr�OSError�LOG�errorrrr�AZURE_PRO_LICENSE_TYPE)r!r9r$r%�er&r&r'�is_pro_license_present@s
��
z.AzureAutoAttachInstance.is_pro_license_presentN)�__name__�
__module__�__qualname__�propertyr�retryrrr�strrr(r,�boolr7r8rCr&r&r&r'r
sr
)�loggingr.�typingrr�uaclientrrrrr�uaclient.cloudsr	�	getLogger�replace_top_level_logger_namerDr?�
IMDS_BASE_URL�API_VERSIONrr1r5r3rAr
r&r&r&r'�<module>s 

�