
    ^hw                     B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)z,
Deprecated. Only PostgresSQL is supported.
    )verbose_proxy_logger)DynamoDBArgs)CustomDBc                   D    \ rS rSr% SSKJrJr  \\S'   S\4S jr	S r
Srg	)
DynamoDBWrapper
   r   )CredentialsStaticCredentialscredentialsdatabase_argumentsc                    SSK JnJn  S U l        UR                  S:X  a  U" 5       U l        OUR                  S:X  a  UR
                  bl  [        UR
                  [        5      (       aM  UR                  b@  [        UR                  [        5      (       a!  U" UR
                  UR                  S9U l        O[        SU 35      eXl
        UR                  U l        g )Nr   )PayPerRequest
ThroughputPAY_PER_REQUESTPROVISIONED_THROUGHPUT)readwritezhInvalid args passed in. Need to set both read_capacity_units and write_capacity_units. Args passed in - )aiodynamo.modelsr   r   throughput_typebilling_moderead_capacity_units
isinstanceintwrite_capacity_units	Exceptionr   region_name)selfr   r   r   s       T/home/james-whalen/.local/lib/python3.13/site-packages/litellm/proxy/db/dynamo_db.py__init__DynamoDBWrapper.__init__   s    >#**.??#0?D ,,0HH"66B1EEsKK&;;G1FFLL'17I7]7]ew  fM  fM  (N$~  @R  S  T  #5-99    c                    U R                   R                  c  g [        R                  " SU R                   R                   35        SS KnSS KnUR                  S5      nUR                  U R                   R                  U R                   R                  U R                   R                  S9  UR                  U R                   R                  U R                   R                  S9nUS   S   nUS   S   nUS   S	   n[        R                  " S
U 35        XQR                  S'   XaR                  S'   XqR                  S'   g )Nz(DynamoDB: setting env vars based on arn=r   sts)RoleArnRoleSessionNameWebIdentityToken)r$   r%   r	   AccessKeyIdSecretAccessKeySessionTokenz(Got STS assumed Role, aws_access_key_id=AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN)r   aws_role_namer   debugosboto3clientassume_role_with_web_identityaws_session_nameaws_web_identity_tokenassume_roleassume_role_aws_role_nameassume_role_aws_session_nameenviron)r   r/   r0   
sts_clientassumed_roleaws_access_key_idaws_secret_access_keyaws_session_tokens           r   set_env_vars_based_on_arn)DynamoDBWrapper.set_env_vars_based_on_arn$   s?   ""008""6t7N7N7\7\6]^	
 	\\%(
 	00++99 33DD!44KK 	1 	
 "--++EE 33PP . 

 )7F ,] ;<M N(7G""67H6IJ	
 +<

&'.C

*+*;

&'r!   )r   r   r   N)__name__
__module____qualname____firstlineno__aiodynamo.credentialsr	   r
   __annotations__r   r   r>   __static_attributes__ r!   r   r   r   
   s    D:< :*#<r!   r   N)__doc__litellm._loggingr   litellm.proxy._typesr   litellm.proxy.db.base_clientr   r   rG   r!   r   <module>rL      s!    2 - 1=<h =<r!   