
    	                         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  SSKJr  SSKJr   " S S\5      rg)z+Utilities for AI Platform Tensorboards API.    )absolute_import)division)unicode_literals)
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.CreateGa3   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,   r0   r1   )r3   'googleCloudAiplatformV1beta1Tensorboard)r5   r6   r   r7   r   'GoogleCloudAiplatformV1beta1Tensorboardr9   r:   r.   r;   r<   r   r=   r>   r?   r   r(   r@   s          r   r%   TensorboardsClient.CreateBetaG   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_refrC   s      r   rM   TensorboardsClient.Get[   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)r3   orderBytensorboardspageSize)fieldbatch_size_attribute
batch_sizelimit)r   2AiplatformProjectsLocationsTensorboardsListRequestr?   r	   ParseSortByArgr   YieldFromListr   )r   rX   	page_size
region_refsort_byrC   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      $ rJ   )r   4AiplatformProjectsLocationsTensorboardsDeleteRequestr?   r   DeleterN   s      r   rc   TensorboardsClient.Deletel   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   )rM   r/   )r   rO   s   r   	GetLabels+TensorboardsClient.Patch.<locals>.GetLabels|   s    XXo&---r!   r/   r:   r.   zNo updates requested.,)rK   r4   
updateMask)rK   rF   rj   )r   r
   r#   r   r8   r9   rG   r   ProcessUpdateArgsLazyneeds_updater/   appendr:   r-   r.   r   NoFieldsSpecifiedError3AiplatformProjectsLocationsTensorboardsPatchRequestr?   joinr   Patch)	r   rO   r'   rB   labels_valueupdate_maskrg   labels_updatereqs	   ``       r   rq   TensorboardsClient.Patchq   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%   rM   r_   rc   rq   __static_attributes__ r!   r   r   r      s>    B  --	1)()(&

)
*$r!   r   N)r|   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.air   r;   googlecloudsdk.api_lib.utilr   r	   googlecloudsdk.command_lib.air
   r   r   r5   $googlecloudsdk.command_lib.util.argsr   objectr   r   r!   r   <module>r      s9    2 &  ' ' 6 , 3 3 0 I <|$ |$r!   