/usr/lib/python3.6/site-packages/cloudinit/sources/azure/__pycache__
Edit: /usr/lib/python3.6/site-packages/cloudinit/sources/azure/__pycache__/imds.cpython-36.pyc (5148B)
3
\men @ s d dl Z d dlmZ d dlmZmZmZmZ d dlZd dlm Z d dl
mZ d dlm
Z
mZ e jeZdZG dd d Zd
ddeeeeed
ddZeeedddZdeee edddZedddZdS ) N)time)DictOptionalTypeUnion)util)report_diagnostic_event)UrlErrorreadurlzhttp://169.254.169.254/metadatac @ sF e Zd ZdZdddddeee ee dd d
dZedd
dZ dS )ReadUrlRetryHandleraF Manager 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 time()-based deadline to retry until.
g ?N )logging_backoffmax_connection_errorsretry_codesretry_deadline)r r r returnc C s. || _ || _|| _|| _d| _d| _d | _d S )Ng ?r )r r r r _logging_threshold_request_count_last_error)selfr r r r r /usr/lib/python3.6/imds.py__init__ s
zReadUrlRetryHandler.__init__)r c C sP | j d7 _ t|ts.td| tjd dS d}| jd k rNt | jkrNd}nd}| jd k rt|j t
jr| jd8 _| jdkrd}n|jd k r|j| j
krd}| j | jkr| j| j9 _nd}|jd k r| j|jkrd}|j| _n>| jd kst| jt st|j | j r&d}t|j | _|s4| rLtd| j |f tjd |S )N z1Polling IMDS failed with unexpected exception: %r)logger_funcFTr z1Polling IMDS failed attempt %d with exception: %r)r
isinstancer r LOGwarningr r r causerequestsConnectionErrorcoder r r r typeinfo)r Zreq_argsZ exceptionlogZretryr r r exception_callback2 sJ
z&ReadUrlRetryHandler.exception_callback)r r
r r )
__name__
__module____qualname____doc__floatr intr boolr( r r r r r s r T )log_responsetimeout)url
retry_handlerr1 r2 r c C s\ yt | |jddid||d}W n6 tk
rT } ztd| tjd W Y dd}~X nX |jS )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.
MetadatatrueT)exception_cbheadersinfinitelog_req_respr2 z&Failed to fetch metadata from IMDS: %s)r N)r
r( r r r r contents)r3 r4 r1 r2 responseerrorr r r
_fetch_urlp s
r> )r3 r4 r c C sR t | |d}y
tj|S tk
rL } ztd| tjd W Y dd}~X nX dS )zFetch 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.
)r4 z&Failed to parse metadata from IMDS: %s)r N)r> r Z load_json
ValueErrorr r r )r3 r4 Zmetadatar= r r r _fetch_metadata s
r@ )r r r c C s t || d}ytd }t||dS tk
r| } z@|jdkrjtdtjd t || d}td }t||dS W Y dd}~X nX dS ) zFetch 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.
)r r z./instance?api-version=2021-08-01&extended=true)r4 i z,Falling back to IMDS api-version: 2019-06-01)r z /instance?api-version=2019-06-01N)r IMDS_URLr@ r r$ r r r )r r r4 r3 r= r r r fetch_metadata_with_api_fallback s"
rB )r c C sT t d } tddddd}t| |jd d
iddd
d}td|jd dtjd |jS )zhFetch extended metadata, falling back to non-extended as required.
:raises UrlError: on error.
z'/reprovisiondata?api-version=2019-06-01g @r N)r r r r r5 r6 TFr0 )r7 r8 r9 r: r2 zPolled IMDS z time(s))r )rC rD rE ) rA r r
r( r r r debugr; )r3 Zhandlerr<