
                            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  SS
KJr  \	R$                  " \	R&                  R(                  5       " S S\	R*                  5      5       r\	R$                  " \	R&                  R.                  5       " S S\5      5       r\	R$                  " \	R&                  R2                  5       " S S\5      5       rg)&Update a Cloud NetApp Volume Snapshot.    )absolute_import)division)unicode_literals)client)base)
exceptions)flags)labels_util)logc                   d    \ rS rSrSr\R                  R                  rSSS.r	\
S 5       rS rSrg	)
Update   r   zX          Update a Cloud NetApp Volume Snapshot and its specified parameters.
          z          The following command updates a Snapshot named NAME and its specified parameters:

              $ {command} NAME --location=us-central1 --description="new" --update-labels=key2=val2 --volume=vol1
          )DESCRIPTIONEXAMPLESc                 0    [         R                  " U 5        g )N)snapshots_flagsAddSnapshotUpdateArgs)parsers    .lib/surface/netapp/volumes/snapshots/update.pyArgsUpdate.Args/   s    ))&1    c                 |   UR                   R                  R                  5       nUR                   R                  R                  5       c  [        R
                  " SS5      e[        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)                  XQR*                  US9n/ n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
R1                  U5      n	UR3                  X'XR4                  5      n
UR4                  (       aW  SR7                  U R9                  5       R:                  5      n[<        R>                  RA                  SR7                  U5      5        U
$ )z=Update a Cloud NetApp Volume Snapshot in the current project.Nz--volumez'Requires a volume to update snapshot of)descriptionlabelsr   update_labelsremove_labelsclear_labelsr   ,z'gcloud {} netapp volumes snapshots listzJCheck the status of the updated snapshot by listing all snapshots:
  $ {} )!CONCEPTSsnapshotParsevolumer	   RequiredArgumentExceptionsnapshots_clientSnapshotsClient_RELEASE_TRACKr   DiffFromUpdateArgsGetSnapshotMayHaveUpdatesApplymessagesSnapshotLabelsValuer   	GetOrNoneParseUpdatedSnapshotConfigr   IsSpecifiedappendjoinUpdateSnapshotasync_formatReleaseTrackprefixr   statusPrint)selfargssnapshot_refr   labels_difforiginal_snapshotr   r"   updated_fieldsupdate_maskresultcommands               r   Run
Update.Run3   s   ==))//1L}}!!#+00
?A A --d.A.ABF""11$7K**<8 !!##  
//
"
"
.
.0A0H0H	  f00'7'7 1 H N &&M*))O,,N++H%((>*K""[[F {{9@@




$
$g 
jjF7O Mr    N)__name__
__module____qualname____firstlineno____doc__r   r9   GAr(   detailed_helpstaticmethodr   rF   __static_attributes__rH   r   r   r   r      s@    .$$''.		- 2 20r   r   c                   D    \ rS rSrSr\R                  R                  rSr	g)
UpdateBetaf   r   rH   N)
rI   rJ   rK   rL   rM   r   r9   BETAr(   rQ   rH   r   r   rS   rS   f   s    .$$)).r   rS   c                   D    \ rS rSrSr\R                  R                  rSr	g)UpdateAlpham   r   rH   N)
rI   rJ   rK   rL   rM   r   r9   ALPHAr(   rQ   rH   r   r   rW   rW   m   s    .$$**.r   rW   N)rM   
__future__r   r   r   /googlecloudsdk.api_lib.netapp.volumes.snapshotsr   r&   googlecloudsdk.callioper   r	   3googlecloudsdk.command_lib.netapp.volumes.snapshotsr
   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   ReleaseTracksr9   rN   UpdateCommandr   rU   rS   rY   rW   rH   r   r   <module>rb      s    - &  ' V ( . X < # D%%(()DT D *DN D%%**+* * ,* D%%++,+* + -+r   