File: //usr/local/CyberPanel/lib64/python3.10/site-packages/boto3/__pycache__/session.cpython-310.pyc
o
�h�P � @ sr d dl Z d dlZd dlZd dlmZ d dlmZmZ d dl Z d dl
Z d dlmZm
Z
ddlmZ G dd� d�ZdS ) � N)�Config)�DataNotFoundError�UnknownServiceError)�ResourceNotExistsError�UnknownAPIVersionError� )�ResourceFactoryc @ s� e Zd ZdZ d&dd�Zdd� Zedd� �Zed d
� �Zedd� �Z ed
d� �Z
dd� Zdd� Zdd� Z
dd� Z d'dd�Zdd� Zdd� Z d(d d!�Z d(d"d#�Zd$d%� ZdS ))�Sessiona/
A session stores configuration state and allows you to create service
clients and resources.
:type aws_access_key_id: string
:param aws_access_key_id: AWS access key ID
:type aws_secret_access_key: string
:param aws_secret_access_key: AWS secret access key
:type aws_session_token: string
:param aws_session_token: AWS temporary session token
:type region_name: string
:param region_name: Default region when creating new connections
:type botocore_session: botocore.session.Session
:param botocore_session: Use this Botocore session instead of creating
a new default one.
:type profile_name: string
:param profile_name: The name of a profile to use. If not given, then
the default profile is used.
Nc C s� |d ur|| _ ntj�� | _ | j jdkr7d| j j� �}| j jr*| j jd| 7 _n|| j _d| j _tj| j _|d urB| j � d|� |sH|sH|rP| j �
|||� |d ur[| j � d|� t| j �d��| _
| �� | �� d S )N�Botocorez Botocore/� �Boto3�profile�region�
event_emitter)�_session�botocore�session�get_session�user_agent_name�user_agent_version�user_agent_extra�boto3�__version__�set_config_variable�set_credentialsr �
get_component�resource_factory�
_setup_loader�_register_default_handlers)�self�aws_access_key_id�aws_secret_access_key�aws_session_token�region_name�botocore_session�profile_name�
botocore_info� r'