/usr/lib/python3/dist-packages/uaclient/clouds/__pycache__
Edit: /usr/lib/python3/dist-packages/uaclient/clouds/__pycache__/identity.cpython-310.pyc (3123B)
o
Ki @ s
d dl Z d dlmZ d dlmZ d dlmZmZmZm Z d dl
mZmZm
Z
mZmZ d dlmZ e eeZddd d
ddZe
jje
jje
jjd
ZG dd deZdee fddZeddeddeee ee f fddZ ddee dej fddZ!dS ) N)Enum) lru_cache)DictOptionalTupleType)clouds
exceptionsmessagessystemutil)apply_config_settings_overrideAWSz AWS ChinazAWS GovAzureGCP)aws aws-chinaaws-govazuregce)r r r c @ s e Zd ZdZdZdS )NoCloudTypeReasonr N)__name__
__module____qualname__NO_CLOUD_DETECTEDCLOUD_ID_ERROR r r :/usr/lib/python3/dist-packages/uaclient/clouds/identity.pyr s r returnc C s@ zt g d\} }| W S tjy Y nw td dS )z%Query cloud instance-id from cmdline.)z
cloud-initqueryinstance_idz'Unable to determine current instance-idN)r subpstripr ProcessExecutionErrorLOGwarning)out_errr r r get_instance_id s
r) )maxsize
cloud_typec
C st t dr5zt dg\} }| d fW S tjy4 } ztdt| d t j
fW Y d }~S d }~ww d t jfS )Nzcloud-idzerror running cloud-id: %s)r whichr" r# r r$ r% debugstrr r r )r' r( excr r r get_cloud_type+ s
r0 cloud_overridec
C s ddl m}m}m}m} |j|j|j|j|j|jd}| dur"| }nt \}}|s-t
||}|s:t
j
|d| } | jsDt
| 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 )r r gcplxd)r r r r r r3 N)r+ )uaclient.cloudsr r r2 r3 AWSAutoAttachInstanceAzureAutoAttachInstanceGCPAutoAttachInstanceLXDAutoAttachInstancer0 r CloudFactoryNoCloudErrorgetNonAutoAttachImageError is_viableCloudFactoryNonViableCloudError)
r1 r r r2 r3 cloud_instance_mapr+ _clsinstancer r r cloud_instance_factory: s(
rB )N)"loggingenumr functoolsr typingr r r r uaclientr r r
r r uaclient.configr
getLoggerreplace_top_level_logger_namer r% CLOUD_TYPE_TO_TITLEurlsPRO_ON_AWS_HOME_PAGEPRO_ON_AZURE_HOME_PAGEPRO_ON_GCP_HOME_PAGEPRO_CLOUD_URLSr r. r) r0 AutoAttachInstancerB r r r r
s8 "