o
    di                     @   s|   d dl Z d dlZd dlZd dlmZmZ ddlmZ ddl	m
Z
mZ ddlmZ ddlmZ ddlmZ G d	d
 d
eZdS )    N)ClientArgsCreatorEPRBuiltins   )	AioConfig)DEFAULT_HTTP_SESSION_CLSAioEndpointCreator)create_parser)AioEndpointRulesetResolver)AioRequestSignerc                   @   s$   e Zd Z			dddZdd ZdS )AioClientArgsCreatorNc           (         s  |  |||	||||}|d }|d }|d }|d }|d }|d }|d dd }|d	 }|d
 }|d }|d }|d }t| j}t|j||d |d |||
}||d< t|tre|j}|j	}nd }t
}t|fi |}t|}|j|||d || j|j|jf|j||j||j|j|jd} d| }!dtjji}"|j|!|||"dI d H  tjj|||"d d}#t|}$| |||||||| ||	|||}%| j|}&|r|jnd }'|'|_|#| |$|||| j||| j |%|&dS )Nservice_nameparameter_validationendpoint_configprotocolconfig_kwargs	s3_configmetadata	partitionsocket_optionsconfigured_endpoint_urlsigning_regionregion_nameaccount_id_endpoint_modesigning_namesignature_versions3endpoint_url)r   r   verifyresponse_parser_factorytimeoutmax_pool_connectionshttp_session_clsproxiesr   client_certproxies_configconnector_argszcreating-serializer.timestamp_precision)protocol_nameservice_modelserializer_kwargs)r&   )
serializerendpointresponse_parserevent_emitterrequest_signerr(   loaderclient_configr   exceptions_factoryendpoint_ruleset_resolveruser_agent_creator)!compute_client_argsgetcopy_event_emitterr
   
service_id
isinstancer   r%   r!   r   r   create_endpoint_response_parser_factoryconnect_timeoutread_timeoutr    r"   r#   r$   botocore	serializeTIMESTAMP_PRECISION_DEFAULTemitcreate_serializerr   _build_endpoint_resolver_session_ua_creatorwith_client_config
user_agent_supplied_user_agent_loader_exceptions_factory)(selfr(   r   	is_securer   r   credentialsscoped_configr0   endpoint_bridge
auth_tokenendpoints_ruleset_datapartition_data
final_argsr   r   r   r   r   r   r   r   r   r   endpoint_region_namer   r-   signerr%   r!   
new_configendpoint_creatorr+   
event_namer)   r*   r,   ruleset_resolverclient_ua_creatorsupplied_ua r[   D/home/ubuntu/.local/lib/python3.10/site-packages/aiobotocore/args.pyget_client_args   s   




z$AioClientArgsCreator.get_client_argsc              
   C   s   |d u rd S |  |pi }|j}|dv s|d u r|}n|}| j||||
||j||d}|r0|jnd |tj< |d ur?|jp=i }ni }| |rK|	| |d urR|j
nd }t|||||||	|dS )N)r   sts)r   r   r   rN   client_endpoint_urllegacy_endpoint_urlrL   r   )endpoint_ruleset_datarQ   r(   builtinsclient_contextr-   use_sslrequested_auth_scheme)compute_s3_configendpoint_prefix*compute_endpoint_resolver_builtin_defaultshostget_account_idr   
ACCOUNT_IDclient_context_params_is_s3_serviceupdater   r	   )rJ   rP   rQ   r0   r(   rS   r   r   r+   rK   rN   r-   rL   r   s3_config_rawservice_name_raweprv2_region_nameresolver_builtinsrc   sig_versionr[   r[   r\   rC      sL   

z-AioClientArgsCreator._build_endpoint_resolver)NNN)__name__
__module____qualname__r]   rC   r[   r[   r[   r\   r      s    
 r   )r6   botocore.parsersr>   botocore.serializebotocore.argsr   r   configr   r+   r   r   parsersr   regionsr	   signersr
   r   r[   r[   r[   r\   <module>   s    