
    E0j(                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d d	lmZ d
 Z G d d          Z G d d          ZdS )    wraps)ICredentialsProvider)credentials)CredentialException)ConfigCredentialModel)HttpOptions)StaticAKCredentialsProviderStaticSTSCredentialsProviderRamRoleArnCredentialsProviderOIDCRoleArnCredentialsProviderRsaKeyPairCredentialsProviderEcsRamRoleCredentialsProviderURLCredentialsProviderDefaultCredentialsProvider)auth_constant)
deprecatedc                 <     t                      fd            }|S )Nc                  8    	  | i |S # t           $ r Y d S w xY wN)AttributeError)argskwargsfs     g/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/alibabacloud_credentials/client.pyiz&attribute_error_return_none.<locals>.i   s?    	1d%f%%% 	 	 	FF	s    
r   )r   r   s   ` r   attribute_error_return_noner      s3    
1XX    X H    c                       e Zd ZddddedefdZdefdZdefdZdefd	Zdefd
Z	d Z
d ZdefdZdefdZdefdZdS )_CredentialsProviderWrapN	type_nameproviderr#   r$   c                "    || _         || _        d S r   r"   )selfr#   r$   s      r   __init__z!_CredentialsProviderWrap.__init__!   s     # r   returnc                 \    | j                                         }|                                S r   )r$   get_credentialsget_access_key_idr&   
credentials     r   r+   z*_CredentialsProviderWrap.get_access_key_id(   s'    ]2244
++---r   c                 l   K   | j                                          d {V }|                                S r   )r$   get_credentials_asyncr+   r,   s     r   get_access_key_id_asyncz0_CredentialsProviderWrap.get_access_key_id_async,   s=      =>>@@@@@@@@
++---r   c                 \    | j                                         }|                                S r   )r$   r*   get_access_key_secretr,   s     r   r2   z._CredentialsProviderWrap.get_access_key_secret0   s'    ]2244
//111r   c                 l   K   | j                                          d {V }|                                S r   )r$   r/   r2   r,   s     r   get_access_key_secret_asyncz4_CredentialsProviderWrap.get_access_key_secret_async4   s=      =>>@@@@@@@@
//111r   c                 \    | j                                         }|                                S r   )r$   r*   get_security_tokenr,   s     r   r6   z+_CredentialsProviderWrap.get_security_token8   s'    ]2244
,,...r   c                 l   K   | j                                          d {V }|                                S r   )r$   r/   r6   r,   s     r   get_security_token_asyncz1_CredentialsProviderWrap.get_security_token_async<   s=      =>>@@@@@@@@
,,...r   c                     | j                                         }t          |                                |                                |                                | j        |                                          S N)access_key_idaccess_key_secretsecurity_tokentypeprovider_name)r$   r*   r	   r+   r2   r6   r#   get_provider_namer,   s     r   get_credentialz'_CredentialsProviderWrap.get_credential@   sm    ]2244
$6688(>>@@%88::$6688
 
 
 	
r   c                   K   | j                                          d {V }t          |                                |                                |                                | j        |                                          S r:   )r$   r/   r	   r+   r2   r6   r#   r@   r,   s     r   get_credential_asyncz-_CredentialsProviderWrap.get_credential_asyncJ   s      =>>@@@@@@@@
$6688(>>@@%88::$6688
 
 
 	
r   c                     | j         S r   )r#   r&   s    r   get_typez!_CredentialsProviderWrap.get_typeT   s
    ~r   )__name__
__module____qualname__strr   r'   r+   r0   r2   r4   r6   r8   r	   rA   rC   rF    r   r   r!   r!      s'        #'26! ! !! 0! ! ! !.3 . . . ..s . . . .2s 2 2 2 223 2 2 2 2/ / // / /
 
 
 
 

O 
 
 
 
#      r   r!   c                      e Zd ZdZ	 	 ddedefdZdefdZdefdZ	e
d             Z ed	          d
             Z ed          d             Z ed          d             Z ed          d             Z ed          d             Z ed          d             Z ed          ed                         Z ed          ed                         ZdS )ClientNconfigr$   c                     |*t          |                                |          | _        d S |&t                      }t          d|          | _        d S t                              |          | _        d S )Nr"   default)r!   r@   cloud_credentialr   rM   r*   )r&   rN   r$   s      r   r'   zClient.__init__[   sz     $<xGaGaGcGcnv$w$w$wD!!!^133H$<y[c$d$d$dD!!!$*$:$:6$B$BD!!!r   r(   c                 4    | j                                         S )F
        Get credential
        @return: the whole credential
        )rQ   rA   rE   s    r   rA   zClient.get_credentialf   s    
 $33555r   c                 D   K   | j                                          d{V S )rS   N)rQ   rC   rE   s    r   rC   zClient.get_credential_asyncm   s/      
 *??AAAAAAAAAr   c                 n   | j         t          j        k    r,t          | j        | j                  }t          d|          S | j         t          j        k    r2t          | j        | j        | j	                  }t          d|          S | j         t          j
        k    rt          j        | j                  S | j         t          j        k    rLt          | j        | j        t%          | j        | j        | j                            }t          d|          S | j         t          j        k    rFt/          | j        t%          | j        | j        | j                  	          }t          d
|          S | j         t          j        k    r| j	        -| j	        dk    r"t          | j        | j        | j	                  }nt          | j        | j                  }t5          || j        | j        | j        | j        | j        | j         t%          | j        | j        | j                            }t          d|          S | j         t          j!        k    rXtE          | j#        | j$        | j        | j         t%          | j        | j        | j                            }t          d|          S | j         t          j%        k    rjtM          | j        | j'        | j(        | j        | j        | j        | j         t%          | j        | j        | j                            }t          d|          S tS          d          )N)r;   r<   
access_keyr"   )r;   r<   r=   sts)read_timeoutconnect_timeoutproxy)	role_namedisable_imds_v1http_optionsecs_ram_role)urir]   credentials_uri )credentials_providerrole_arnrole_session_nameduration_secondspolicyexternal_idsts_endpointr]   ram_role_arn)public_key_idprivate_key_filere   rh   r]   rsa_key_pair)rc   oidc_provider_arnoidc_token_file_pathrd   re   rf   rh   r]   oidc_role_arnzinvalid type option, support: access_key, sts, bearer, ecs_ram_role, ram_role_arn, rsa_key_pair, oidc_role_arn, credentials_uri)*r>   ac
ACCESS_KEYr   r;   r<   r!   STSr   r=   BEARERr   BearerTokenCredentialbearer_tokenECS_RAM_ROLEr   r[   r\   r
   timeoutrY   rZ   CREDENTIALS_URIr   r`   RAM_ROLE_ARNr   rc   rd   role_session_expirationrf   rg   rh   RSA_KEY_PAIRr   rj   rk   OIDC_ROLE_ARNr   rm   rn   r   )rN   r$   previous_providers      r   r*   zClient.get_credentialst   sr   ;"-''2$2"(":  H ,lXVVVV[BF""3$2"(":%4  H
 ,ehOOOO[BI%%4V5HIII[BO++4 * & 6(!'$*$: ,    H ,nxXXXX[B...-*(!'$*$: ,    H ,6GRZ[[[[[BO++$0V5Jb5P5P$@"("6&,&>#)#8% % %!! %@"("6&,&>% % %! 5%6"(":!'!?}".#0(!'$*$: ,    H ,nxXXXX[BO++4$2!'!8!'!?#0(!'$*$: ,  
 
 
H ,nxXXXX[B,,,5"(":%+%@"(":!'!?}#0(!'$*$: ,    H ,oPXYYYY! NO O 	Or   z,Use 'get_credential().access_key_id' insteadc                 4    | j                                         S r   )rQ   r+   rE   s    r   r+   zClient.get_access_key_id   s    $66888r   z0Use 'get_credential().access_key_secret' insteadc                 4    | j                                         S r   )rQ   r2   rE   s    r   r2   zClient.get_access_key_secret   s    $::<<<r   z-Use 'get_credential().security_token' insteadc                 4    | j                                         S r   )rQ   r6   rE   s    r   r6   zClient.get_security_token   s    $77999r   z2Use 'get_credential_async().access_key_id' insteadc                 D   K   | j                                          d {V S r   )rQ   r0   rE   s    r   r0   zClient.get_access_key_id_async   s-      *BBDDDDDDDDDr   z6Use 'get_credential_async().access_key_secret' insteadc                 D   K   | j                                          d {V S r   )rQ   r4   rE   s    r   r4   z"Client.get_access_key_secret_async   s-      *FFHHHHHHHHHr   z3Use 'get_credential_async().security_token' insteadc                 D   K   | j                                          d {V S r   )rQ   r8   rE   s    r   r8   zClient.get_security_token_async   s-      *CCEEEEEEEEEr   z#Use 'get_credential().type' insteadc                 4    | j                                         S r   )rQ   rF   rE   s    r   rF   zClient.get_type   s     $--///r   z+Use 'get_credential().bearer_token' insteadc                     | j         j        S r   )rQ   ru   rE   s    r   get_bearer_tokenzClient.get_bearer_token   s     $11r   )NN)rG   rH   rI   rQ   r   r   r'   r	   rA   rC   staticmethodr*   r   r+   r2   r6   r0   r4   r8   r   rF   r   rK   r   r   rM   rM   X   s        #'26	C 	C	C/	C 	C 	C 	C6 6 6 6 6BO B B B B ^O ^O \^O@ Z>??9 9 @?9 ZBCC= = DC= Z?@@: : A@: ZDEEE E FEE ZHIII I JII ZEFFF F GFF Z566 0 0 !  760 Z=>> 2 2 !  ?>2 2 2r   rM   N)	functoolsr   alibabacloud_credentials_apir   alibabacloud_credentialsr   #alibabacloud_credentials.exceptionsr   alibabacloud_credentials.modelsr   r	   alibabacloud_credentials.httpr
   !alibabacloud_credentials.providerr   r   r   r   r   r   r   r   alibabacloud_credentials.utilsr   rp   Tea.decoratorsr   r   r!   rM   rK   r   r   <module>r      s         = = = = = = 0 0 0 0 0 0 C C C C C C C C C C C C C C 5 5 5 5 5 5K K K K K K K K K K K K K K K K K K K K ? > > > > > % % % % % %  6 6 6 6 6 6 6 6r]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2 ]2r   