
    Ph	                        d dl mZ d dlZd dlmZ d dlmZ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y)    )annotationsN)Mapping)TYPE_CHECKINGOptional   )parse_env_vars   )EnvSettingsSource)BaseSettingsc                 X    	 ddl ma ddlma y # 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    a/var/www/html/saasai/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/aws.pyimport_aws_secrets_managerr      s0    0I z
	s    	)$)c                  |     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_clientc
           	     z    t                t        d||      | _        || _        t        
|   ||||d||	       y )Nsecretsmanager)region_nameendpoint_urlF)case_sensitive
env_prefixenv_nested_delimiterenv_ignore_emptyenv_parse_none_strenv_parse_enums)r   r   r   r   super__init__)selfsettings_cls	secret_idr   r   r   r    r!   r#   r$   	__class__s             r   r&   z(AWSSecretsManagerSettingsSource.__init__#   sM     	#$&23CQ\kw&x##)!!5"1+ 	 	
    c                    | j                   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<   sX    ..???YJJx/0!!##	
 	
r+   c                h    | 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   s<    ~~&&'{4??2E F$$($=$=#@C	
r+   )NNTNz--NN)r(   ztype[BaseSettings]r)   r   r   
str | Noner   r8   r   bool | Noner    r8   r!   r8   r#   r8   r$   r9   returnNone)r:   zMapping[str, Optional[str]])r:   r   )r6   
__module____qualname____annotations__r&   r3   r7   __classcell__)r*   s   @r   r   r      s    O00 #'#'&*!%+/)-'+
(
 
  	

 !
 $
 
 )
 '
 %
 

2

r+   r   )r:   r;   )
__future__r   _annotationsr0   collections.abcr   typingr   r   utilsr   envr
   pydantic_settings.mainr   r   r   r   r   __all__ r+   r   <module>rI      sI    2  # * " "3  
+
&7 +
^ &r+   