Ë
    tPêj˜  ã                   óÀ   — d dl Z d dlmZmZ d dlZ	 	 	 	 	 	 	 	 ddedz  dedz  dedz  dedz  dedz  dedz  d	edz  d
eej                  z  dz  fd„Zddedz  defd„Z	y)é    N)ÚAnyÚFinalÚaws_access_key_idÚaws_secret_access_keyÚaws_region_nameÚaws_session_nameÚaws_profile_nameÚaws_role_nameÚaws_web_identity_tokenÚtimeoutc                 ó®  — ddl m}  |dd «      }	 |dd «      }
| ||||||g}t        |«      D ]%  \  }}|sŒ	|j                  d«      sŒ ||«      ||<   Œ' |\  } }}}}}}|}|r|}n|	r|	}n|
r|
}nt	        d«      ‚dd l}t        |t        «      r|j                  j                  ||¬«      }nft        |t        j                  «      r2|j                  j                  |j                  |j                  ¬«      }n|j                  j                  «       }|�||�z|�x	 t        |«      j                  «       }|€t	        d«      ‚|j                  d	«      }|j!                  |||d
¬«      }|j                  d|d   d   |d   d   |d   d   ||¬«      }|S |�T|�R|j                  d	| |¬«      }|j#                  ||¬«      }|j                  d|d   d   |d   d   |d   d   ||¬«      }|S | �|j                  d| |||¬«      }|S |�&|j%                  |¬«      j                  d||¬«      }|S |j                  d||¬«      }|S # t        $ r  ||«      }Y �Œ w xY w)Nr   )Ú
get_secretÚAWS_REGION_NAMEÚ
AWS_REGIONzos.environ/zRAWS region not set: set AWS_REGION_NAME or AWS_REGION env variable or in .env file)Úconnect_timeoutÚread_timeoutz6OIDC token could not be retrieved from secret manager.Ústsi  )ÚRoleArnÚRoleSessionNameÚWebIdentityTokenÚDurationSecondsÚrdsÚCredentialsÚAccessKeyIdÚSecretAccessKeyÚSessionToken)Úservice_namer   r   Úaws_session_tokenÚregion_nameÚconfig)r   r   )r   r   )r   r   r   r   r    )Úprofile_name)r   r   r    )Úlitellm.secret_managers.mainr   Ú	enumerateÚ
startswithÚ	ExceptionÚboto3Ú
isinstanceÚfloatÚsessionÚConfigÚhttpxÚTimeoutÚconnectÚreadÚopenÚclientÚassume_role_with_web_identityÚassume_roleÚSession)r   r   r   r   r	   r
   r   r   r   Úlitellm_aws_region_nameÚstandard_aws_region_nameÚparams_to_checkÚiÚparamr   r&   r    Ú
oidc_tokenÚ
sts_clientÚsts_responser0   s                        úe/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/auth/rds_iam_token.pyÚinit_rds_clientr=      s;  € õ 8ñ &0Ð0AÀ4Ó%HÐÙ&0°¸tÓ&DÐð 	ØØØØØØð€Oô ˜oÓ.ò 3‰ˆˆ5Ú�U×%Ñ% mÕ4Ù!+¨EÓ!2ˆO˜AÒð3ð 	ñØØØØØØØð "€KÙØ%‰Ù	 Ø-‰Ù	!Ø.‰äØ`ó
ð 	
ó ä�'œ5Ô!Ø—‘×%Ñ%°gÈGÐ%ÓT‰Ü	�GœUŸ]™]Ô	+Ø—‘×%Ñ%°g·o±oÐT[×T`ÑT`Ð%Óa‰à—‘×%Ñ%Ó'ˆð Ð)¨mÐ.GÐL\ÐLhð	<ÜÐ4Ó5×:Ñ:Ó<ˆJð ÐÜØHóð ð —\‘\ %Ó(ˆ
ð "×?Ñ?Ø!Ø,Ø'Ø ð	 @ó 
ˆð —‘ØØ*¨=Ñ9¸-ÑHØ".¨}Ñ"=Ð>OÑ"PØ*¨=Ñ9¸.ÑIØ#Øð ó 
ˆðr €Mða 
Ð	"Ð'7Ð'Cà—\‘\ØØ/Ø"7ð "ó 
ˆ
ð "×-Ñ-°mÐUeÐ-Ófˆà—‘ØØ*¨=Ñ9¸-ÑHØ".¨}Ñ"=Ð>OÑ"PØ*¨=Ñ9¸.ÑIØ#Øð ó 
ˆðL €Mð= 
Ð	&ð —‘ØØ/Ø"7Ø#Øð ó 
ˆð4 €Mð' 
Ð	%ð —‘Ð,<�Ó=×DÑDØØ#Øð Eó 
ˆð  €Mð —‘ØØ#Øð ó 
ˆð €MøôY ò 	<Ù#Ð$:Ó;‹Jð	<ús   ÄH? È?IÉIr0   Úreturnc                 óÖ  — ddl m} |€Àt        t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      t        j                  dt        j                  d	«      «      t        j                  d
t        j                  d«      «      ¬«      }n|}|j                  | ||¬«      } ||d¬«      }|S )Nr   )Úquoter   ÚAWS_ACCESS_KEY_IDÚAWS_SECRET_ACCESS_KEYÚAWS_SESSION_NAMEÚAWS_PROFILE_NAMEÚAWS_ROLE_NAMEÚAWS_ROLE_ARNÚAWS_WEB_IDENTITY_TOKENÚAWS_WEB_IDENTITY_TOKEN_FILE)r   r   r   r   r	   r
   r   )Ú
DBHostnameÚPortÚ
DBUsernameÚ )Úsafe)Úurllib.parser@   r=   ÚosÚgetenvÚgenerate_db_auth_token)Údb_hostÚdb_portÚdb_userr0   r@   Úboto_clientÚtokenÚcleaned_tokens           r<   Úgenerate_iam_auth_tokenrX   š   s¶   € Ý"à€~Ü%ÜŸI™IÐ&7Ó8Ü Ÿi™iÐ(;Ó<Ü"$§)¡)Ð,CÓ"DÜŸY™YÐ'9Ó:ÜŸY™YÐ'9Ó:ÜŸ)™) O´R·Y±Y¸~Ó5NÓOÜ#%§9¡9Ð-EÄrÇyÁyÐQnÓGoÓ#pô
‰ð ˆà×5Ñ5ÀÈwÐcjÐ5Ók€EÙ  ¨RÔ0€MàÐó    )NNNNNNNN)N)
rO   Útypingr   r   r+   Ústrr(   r,   r=   rX   © rY   r<   ú<module>r]      sÅ   ðÛ 	ß ã ð %)Ø(,Ø"&Ø#'Ø#'Ø $Ø)-Ø,0ñPØ˜T‘zðPà ™:ðPð ˜4‘ZðPð ˜D‘jð	Pð
 ˜D‘jðPð ˜‘:ðPð   $™JðPð �U—]‘]Ñ" TÑ)óPñf¸sÀT¹zð ÐUXô rY   