
                         >   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 dd
l	mZ ddlmZ ddlmZ d Zd Z ej(                  ej*                  j,                  ej*                  j.                         G d dej0                               Zy)z1Command to update a Tensorboard run in Vertex AI.    )absolute_import)division)unicode_literals)client)base)	constants)endpoint_util)errors)flags)labels_util)logc                     t        j                  | d       t        j                  dd      j                  |        t        j                  d      j                  |        t        j                  |        y )Nz	to updateztensorboard runF)required)r   AddTensorboardRunResourceArgGetDisplayNameArgAddToParserGetDescriptionArgr   AddUpdateLabelsFlagsparsers    )lib/surface/ai/tensorboard_runs/update.py_AddArgsr      sV    $$V[9+e<HHP+,88@""6*    c                 0     j                   j                  j                         }|j                         d    _        t        j                  | j                        5  	 t        j                  |      j                  |       }t        j                  |j                  d       |cddd       S # t        j                  $ rC g d}t         fd|D              s t        j                   j#                  d	       Y ddd       yw xY w# 1 sw Y   yxY w)
-Update an existing Vertex AI Tensorboard run.locationsId)region)versionzVertex AI Tensorboard run)kindN)display_nameupdate_labelsclear_labelsremove_labelsdescriptionc              3   @   K   | ]  }j                  |        y wN)IsSpecified).0argargss     r   	<genexpr>z_Run.<locals>.<genexpr>3   s     H2G3!!#&2Gs   zNo update to perform.)CONCEPTStensorboard_runParseAsDictr   r	   AiplatformEndpointOverridesr   TensorboardRunsClientPatchr   UpdatedResourcenamer
   NoFieldsSpecifiedErroranystatusPrint)r*   r   tensorboard_run_refopavailable_update_argss   `    r   _Runr<   &   s    55;;=#**,];$+00M''8>>
t%b 
"''(CD NM ((  H2GHH	jj./ NM	 NMs1   D!&B3"D3AD	>DD		DDc                   .    e Zd ZdZddiZed        Zd Zy)
UpdateBetar   EXAMPLESa9            To update Tensorboard Time Run `my-tensorboard-run` in Tensorboard `12345`, Tensorboard Experiment `my-tensorboard-experiment`, with the display name `updated display name`:

              $ {command} projects/my-project/locations/us-central1/tensorboards/12345/experiments/my-tensorboard-experiment/runs/my-tensorboard-run --display-name="updated display name"

          Or with flags:

              $ {command} my-tensorboard-run --tensorboard-id=12345 --tensorboard-experiment-id=my-tensorboard-experiment --display-name="updated display name"
          c                     t        |        y r&   )r   r   s    r   ArgszUpdateBeta.ArgsM   s
    Vr   c                 6    t        |t        j                        S r&   )r<   r   BETA_VERSION)selfr*   s     r   RunzUpdateBeta.RunQ   s    i,,--r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodrA   rE    r   r   r>   r>   <   s/    5 -  .r   r>   N)rI   
__future__r   r   r   *googlecloudsdk.api_lib.ai.tensorboard_runsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r	   r
   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   r   r<   ReleaseTracksReleaseTrackBETAALPHAUpdateCommandr>   rL   r   r   <module>rX      s~    8 &  ' = ( 3 7 0 / < #+, D%%**D,=,=,C,CD.## . E.r   