HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/uaclient/clouds/__pycache__/identity.cpython-38.pyc
U

��Jh��@sddlZddlmZddlmZddlmZmZmZm	Z	ddl
mZmZm
Z
mZmZddlmZe�e�e��Zddd	d
dd�Ze
jje
jje
jjd
�ZGdd�de�Zeed�dd�Zedd�ed�eeeeefd�dd���Zdeeej d�dd�Z!dS)�N)�Enum)�	lru_cache)�Dict�Optional�Tuple�Type)�clouds�
exceptions�messages�system�util)�apply_config_settings_overrideZAWSz	AWS ChinazAWS GovZAzureZGCP)�aws�	aws-china�aws-gov�azure�gce)rrrc@seZdZdZdZdS)�NoCloudTypeReasonr�N)�__name__�
__module__�__qualname__�NO_CLOUD_DETECTED�CLOUD_ID_ERROR�rr�:/usr/lib/python3/dist-packages/uaclient/clouds/identity.pyrsr)�returncCsDzt�dddg�\}}|��WStjk
r4YnXt�d�dS)z%Query cloud instance-id from cmdline.z
cloud-initZqueryZinstance_idz'Unable to determine current instance-idN)r�subp�stripr	�ProcessExecutionError�LOGZwarning)�out�_errrrr�get_instance_ids

r#)�maxsize�
cloud_typec
Csvt�d�rlzt�dg�\}}|��dfWStjk
rj}z"t�dt|��dt	j
fWY�Sd}~XYnXdt	jfS)Nzcloud-idzerror running cloud-id: %s)rZwhichrrr	rr �debug�strrrr)r!r"�excrrr�get_cloud_type+s
 r))�cloud_overriderc
Cs�ddlm}m}m}m}|j|j|j|j|j|jd�}|dk	rD|}n
t	�\}}|sZt
���|�|�}|stt
j
|d��|�}	|	js�t
���|	S)a
    :raises CloudFactoryError: if no cloud instance object can be constructed
    :raises CloudFactoryNoCloudError: if no cloud instance object can be
        constructed because we are not on a cloud
    :raises CloudFactoryUnsupportedCloudError: if no cloud instance object can
        be constructed because we don't have a class for the cloud we're on
    :raises CloudFactoryNonViableCloudError: if no cloud instance object can be
        constructed because we explicitly do not support the cloud we're on
    r)rr�gcp�lxd)rrrrrr,N)r%)Zuaclient.cloudsrrr+r,ZAWSAutoAttachInstanceZAzureAutoAttachInstanceZGCPAutoAttachInstanceZLXDAutoAttachInstancer)r	ZCloudFactoryNoCloudError�getZNonAutoAttachImageErrorZ	is_viableZCloudFactoryNonViableCloudError)
r*rrr+r,Zcloud_instance_mapr%�_�cls�instancerrr�cloud_instance_factory:s(�	

r1)N)"Zlogging�enumr�	functoolsr�typingrrrrZuaclientrr	r
rrZuaclient.configr
Z	getLoggerZreplace_top_level_logger_namerr ZCLOUD_TYPE_TO_TITLEZurlsZPRO_ON_AWS_HOME_PAGEZPRO_ON_AZURE_HOME_PAGEZPRO_ON_GCP_HOME_PAGEZPRO_CLOUD_URLSrr'r#r)ZAutoAttachInstancer1rrrr�<module>s4�	�"��