HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/botocore/__pycache__/discovery.cpython-37.pyc
B

�P�eC+�@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�C/opt/alt/python37/lib/python3.7/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.N)r	r
rrrr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�S)N)r�endpoint_discovery_operationr�name)r�discovery_operationrrr
�discovery_operation_name3sz/EndpointDiscoveryModel.discovery_operation_namecCs&|jj}g}|jr"t|jj���}|S)N)rr�input_shape�list�members�keys)rrr$rrr
�discovery_operation_keys8s
z/EndpointDiscoveryModel.discovery_operation_keyscCs4y|j�|�}|j�dd�Stk
r.dSXdS)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)�
input_keysrr
�
<dictcomp>OszEEndpointDiscoveryModel.discovery_operation_kwargs.<locals>.<dictcomp>)r%r�pop�items)rrr)r.r
�discovery_operation_kwargsIs

z1EndpointDiscoveryModel.discovery_operation_kwargscCs|�|j|�S)N)�_gather_idsr!)r�	operation�paramsrrr
�gather_identifiersQsz)EndpointDiscoveryModel.gather_identifiersNcCsf|dkri}xT|j��D]F\}}|j�d�r:||||<q|jdkr||kr|�||||�qW|S)NZendpointdiscoveryidZ	structure)r#r1�metadatar�	type_namer3)r�shaper5�ids�member_nameZmember_shaperrr
r3Tsz"EndpointDiscoveryModel._gather_ids)N)r	r
rrrr r%r(r2r6r3r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
�|_dS)N)�_cache�_failed_attempts�time�_time�_always_discover�weakref�proxy�_clientr�metar�_model)r�client�cache�current_timeZalways_discoverrrr
rdsz!EndpointDiscoveryManager.__init__cCs<|d}|��}x&|D]}|�d�}||d|d<qW|S)NZ	EndpointsZCachePeriodInMinutes�<�
Expiration)r@r)r�response�	endpointsrI�endpointZ
cache_timerrr
�_parse_endpointsus

z)EndpointDiscoveryManager._parse_endpointscCs"t|t�rtt|����S|SdS)N)�
isinstance�dict�tuple�sortedr1)r�valuerrr
�_cache_item}s
z$EndpointDiscoveryManager._cache_itemcs,�jjf|�}t�fdd�t|���D��S)Nc3s|]\}}��|�VqdS)N)rU)r+r,r-)rrr
�	<genexpr>�sz=EndpointDiscoveryManager._create_cache_key.<locals>.<genexpr>)rFr2rRrSr1)rrr)rr
�_create_cache_key�sz*EndpointDiscoveryManager._create_cache_keycCs|j�||�S)N)rFr6)rr4r5rrr
r6�sz+EndpointDiscoveryManager.gather_identifierscKs"|jf|�}||jkr|j|=dS)N)rWr=)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)rFr2r �getattrrD�logger�debug)rrr'rrrr
�_describe_endpoints�s
z,EndpointDiscoveryManager._describe_endpointscs.||jkrdS|����fdd�|j|D�S)Ncsg|]}�|dkr|�qS)rKr)r+�e)�nowrr
�
<listcomp>�szCEndpointDiscoveryManager._get_current_endpoints.<locals>.<listcomp>)r=r@)r�keyr)r_r
�_get_current_endpoints�s
z/EndpointDiscoveryManager._get_current_endpointsc	Ksn|jf|�}y2|jf|�}|�|�}||j|<|j�|d�|Sttfk
rh|��d|j|<dSXdS)NrJ)	rWr]rOr=r>r0rrr@)rrrXrLrMrrr
�_refresh_current_endpoints�s

z3EndpointDiscoveryManager._refresh_current_endpointscCs0||jkr,|��}||j|kr$dS|j|=dS)NTF)r>r@)rrXr_rrr
�_recently_failed�s
z)EndpointDiscoveryManager._recently_failedcCs|ddS)NrZAddressr)rrMrrr
�_select_endpoint�sz)EndpointDiscoveryManager._select_endpointcKs�|d}|j�|�}|js0|s0t�d|�dS|jf|�}|�|�}|rT|�|�S|�|�}|s||j	f|�}|r||�|�St�d|�|j
�|d�}|r�|�|�S|r�|r�|j	f|�}|r�|�|�St��dS)Nr*zAOptional discovery disabled. Skipping discovery for Operation: %sz%Endpoint Discovery has failed for: %s)
rFr(rAr[r\rWrbrerdrcr=rr)rrr4Zdiscovery_requiredrXrMZrecently_failedZ
stale_entriesrrr
�describe_endpoint�s6






z*EndpointDiscoveryManager.describe_endpoint)NNT)r	r
rrrOrUrWr6rYr]rbrcrdrerfrrrr
r<cs
	r<c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�EndpointDiscoveryHandlercCs
||_dS)N)�_manager)r�managerrrr
r�sz!EndpointDiscoveryHandler.__init__cCs:|�d||j�|�d||j�|�d||j�dS)Nzbefore-parameter-build.%szrequest-created.%szneeds-retry.%s)�registerr6Zregister_first�discover_endpoint�handle_retries)r�eventsZ
service_idrrr
rj�s
z!EndpointDiscoveryHandler.registercKs0|j}|dkrdS|j�||�}d|i|d<dS)N�identifiers�	discovery)rrhr6)rr5r�contextrrr:rrr
r6�s
z+EndpointDiscoveryHandler.gather_identifierscKsn|j�di��d�}|dkr dS|jj||d�}|dkrFt�d�dS|�d�sXd|}t�d|�||_dS)Nrorn)r*r)z&Failed to discover and inject endpoint�httpzhttps://z!Injecting discovered endpoint: %s)rprrhrfr[r\�
startswith�url)r�requestr'rr:rNrrr
rk�s


z*EndpointDiscoveryHandler.discover_endpointc
Ks�|dkrdS|\}}|�di��d�}|�di��d�}|dkrL|dkrLdS|�di�}|�di��d	�}	|	dkrvdS|jj|j|	d
�dS)NZResponseMetadataZHTTPStatusCode�ErrorZCodei�ZInvalidEndpointExceptionrprorn)r*r)r)rrhrYr)
rZrequest_dictrLr4r�_�statusZ
error_coderpr:rrr
rlsz'EndpointDiscoveryHandler.handle_retriesN)r	r
rrrjr6rkrlrrrr
rg�s
	rg)�loggingr?rBZbotocorerZbotocore.exceptionsrrrZbotocore.modelrZbotocore.utilsr�	getLoggerr	r[rrrrrr<rgrrrr
�<module>
s
4~