HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/botocore/__pycache__/args.cpython-38.pyc
U

KD�g.��@s�dZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZddlm
ZddlmZddlmZddlmZmZdd	lmZmZe�e�Zd
dgZdd
ddddddddddddddgZdZdZdZdZ dZ!Gd d!�d!�Z"dS)"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)�Config)�EndpointCreator)�EndpointResolverBuiltins)�EndpointRulesetResolver)�
RequestSigner)�UserAgentString�register_feature_id)�ensure_boolean�is_s3_accelerate_url�legacyZregionalzap-northeast-1z
ap-south-1zap-southeast-1zap-southeast-2�
aws-globalzca-central-1zeu-central-1z
eu-north-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1�	us-east-1z	us-east-2z	us-west-1z	us-west-2�2)Zwhen_supportedZ
when_required)zsmithy-rpc-v2-cbor�jsonz	rest-jsonzrest-xml�queryZec2)�	preferred�disabled�requiredc@s"eZdZdFdd�ZdGdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�ZdHd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dS)I�ClientArgsCreatorNcCs<||_||_||_||_||_|dkr2t��|_n||_dS�N)�_event_emitter�_response_parser_factory�_loader�_exceptions_factory�
_config_storerZfrom_environment�_session_ua_creator)�self�
event_emitter�
user_agent�response_parser_factory�loader�exceptions_factoryZconfig_store�user_agent_creator�r#�:/opt/cppython/lib/python3.8/site-packages/botocore/args.py�__init__Zs
zClientArgsCreator.__init__c
$Csx|�|||	||||�}
|
d}|
d}|
d}|
d}|
d}|
d}|d�dd�}|
d	}|
d
}|d}|d}|d
}t�|j�}t|j||d|d|||
�}||d<tf|�}t|�}|j|||d||j	|j
|j|j|j
f||j|jd�}tj�||�}tj�|�} |�||||||||||	|||�
}!|j�|�}"|�rL|jnd}#|#|_||| ||||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_modeZsigning_name�signature_version�s3�endpoint_url)
r1r5�verifyr�max_pool_connections�proxies�timeoutr.�client_cert�proxies_config)�
serializer�endpoint�response_parserrZrequest_signer�
service_modelr �
client_configr-r!Zendpoint_ruleset_resolverr")�compute_client_args�get�copyrrZ
service_idrrZcreate_endpointrr7r8�connect_timeout�read_timeoutr:r;�botocore�	serializeZcreate_serializer�parsersZ
create_parser�_build_endpoint_resolverr�with_client_configrZ_supplied_user_agentrr)$rr?r1�	is_securer5r6�credentials�
scoped_configr@�endpoint_bridgeZ
auth_token�endpoints_ruleset_data�partition_dataZ
final_argsr&r'r(r)r*r+r-r.r/r0�endpoint_region_namer2rZsignerZ
new_configZendpoint_creatorr=r<r>Zruleset_resolverZclient_ua_creatorZsupplied_uar#r#r$�get_client_argsns��
�


�����z!ClientArgsCreator.get_client_argscCs�|j}|�|�}	d}
|r$|js$d}
n|rB|�d�}|dk	rBt|�}
|�|�}|j||d�}
|
dk	rjtd�|j|||
|||d�}|d�dg�}|j	�
|���}t|d	|d
|d�}d|kr�|j
dd
�d|kr�|j
dd�|dk	�r:|j
|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|jd�|� |�|�!|�|�"|�|�#|�|�$|�|�%|�|�&|�|�'||�|�|�}|�(|�}|�r�d|k�r�|dk�r�i}d|d<||
|
||	|||�)||�d�S)NTFr')r@r5ZENDPOINT_OVERRIDE)r&r1r5rKrNr+r,�tagsr1r3)r1r3rZ	dualstack)�use_dualstack_endpointZfips)�use_fips_endpoint)rDrEr7r8r;�retriesr:�inject_host_prefix�
tcp_keepalive�user_agent_extra�user_agent_appid�"request_min_compression_size_bytes�disable_request_compression�client_context_params�sigv4a_signing_region_set�request_checksum_calculation�response_checksum_validationr2rT)r&r'r/r(r)r*r+r.)*�endpoint_prefix�_resolve_protocolr'rBr	�compute_s3_config� _compute_configured_endpoint_urlr�_compute_endpoint_configrrJZ	to_string�dict�updaterDrEr7r8r;rVr:rWrXrYrZr[r\r]r^r_r`r2�_compute_retry_config�_compute_connect_timeout� _compute_user_agent_appid_config�#_compute_request_compression_config�)_compute_sigv4a_signing_region_set_config�_compute_checksum_config�(_compute_account_id_endpoint_mode_config�_compute_inject_host_prefix�_is_s3_service�_compute_socket_options)rr?r@rNr1r5rKrMr&r)r'Z	raw_valuer+r/r(Zendpoint_variant_tagsZpreliminary_ua_stringr*Z
is_s3_servicer#r#r$rA�s�




