o
    i	                     @  s   d dl mZ d dlZd dlmZ d dlmZ ddlm	Z	 ddl
mZ er*d d	lmZ dadadddZG dd deZdgZdS )    )annotationsN)Mapping)TYPE_CHECKING   )parse_env_vars   )EnvSettingsSource)BaseSettingsreturnNonec               
   C  sB   zddl ma ddlma W d S  ty  }  ztd| d } ~ ww )Nr   )client)SecretsManagerClientzlAWS Secrets Manager dependencies are not installed, run `pip install pydantic-settings[aws-secrets-manager]`)boto3r   boto3_client mypy_boto3_secretsmanager.clientr   ImportError)e r   m/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pydantic_settings/sources/providers/aws.pyimport_aws_secrets_manager   s   r   c                      sT   e Zd ZU ded< ded< 							dd fddZdddZd ddZ  ZS )!AWSSecretsManagerSettingsSourcestr
_secret_idr   _secretsmanager_clientNT--settings_clstype[BaseSettings]	secret_idregion_name
str | Noneendpoint_urlcase_sensitivebool | None
env_prefixenv_nested_delimiterenv_parse_none_strenv_parse_enumsr
   r   c
           
   	     s:   t   td||d| _|| _t j||||d||	d d S )Nsecretsmanager)r   r    F)r!   r#   r$   env_ignore_emptyr%   r&   )r   r   r   r   super__init__)
selfr   r   r   r    r!   r#   r$   r%   r&   	__class__r   r   r*   #   s   
z(AWSSecretsManagerSettingsSource.__init__Mapping[str, str | None]c                 C  s.   | j j| jd}tt|d | j| j| jS )N)SecretIdSecretString)	r   get_secret_valuer   r   jsonloadsr!   r(   r%   )r+   responser   r   r   _load_env_vars<   s   z.AWSSecretsManagerSettingsSource._load_env_varsc                 C  s   | j j d| jd| jdS )Nz(secret_id=z, env_nested_delimiter=))r-   __name__r   r$   )r+   r   r   r   __repr__F   s   z(AWSSecretsManagerSettingsSource.__repr__)NNTNr   NN)r   r   r   r   r   r   r    r   r!   r"   r#   r   r$   r   r%   r   r&   r"   r
   r   )r
   r.   )r
   r   )r7   
__module____qualname____annotations__r*   r5   r8   __classcell__r   r   r,   r   r      s   
 

r   )r
   r   )
__future__r   _annotationsr2   collections.abcr   typingr   utilsr   envr   pydantic_settings.mainr	   r   r   r   r   __all__r   r   r   r   <module>   s    
/