
                         >   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  \R                  \R                  " \R                  R                  \R                  R                   \R                  R"                  5       " S S	\R$                  5      5       5       rg
)z+Update the expiry time of the FINAL backup.    )api_util)
operations)base)flags)log)
console_ioc                   .    \ rS rSrSr\S 5       rS rSrg)Patch   z/Update the Final backup of a Cloud SQL project.c                     [         R                  " U 5        U R                  SS9n[         R                  " U5        UR	                  SS9n[         R
                  " U5        [         R                  " U5        g)zArgs is called by calliope to gather arguments for this command.

Args:
  parser: An argparse parser that you can use to add arguments that go on
    the command line after this command. Positional arguments are allowed.
T)requiredFN)r   AddBackupName	add_groupAddBackupDescriptionadd_mutually_exclusive_groupAddBackupExpiryTimeAddBackupTtlDays)parserupdate_groupexpiration_groups       lib/surface/sql/backups/patch.pyArgs
Patch.Args!   se     
##T#2L	|,#@@%@P	./	+,    c                 r   [         R                  " [         R                  5      nUR                  nUR                  n[
        R                  " SSSS9  UR                  UR                  S9nSnUR                  b#  UR                  S:  a  UR                  Ul
        SnUR                  b"  UR                  R                  S5      Ul        S	nUR                  b'  UR                  Ul        Ub  US
-   nU(       a  UOSS-   nUR!                  UUR                  US9nUR"                  R%                  U5      nUR&                  R)                  SUR                  UR                  R+                  S5      S   S9n	[,        R.                  R1                  X9S5        [2        R4                  " UR                  5        g)a  Update the Final backup of a Cloud SQL project.

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

Returns:
  A dict object representing the operations resource describing the delete
  operation if the api request was successful.
zThis backup will be updated.T)messagedefaultcancel_on_no)nameNr   ttl_daysz%Y-%m-%dT%H:%M:%S.%fZexpiry_time, description)backupr   
updateMaskzsql.operations/   )	operationprojectzUpdating backup)r   	SqlClientAPI_VERSION_DEFAULT
sql_clientsql_messagesr   PromptContinueBackupr   r    ttlDaysr!   strftime
expiryTimebackup_descriptionr$   SqlBackupsUpdateBackupRequestbackupsUpdateBackupresource_parserCreatesplitr   OperationsV1Beta4WaitForOperationr   UpdatedResource)
selfargsclientr-   r.   patch_backupupdate_maskrequestresultoperation_refs
             r   Run	Patch.Run0   s     < <=F""J&&L.
  &&YY ' L K}} T]]Q%6!]]lk# $ 0 0 9 9
!!#l!k*!%!8!8l		 !C'$/[R=Hk88YY 9 G
 ,,W5F**11FKK9Ma9P 2 M   11#4 		"r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   rF   __static_attributes__rH   r   r   r
   r
      s    
 8- -6#r   r
   N)rM   googlecloudsdk.api_lib.sqlr   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.sqlr   googlecloudsdk.corer   googlecloudsdk.core.consoler   DefaultUniverseOnlyReleaseTracksReleaseTrackGABETAALPHAUpdateCommandr
   rH   r   r   <module>r\      s    2 0 1 ( 0 # 2 $++00$2C2C2I2IH#D H# H#r   