o
    .&ßa¾  ã                   @   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©Ú	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   úB/usr/lib/python3/dist-packages/awscli/customizations/globalargs.pyÚregister_parse_global_args   s   ÿÿÿÿ
ÿr   c                 K   s   t | dƒ t | dƒ d S )NÚqueryÚ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ÚvalueÚ	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 )NÚ
verify_sslFÚ	ca_bundle)r   r   )r   Úsessionr   Úarg_nameÚ	arg_valueÚverifyr   r   r   r   E   s   ör   c                 K   s   | j s|jdtdd� d S d S )Nzchoose-signerzdisable-signingr   )Úsign_requestr   r   )r   r+   r   r   r   r   r
   U   s
   
ÿýr
   c                 K   ó   d}t || |ƒ d S )NÚconnect_timeout©Ú_resolve_timeout©r   r+   r   r,   r   r   r   r   ]   ó   r   c                 K   r0   )NÚread_timeoutr2   r4   r   r   r   r   b   r5   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   r3   g   s   r3   c                 C   s:   |   ¡ }tdi ||i¤Ž}|d ur| |¡}|  |¡ d S )Nr   )Úget_default_client_configr   ÚmergeÚset_default_client_config)r+   r,   r-   Úcurrent_default_configÚnew_default_configr   r   r   r8   t   s
   
r8   )r   ÚosÚbotocore.clientr   Úbotocore.endpointr   Úbotocore.handlersr   r   Úawscli.compatr   r   r	   r   r%   r(   r   r
   r   r   r3   r8   r   r   r   r   Ú<module>   s$   