o
    !dA                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlZd dl	m
Z
 dd Zdd	 Zd
d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    N)Config)DEFAULT_TIMEOUT)disable_signing)urlparsec                 C   sT   | j dtdd | j dtdd | j dtdd | j dtdd | j dtdd d S )Nztop-level-args-parsedzresolve-typesZ	unique_idzno-signzresolve-verify-sslzresolve-cli-read-timeoutzresolve-cli-connect-timeout)registerresolve_typesno_sign_requestresolve_verify_sslresolve_cli_read_timeoutresolve_cli_connect_timeout)cli r   Dusr/lib/python3.10/site-packages/awscli/customizations/globalargs.pyregister_parse_global_args   s   
r   c                 K   s   t | d t | d d S )NqueryZendpoint_url)_resolve_arg)parsed_argskwargsr   r   r   r   %   s   
r   c                 C   s@   t | |d }|d urt tjt d| |}t| || d S d S )Nz_resolve_%s)getattrsysmodules__name__setattr)r   namevalueZ	new_valuer   r   r   r   ,   s
   r   c              
   C   s:   zt | W S  ty } z
td| t|f d }~ww )NzBad value for --query %s: %s)jmespathcompile	Exception
ValueErrorstr)r   er   r   r   _resolve_query3   s   r"   c                 C   s    t  | }|jstd|  | S )NztBad value for --endpoint-url "%s": scheme is missing.  Must be of the form http://<hostname>/ or https://<hostname>/)r   schemer   )r   parsedr   r   r   _resolve_endpoint_url:   s   
r%   c                 K   sF   d}t | |d }|d ur!d }|sd}nt | dd }t| || d S d S )NZ
verify_sslFZ	ca_bundle)r   r   )r   sessionr   arg_name	arg_valueZverifyr   r   r   r
   E   s   r
   c                 K   s(   | j s|d}|jdtdd d S d S )NZevent_emitterzchoose-signerzdisable-signingr   )Zsign_requestZget_componentZregister_firstr   )r   r&   r   Zemitterr   r   r   r	   U   s   

r	   c                 K      d}t || | d S )NZconnect_timeout_resolve_timeoutr   r&   r   r'   r   r   r   r   `      r   c                 K   r)   )NZread_timeoutr*   r,   r   r   r   r   e   r-   r   c                 C   sH   t ||d }|d u rt}t|}|dkrd }t||| t| || d S )Nr   )r   r   intr   _update_default_client_config)r&   r   r'   r(   r   r   r   r+   j   s   r+   c                 C   s:   |   }tdi ||i}|d ur||}| | d S )Nr   )Zget_default_client_configr   mergeZset_default_client_config)r&   r'   r(   Zcurrent_default_configZnew_default_configr   r   r   r/   w   s
   
r/   )r   osZbotocore.clientr   Zbotocore.endpointr   Zbotocore.handlersr   r   Zawscli.compatr   r   r   r   r"   r%   r
   r	   r   r   r+   r/   r   r   r   r   <module>   s$   