HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/botocore/__pycache__/discovery.cpython-38.pyc
U

KD�g++�@s�ddlZddlZddlZddlmZddlmZmZmZddl	m
Z
ddlmZe�
e�ZGdd�de�ZGdd	�d	e�ZGd
d�de�Zdd
�ZGdd�d�ZGdd�d�ZGdd�d�ZdS)�N)�
xform_name)�
BotoCoreError�ConnectionError�HTTPClientError)�OperationNotFoundError)�CachedPropertyc@seZdZdS)�EndpointDiscoveryExceptionN)�__name__�
__module__�__qualname__�rr�?/opt/cppython/lib/python3.8/site-packages/botocore/discovery.pyrsrc@seZdZdZdZdS)�EndpointDiscoveryRequiredzBEndpoint Discovery is disabled but is required for this operation.zAEndpoint Discovery is not enabled but this operation requires it.N�r	r
r�__doc__�fmtrrrr
rsrc@seZdZdZdZdS)�EndpointDiscoveryRefreshFailedz=Endpoint Discovery failed to the refresh the known endpoints.z<Endpoint Discovery failed to refresh the required endpoints.Nrrrrr
r#srcKs|j}|r|�d�rt��dS)N�required)�endpoint_discovery�getr)�model�kwargsrrrr
�,block_endpoint_discovery_required_operations)src@sNeZdZdd�Zedd��Zedd��Zdd�Zd	d
�Zdd�Z	ddd�Z
d
S)�EndpointDiscoveryModelcCs
||_dS�N)�_service_model)�self�
service_modelrrr
�__init__0szEndpointDiscoveryModel.__init__cCs|jj}t|j�Sr)r�endpoint_discovery_operationr�name)r�discovery_operationrrr
�discovery_operation_name3sz/EndpointDiscoveryModel.discovery_operation_namecCs&|jj}g}|jr"t|jj���}|Sr)rr�input_shape�list�members�keys)rr!r&rrr
�discovery_operation_keys8s
z/EndpointDiscoveryModel.discovery_operation_keyscCs8z|j�|�}|j�dd�WStk
r2YdSXdS)NrF)r�operation_modelrrr)r�operation_namer(rrr
�discovery_required_for@s�z-EndpointDiscoveryModel.discovery_required_forcs>|j�|�d�s(|�dd�|�dd��fdd�|��D�S)N�Identifiers�	Operationcsi|]\}}|�kr||�qSrr��.0�k�v�Z
input_keysrr
�
<dictcomp>OszEEndpointDiscoveryModel.discovery_operation_kwargs.<locals>.<dictcomp>)r'r�pop�items�rrrr1r
�discovery_operation_kwargsIs

z1EndpointDiscoveryModel.discovery_operation_kwargscCs|�|j|�Sr)�_gather_idsr#�r�	operation�paramsrrr
�gather_identifiersQsz)EndpointDiscoveryModel.gather_identifiersNcCsb|dkri}|j��D]F\}}|j�d�r8||||<q|jdkr||kr|�||||�q|S)NZendpointdiscoveryidZ	structure)r%r4�metadatar�	type_namer7)r�shaper:�ids�member_nameZmember_shaperrr
r7Ts��z"EndpointDiscoveryModel._gather_ids)N)r	r
rrrr"r'r*r6r;r7rrrr
r/s

	rc@sneZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�EndpointDiscoveryManagerNTcCsP|dkri}||_i|_|dkr&tj}||_||_t�|�|_t|j	j
