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/azure/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

}��f.�@s�ddlZddlZddlmZddlmZmZmZmZddl	Z	ddl
mZddlm
Z
ddlmZmZe�e�ZdZdd	�ZGd
d�d�Zdd
d�dededededef
dd�Zdededefdd�Z	ddedeedefdd�Zdefdd�ZdS)�N)�	monotonic)�Dict�Optional�Type�Union)�util)�report_diagnostic_event)�UrlError�readurlzhttp://169.254.169.254/metadatacCsdtt���d�S)N�true)�Metadatazx-ms-client-request-id)�str�uuid�uuid4)�_url�r�>/usr/lib/python3/dist-packages/cloudinit/sources/azure/imds.py�
headers_cbs
�rc	@sLeZdZdZddddd�dedeedeed	dfd
d�Zd	efdd
�Z	dS)�ReadUrlRetryHandleraKManager for readurl retry behavior using exception_callback().

    :param logging_backoff: Backoff to limit logging.
    :param max_connection_errors: Number of connection errors to retry on.
    :param retry_codes: Set of http codes to retry on.
    :param retry_deadline: Optional monotonic()-based deadline to retry until.
    ��?N)���i���logging_backoff�max_connection_errors�retry_codes�retry_deadlinerrr�returncCs.||_||_||_||_d|_d|_d|_dS)Nrr)rrrr�_logging_threshold�_request_count�_last_error)�selfrrrrrrr�__init__%s

zReadUrlRetryHandler.__init__cCs@|jd7_t|t�std|tjd�dSd}|jdur't�|jkr'd}nd}|jdurDt|j	t
j�rD|jd8_|jdkrCd}n
|jdurQ|j|j
vrQd}|j|jkr`|j|j9_nd}|jdurt|j|jkrsd}|j|_n|jdus�t|jt�r�t|j	|j�s�d}t|j	�|_|s�|s�td|j|ftjd�|S)N�z1Polling IMDS failed with unexpected exception: %r��logger_funcFTrz1Polling IMDS failed attempt %d with exception: %r)r �
isinstancer	r�LOG�warningrrr�cause�requests�ConnectionError�coderrrr!�type)r"�req_args�	exception�log�retryrrr�exception_callback:s^
��
�
�

�

����z&ReadUrlRetryHandler.exception_callback)
�__name__�
__module__�__qualname__�__doc__�floatr�intr#�boolr3rrrrrs ����
�rT�)�log_response�timeout�url�
retry_handlerr<r=rc
CsLzt||jtd||d�}W|jSty%}z
td|tjd��d}~ww)a'Fetch URL from IMDS.

    :param url: url to fetch.
    :param log_response: log responses in readurl().
    :param retry_deadline: time()-based deadline to retry until.
    :param timeout: Read/connection timeout in seconds for readurl().

    :raises UrlError: on error fetching metadata.
    T��exception_cbr�infinite�log_req_respr=z&Failed to fetch metadata from IMDS: %sr%N)r
r3rr	rr(r)�contents)r>r?r<r=�response�errorrrr�
_fetch_url{s$�����rGc
CsLt||d�}z	t�|�d��WSty%}z
td|tjd��d}~ww)z�Fetch IMDS metadata.

    :param url: url to fetch.
    :param retry_deadline: time()-based deadline to retry until.

    :raises UrlError: on error fetching metadata.
    :raises ValueError: on error parsing metadata.
    �r?zutf-8z&Failed to parse metadata from IMDS: %sr%N)rGr�	load_json�decode�
ValueErrorrr(r))r>r?�metadatarFrrr�_fetch_metadata�s
���rMrrc
Cs�t||d�}ztd}t||d�WSty@}z#|jdkr;tdtjd�t||d�}td}t||d�WYd}~S�d}~ww)	z�Fetch extended metadata, falling back to non-extended as required.

    :param retry_deadline: time()-based deadline to retry until.

    :raises UrlError: on error fetching metadata.
    :raises ValueError: on error parsing metadata.
    )rrz./instance?api-version=2021-08-01&extended=truerHi�z,Falling back to IMDS api-version: 2019-06-01r%z /instance?api-version=2019-06-01N)r�IMDS_URLrMr	r-rr(r))rrr?r>rFrrr� fetch_metadata_with_api_fallback�s,
�
����rOcCsPtd}tddddd�}t||jtddd	d
�}td|jd�d�tjd
�|j	S)zhFetch extended metadata, falling back to non-extended as required.

    :raises UrlError: on error.
    z'/reprovisiondata?api-version=2019-06-01g@r$)rrrNrTFr;r@zPolled IMDS z time(s)r%)
rNrr
r3rrr r(�debugrD)r>�handlerrErrr�fetch_reprovision_data�s(�
�	�rR)N) �loggingr�timer�typingrrrrr+�	cloudinitr�cloudinit.sources.helpers.azurer�cloudinit.url_helperr	r
�	getLoggerr4r(rNrrr
r:r9�bytesrGrMr8rOrRrrrr�<module>sR
c�����
�#��
����
� 

Spamworldpro Mini