CasperSecurity

Current Path : /lib/python3/dist-packages/uaclient/clouds/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/uaclient/clouds/__pycache__/identity.cpython-310.pyc

o

��Jh��@s
ddlZddlmZddlmZddlmZmZmZm	Z	ddl
mZmZm
Z
mZmZddlmZe�e�e��Zddd	d
dd�Ze
jje
jje
jjd
�ZGdd�de�Zdeefdd�Zedd�ed�deeeeeffdd���Z	ddeedej fdd�Z!dS)�N)�Enum)�	lru_cache)�Dict�Optional�Tuple�Type)�clouds�
exceptions�messages�system�util)�apply_config_settings_override�AWSz	AWS ChinazAWS Gov�Azure�GCP)�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�returncCs@zt�gd��\}}|��WStjyYnwt�d�dS)z%Query cloud instance-id from cmdline.)z
cloud-init�query�instance_idz'Unable to determine current instance-idN)r�subp�stripr	�ProcessExecutionError�LOG�warning)�out�_errrrr�get_instance_ids
�
r))�maxsize�
cloud_typec
Cstt�d�r5zt�dg�\}}|��dfWStjy4}zt�dt|��dt	j
fWYd}~Sd}~wwdt	jfS)Nzcloud-idzerror running cloud-id: %s)r�whichr"r#r	r$r%�debug�strrrr)r'r(�excrrr�get_cloud_type+s
��
r0�cloud_overridec
Cs�ddlm}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)rr�gcp�lxd)rrrrrr3N)r+)�uaclient.cloudsrrr2r3�AWSAutoAttachInstance�AzureAutoAttachInstance�GCPAutoAttachInstance�LXDAutoAttachInstancer0r	�CloudFactoryNoCloudError�get�NonAutoAttachImageError�	is_viable�CloudFactoryNonViableCloudError)
r1rrr2r3�cloud_instance_mapr+�_�cls�instancerrr�cloud_instance_factory:s(�	

rB)N)"�logging�enumr�	functoolsr�typingrrrr�uaclientrr	r
rr�uaclient.configr
�	getLogger�replace_top_level_logger_namerr%�CLOUD_TYPE_TO_TITLE�urls�PRO_ON_AWS_HOME_PAGE�PRO_ON_AZURE_HOME_PAGE�PRO_ON_GCP_HOME_PAGE�PRO_CLOUD_URLSrr.r)r0�AutoAttachInstancerBrrrr�<module>s8�	�"���
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY