File: //usr/lib/python3.6/site-packages/botocore/__pycache__/client.cpython-36.pyc
3
�T_*� � @ s| d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl m
Z
d dlmZ d dlm
Z
d dlmZmZmZmZmZ d d lmZ d d
lmZ d dlmZ d dlmZmZmZmZmZm Z m!Z!m"Z" d dlmZ d d
lm#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)m*Z*m+Z+ d dl,m-Z- d dl,m.Z. e j/e0�Z1e'� Z2G dd� de3�Z4G dd� de3�Z5G dd� de3�Z6G dd� de3�Z7dd� Z8dS )� N)�waiter�
xform_name)�ClientArgsCreator)�AUTH_TYPE_MAPS)�prepare_request_dict)�ClientMethodDocstring)�PaginatorDocstring)�ClientError�DataNotFoundError�OperationNotPageableError�UnknownSignatureVersionError�*InvalidEndpointDiscoveryConfigurationError)�first_non_none_response)�ServiceModel)� Paginator)�CachedProperty�get_service_module_name�S3RegionRedirector�S3ArnParamHandler�S3EndpointSetter�ensure_boolean�S3ControlArnParamHandler�S3ControlEndpointSetter)�UNSIGNED)�Config)�get_global_history_recorder)�EndpointDiscoveryHandler�EndpointDiscoveryManager�,block_endpoint_discovery_required_operations)�standard)�adaptivec @ s� e Zd ZdZd0dd�Zd1dd�Zd2dd �Zd
d� Zd3dd
�Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� ZdS )4�
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)
�self�loader�endpoint_resolver�
user_agent�
event_emitterZretry_handler_factoryZretry_config_translatorZresponse_parser_factory�exceptions_factory�config_store� r2 �/usr/lib/python3.6/client.py�__init__6 s zClientCreator.__init__Tc
C s� | j jd|d�}
t|
|d�}| j||�}| j||�}t| j|| |jjd�d�}
| j |||||||| |
� }|f |�}| j
|� | j||
|| |� | j||
|| |� | j
||| � |S )Nzchoose-service-name)�service_name)�defaultZsigningName)�service_signing_name)r% �emitr �_load_service_model�_create_client_class�ClientEndpointBridger# �metadata�get�_get_client_args�_register_retries�_register_s3_events�_register_s3_control_events�_register_endpoint_discovery)r+ r5 �region_name� is_secure�endpoint_url�verify�credentials�
scoped_config�api_version�
client_config� responses�
service_model�cls�endpoint_bridgeZclient_argsZservice_clientr2 r2 r3 �
create_clientH s,
zClientCreator.create_clientc C s | j ||�}| j||�S )N)r9 r: )r+ r5 rI rL r2 r2 r3 �create_client_classe s z!ClientCreator.create_client_classc C sb | j |�}| j|�}||d<