HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/botocore/__pycache__/args.cpython-36.pyc
3

�T_�>�@s�dZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
Z
eje�ZddgZdd	d
ddd
ddddddddddgZGdd�de�ZdS)z�Internal module to help with normalizing botocore client args.

This module (and all function/classes within this module) should be
considered internal, and *not* a public API.

�N)�
RequestSigner)�Config)�EndpointCreator�legacyZregionalzap-northeast-1z
ap-south-1zap-southeast-1zap-southeast-2z
aws-globalzca-central-1zeu-central-1z
eu-north-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1z	us-east-1z	us-east-2z	us-west-1z	us-west-2c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'S)(�ClientArgsCreatorcCs(||_||_||_||_||_||_dS)N)�_event_emitter�_user_agent�_response_parser_factory�_loader�_exceptions_factory�
_config_store)�self�
event_emitter�
user_agent�response_parser_factory�loader�exceptions_factoryZconfig_store�r�/usr/lib/python3.6/args.py�__init__;szClientArgsCreator.__init__c
Cs|j|||	||||�}
|
d}|
d}|
d}
|
d}|
d}|
d}|
djdd�}|
d	}|
d
}|
d}tj|j�}t|j||
d|
d
||�}||d<tf|�}t|�}|j|||
d||j	|j
|j|j|j
f||jd�
}tjj||�}tjj|�}|||||||j|||jd�
S)N�service_name�parameter_validation�endpoint_config�protocol�
config_kwargs�	s3_config�metadata�	partition�socket_options�signing_region�region_nameZsigning_name�signature_version�s3�endpoint_url)	r r#�verifyr�max_pool_connections�proxiesZtimeoutr�client_cert)
�
serializer�endpoint�response_parserrZrequest_signer�
service_modelr�
client_configrr)�compute_client_args�get�copyrrZ
service_idrrZcreate_endpointr	r%r&�connect_timeout�read_timeoutr'�botocoreZ	serializeZcreate_serializerZparsersZ
create_parserr
r)r
r+r �	is_securer#r$Zcredentials�
scoped_configr,�endpoint_bridgeZ
final_argsrrrrrrrrrZendpoint_region_namerZsignerZ
new_configZendpoint_creatorr)r(r*rrr�get_client_argsDsX



z!ClientArgsCreator.get_client_argsc	Cs|j}|jd}	d}
|r&|jr&d}
n"|rH|jd�}|dk	rHtjj|�}
|j}|dk	r~|jdk	rf|j}|j	dk	r~|d|j	7}|j
|�}
|j||||||
d�}t|d|d|d	�}|dk	r�|j
|j|j|j|j|j|j|jd
�|j|�|j
|�}
||
|||	||
|j|�d�S)NrTFrz %s)rr r#r3r5rr r!)r r!r)r0r1r%r&�retriesr'�inject_host_prefix)rrrrrrrr)Zendpoint_prefixrrr.r2ZutilsZensure_booleanrrZuser_agent_extra�compute_s3_config�_compute_endpoint_config�dict�updater0r1r%r&r7r'r8�_compute_retry_config�_compute_socket_options)r
r+r,r5r r#r3r4rrrZ	raw_valuerrrrrrrr-}s\







