
                         ~    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\5      rg)z+Utilities for AI Platform Tensorboards API.    )
list_pager)util)apis)common_args)	constants)errors)
validation)labels_utilc                   j    \ rS rSrSrSS\R                  4S jrS rS r	S r
S rSS	 jrS
 rS rSrg)TensorboardsClient   z:High-level client for the AI Platform Tensorboard surface.Nc                    U=(       d6    [         R                  " [        R                  [        R                  U   5      U l        U=(       d    U R
                  R                  U l        U R
                  R                  U l	        X0l
        g N)r   GetClientInstancer   AI_PLATFORM_API_NAMEAI_PLATFORM_API_VERSIONclientMESSAGES_MODULEmessagesprojects_locations_tensorboards_service_version)selfr   r   versions       4lib/googlecloudsdk/api_lib/ai/tensorboards/client.py__init__TensorboardsClient.__init__   sb      4D22&&))'24DK ; ; ;DMKK??DMM    c                     U R                   [        R                  :X  a  U R                  X5      $ U R	                  X5      $ r   )r   r   
GA_VERSIONCreateGa
CreateBeta)r   location_refargss      r   CreateTensorboardsClient.Create*   s2    }}	,,,]]<..__\00r   c                    [         R                  " U5      n[        R                  " X R                  R
                  R                  5      nU R                  R                  UR                  UR                  US9nUb*  [        R                  " SU R                  5      " US9Ul        U R                  R                  UR                  5       US9nU R                  R!                  U5      $ )Create a new Tensorboard.displayNamedescriptionlabelsEncryptionSpec
kmsKeyName)parent"googleCloudAiplatformV1Tensorboard)common_validationGetAndValidateKmsKeyr
   ParseCreateArgsr   "GoogleCloudAiplatformV1TensorboardLabelsValuedisplay_namer+   api_util
GetMessager   encryptionSpec4AiplatformProjectsLocationsTensorboardsCreateRequestRelativeNamer   r%   r   r#   r$   kms_key_namer,   tensorboardrequests          r   r!   TensorboardsClient.CreateGa0   s    $99$?L((mm>>JJLF--BB%%$$ C K #+#6#6
DMM$+%$'k  mmPP((*+6 Q 8G ==((r   c                    [         R                  " U5      n[        R                  " X R                  R
                  R                  5      nU R                  R                  UR                  UR                  US9nUb*  [        R                  " SU R                  5      " US9Ul        U R                  R                  UR                  5       US9nU R                  R!                  U5      $ )r(   r)   r-   r.   )r0   'googleCloudAiplatformV1beta1Tensorboard)r2   r3   r
   r4   r   'GoogleCloudAiplatformV1beta1Tensorboardr6   r7   r+   r8   r9   r   r:   r;   r<   r   r%   r=   s          r   r"   TensorboardsClient.CreateBetaD   s    $99$?L((mmCCOOQF--GG%%$$ H K #+#6#6
DMM$+%$'k  mmPP((*0; Q =G ==((r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ N)name)r   1AiplatformProjectsLocationsTensorboardsGetRequestr<   r   Getr   tensorboard_refr@   s      r   rJ   TensorboardsClient.GetX   s=    mmMM))+ N -G==W%%r   c           	          U R                   R                  UR                  5       [        R                  " U5      S9n[
        R                  " U R                  USSUUS9$ )N)r0   orderBytensorboardspageSize)fieldbatch_size_attribute
batch_sizelimit)r   2AiplatformProjectsLocationsTensorboardsListRequestr<   r   ParseSortByArgr   YieldFromListr   )r   rU   	page_size
region_refsort_byr@   s         r   ListTensorboardsClient.List]   sa    mmNN&&(**73 O 5G ##' r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ rG   )r   4AiplatformProjectsLocationsTensorboardsDeleteRequestr<   r   DeleterK   s      r   r`   TensorboardsClient.Deletei   s=    mmPP))+ Q -G==((r   c                   ^ ^ T R                   [        R                  :X  a;  T R                  R	                  5       nT R                  R                  R
                  nO:T R                  R                  5       nT R                  R                  R
                  n/ nU U4S jn[        R                  " X$U5      nUR                  (       a"  UR                  Ul
        UR                  S5        UR                  b"  UR                  Ul        UR                  S5        UR                  b"  UR                  Ul        UR                  S5        U(       d  [        R                   " S5      eT R                   [        R                  :X  a9  T R                  R#                  TR%                  5       USR'                  U5      S9nO8T R                  R#                  TR%                  5       USR'                  U5      S9nT R(                  R+                  U5      $ )	zUpdate a Tensorboard.c                  :   > T R                  T5      R                  $ r   )rJ   r,   )r   rL   s   r   	GetLabels+TensorboardsClient.Patch.<locals>.GetLabelsy   s    XXo&---r   r,   r7   r+   zNo updates requested.,)rH   r1   
updateMask)rH   rC   rg   )r   r   r    r   r5   r6   rD   r
   ProcessUpdateArgsLazyneeds_updater,   appendr7   r*   r+   r   NoFieldsSpecifiedError3AiplatformProjectsLocationsTensorboardsPatchRequestr<   joinr   Patch)	r   rL   r$   r?   labels_valueupdate_maskrd   labels_updatereqs	   ``       r   rn   TensorboardsClient.Patchn   s   }}	,,,MMDDFk]]EEQQlMMIIKk]]JJVVlK.  55d6?AM !!(//k"$ $ 1 1k(# $ 0 0k'))*ABB}}	,,,MMMM++--8XXk* N ,c
 MMMM++-2=XXk* N ,c ==s##r   )r   r   r   r   )i  2   NN)__name__
__module____qualname____firstlineno____doc__r   BETA_VERSIONr   r%   r!   r"   rJ   r\   r`   rn   __static_attributes__ r   r   r   r      s>    B  --	1)()(&

)
*$r   r   N)ry   apitools.base.pyr   googlecloudsdk.api_lib.air   r8   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.command_lib.air   r   r	   r2   $googlecloudsdk.command_lib.util.argsr
   objectr   r|   r   r   <module>r      s2    2 ( 6 , 3 3 0 I <|$ |$r   