����
�









��z%ClientArgsCreator.compute_client_argscCs>|dks|jdkr:|j�d�}|dk	r2||d<nd|d<dS)NZUNSETZdisable_host_prefix_injectionrWT)Z_inject_host_prefixr�get_config_variable)rr@r*Z(configured_disable_host_prefix_injectionr#r#r$roUs������z-ClientArgsCreator._compute_inject_host_prefixcCs0|dk	r|S|�|�r$t�d�|S|j�d�S)Nz"Ignoring configured endpoint URLs.r5)� _ignore_configured_endpoint_urls�logger�debugrrr)rr@r5r#r#r$rdhs

z2ClientArgsCreator._compute_configured_endpoint_urlcCs |r|jdk	r|jS|j�d�S)N�ignore_configured_endpoint_urls)rvrrr)rr@r#r#r$rsrs���z2ClientArgsCreator._ignore_configured_endpoint_urlscCsF|j�d�}|dk	rB|jdk	rB|dkr.|j}n|��}|�|j�|S)Nr4)rrrr4rCrg)rr@Zs3_configurationr#r#r$rc}s
z#ClientArgsCreator.compute_s3_configcCs|dkS)a,Whether the service is S3 or S3 Control.

        Note that throughout this class, service_name refers to the endpoint
        prefix, not the folder name of the service in botocore/data. For
        S3 Control, the folder name is 's3control' but the endpoint prefix is
        's3-control'.
        )r4z
s3-controlr#)rr&r#r#r$rp�sz ClientArgsCreator._is_s3_servicecCsL|||||d�}|dkr,|jfd|i|��S|dkr@|jf|�S|jf|�S)N)r&r1r5rKrNr4r+�sts)�_compute_s3_endpoint_config�_compute_sts_endpoint_config�_resolve_endpoint)rr&r1r5rKrNr+�resolve_endpoint_kwargsr#r#r$re�s
���z*ClientArgsCreator._compute_endpoint_configcKsT|�|d|�}|rd|d<|jf|�}|�||d�|rP|ddkrPd|d<|S)Nr1rNrr
)�_should_force_s3_globalrz�!_set_region_if_custom_s3_endpoint)rr+r{Zforce_s3_globalr(r#r#r$rx�s��z-ClientArgsCreator._compute_s3_endpoint_configcCs6d}|r"d|kr"|d}|�|�|dk}|dko4|S)NrZus_east_1_regional_endpoint)r
N)�_validate_s3_regional_config)rr1r+Zs3_regional_configZis_global_regionr#r#r$r|�s
z)ClientArgsCreator._should_force_s3_globalcCs|tkrtjj|d��dS)N)Z%s3_us_east_1_regional_endpoint_config)�VALID_REGIONAL_ENDPOINTS_CONFIGrF�
exceptionsZ+InvalidS3UsEast1RegionalEndpointConfigError)rZ
config_valr#r#r$r~�s�z.ClientArgsCreator._validate_s3_regional_configcCs>|ddkr:|ddkr:|�d�}|d|d<|d|d<dS)Nr0r1r4��resolve)rr(rNr=r#r#r$r}�s
�
�
z3ClientArgsCreator._set_region_if_custom_s3_endpointcKs6|jf|�}|�|d|d|�r2|�||d�|S)Nr1r5rK)rz�_should_set_global_sts_endpoint�_set_global_sts_endpoint)rr{r(r#r#r$ry�s��z.ClientArgsCreator._compute_sts_endpoint_configcCs6|o|�di��d�}|s|r"dS|��dko4|tkS)Nr,rSFr)rB�"_get_sts_regional_endpoints_config�LEGACY_GLOBAL_STS_REGIONS)rr1r5r(Zhas_variant_tagsr#r#r$r��s���z1ClientArgsCreator._should_set_global_sts_endpointcCs.|j�d�}|sd}|tkr*tjj|d��|S)NZsts_regional_endpointsr)�sts_regional_endpoints_config)rrrrrFr�Z&InvalidSTSRegionalEndpointsConfigError)rr�r#r#r$r��s����z4ClientArgsCreator._get_sts_regional_endpoints_configcCs&|rdnd}|�d�|d<d|d<dS)N�https�httpz://sts.amazonaws.comr5r
r0r#)rr(rK�schemer#r#r$r�sz*ClientArgsCreator._set_global_sts_endpointcCs|�||||�Srr�)rr&r1r5rKrNr#r#r$rzs�z#ClientArgsCreator._resolve_endpointcCsPtjtjdfg}|o|j}|o.|�|�dd��}|s8|rL|�tjtjdf�|S)N�rXF)	�socket�IPPROTO_TCP�TCP_NODELAYrX�_ensure_booleanrB�append�
SOL_SOCKET�SO_KEEPALIVE)rrMr@r.Zclient_keepaliveZscoped_keepaliver#r#r$rqs

�z)ClientArgsCreator._compute_socket_optionscCs|�|�|�|�dSr)�_compute_retry_max_attempts�_compute_retry_mode�rr*r#r#r$rh*s
z'ClientArgsCreator._compute_retry_configcCs�|�d�}|dk	rLd|kr*|�dd�dSd|krL|�d�}|d|d<dS|j�d�}|dk	r||dkrti}||d<||d<dS)NrVZtotal_max_attempts�max_attemptsr�)rB�poprrr)rr*rV�valuer�r#r#r$r�.s


