File: //lib/python3.6/site-packages/botocore/__pycache__/session.cpython-36.pyc
3
�T_�� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddlm
Z
ddlZddlZddl
ZddlmZ ddlmZ ddlmZ ddlmZ dd lmZmZmZmZ dd
lmZ ddlmZ ddlmZmZ dd
lmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddlm'Z' ddlm(Z( ddlm)Z) ddlm*Z*m+Z+ ddlm,Z, ddl-m.Z.m/Z/ ddl0m1Z1 ej2e3�Z4G dd� de5�Z6G dd� de5�Z7G dd� de1�Z8G dd � d e5�Z9d#d!d"�Z:dS )$zV
This module contains the main interface to the botocore package, the
Session object.
� N)�__version__)�UNSIGNED)�ConfigValueStore)�ConfigChainFactory)�&create_botocore_default_config_mapping)�!BOTOCORE_DEFAUT_SESSION_VARIABLES)�ConfigNotFound�ProfileNotFound�UnknownServiceError�PartialCredentialsError)�ClientExceptionsFactory)�handlers)�HierarchicalEmitter�first_non_none_response)�EventAliaser)�
create_loader)�ResponseParserFactory)�EndpointResolver)�ServiceModel)�
monitoring)�paginate)�waiter)�retryhandler� translate)�utils)�
EVENT_ALIASES�validate_region_name)�MutableMappingc @ s� e Zd ZdZeje�ZdZdldd�Zdd� Z d d
� Z
dd� Zd
d� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zedd � �Zd!d"� Zed#d$� �Zdmd%d&�Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zed/d0� �Zd1d2� Zd3d4� Z dnd5d6�Z!d7d8� Z"d9d:� Z#d;d<� Z$dod=d>�Z%dpd?d@�Z&dqdAdB�Z'drdCdD�Z(dEdF� Z)dsdHdI�Z*dtdJdK�Z+dudLdM�Z,dvdOdP�Z-dwdQdR�Z.dSdT� Z/dUdV� Z0dWdX� Z1dYdZ� Z2d[d\� Z3d]d^� Z4d_d`� Z5dxdadb�Z6dcdd� Z7dedf� Z8dgdh� Z9dydjdk�Z:dS )z�Sessionae
The Session object collects together useful functionality
from `botocore` as well as important data such as configuration
information and credentials into a single, easy-to-use object.
:ivar available_profiles: A list of profiles defined in the config
file associated with this session.
:ivar profile: The current profile.
z4%(asctime)s - %(name)s - %(levelname)s - %(message)sNTc C s� |dkrt � | _n|| _t| j�| _|r4| j| j� d| _t| _d| _d| _ d| _
d| _d| _i | _
|dk rv|| j
d<