Ë
    tPêjµ  ã                   óN   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d„ de«      Z	y)	z,
Deprecated. Only PostgresSQL is supported.
é    )ÚFinal)Úverbose_proxy_logger)ÚDynamoDBArgs)ÚCustomDBc                   ó:   — e Zd ZU ddlmZmZ eed<   defd„Zd„ Z	y)ÚDynamoDBWrapperr   )ÚCredentialsÚStaticCredentialsÚcredentialsÚdatabase_argumentsc                 ó¤  — ddl m}m} d | _        |j                  dk(  r |«       | _        n�|j                  dk(  r~|j
                  �dt        |j
                  t        «      rJ|j                  �>t        |j                  t        «      r$ ||j
                  |j                  ¬«      | _        nt        d|› �«      ‚|| _
        |j                  | _        y )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       ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/db/dynamo_db.pyÚ__init__zDynamoDBWrapper.__init__   sÌ   € ß>à#ˆÔØ×*Ñ*Ð.?Ò?Ù#0£?ˆDÕ Ø×,Ñ,Ð0HÒHà"×6Ñ6ÐBÜÐ1×EÑEÄsÔKØ&×;Ñ;ÐGÜÐ1×FÑFÌÔLá'1Ø+×?Ñ?Ø,×AÑAô(�Õ$ô
  Ø~ð  @Rð  Sð  Tóð ð #5ˆÔØ-×9Ñ9ˆÕó    c                 ó„  — | j                   j                  €y t        j                  d| j                   j                  «       dd l}dd l}|j                  d«      }|j                  | j                   j                  | j                   j                  | j                   j                  ¬«       |j                  | j                   j                  | j                   j                  ¬«      }|d   d   }|d   d   }|d   d	   }t        j                  d
|«       ||j                  d<   ||j                  d<   ||j                  d<   y )Nz*DynamoDB: setting env vars based on arn=%sr   Ústs)ÚRoleArnÚRoleSessionNameÚWebIdentityToken)r#   r$   r	   ÚAccessKeyIdÚSecretAccessKeyÚSessionTokenz*Got STS assumed Role, aws_access_key_id=%sÚ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.   r/   Ú
sts_clientÚassumed_roleÚaws_access_key_idÚaws_secret_access_keyÚaws_session_tokens           r   Úset_env_vars_based_on_arnz)DynamoDBWrapper.set_env_vars_based_on_arn)   s2  € Ø×"Ñ"×0Ñ0Ð8ØÜ×"Ñ"Ð#OÐQU×QhÑQh×QvÑQvÔwÛãà!ŸL™L¨Ó/ˆ
ð 	×0Ñ0Ø×+Ñ+×9Ñ9Ø ×3Ñ3×DÑDØ!×4Ñ4×KÑKð 	1ô 	
ð )×4Ñ4Ø×+Ñ+×EÑEØ ×3Ñ3×PÑPð 5ó 
ˆð
 $0°Ñ#>¸}Ñ#MÐØ'3°MÑ'BÐCTÑ'UÐØ#/°Ñ#>¸~Ñ#NÐä×"Ñ"Ð#OÐQbÔcà*;ˆ�
‰
Ð&Ñ'Ø.Cˆ�
‰
Ð*Ñ+Ø*;ˆ�
‰
Ð&Ò'r    N)
Ú__name__Ú
__module__Ú__qualname__Úaiodynamo.credentialsr	   r
   Ú__annotations__r   r   r=   © r    r   r   r      s   … ßDàÓð:¨<ó :ó0<r    r   N)
Ú__doc__Útypingr   Úlitellm._loggingr   Úlitellm.proxy._typesr   Úlitellm.proxy.db.base_clientr   r   rC   r    r   ú<module>rI      s$   ðñõ å 1Ý -Ý 1ô<<�hõ <<r    