z-ClientArgsCreator._compute_retry_max_attemptscCsP|�d�}|dkr i}||d<nd|kr,dS|j�d�}|dkrDd}||d<dS)NrV�mode�
retry_moder�rBrrr)rr*rVr�r#r#r$r�Ns

z%ClientArgsCreator._compute_retry_modecCs2|�d�}|dk	rdS|j�d�}|r.||d<dS)NrDr�)rr*rDr#r#r$ri\s
�z*ClientArgsCreator._compute_connect_timeoutcCsd|�d�}|�d�}|dkr(|j�d�}|�|�}||d<|dkrP|j�d�}nt|�}||d<dS)Nr[r\)rBrrr�_validate_min_compression_sizer	)rr*�min_sizerr#r#r$rkis

�
�z5ClientArgsCreator._compute_request_compression_configc	Cs�d}d}d|�d�}zt|�}Wn:ttfk
rZ|�dt|��d�}tjj|d��YnX||krp|ks�n|�d|�d	|�d
�}tjj|d��|S)Nr�izInvalid value "z)" for request_min_compression_size_bytes.z$ Value must be an integer. Received z	 instead.��	error_msgz Value must be between z and �.)�int�
ValueError�	TypeError�typerFr��InvalidConfigError)rr�Zmin_allowed_min_sizeZmax_allowed_min_sizeZerror_msg_base�msgr#r#r$r�s
���z0ClientArgsCreator._validate_min_compression_sizecCst|t�r|S|��dkSdS)N�true)�
isinstance�bool�lower)r�valr#r#r$r��s
z!ClientArgsCreator._ensure_booleanc
Cs�|dkrdS|�|�pi}|j}|dks0|dkr6|}n|}|j||||
||j||
d�}|dk	rj|jpfi}ni}|�|�r�|�|�|dk	r�|jnd}t|||||||	|d�S)N)r4rw)r1r&r+rN�client_endpoint_url�legacy_endpoint_urlrLr2)Zendpoint_ruleset_datarPr?�builtins�client_contextrZuse_sslZrequested_auth_scheme)	rcra�*compute_endpoint_resolver_builtin_defaults�hostr]rprgr3r)rrOrPr@r?rQr1r5r=rKrNrrLr2Z
s3_config_rawZservice_name_rawZeprv2_region_nameZresolver_builtinsr�Zsig_versionr#r#r$rI�sH�


