
                         h   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	K
Jr  SS
KJr  SSKJr  SSKJr   " S S\5      r\R(                  " \R*                  R,                  \R*                  R.                  5      \R0                   " S S\\R2                  5      5       5       rg)HRoll back to the previous Entra ID certificate for a Cloud SQL instance.    )absolute_import)division)unicode_literals)api_util)
exceptions)
operations)validate)entraid_certs)base)flags)
propertiesc                   .    \ rS rSrSr\S 5       rS rSrg)_BaseRollbackCert   z*Base class for sql entraid_certs rollback.c                     [         R                  R                  U 5        [        R                  " U 5        U R
                  R                  [        R                  5        g)z=Declare flag and positional arguments for the command parser.N)r   
ASYNC_FLAGAddToParserr   AddInstancedisplay_info	AddFormatENTRAID_CERTS_FORMAT)parsers    -lib/surface/sql/ssl/entraid_certs/rollback.pyArgs_BaseRollbackCert.Args"   s>     	OO'	f
!!%"<"<=    c                 z   [         R                  " [         R                  5      nUR                  nUR                  n[
        R                  " UR                  5        UR                  R                  UR                  S[        R                  R                  R                  R                  0SS9n[        R                   " X4U5      u  pgU(       d  ["        R$                  " S5      eUR&                  R)                  UR+                  UR                  UR                  UR-                  UR/                  UR0                  S9S9S95      nUR                  R3                  SUR4                  UR                  S	9n	[6        R8                  R;                  UU	S
5        [<        R>                  " U[        R@                  5      $ )zRoll back to the previous Entra ID certificate for a Cloud SQL instance.

Args:
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  The Entra ID Cert that was rolled back to, if the operation was
  successful.
projectzsql.instances)params
collectionz(No previous Entra ID Certificate exists.)nextVersion)rotateEntraIdCertificateContext)r   instance(instancesRotateEntraIdCertificateRequestzsql.operations)	operationr   z-Rolling back to previous Entra ID Certificate)!r   	SqlClientAPI_VERSION_DEFAULT
sql_clientsql_messagesr
   ValidateInstanceNamer$   resource_parserParser   VALUEScorer   	GetOrFailr   GetPreviousEntraIdCertificater   ResourceNotFoundError	instancesRotateEntraIdCertificate+SqlInstancesRotateEntraIdCertificateRequest(InstancesRotateEntraIdCertificateRequestRotateEntraIdCertificateContextsha1FingerprintCreatenamer	   OperationsV1Beta4WaitForOperationr   EntraIdCertForPrintACTIVE_CERT_LABEL)
selfargsclientr)   r*   instance_refprevious_entraid_cert_result_operationoperation_refs
             r   Run_BaseRollbackCert.Run)   s     < <=F""J&&L!!$--0))//:,,1199CCD" 0 L  -JJ,  !,,
4  "++DD@@ ((!**5A5j5j0<0\0\ 5 E E 1] 1 6k 6 	A 	

 **11"''$$ 2 M   117 $$}>> r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rG   __static_attributes__rI   r   r   r   r      s    2> >;r   r   c                       \ rS rSrSrSrg)RollbackCertg   r   rI   N)rJ   rK   rL   rM   rN   rP   rI   r   r   rR   rR   g   s     Qr   rR   N)rN   
__future__r   r   r   googlecloudsdk.api_lib.sqlr   r   r	   r
   googlecloudsdk.api_lib.sql.sslr   googlecloudsdk.callioper   googlecloudsdk.command_lib.sqlr   googlecloudsdk.corer   objectr   ReleaseTracksReleaseTrackBETAALPHADefaultUniverseOnlyCreateCommandrR   rI   r   r   <module>ra      s    O &  ' / 1 1 / 8 ( 0 *E EP D%%**D,=,=,C,CD$d&8&8   Er   