
    	                     ,   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  \
R"                  \
R$                  " \
R&                  R(                  \
R&                  R*                  5       " S	 S
\
R,                  5      5       5       rg)zDeletes a Backup and DR Backup.    )
exceptions)util)BackupsClient)base)flags)log)
console_ioc                   :    \ rS rSrSrSSSS.r\S 5       rS rS	r	g
)Delete   zDelete the specified Backup.zDeletes a specific backupz{description}a0          To delete a backup `sample-backup` in backup vault `sample-vault`, data source `sample-ds`, project `sample-project` and location `us-central1` , run:

          $ {command} sample-backup --backup-vault=sample-vault --data-source=sample-ds --project=sample-project --location=us-central1
        )BRIEFDESCRIPTIONEXAMPLESc                     [         R                  R                  U 5        [         R                  R                  U S5        [        R
                  " U S5        g)zmSpecifies additional command flags.

Args:
  parser: argparse.Parser: Parser object for command line inputs.
TzName of the backup to delete.N)r   
ASYNC_FLAGAddToParser
SetDefaultr   AddBackupResourceArg)parsers    'lib/surface/backup_dr/backups/delete.pyArgsDelete.Args,   s>     	OO'OOvt,	'    c                    [        5       nUR                  nUR                  R                  R	                  5       n[
        R                  " SSSS9   UR                  U5      nU(       aN  [        R                  " UR!                  5       SS[        R"                  R%                  UR&                  5      S9  U$ UR)                  UR+                  U5      SR%                  UR!                  5       5      SS	9n[        R                  " UR!                  5       SS
9  U$ ! [        R                   a*  n[        R                  " U[        R                  5      eSnAff = f)zConstructs and sends request.

Args:
  args: argparse.Namespace, An object that contains the values for the
    arguments specified in the .Args() method.

Returns:
  ProcessHttpResponse of the request made.
z8The backup will be deleted. You cannot undo this action.T)messagedefaultcancel_on_noNbackup)kindis_asyncdetailszYDeleting backup [{}]. (This operation usually takes 5 mins but could take up to 60 mins.)F)operation_refr   
has_result)r   )r   async_CONCEPTSr   Parser	   PromptContinuer   apitools_exceptions	HttpErrorr   HttpExceptionr   HTTP_ERROR_FORMATr   DeletedResourceRelativeNameASYNC_OPERATION_MESSAGEformatnameWaitForOperationGetOperationRef)selfargsclientr    r   	operationeresponses           r   Run
Delete.Run:   s-    _F{{H]]!!'')FJ@--'i 	



..55innE	 &&,,Y7**0&1D1D1F*G ' H ++-H=O+ (( @$$Q(>(>??@s   D E.%EE N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r9   __static_attributes__r;   r   r   r   r      s4     % +$-  ,r   r   N)r@   apitools.base.pyr   r(   googlecloudsdk.api_lib.backupdrr   'googlecloudsdk.api_lib.backupdr.backupsr   googlecloudsdk.api_lib.utilgooglecloudsdk.callioper   #googlecloudsdk.command_lib.backupdrr   googlecloudsdk.corer   googlecloudsdk.core.consoler	   DefaultUniverseOnlyReleaseTracksReleaseTrackALPHAGADeleteCommandr   r;   r   r   <module>rR      s|    & ? 0 A 2 ( 5 # 2 D%%++T->->-A-ABGT G C Gr   