HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/botocore/__pycache__/discovery.cpython-312.pyc
�

P��eC+���ddlZddlZddlZddlmZddlmZmZmZddl	m
Z
ddlmZeje�ZGd�de�ZGd�d	e�ZGd
�de�Zd�ZGd
�d�ZGd�d�ZGd�d�Zy)�N)�
xform_name)�
BotoCoreError�ConnectionError�HTTPClientError)�OperationNotFoundError)�CachedPropertyc��eZdZy)�EndpointDiscoveryExceptionN)�__name__�
__module__�__qualname__���4/usr/lib/python3/dist-packages/botocore/discovery.pyr
r
s��rr
c��eZdZdZdZy)�EndpointDiscoveryRequiredzBEndpoint Discovery is disabled but is required for this operation.zAEndpoint Discovery is not enabled but this operation requires it.N�rrr
�__doc__�fmtrrrrrs
��L�
M�Crrc��eZdZdZdZy)�EndpointDiscoveryRefreshFailedz=Endpoint Discovery failed to the refresh the known endpoints.z<Endpoint Discovery failed to refresh the required endpoints.Nrrrrrr#s
��G�
H�Crrc�X�|j}|r|jd�r
t��yy)N�required)�endpoint_discovery�getr)�model�kwargsrs   r�,block_endpoint_discovery_required_operationsr)s1���1�1���0�4�4�Z�@�'�)�)�A�rc�L�eZdZd�Zed��Zed��Zd�Zd�Zd�Z	d	d�Z
y)
�EndpointDiscoveryModelc��||_y�N)�_service_model)�self�
service_models  r�__init__zEndpointDiscoveryModel.__init__0s
��+��rc�X�|jj}t|j�Sr")r#�endpoint_discovery_operationr�name)r$�discovery_operations  r�discovery_operation_namez/EndpointDiscoveryModel.discovery_operation_name3s&��"�1�1�N�N���-�2�2�3�3rc��|jj}g}|jr-t|jjj��}|Sr")r#r(�input_shape�list�members�keys)r$r*r0s   r�discovery_operation_keysz/EndpointDiscoveryModel.discovery_operation_keys8sG��"�1�1�N�N�����*�*��+�7�7�?�?�D�D�F�G�D��rc��	|jj|�}|jjdd�S#t$rYywxYw)NrF)r#�operation_modelrrr)r$�operation_namer3s   r�discovery_required_forz-EndpointDiscoveryModel.discovery_required_for@sM��	�"�1�1�A�A���O�#�5�5�9�9�*�e�L�L��%�	��	�s�69�	A�Ac���|j}|jd�s$|jdd�|jdd�|j�D��cic]
\}}||vs�||��c}}Scc}}w)N�Identifiers�	Operation)r1r�pop�items)r$r�
input_keys�k�vs     r�discovery_operation_kwargsz1EndpointDiscoveryModel.discovery_operation_kwargsIs]���2�2�
��z�z�-�(��J�J�{�D�)��J�J�}�d�+�!'����C���A�1�
�?��1��C�C��Cs�A+�"A+c�:�|j|j|�Sr")�_gather_idsr-�r$�	operation�paramss   r�gather_identifiersz)EndpointDiscoveryModel.gather_identifiersQs�����	� 5� 5�v�>�>rNc���|�i}|jj�D]T\}}|jjd�r	||||<�*|jdk(s�:||vs�?|j||||��V|S)N�endpointdiscoveryid�	structure)r/r:�metadatar�	type_namer@)r$�shaperC�ids�member_name�member_shapes      rr@z"EndpointDiscoveryModel._gather_idsTs����;��C�).���)<�)<�)>�	I�%�K���$�$�(�(�)>�?�#)�+�#6��K� ��&�&�+�5�+��:O�� � ��v�k�/B�C�H�
	I��
