File: //home/arjun/projects/env/lib/python3.10/site-packages/botocore/__pycache__/client.cpython-310.pyc
o
*wed� � @ s� d dl Z d dlmZmZ d dlmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
d dlmZmZmZ d d lmZmZ d d
lmZmZmZmZmZ d dlmZ d dlmZ d d
lm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dlm2Z2 d dl+m3Z3 d dl+m4Z4 d dl+m5Z5 d dl+m6Z6 d dl+m7Z7 d dlm8Z8 e9d�Z:e �;e<�Z=e� Z>G dd� d�Z?G dd� d�Z@G dd � d �ZAG d!d"� d"�ZBd#d$� ZCdS )%� N)�waiter�
xform_name)�ClientArgsCreator)�AUTH_TYPE_MAPS)�prepare_request_dict)�maybe_compress_request)�Config)�EndpointDiscoveryHandler�EndpointDiscoveryManager�,block_endpoint_discovery_required_operations)�ClientMethodDocstring�PaginatorDocstring)�DataNotFoundError�*InvalidEndpointDiscoveryConfigurationError�OperationNotPageableError�UnknownServiceError�UnknownSignatureVersionError)�get_global_history_recorder)�first_non_none_response)�apply_request_checksum�resolve_checksum_context)�ServiceModel)� Paginator)�adaptive�standard)�UserAgentString)�CachedProperty�EventbridgeSignerSetter�S3ControlArnParamHandlerv2�S3RegionRedirectorv2�ensure_boolean�get_service_module_name)�ClientError)�S3ArnParamHandler)�S3ControlArnParamHandler)�S3ControlEndpointSetter)�S3EndpointSetter)�S3RegionRedirector)�UNSIGNED)�v2�v3�v3https�v4�s3�s3v4c @ s e Zd ZdZ d6dd�Z d7dd�Zd8dd �Zd
d� Zdd
� Zd8dd�Z d8dd�Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Z d6d(d)�Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� ZdS )9�
ClientCreatorz%Creates client objects for a service.Nc C s@ || _ || _|| _|| _|| _|| _|| _|| _| | _|
| _ d S �N)
�_loader�_endpoint_resolver�_user_agent�_event_emitter�_retry_handler_factory�_retry_config_translator�_response_parser_factory�_exceptions_factory�
_config_store�_user_agent_creator)�self�loader�endpoint_resolver�
user_agent�
event_emitter�retry_handler_factory�retry_config_translator�response_parser_factory�exceptions_factory�config_store�user_agent_creator� rF �H/home/arjun/projects/env/lib/python3.10/site-packages/botocore/client.py�__init__U s
zClientCreator.__init__Tc C s | j jd|d�}t||d�}| �||�}z| �||�}
| j�d�}W n ty5 d }
d }t� d|� Y nw | �
||�}| �|| �\}} t| j
|| |j�d�| j|j�d�d�}| �|||||||| ||
|
|�}|di |��}| �|� | j|d d | |d � | j|d
� | �||| � |S )Nzchoose-service-name��service_name��default�
partitionszSNo endpoints ruleset found for service %s, falling back to legacy endpoint routing.�signingName�signatureVersion)�service_signing_namerD �service_signature_version)�client�endpoint_bridge�endpoint_url�
client_config�
scoped_config�rR rF )r4 �emitr �_load_service_model�_load_service_endpoints_rulesetr1 � load_datar �logger�info�_create_client_class�_normalize_fips_region�ClientEndpointBridger2 �metadata�getr9 �_get_client_args�_register_retries�_register_s3_events�_register_s3_control_events�_register_endpoint_discovery)r; rJ �region_name� is_securerT �verify�credentialsrV �api_versionrU �
auth_token� responses�
service_model�endpoints_ruleset_data�partition_data�clsrS �client_args�service_clientrF rF rG �
create_clientq sx
���� �
��
�
��zClientCreator.create_clientc C s | � ||�}| �||�S r0 )rY r^ )r; rJ rl ro rF rF rG �create_client_class� s z!ClientCreator.create_client_classc C sb | � |�}| �|�}||d<