�|_dSr)�_cache�_failed_attempts�time�_time�_always_discover�weakref�proxy�_clientr�metar�_model)r�client�cache�current_timeZalways_discoverrrr
rdsz!EndpointDiscoveryManager.__init__cCs8|d}|��}|D]}|�d�}||d|d<q|S)NZ	EndpointsZCachePeriodInMinutes�<�
Expiration)rEr)r�response�	endpointsrN�endpointZ
cache_timerrr
�_parse_endpointsus
z)EndpointDiscoveryManager._parse_endpointscCs"t|t�rtt|����S|SdSr)�
isinstance�dict�tuple�sortedr4)r�valuerrr
�_cache_item}s
z$EndpointDiscoveryManager._cache_itemcs,�jjf|�}t�fdd�t|���D��S)Nc3s|]\}}��|�VqdSr)rZr-�rrr
�	<genexpr>�sz=EndpointDiscoveryManager._create_cache_key.<locals>.<genexpr>)rKr6rWrXr4r5rr[r
�_create_cache_key�sz*EndpointDiscoveryManager._create_cache_keycCs|j�||�Sr)rKr;r8rrr
r;�sz+EndpointDiscoveryManager.gather_identifierscKs"|jf|�}||jkr|j|=dSr)r]rB)rr�	cache_keyrrr
�delete_endpoints�s
z)EndpointDiscoveryManager.delete_endpointscKs8|jjf|�}|jj}t|j|�}t�d|�|f|�S)Nz%Discovering endpoints with kwargs: %s)rKr6r"�getattrrI�logger�debug)rrr)r!rrr
�_describe_endpoints�s
z,EndpointDiscoveryManager._describe_endpointscs.||jkrdS|����fdd�|j|D�S)Ncsg|]}�|dkr|�qS)rPr)r.�e��nowrr
�
<listcomp>�szCEndpointDiscoveryManager._get_current_endpoints.<locals>.<listcomp>)rBrE)r�keyrrer
�_get_current_endpoints�s
z/EndpointDiscoveryManager._get_current_endpointsc	Ksr|jf|�}z4|jf|�}|�|�}||j|<|j�|d�|WSttfk
rl|��d|j|<YdSXdS)NrO)	r]rcrTrBrCr3rrrE)rrr^rQrRrrr
�_refresh_current_endpoints�s

z3EndpointDiscoveryManager._refresh_current_endpointscCs0||jkr,|��}||j|kr$dS|j|=dS)NTF)rCrE)rr^rfrrr
�_recently_failed�s
z)EndpointDiscoveryManager._recently_failedcCs|ddS)NrZAddressr)rrRrrr
�_select_endpoint�sz)EndpointDiscoveryManager._select_endpointcKs�|d}|j�|�}|js2|s2t�d|���dS|jf|�}|�|�}|rV|�|�S|�|�}|s~|j	f|�}|r~|�|�St�d|�|j
�|d�}|r�|�|�S|r�|r�|j	f|�}|r�|�|�St��dS)Nr,z?Optional discovery disabled. Skipping discovery for Operation: z%Endpoint Discovery has failed for: %s)
rKr*rFrarbr]rirlrkrjrBrr)rrr9Zdiscovery_requiredr^rRZrecently_failedZ
stale_entriesrrr
�describe_endpoint�s6
�





z*EndpointDiscoveryManager.describe_endpoint)NNT)r	r
rrrTrZr]r;r_rcrirjrkrlrmrrrr
rAcs�
	rAc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�EndpointDiscoveryHandlercCs
||_dSr)�_manager)r�managerrrr
r�sz!EndpointDiscoveryHandler.__init__cCs@|�d|��|j�|�d|��|j�|�d|��|j�dS)Nzbefore-parameter-build.zrequest-created.zneeds-retry.)�registerr;Zregister_first�discover_endpoint�handle_retries)r�eventsZ
service_idrrr
rq�s��z!EndpointDiscoveryHandler.registercKs0|j}|dkrdS|j�||�}d|i|d<dS)N�identifiers�	discovery)rror;)rr:r�contextrrr?rrr
r;�s
z+EndpointDiscoveryHandler.gather_identifierscKsn|j�di��d�}|dkr dS|jj||d�}|dkrFt�d�dS|�d�sXd|}t�d|�||_dS)Nrvru�r,r+z&Failed to discover and inject endpoint�httpzhttps://z!Injecting discovered endpoint: %s)rwrrormrarb�
startswith�url)r�requestr)rr?rSrrr
rr�s�

z*EndpointDiscoveryHandler.discover_endpointc
Ks�|dkrdS|\}}|�di��d�}|�di��d�}|dkrL|dkrLdS|�di�}|�di��d	�}	|	dkrvdS|jj|j|	d
�dS)NZResponseMetadataZHTTPStatusCode�ErrorZCodei�ZInvalidEndpointExceptionrwrvrurxr)rror_r )
rZrequest_dictrQr9r�_�statusZ
error_coderwr?rrr
rss �z'EndpointDiscoveryHandler.handle_retriesN)r	r
rrrqr;rrrsrrrr
rn�s
	rn)�loggingrDrGZbotocorerZbotocore.exceptionsrrrZbotocore.modelrZbotocore.utilsr�	getLoggerr	rarrrrrrArnrrrr
�<module>
s
4}