
    6                        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.                  \R*                  R0                  5      \R2                   " S S\\R4                  5      5       5       rg)z?Rotate in the next server certificate for a Cloud SQL instance.    )absolute_import)division)unicode_literals)api_util)
exceptions)
operations)validate)server_certs)base)flags)
propertiesc                   .    \ rS rSrSr\S 5       rS rSrg)_BaseRotateCert   z'Base class for sql server_certs rotate.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SERVER_CERTS_FORMAT)parsers    *lib/surface/sql/ssl/server_certs/rotate.pyArgs_BaseRotateCert.Args"   s>     	OO'	f
!!%";";<    c                 *   [         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      nU(       d  ["        R$                  " S5      eUR&                  R)                  UR+                  UR                  UR                  S95      nUR                  R-                  SUR.                  UR                  S9n[0        R2                  R5                  X8S5        [6        R8                  " U[        R:                  5      $ )	zRotate in the upcoming server certificate for a Cloud SQL instance.

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

Returns:
  The Server Cert that was rotated in, if the operation was successful.
projectzsql.instances)params
collectionz&No upcoming Server Certificate exists.)r   instancezsql.operations)	operationr   z'Rotating to upcoming Server Certificate)r   	SqlClientAPI_VERSION_DEFAULT
sql_clientsql_messagesr	   ValidateInstanceNamer!   resource_parserParser   VALUEScorer   	GetOrFailr
   GetNextServerCertificater   ResourceNotFoundError	instancesRotateServerCertificate*SqlInstancesRotateServerCertificateRequestCreatenamer   OperationsV1Beta4WaitForOperationr   ServerCertForPrintACTIVE_CERT_LABEL)	selfargsclientr%   r&   instance_refnext_server_certresult_operationoperation_refs	            r   Run_BaseRotateCert.Run)   sf     < <=F""J&&L!!$--0))//:,,1199CCD" 0 $L
 $<<, ,,
2  "++CC?? ((<3H3H 	@ 	
 **11"''$$ 2 &M
   11#L
 ##,88 r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r?   __static_attributes__rA   r   r   r   r      s    /= =0r   r   c                       \ rS rSrSrSrg)
RotateCert\   zCRotate in the upcoming server certificate for a Cloud SQL instance.rA   N)rB   rC   rD   rE   rF   rH   rA   r   r   rJ   rJ   \   s    
 Lr   rJ   N)rF   
__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GABETAALPHADefaultUniverseOnlyCreateCommandrJ   rA   r   r   <module>rZ      s    F &  ' / 1 1 / 7 ( 0 *:f :z $++00$2C2C2I2I $"4"4  r   