z%ClientArgsCreator.compute_client_argscCsF|jjd�}|dk	rB|jdk	rB|dkr.|j}n|j�}|j|j�|S)Nr")r�get_config_variabler"r/r<)r
r,Zs3_configurationrrrr9�s
z#ClientArgsCreator.compute_s3_configcCsL|||||d�}|dkr,|jfd|i|��S|dkr@|jf|�S|jf|�S)N)rr r#r3r5r"r�sts)�_compute_s3_endpoint_config�_compute_sts_endpoint_config�_resolve_endpoint)r
rr r#r3r5r�resolve_endpoint_kwargsrrrr:�sz*ClientArgsCreator._compute_endpoint_configcKsT|j|d|�}|rd|d<|jf|�}|j||d�|rP|ddkrPd|d<|S)Nr r5z
aws-globalz	us-east-1)�_should_force_s3_globalrC�!_set_region_if_custom_s3_endpoint)r
rrDZforce_s3_globalrrrrrA�sz-ClientArgsCreator._compute_s3_endpoint_configcCs2d}|r"d|kr"|d}|j|�|dko0|dkS)NrZus_east_1_regional_endpoint�	us-east-1)rGN)�_validate_s3_regional_config)r
r rZs3_regional_configrrrrE�s
z)ClientArgsCreator._should_force_s3_globalcCs|tkrtjj|d��dS)N)Z%s3_us_east_1_regional_endpoint_config)�VALID_REGIONAL_ENDPOINTS_CONFIGr2�
exceptionsZ+InvalidS3UsEast1RegionalEndpointConfigError)r
Z
config_valrrrrH�sz.ClientArgsCreator._validate_s3_regional_configcCs>|ddkr:|ddkr:|jd�}|d|d<|d|d<dS)Nrr r")�resolve)r
rr5r)rrrrF�s

z3ClientArgsCreator._set_region_if_custom_s3_endpointcKs4|jf|�}|j|d|d�r0|j||d�|S)Nr r#r3)rC�_should_set_global_sts_endpoint�_set_global_sts_endpoint)r
rDrrrrrB	s
z.ClientArgsCreator._compute_sts_endpoint_configcCs|rdS|j�dko|tkS)NFr)�"_get_sts_regional_endpoints_config�LEGACY_GLOBAL_STS_REGIONS)r
r r#rrrrLsz1ClientArgsCreator._should_set_global_sts_endpointcCs.|jjd�}|sd}|tkr*tjj|d��|S)NZsts_regional_endpointsr)�sts_regional_endpoints_config)rr?rIr2rJZ&InvalidSTSRegionalEndpointsConfigError)r
rPrrrrNsz4ClientArgsCreator._get_sts_regional_endpoints_configcCs$|rdnd}d||d<d|d<dS)NZhttpsZhttpz%s://sts.amazonaws.comr#z	us-east-1rr)r
rr3�schemerrrrM%sz*ClientArgsCreator._set_global_sts_endpointcCs|j||||�S)N)rK)r
rr r#r3r5rrrrC*sz#ClientArgsCreator._resolve_endpointcCs>tjtjdfg}|r:|j|jdd��r:|jtjtjdf�|S)N�Z
tcp_keepaliveF)�socketZIPPROTO_TCPZTCP_NODELAY�_ensure_booleanr.�appendZ
SOL_SOCKETZSO_KEEPALIVE)r
r4rrrrr>/sz)ClientArgsCreator._compute_socket_optionscCs|j|�|j|�dS)N)�_compute_retry_max_attempts�_compute_retry_mode)r
rrrrr=:s
z'ClientArgsCreator._compute_retry_configcCs�|jd�}|dk	rLd|kr*|jdd�dSd|krL|jd�}|d|d<dS|jjd�}|dk	r||dkrti}||d<||d<dS)Nr7Ztotal_max_attempts�max_attemptsrR)r.�poprr?)r
rr7�valuerXrrrrV>s


z-ClientArgsCreator._compute_retry_max_attemptscCsP|jd�}|dkr i}||d<nd|kr,dS|jjd�}|dkrDd}||d<dS)Nr7�mode�
retry_moder)r.rr?)r
rr7r\rrrrW^s

z%ClientArgsCreator._compute_retry_modecCst|t�r|S|j�dkSdS)N�true)�
isinstance�bool�lower)r
�valrrrrTls
z!ClientArgsCreator._ensure_booleanN)�__name__�
__module__�__qualname__rr6r-r9r:rArErHrFrBrLrNrMrCr>r=rVrWrTrrrrr:s&	9<
	 r)�__doc__r/ZloggingrSZbotocore.exceptionsr2Zbotocore.serializeZbotocore.utilsZbotocore.signersrZbotocore.configrZbotocore.endpointrZ	getLoggerrbZloggerrIrO�objectrrrrr�<module>s: