
                         L   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ  e	j"                  e	j$                  j&                         G d
 de	j(                               Z e	j"                  e	j$                  j,                         G d de             Zy)zUpdate a Cloud NetApp Backups.    )absolute_import)division)unicode_literals)client)base)flags)labels_util)logc                   \    e Zd ZdZej
                  j                  ZdddZe	d        Z
d Zy)UpdateUpdate a Cloud NetApp Backup.zO          Update a Cloud NetApp Backup and its specified parameters.
          z          The following command updates a Backup named BACKUP and its specified parameters:

              $ {command} NAME --location=us-central1 --description="new description"
          )DESCRIPTIONEXAMPLESc                 .    t        j                  |        y)zAdd args for updating a Backup.N)backups_flagsAddBackupUpdateArgs)parsers    2lib/surface/netapp/backup_vaults/backups/update.pyArgszUpdate.Args.   s     %%f-    c                    |j                   j                  j                         }t        j                  | j
                        }t        j                  j                  |      }|j                  |      }|j                         rI|j                  |j                  j                  j                  |j                        j!                         }nd}|j#                  ||j$                  |      }g }|j'                  d      r|j)                  d       |j'                  d      s"|j'                  d      s|j'                  d      r|j)                  d       dj+                  |      }	|j-                  |||	|j.                        }
|j.                  rWd	j1                  | j3                         j4                        }t6        j8                  j;                  d
j1                  |             |
S )z4Update a Cloud NetApp Backup in the current project.N)descriptionlabelsr   update_labelsremove_labelsclear_labelsr   ,z+gcloud {} netapp backup-vaults backups listzFCheck the status of the updated backup by listing all backups:
  $ {} )CONCEPTSbackupParsebackups_clientBackupsClient_RELEASE_TRACKr	   DiffFromUpdateArgs	GetBackupMayHaveUpdatesApplymessagesBackupLabelsValuer   	GetOrNoneParseUpdatedBackupr   IsSpecifiedappendjoinUpdateBackupasync_formatReleaseTrackprefixr
   statusPrint)selfargs
backup_refr   labels_difforiginal_backupr   r   updated_fieldsupdate_maskresultcommands               r   Runz
Update.Run3   s   %%++-J))$*=*=>F""11$7K&&z2O !!#  
//
 
 
,
,o.D.D	  f&&T%5%5f ' F N&M*)O,N+H%((>*K  FKF {{=DD




$
$g 
jj%vg Mr   N)__name__
__module____qualname____doc__r   r4   GAr#   detailed_helpstaticmethodr   rA    r   r   r   r      s@    %$$''.		- . .*r   r   c                   <    e Zd ZdZej
                  j                  Zy)
UpdateBetar   N)rB   rC   rD   rE   r   r4   BETAr#   rI   r   r   rK   rK   `   s    %$$)).r   rK   N)rE   
__future__r   r   r   3googlecloudsdk.api_lib.netapp.backup_vaults.backupsr   r!   googlecloudsdk.callioper   7googlecloudsdk.command_lib.netapp.backup_vaults.backupsr   r   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   ReleaseTracksr4   rF   UpdateCommandr   rL   rK   rI   r   r   <module>rU      s    % &  ' X ( Z < # D%%(()?T ? *?D D%%**+* * ,*r   