Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/ec2.cpython-310.pyc
o

}��fW"�@s�ddlZddlZddlZddlmZmZe�e�Ze	ej
g�ZGdd�d�ZGdd�d�Z
dd�Z			
						ddd
�Z			
								ddd�Z			
								ddd�Z			
							ddd�ZdS)�N)�
url_helper�utilc@s eZdZdZdd�Zdd�ZdS)�MetadataLeafDecoderz.Decodes a leaf blob into something meaningful.cCs,|sdS|��}|�d�r|�d�rdSdS)NF�{�}T)�strip�
startswith�endswith)�self�text�r�?/usr/lib/python3/dist-packages/cloudinit/sources/helpers/ec2.py�_maybe_json_objectsz&MetadataLeafDecoder._maybe_json_objectc
Cs�|sdSzt�|�}Wnty|YSw|�|�r>zt�|�WSttfy=}z
t�	d||�WYd}~nd}~ww|�
d�dkrI|��S|S)N�z6Field %s looked like a json object, but it was not: %s�
���)r�
decode_binary�UnicodeDecodeErrorr�json�loads�
ValueError�	TypeError�LOG�warning�find�
splitlines)r
�field�blob�errr
�__call__s*�
���zMetadataLeafDecoder.__call__N)�__name__�
__module__�__qualname__�__doc__rrrrrr
rsrc@s.eZdZd
dd�Zdd�Zdd�Zdd	�ZdS)�MetadataMaterializerNcCs6||_d|_||_||_|durt�|_dS||_dS�N)�_blob�_md�	_base_url�_callerr�
_leaf_decoder)r
r�base_url�caller�leaf_decoderrrr
�__init__7s
zMetadataMaterializer.__init__cCs�i}g}t�|�}|s||fSdd�}dd�}|��D]G}|��}||�}|r)|s*q|dkr/q||�r=||vr<|�|�q|�dd�}|}	t|�dkr^|\}
}t�|
�}
|
dur^d|
}	|}|	||<q||fS)	NcSs|�d�rdSdS)N�/TF)r	��itemrrr
�has_childrenIs
z1MetadataMaterializer._parse.<locals>.has_childrencSs|�d�r
|�d�S|S)Nr/)r	�rstripr0rrr
�get_nameOs

z-MetadataMaterializer._parse.<locals>.get_namezsecurity-credentials�=�z%s/openssh-key)rrrr�append�split�len�safe_int)r
r�leaves�childrenr2r4r�
field_name�contents�resource�ident�sub_contentsrrr
�_parseAs8

�

zMetadataMaterializer._parsecCs(|jdur|jS|�|j|j�|_|jSr%)r'�_materializer&r()r
rrr
�materializels
z MetadataMaterializer.materializecCs�|�|�\}}i}|D]}t�||�}|�d�s|d7}|�|�}|�||�||<qi}	|��D]\}
}t�||�}|�|�}
|�|
|
�|	|
<q0i}|�|�|	�	�D]}
|
|vr`t
�d|�qS|	|
||
<qS|S)Nr/z&Duplicate key found in results from %s)rBr�combine_urlr	r)rC�itemsr*�update�keysrr)r
rr+r;r<�child_contents�c�	child_url�
child_blob�
leaf_contentsrr?�leaf_url�	leaf_blob�joinedrrr
rCrs(



z!MetadataMaterializer._materializer%)r r!r"r.rBrDrCrrrr
r$6s


+r$cCs
|j|vS)z/Returns False if cause.code is in status_codes.)�code)�status_codes�
_request_args�causerrr
�skip_retry_on_codes�s
rU�latest�http://169.254.169.254�c
Cs�t�||�}t�|d�}d}	z|st�tt�}tj|||||||d�}
|
j}	W|	StjyO}z|j	tvrDt
�td|�WYd}~|	SWYd}~|	Sd}~wt
y_t
�td|�Y|	Sw)Nz	user-data�)�ssl_details�timeout�retries�exception_cb�
headers_cb�headers_redactz$Failed fetching userdata from url %s)rrE�	functools�partialrU�SKIP_USERDATA_CODES�read_file_or_urlr>�UrlErrorrQr�logexcr�	Exception)�api_version�metadata_addressrZr[r\r^r_r]�ud_url�	user_data�responserrrr
�get_instance_userdata�s<
��	�

����rlc	s�t�|||�}tjtj||||||	d����fdd�}z�|�}
t|
j|||d�}|��}t|t	�s4i}|WSt
yIt�t
d||�iYSw)N)rZr[r\r^r_r]c
sPz�|�jWStjy'}z�r�|�s�t�d|�WYd}~dSd}~ww)Nz&Skipped retrieval of the content of %sz	(skipped))r>rrdrr)�urlr�r,�retrieval_exception_ignore_cbrr
�mcaller�s����z'_get_instance_metadata.<locals>.mcaller)r-zFailed fetching %s from url %s)rrEr`rarcr$r>rD�
isinstance�dictrfrrer)�treergrhrZr[r\r-r^r_r]ro�md_urlrprk�materializer�mdrrnr
�_get_instance_metadata�s0
�


�
�rwc


Cstd||||||||||	d�S)Nz
meta-data/)rsrgrhrZr[r\r-r_r^r]ro�rw)
rgrhrZr[r\r-r^r_r]rorrr
�get_instance_metadata�s�ryc		Cstd|||||||||d�
S)Nzdynamic/instance-identity)
rsrgrhrZr[r\r-r_r^r]rx)	rgrhrZr[r\r-r^r_r]rrr
�get_instance_identitys�rz)rVrWNrXrXNNN)
rVrWNrXrXNNNNN)	rVrWNrXrXNNNN)r`r�logging�	cloudinitrr�	getLoggerr r�	frozenset�	NOT_FOUNDrbrr$rUrlrwryrzrrrr
�<module>sd
#T
�)
�4
��

Spamworldpro Mini