o
    R+ 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]`)Zboto3r   boto3_clientZ mypy_boto3_secretsmanager.clientr   ImportError)e r   s/home/app/PaddleOCR-VL-test/.venv_paddleocr/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 )NZ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)ZSecretIdZSecretString)	r   Z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   )r1   
__module____qualname____annotations__r'   r/   r2   __classcell__r   r   r)   r   r      s   
 

r   )r
   r   )
__future__r   Z_annotationsr,   collections.abcr   typingr   utilsr   envr   Zpydantic_settings.mainr	   r   r   r   r   __all__r   r   r   r   <module>   s    
/