
                            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,                         G d dej.                               Z ej(                  ej*                  j2                  ej*                  j4                         G d dej.                               Zy)z#Vertex AI endpoints update command.    )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 updatetensorboardF)required)r   AddTensorboardResourceArgGetDisplayNameArgAddToParserGetDescriptionArgr   AddUpdateLabelsFlagsparsers    %lib/surface/ai/tensorboards/update.py_AddArgsr      sT    !!&+6-%8DDVL-(44V<""6*    c                 4     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.locationsId)region)versionzVertex AI Tensorboard)kindN)display_namedescriptionupdate_labelsclear_labelsremove_labelsc              3   @   K   | ]  }j                  |        y wN)IsSpecified).0argargss     r   	<genexpr>z_Run.<locals>.<genexpr>8   s     H2G3!!#&2Gs   zNo update to perform.)CONCEPTSr   ParseAsDictr   r	   AiplatformEndpointOverridesr   TensorboardsClientPatchr   UpdatedResourcenamer
   NoFieldsSpecifiedErroranystatusPrint)r+   r   tensorboard_reftensorboards_clientopavailable_update_argss   `     r   _Runr=   &   s     MM--335/&&(7$+00M 33GD$$_d;b 
"''(?@' NM
 ((  H2GHH	jj./! NM
 NMs1   D7B5	"D5AD D
DDDc                   .    e Zd ZdZddiZed        Zd Zy)UpdateGar   EXAMPLES            To update a Tensorboard `12345`, in region `us-central1` and project `my-project`, with the display name `updated display name`:

              $ {command} projects/my-project/locations/us-central1/tensorboards/12345 --display-name="updated display name"
          c                     t        |        y r'   r   r   s    r   ArgszUpdateGa.ArgsN   
    Vr   c                 6    t        |t        j                        S r'   )r=   r   
GA_VERSIONselfr+   s     r   RunzUpdateGa.RunR   s    i**++r   N__name__
__module____qualname____doc__detailed_helpstaticmethodrD   rJ    r   r   r?   r?   A   s/    1 -  ,r   r?   c                   .    e Zd ZdZddiZed        Zd Zy)
UpdateBetar   r@   rA   c                     t        |        y r'   rC   r   s    r   rD   zUpdateBeta.Argsc   rE   r   c                 6    t        |t        j                        S r'   )r=   r   BETA_VERSIONrH   s     r   rJ   zUpdateBeta.Rung   s    i,,--r   NrK   rR   r   r   rT   rT   V   s/    1 -  .r   rT   N)rO   
__future__r   r   r   &googlecloudsdk.api_lib.ai.tensorboardsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r	   r
   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   r   r=   ReleaseTracksReleaseTrackGAUpdateCommandr?   BETAALPHArT   rR   r   r   <module>rd      s    * &  ' 9 ( 3 7 0 / < #+6 D%%((),t!! , *,( D%%**D,=,=,C,CD.## . E.r   