ó
    €Ï¥  ã                   ó    • S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SS	 jrSS
 jrSS jrSS jrSS jrS rS rS rg)zHooks for Privateca surface.é    )Úabsolute_import)Údivision)Úunicode_literals)Úbase)Úrequest_utils)Úresource_args)Útimesc                 ó   ^ • U 4S jnU$ )z<Raises an exception if the response is not a subordinate ca.c                 ó”   >• [         R                  " [        R                  " TS9R                  R
                  R                  U TS9  U $ ©N©Úapi_version)Úversion)r   ÚCheckExpectedCATyper   ÚGetMessagesModuleÚCertificateAuthorityÚTypeValueValuesEnumÚSUBORDINATE©ÚresponseÚunused_argsr   s     €Ú1lib/googlecloudsdk/command_lib/privateca/hooks.pyÚ)CheckResponseSubordinateTypeHookVersionedÚSCheckResponseSubordinateTypeHook.<locals>.CheckResponseSubordinateTypeHookVersioned   s?   ø€ Ü×%Ò%Ü×ÒØñ	
ç
Ñ
×2Ñ2·;±;ØØòð €Oó    © )r   r   s   ` r   Ú CheckResponseSubordinateTypeHookr      s   ø€ õ	ð 
3Ð2r   c                 ó   ^ • U 4S jnU$ )z5Raises an exception if the response is not a root ca.c                 ó”   >• [         R                  " [        R                  " TS9R                  R
                  R                  U TS9  U $ r   )r   r   r   r   r   r   ÚSELF_SIGNEDr   s     €r   Ú"CheckResponseRootTypeHookVersionedÚECheckResponseRootTypeHook.<locals>.CheckResponseRootTypeHookVersioned/   s?   ø€ Ü×%Ò%Ü×ÒØñ	
ç
Ñ
×2Ñ2·;±;ØØòð €Or   r   )r   r!   s   ` r   ÚCheckResponseRootTypeHookr#   ,   s   ø€ õð 
,Ð+r   c                 óì   • [         R                  " US9n[         R                  " US9nUR                  R	                  UR                  U R                  5       S95      n[        R                  " X5        g)zCDo a get on a CA resource and check its type against expected_type.r   )ÚnameN)	r   ÚGetClientInstancer   Ú1projects_locations_caPools_certificateAuthoritiesÚGetÚAPrivatecaProjectsLocationsCaPoolsCertificateAuthoritiesGetRequestÚRelativeNamer   r   )Úresource_refÚexpected_typer   ÚclientÚmessagesÚcertificate_authoritys         r   Ú_CheckRequestTypeHookr0   <   si   € ä×!Ò!¨gÑ6€&Ü×#Ò#°Ñ8€(Ø ×RÑR×VÑVØ×PÑPØ×(Ñ(Ó*ð Qð óÐô ×#Ò# MÕIr   c                 ó   ^ • U 4S jnU$ )z8Raises an exception if the request is not for a root ca.c                 ó€   >• [        U [        R                  " TS9R                  R                  R
                  5        U$ ©Nr   )r0   r   r   r   r   r    ©r+   r   Úrequestr   s      €r   Ú!CheckRequestRootTypeHookVersionedÚCCheckRequestRootTypeHook.<locals>.CheckRequestRootTypeHookVersionedL   s6   ø€ ÜØÜ×ÒØñ	
ç
Ñ
×2Ñ2·;±;ô	ð €Nr   r   )r   r6   s   ` r   ÚCheckRequestRootTypeHookr8   I   s   ø€ õð 
+Ð*r   c                 ó   ^ • U 4S jnU$ )z?Raises an exception if the request is not for a subordinate ca.c                 ó€   >• [        U [        R                  " TS9R                  R                  R
                  5        U$ r3   )r0   r   r   r   r   r   r4   s      €r   Ú(CheckRequestSubordinateTypeHookVersionedÚQCheckRequestSubordinateTypeHook.<locals>.CheckRequestSubordinateTypeHookVersioned\   s8   ø€ ô ØÜ×ÒØñ	
ç
Ñ
×2Ñ2·;±;ô	ð €Nr   r   )r   r;   s   ` r   ÚCheckRequestSubordinateTypeHookr=   Y   s   ø€ õ	ð 
2Ð1r   c                 ó:   • [         R                  " 5       Ul        U$ )z?Fills a unique identifier for a request with a requestId field.)r   ÚGenerateRequestIdÚ	requestId)Ú
unused_refr   r5   s      r   ÚAddRequestIdHookrB   j   s   € ä#×5Ò5Ó7€'ÔØ	€.r   c                 óX   • [         R                  " [         R                  " U S5      5      $ )zFConvert a given 'proto duration' string to an ISO8601 duration string.T)r	   ÚFormatDurationÚParseDuration)Úproto_duration_strs    r   Ú_ConvertProtoToIsoDurationrG   p   s!   € ä	×	Ò	œe×1Ò1Ð2DÀdÓKÓ	LÐLr   c                 ó‚  • U R                   (       a  [        U R                   5      U l         U R                  (       a‚  U R                  R                  (       ag  U R                  R                  R                   (       aB  [        U R                  R                  R                   5      U R                  R                  l         U $ )zEConverts certificate lifetimes from proto duration format to ISO8601.)ÚlifetimerG   ÚcertificateDescriptionÚsubjectDescription)r   r   s     r   Ú#ConvertCertificateLifetimeToIso8601rL   u   s‡   € ð ××Ü2°8×3DÑ3DÓE€HÔà×%×%Ø
×
)Ñ
)×
<×
<Ø
×
)Ñ
)×
<Ñ
<×
E×
Eô 	#Ø×+Ñ+×>Ñ>×GÑGó	
ð ×#Ñ#×6Ñ6Ô?ð 
€/r   N)Úv1)Ú__doc__Ú
__future__r   r   r   Ú googlecloudsdk.api_lib.privatecar   r   Ú$googlecloudsdk.command_lib.privatecar   Úgooglecloudsdk.core.utilr	   r   r#   r0   r8   r=   rB   rG   rL   r   r   r   Ú<module>rS      sI   ðñ #å &Ý Ý 'å 1Ý :Ý >Ý *ô3ô",ô 
Jô+ô 2ò"òMó
r   