
    xi	                        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Z G d de          ZdgZdS )    )annotationsN)Mapping)TYPE_CHECKING   )parse_env_vars   )EnvSettingsSource)BaseSettingsreturnNonec                 d    	 ddl ma ddlma d S # t
          $ r} t          d          | d } ~ ww xY 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)es    /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/pydantic_settings/sources/providers/aws.pyimport_aws_secrets_managerr      sh    000000IIIIIIII   z
 
	s    
/*/c                  V     e Zd ZU ded<   ded<   	 	 	 	 	 	 	 dd fdZddZddZ x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
           	         t                       t          d||          | _        || _        t	                                          ||||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__s             r   r-   z(AWSSecretsManagerSettingsSource.__init__#   sr     	#$$$&23CQ\kw&x&x&x##)!!5"1+ 	 	
 	
 	
 	
 	
    Mapping[str, str | None]c                    | j                             | j                  }t          t	          j        |d                   | j        | j        | j                  S )N)SecretIdSecretString)	r   get_secret_valuer   r   jsonloadsr#   r+   r'   )r.   responses     r   _load_env_varsz.AWSSecretsManagerSettingsSource._load_env_vars<   sS    .???YYJx/00!#	
 
 	
r0   c                @    | j         j         d| j        d| j        dS )Nz(secret_id=z, env_nested_delimiter=))r/   __name__r   r&   )r.   s    r   __repr__z(AWSSecretsManagerSettingsSource.__repr__F   sC    ~& C C4? C C$($=C C C	
r0   )NNTNr   NN)r   r   r   r   r    r!   r"   r!   r#   r$   r%   r!   r&   r!   r'   r!   r(   r$   r   r   )r   r1   )r   r   )r<   
__module____qualname____annotations__r-   r9   r=   __classcell__)r/   s   @r   r   r      s         OOO0000 #'#'&*!%+/)-'+
 
 
 
 
 
 
2
 
 
 

 
 
 
 
 
 
 
r0   r   )r   r   )
__future__r   _annotationsr6   collections.abcr   typingr   utilsr   envr	   pydantic_settings.mainr
   r   r   r   r   __all__ r0   r   <module>rK      s    2 2 2 2 2 2  # # # # # #             " " " " " " " " " " " " 4333333  
 
 
 
+
 +
 +
 +
 +
&7 +
 +
 +
^ &r0   