���z*ClientArgsCreator._build_endpoint_resolverc	Cs|r
|}	n|��s|}	nd}	|�dd�r.d}
n.|dk	rNt|�sN|�d�dk}
n|�d�dk}
tj|tj|	dkrx|�d�pzdtj|	dkr�|�|�p�dtj	|j
|ddd�tj|�||�tj
|�dd�tj|
tj|�dd	�tj|�dd�tj|�d
d�tj|	tj|�r
|�d�ndtj|i
S)NZuse_accelerate_endpointFZaddressing_styleZvirtual�pathrU)r1r5r(Zuse_arn_regionTZ$s3_disable_multiregion_access_pointsZ
account_id)Zresolver_uses_builtin_datarBr
�EPRBuiltinsZ
AWS_REGIONZAWS_USE_FIPSZ$_resolve_endpoint_variant_config_varZAWS_USE_DUALSTACKZ_resolve_use_dualstack_endpointZAWS_STS_USE_GLOBAL_ENDPOINTr�ZAWS_S3_USE_GLOBAL_ENDPOINTr|ZAWS_S3_ACCELERATEZAWS_S3_FORCE_PATH_STYLEZAWS_S3_USE_ARN_REGIONZAWS_S3CONTROL_USE_ARN_REGIONZAWS_S3_DISABLE_MRAPZSDK_ENDPOINTZ
ACCOUNT_IDZget_deferred_propertyZACCOUNT_ID_ENDPOINT_MODE)rr1r&r+rNr�r�rLr2Zgiven_endpointZforce_path_styler#r#r$r��s�
������
�������z<ClientArgsCreator.compute_endpoint_resolver_builtin_defaultscCsP|�d�}|dkr|j�d�}|dk	rDt|�tkrDt�dt�d��||d<dS)NrZzHThe configured value for user_agent_appid exceeds the maximum length of z characters.)rBrrr�len�USERAGENT_APPID_MAXLENrt�warning)rr*rZr#r#r$rj=s
��
�
�z2ClientArgsCreator._compute_user_agent_appid_configcCs*|�d�}|dkr|j�d�}||d<dS)Nr^r�)rr*r^r#r#r$rlMs��z;ClientArgsCreator._compute_sigv4a_signing_region_set_configcCs$|j|dtd�|j|dtd�dS)Nr_)�
config_key�
valid_optionsr`)�_handle_checksum_config�)VALID_REQUEST_CHECKSUM_CALCULATION_CONFIG�)VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIGr�r#r#r$rmWs��z*ClientArgsCreator._compute_checksum_configcCsD|j�d�r>tD]}||jkr|Sqtjjt|j|jd��|jS)N�	protocols)Zbotocore_supported_protocolsZservice_supported_protocolsZservice)	r,rB�$PRIORITY_ORDERED_SUPPORTED_PROTOCOLSr�rFr�Z UnsupportedServiceProtocolsErrorr&r))rr?r)r#r#r$rbcs

�z#ClientArgsCreator._resolve_protocolcCsV|�|�}|dkr|j�|�}t|t�r0|��}||krJtjj|||d��|||<dS)N)r�Zconfig_valuer�)	rBrrrr��strr�rFr�ZInvalidChecksumConfigError)rr*r�r�r�r#r#r$r�ts

�z)ClientArgsCreator._handle_checksum_configcCs�d}|�d�}|tjkr$d||<dS|�|�}|dkrB|j�|�}t|t�rT|��}|tkr~tj	j
d|�d|�dt�d�d��|||<dS)	Nr2r3rzThe configured value 'z' for 'z ' is invalid. Valid values are: r�r�)rBrFZUNSIGNEDrrrr�r�r��%VALID_ACCOUNT_ID_ENDPOINT_MODE_CONFIGr�r�)rr*r�r3r2r#r#r$rn�s(


�
���z:ClientArgsCreator._compute_account_id_endpoint_mode_config)N)NNN)N)%�__name__�
__module__�__qualname__r%rRrArordrsrcrprerxr|r~r}ryr�r�r�rzrqrhr�r�rirkr�r�rIr�rjrlrmrbr�rnr#r#r#r$rYsL	�
�
ny

	


 
D\
r)#�__doc__rC�loggingr�Zbotocore.exceptionsrFZbotocore.parsersZbotocore.serializeZbotocore.configrZbotocore.endpointrZbotocore.regionsrr�rZbotocore.signersrZbotocore.useragentrrZbotocore.utilsr	r
�	getLoggerr�rtrr�r�r�r�r�r�rr#r#r#r$�<module>
sP
��