
                         j   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&                  5      \	R(                   " S
 S\	R*                  5      5       5       r\	R"                  " \	R$                  R.                  5       " S S\5      5       rg)z-Updates a Cloud NetApp Volumes Backup Vaults.    )absolute_import)division)unicode_literals)client)base)flags)labels_util)logc                   d    \ rS rSrSrSSS.r\R                  R                  r	\
S 5       rS rSrg	)
Update   +Update a Cloud NetApp Volumes Backup Vault.z+          Updates a Backup Vault
          a            The following command updates a Backup Vault instance named BACKUP_VAULT

              $ {command} BACKUP_VAULT --location=us-central1 --description="new description" --update-labels=newkey=newval

          To update a Backup Vault named BACKUP_VAULT asynchronously, run the following command:

              $ {command} BACKUP_VAULT --async --location=us-central1 --description="new description"  --update-labels=newkey=newval )DESCRIPTIONEXAMPLESc                 0    [         R                  " U 5        g )N)backupvaults_flagsAddBackupVaultUpdateArgs)parsers    *lib/surface/netapp/backup_vaults/update.pyArgsUpdate.Args1   s    //7    c                 j   UR                   R                  R                  5       n[        R                  " U R
                  5      n[        R                  R                  U5      nUR                  U5      nUR                  5       (       aI  UR                  UR                  R                  R                  UR                  5      R!                  5       nOSnUR#                  UUR$                  UUR&                  S9n/ nUR)                  S5      (       a  UR+                  S5        UR)                  S5      (       a  UR+                  S5        UR)                  S5      (       d,  UR)                  S5      (       d  UR)                  S5      (       a  UR+                  S	5        S
R-                  U5      n	UR/                  X'XR0                  5      n
UR0                  (       aW  SR3                  U R5                  5       R6                  5      n[8        R:                  R=                  SR3                  U5      5        U
$ )z;Update a Cloud NetApp Backup Vaults in the current project.N)descriptionlabelsbackup_retention_policyr   r   backupRetentionPolicyupdate_labelsremove_labelsclear_labelsr   ,z#gcloud {} netapp backup-vaults listzPCheck the status of the updated backup vault by listing all kms configs:
  $ {} )CONCEPTSbackup_vaultParsebackupvaults_clientBackupVaultsClient_RELEASE_TRACKr	   DiffFromUpdateArgsGetBackupVaultMayHaveUpdatesApplymessagesBackupVaultLabelsValuer   	GetOrNoneParseUpdatedBackupVaultr   r   IsSpecifiedappendjoinUpdateBackupVaultasync_formatReleaseTrackprefixr
   statusPrint)selfargsbackupvault_refr   labels_difforig_backupvaultr   r#   updated_fieldsupdate_maskresultcommands               r   Run
Update.Run5   s   mm00668O 33D4G4GHF""11$7K,,_=!!##  
//
%
%
1
13C3J3J	  f11$$ $ < <	 2 L N&&M*12234))O,,N++H%((>*K%%{KKF {{5<<




$
$g 
jj%vg Mr    N)__name__
__module____qualname____firstlineno____doc__detailed_helpr   r8   GAr'   staticmethodr   rE   __static_attributes__rG   r   r   r   r      sC     4I	- $$''.8 8,r   r   c                   D    \ rS rSrSr\R                  R                  rSr	g)
UpdateBetad   r   rG   N)
rH   rI   rJ   rK   rL   r   r8   BETAr'   rP   rG   r   r   rR   rR   d   s    3$$)).r   rR   N)rL   
__future__r   r   r   +googlecloudsdk.api_lib.netapp.backup_vaultsr   r%   googlecloudsdk.callioper   /googlecloudsdk.command_lib.netapp.backup_vaultsr   r   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   ReleaseTracksr8   rN   DefaultUniverseOnlyUpdateCommandr   rT   rR   rG   r   r   <module>r^      s    4 &  ' U ( W < # D%%(()CT C  *CL D%%**+* * ,*r   