rr")rrr
r&rr+r1r5r>rDr@rrrr r /sD��,��4��4������D�?�rr c�X�eZdZ	dd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zy)�EndpointDiscoveryManagerNc���|�i}||_i|_|�tj}||_||_tj|�|_t|jj�|_yr")�_cache�_failed_attempts�time�_time�_always_discover�weakref�proxy�_clientr �metar%�_model)r$�client�cache�current_time�always_discovers     rr&z!EndpointDiscoveryManager.__init__dsc���=��E���� "������9�9�L�!��
� /����}�}�V�,���,�V�[�[�-F�-F�G��rc�v�|d}|j�}|D]}|jd�}||dzz|d<� |S)N�	Endpoints�CachePeriodInMinutes�<�
Expiration)rTr)r$�response�	endpointsr]�endpoint�
cache_times      r�_parse_endpointsz)EndpointDiscoveryManager._parse_endpointsusR���[�)�	��z�z�|��!�	D�H�!���&<�=�J�%1�J��O�%C�H�\�"�	D��rc�j�t|t�r"tt|j	���S|Sr")�
isinstance�dict�tuple�sortedr:)r$�values  r�_cache_itemz$EndpointDiscoveryManager._cache_item}s'���e�T�"������
�.�/�/��Lrc����jjdi|��}t�fd�t|j	��D��S)Nc3�F�K�|]\}}�j|����y�wr")ro)�.0r<r=r$s   �r�	<genexpr>z=EndpointDiscoveryManager._create_cache_key.<locals>.<genexpr>�s �����L�T�Q��T�%�%�a�(�L�s�!r)rZr>rlrmr:)r$rs` r�_create_cache_keyz*EndpointDiscoveryManager._create_cache_key�s8���7����7�7�A�&�A���L�V�F�L�L�N�5K�L�L�Lrc�:�|jj||�Sr")rZrDrAs   rrDz+EndpointDiscoveryManager.gather_identifiers�s���{�{�-�-�i��@�@rc�`�|jdi|��}||jvr|j|=yy)Nr)rtrQ)r$r�	cache_keys   r�delete_endpointsz)EndpointDiscoveryManager.delete_endpoints�s4��*�D�*�*�4�V�4�	�����#����I�&�$rc���|jjdi|��}|jj}t|j|�}t
j
d|�|di|��S)Nz%Discovering endpoints with kwargs: %sr)rZr>r+�getattrrX�logger�debug)r$rr4r*s    r�_describe_endpointsz,EndpointDiscoveryManager._describe_endpoints�sZ��8����7�7�A�&�A�����=�=��%�d�l�l�N�C�����<�f�E�"�,�V�,�,rc��||jvry|j�}|j|D�cgc]
}||dks�|��c}Scc}w)Nrc)rQrT)r$�key�now�es    r�_get_current_endpointsz/EndpointDiscoveryManager._get_current_endpoints�sD���d�k�k�!���j�j�l���;�;�s�+�E�a�s�Q�|�_�/D��E�E��Es
�
A�Ac�2�|jdi|��}	|jdi|��}|j|�}||j|<|jj|d�|S#ttf$r#|j�dz|j|<YywxYw)Nrbr)	rtr}rhrQrRr9rrrT)r$rrwrdres     r�_refresh_current_endpointsz3EndpointDiscoveryManager._refresh_current_endpoints�s���*�D�*�*�4�V�4�	�	�/�t�/�/�9�&�9�H��-�-�h�7�I�%.�D�K�K�	�"��!�!�%�%�i��6������1�	�/3�z�z�|�b�/@�D�!�!�)�,��	�s�AA$�$/B�Bc��||jvr0|j�}||j|kry|j|=y)NTF)rRrT)r$rwr�s   r�_recently_failedz)EndpointDiscoveryManager._recently_failed�sB����-�-�-��*�*�,�C��T�*�*�9�5�5���%�%�i�0�rc��|ddS)Nr�Addressr)r$res  r�_select_endpointz)EndpointDiscoveryManager._select_endpoint�s����|�I�&�&rc�^�|d}|jj|�}|js|stj	d|z�y|j
di|��}|j
|�}|r|j|�S|j|�}|s%|jdi|��}|r|j|�Stj	d|�|jj|d�}|r|j|�S|r1|r%|jdi|��}|r|j|�St��y)Nr8zAOptional discovery disabled. Skipping discovery for Operation: %sz%Endpoint Discovery has failed for: %sr)
rZr5rUr{r|rtr�r�r�r�rQrr)r$rrB�discovery_requiredrwre�recently_failed�
stale_entriess        r�describe_endpointz*EndpointDiscoveryManager.describe_endpoint�s4���;�'�	�!�[�[�?�?�	�J���$�$�-?��L�L�S���
��+�D�*�*�4�V�4�	��/�/�	�:�	���(�(��3�3��/�/�	�:���7��7�7�A�&�A�I���,�,�Y�7�7����<�f�E������	�4�8�
���(�(��7�7���;�D�;�;�E�f�E�	���0�0��;�;�0�2�2�r)NNT)rrr
r&rhrortrDrxr}r�r�r�r�r�rrrrOrOcsE��EI�H�"��M�A�'�
-�F�
��'�)rrOc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�EndpointDiscoveryHandlerc��||_yr")�_manager)r$�managers  rr&z!EndpointDiscoveryHandler.__init__�s	����
rc��|jd|z|j�|jd|z|j�|jd|z|j�y)Nzbefore-parameter-build.%szrequest-created.%szneeds-retry.%s)�registerrD�register_first�discover_endpoint�handle_retries)r$�events�
service_ids   rr�z!EndpointDiscoveryHandler.register�sZ�����'�*�4�d�6M�6M�	
�	��� �:�-�t�/E�/E�	
�	���(�:�5�t�7J�7J�Krc�h�|j}|�y|jj||�}d|i|d<y)N�identifiers�	discovery)rr�rD)r$rCr�contextrrrKs       rrDz+EndpointDiscoveryHandler.gather_identifiers�s<��"�5�5���%���m�m�.�.�u�f�=�� -�s�3���rc�0�|jjdi�jd�}|�y|jj||��}|�tjd�y|j
d�sd|z}tjd|�||_y)Nr�r��r8r7z&Failed to discover and inject endpoint�httpzhttps://z!Injecting discovered endpoint: %s)r�rr�r�r{r|�
startswith�url)r$�requestr4rrKrfs      rr�z*EndpointDiscoveryHandler.discover_endpoint�s����o�o�!�!�+�r�2�6�6�}�E���;���=�=�2�2�$�#�3�
�����L�L�A�B���"�"�6�*�!�H�,�H����8�(�C���rc�h�|�y|\}}|jdi�jd�}|jdi�jd�}|dk7r|dk7ry|jdi�}|jdi�jd	�}	|	�y|jj|j|	�
�y)N�ResponseMetadata�HTTPStatusCode�Error�Codei��InvalidEndpointExceptionr�r�r�r�r)rr�rxr))
r$�request_dictrdrBr�_�status�
error_coder�rKs
          rr�z'EndpointDiscoveryHandler.handle_retriess���������8����0�"�5�9�9�:J�K���\�\�'�2�.�2�2�6�:�
��S�=�Z�+E�E���"�"�9�b�1���k�k�+�r�*�.�.�}�=���;��
	
�
�
�&�&��n�n�#�	'�	
�rN)rrr
r&r�rDr�r�rrrr�r��s�� �L�4�
�rr�)�loggingrSrV�botocorer�botocore.exceptionsrrr�botocore.modelr�botocore.utilsr�	getLoggerrr{r
rrrr rOr�rrr�<module>r�s�������O�O�1�)�	��	�	�8�	$��	��	�N� :�N�I�%?�I�*�1�1�h{�{�|9�9r