ó
    €Ïv  ã                   óV   • S r SSKJr  SSKJr  SSKJr  SrSrSrS rS	 r	S
 r
S rS rg)zDCommon command-agnostic utility functions for server-certs commands.é    )Úabsolute_import)Údivision)Úunicode_literalsÚActiveÚNextÚPreviousc                 ó|   • U R                   R                  UR                  UR                  UR                  S95      $ )z>Calls the list server certs endpoint and returns the response.)ÚprojectÚinstance)Ú	instancesÚListServerCertificatesÚ)SqlInstancesListServerCertificatesRequestr
   r   )Ú
sql_clientÚsql_messagesÚinstance_refs      Ú2lib/googlecloudsdk/api_lib/sql/ssl/server_certs.pyr   r      s?   € à	×	Ñ	×	4Ñ	4Ø×<Ñ<Ø×&Ñ&°×1FÑ1Fð =ð ó
ð ó    c                 óÔ  • 0 nU R                   nU R                  nSnU H  nUR                  U:X  d  M  Un  O   U(       d  U$ XA[        '   U Vs/ s H  oUR                  U:w  d  M  UPM     nn[	        U5      S:X  a4  US   nUR
                  UR
                  :”  a
  Xq[        '   U$ Xq[        '    U$ [	        U5      S:”  a#  [        US S9nUS   U[        '   US   U[        '   U$ s  snf )a?  Gets a dictionary mapping Server Cert types to certs.

The keys to the dictionary returned will be some combinatiaon of 'Current',
'Next', and 'Previous'.

Args:
  list_server_certs_response: InstancesListServerCertificatesResponse
    instance.

Returns:
  A dictionary mapping Server Cert types to SslCert instances.
Né   r   c                 ó   • U R                   $ )N)Ú
createTime)Úcerts    r   Ú<lambda>Ú.GetServerCertificateTypeDict.<locals>.<lambda>L   s   € ¸T¿_º_r   )Úkeyéÿÿÿÿ)	ÚactiveVersionÚserverCertsÚsha1FingerprintÚACTIVE_CERT_LABELÚlenr   ÚNEXT_CERT_LABELÚPREVIOUS_CERT_LABELÚsorted)Úlist_server_certs_responseÚserver_cert_typesÚ	active_idÚcertsÚactive_certr   Úinactive_certsÚinactive_certs           r   ÚGetServerCertificateTypeDictr,   #   s  € ð Ðà(×6Ñ6€)ð %×
0Ñ
0€%Ø€+Û€dØ×Ñ˜yÕ(Ø€kÙñ ö 
àÐØ)4Ô%Ñ&ñ &+ÓP¢U˜T×.BÑ.BÀiÑ.O—D¡U€.ÐPÜˆÓ˜AÓØ" 1Ñ%€MØ×Ñ +×"8Ñ"8Ó8à+8œÑ(ð 
Ðð 0=Ô+Ò,ð 
Ðô ˆ>Ó˜QÓä˜NÑ0LÑM€NØ-;¸AÑ->ÐÔ)Ñ*Ø)7¸Ñ);Ð”oÑ&à	Ðùò Qs   ÁC%Á&C%c                 óV   • [        [        XU5      5      nUR                  [        5      $ )z)Returns the currently active Server Cert.)r,   r   Úgetr    ©r   r   r   r&   s       r   ÚGetCurrentServerCertificater0   S   s+   € ä2Ü˜Z°|ÓDóÐð 
×	Ñ	Ô0Ó	1Ð1r   c                 óV   • [        [        XU5      5      nUR                  [        5      $ )z!Returns the upcoming Server Cert.)r,   r   r.   r"   r/   s       r   ÚGetNextServerCertificater2   [   s*   € ä2Ü˜Z°|ÓDóÐð 
×	Ñ	œÓ	/Ð/r   c                 óV   • [        [        XU5      5      nUR                  [        5      $ )z*Returns the previously active Server Cert.)r,   r   r.   r#   r/   s       r   ÚGetPreviousServerCertificater4   c   s+   € ä2Ü˜Z°|ÓDóÐð 
×	Ñ	Ô2Ó	3Ð3r   N)Ú__doc__Ú
__future__r   r   r   r    r"   r#   r   r,   r0   r2   r4   © r   r   Ú<module>r8      s?   ðñ Kå &Ý Ý 'àÐ Ø€Ø Ð òò-ò`2ò0ó4r   