
                         j   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&                        e	j(                   G d
 de	j*                                      Z e	j"                  e	j$                  j.                         G d de             Zy)z-Updates a Cloud NetApp Volumes Backup Vaults.    )absolute_import)division)unicode_literals)client)base)flags)labels_util)logc                   \    e Zd ZdZdddZej                  j                  Ze	d        Z
d Zy)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                 .    t        j                  |        y )N)backupvaults_flagsAddBackupVaultUpdateArgs)parsers    *lib/surface/netapp/backup_vaults/update.pyArgszUpdate.Args1   s    //7    c                 ,   |j                   j                  j                         }t        j                  | j
                        }t        j                  j                  |      }|j                  |      }|j                         rI|j                  |j                  j                  j                  |j                        j!                         }nd}|j#                  ||j$                  ||j&                        }g }|j)                  d      r|j+                  d       |j)                  d      r|j+                  d       |j)                  d      s"|j)                  d      s|j)                  d      r|j+                  d	       d
j-                  |      }	|j/                  |||	|j0                        }
|j0                  rWdj3                  | j5                         j6                        }t8        j:                  j=                  dj3                  |             |
S )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   Runz
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34)O,N+H%((>*K%%{DKKF {{5<<




$
$g 
jj%vg Mr   N)__name__
__module____qualname____doc__detailed_helpr   r6   GAr%   staticmethodr   rC    r   r   r   r      sC     4I	- $$''.8 8,r   r   c                   <    e Zd ZdZej
                  j                  Zy)
UpdateBetar   N)rD   rE   rF   rG   r   r6   BETAr%   rK   r   r   rM   rM   d   s    3$$)).r   rM   N)rG   
__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
   ReleaseTracksr6   rI   DefaultUniverseOnlyUpdateCommandr   rN   rM   rK   r   r   <module>rX      s    4 &  ' U ( W < # D%%(()CT C  *CL D%%**+* * ,*r   