File: //opt/cppython/lib/python3.8/site-packages/botocore/__pycache__/client.cpython-38.pyc
U
KD�g�� � @ s� d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ d d lmZ d d
lmZmZmZ d dlmZmZ d dlmZmZmZmZmZ d d
l m!Z! d dl"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dlm8Z8 d dl0m9Z9 d dl0m:Z: d dl0m;Z; d dl0m<Z< d dl0m=Z= d dlm>Z> e?d�Z@e �AeB�ZCe!� ZDG dd� d�ZEG dd � d �ZFG d!d"� d"�ZGG d#d$� d$�ZHd%d&� ZIdS )'� N)�waiter�
xform_name)�ClientArgsCreator)�AUTH_TYPE_MAPS�resolve_auth_type)�prepare_request_dict)�maybe_compress_request)�Config)�with_current_context)�RefreshableCredentials)�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�S3ExpressIdentityResolver�S3RegionRedirectorv2�ensure_boolean�get_service_module_name)�ClientError)�S3ArnParamHandler)�S3ControlArnParamHandler)�S3ControlEndpointSetter)�S3EndpointSetter)�S3RegionRedirector)�UNSIGNED)Zv2Zv3Zv3https�v4�s3�s3v4c @ s� e Zd ZdZd:dd�Zd;dd�Zd<dd �Zd
d� Zdd
� Zd=dd�Z d>dd�Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd?d&d'�Zd(d)� Zd@d*d+�Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� ZdS )A�
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_emitterZretry_handler_factoryZretry_config_translatorZresponse_parser_factory�exceptions_factory�config_store�user_agent_creator� rD �</opt/cppython/lib/python3.8/site-packages/botocore/client.py�__init__X s
zClientCreator.__init__Tc C sB | j jd|d�}t||d�}| �||�}z| �||�}
| j�d�}W n( tk
rl d }
d }t� d|� Y nX | �
||�}| �|| �\}} |j�
d� }r�t|�}n|j�
d�}t| j|| |j�
d�| j|d �}| �|||||||| ||
|
|�}|f |�}| �|� | j|d d | |d
� | j|d� | j|d� | �||| � |S )Nzchoose-service-name��service_name��defaultZ
partitionszSNo endpoints ruleset found for service %s, falling back to legacy endpoint routing.�authZsignatureVersionZsigningName)�service_signing_namerB �service_signature_version)�client�endpoint_bridge�endpoint_url�
client_config�
scoped_config�rN )r5 �emitr �_load_service_model�_load_service_endpoints_rulesetr2 � load_datar �logger�info�_create_client_class�_normalize_fips_region�metadata�getr �ClientEndpointBridger3 r: �_get_client_args�_register_retries�_register_s3_events�_register_s3express_events�_register_s3_control_events�_register_endpoint_discovery)r<