U
    n/e                     @   s$   d dl mZmZ G dd deZdS )    )SmartDefaultsConfigStoreFactoryosc                   @   s   e Zd Zdd Zdd ZdS )"AioSmartDefaultsConfigStoreFactoryc                    sZ   |dkr|  |I d H }| j|}|D ],}|| }t| d| d }|r(||| q(d S )NautoZ_set_)resolve_auto_modeZ_default_config_resolverZget_default_config_valuesgetattr)selfZconfig_storemoderegion_nameZdefault_configsZ
config_varZconfig_valuemethod r   >/tmp/pip-unpacked-wheel-8mnez3y6/aiobotocore/configprovider.pymerge_smart_defaults   s    
z7AioSmartDefaultsConfigStoreFactory.merge_smart_defaultsc                    s   d }t jdr*t jd}t jd|}|sl| jr<| j}n0z| j I d H }|| _W n tk
rj   Y nX |r||kr|dS dS dS )NZAWS_EXECUTION_ENVZAWS_DEFAULT_REGIONZ
AWS_REGIONz	in-regionzcross-regionstandard)r   environgetZ_instance_metadata_regionZ_imds_region_providerZprovide	Exception)r   r
   Zcurrent_regionZdefault_regionr   r   r   r      s"    
z4AioSmartDefaultsConfigStoreFactory.resolve_auto_modeN)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   N)Zbotocore.configproviderr   r   r   r   r   r   r   <module>   s   