
                             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 ej                  fd
Z G d de      Zy)z6Utilities for AI Platform Tensorboard time series API.    )absolute_import)division)unicode_literals)
list_pager)apis)common_args)	constants)errorsc                 l    t        j                  t        j                  t        j                  |          S N)r   GetMessagesModuler	   AI_PLATFORM_API_NAMEAI_PLATFORM_API_VERSION)versions    ?lib/googlecloudsdk/api_lib/ai/tensorboard_time_series/client.pyr   r      s-    				 > > ) A A' J
L L    c                   d    e Zd ZdZddej
                  fdZd Zd ZddZ	d Z
d Zd	 Zd
 Zd Zy)TensorboardTimeSeriesClientzFHigh-level client for the AI Platform Tensorboard time series surface.Nc                    |xs5 t        j                  t        j                  t        j                  |         | _        |xs | j
                  j                  | _        | j
                  j                  | _	        || _
        y r   )r   GetClientInstancer	   r   r   clientMESSAGES_MODULEmessages;projects_locations_tensorboards_experiments_runs_timeSeries_service_version)selfr   r   r   s       r   __init__z$TensorboardTimeSeriesClient.__init__$   sd      4D22&&))'24DK ; ; ;DMKK[[DMDMr   c                 &    | j                  ||      S r   )
CreateBeta)r   tensorboard_run_refargss      r   Createz"TensorboardTimeSeriesClient.Create/   s    ??.55r   c                    |j                   dk(  r+| j                  j                  j                  j                  }nd|j                   dk(  r+| j                  j                  j                  j
                  }n*| j                  j                  j                  j                  }|j                  d}n|j                  }| j                  j                  |j                         | j                  j                  |j                  |j                  ||j                  t        |d                  }| j                  j                  |      S )z%Create a new Tensorboard time series.scalarzblob-sequence utf8encoding)displayNamedescription	valueType
pluginName
pluginData)parent1googleCloudAiplatformV1beta1TensorboardTimeSeries)typer   1GoogleCloudAiplatformV1beta1TensorboardTimeSeriesValueTypeValueValuesEnumSCALARBLOB_SEQUENCETENSORplugin_dataMAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesCreateRequestRelativeNamedisplay_namer+   plugin_namebytesr   r#   )r   r!   r"   
value_typer7   requests         r   r    z&TensorboardTimeSeriesClient.CreateBeta2   s   yyH
--
I
I##FF  
o	%
--
I
I##MM 
 --
I
I##FF  k$$kmmii"//1:>--	:	:))(( ''[6: 
; 
< j =G ==((r   c                     | j                   j                  |j                         t        j                  |            }t        j                  | j                  |dd||      S )N)r/   orderBytensorboardTimeSeriespageSize)fieldbatch_size_attribute
batch_sizelimit)r   KAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesListRequestr9   r   ParseSortByArgr   YieldFromListr   )r   r!   rF   	page_sizesort_byr>   s         r   Listz TensorboardTimeSeriesClient.ListQ   sa    mmgg"//1**73 h 5G ##%' r   c                     | j                   j                  |j                               }| j                  j	                  |      S N)name)r   JAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesGetRequestr9   r   Getr   tensorboard_time_series_refr>   s      r   rQ   zTensorboardTimeSeriesClient.Get]   s=    mmff(557 g 9G==W%%r   c                     | j                   j                  |j                               }| j                  j	                  |      S rN   )r   MAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesDeleteRequestr9   r   DeleterR   s      r   rV   z"TensorboardTimeSeriesClient.Deleteb   s=    mmii(557 j 9G==((r   c                 &    | j                  ||      S r   )	PatchBeta)r   rS   r"   s      r   Patchz!TensorboardTimeSeriesClient.Patchg   s    >>5t<<r   c                    | j                   j                         }g }|j                  "|j                  |_        |j	                  d       |j
                  "|j
                  |_        |j	                  d       |j                  "|j                  |_        |j	                  d       |j                  -t        |j                  d      |_
        |j	                  d       |st        j                  d      | j                   j                  |j                         |dj                  |      	      }| j                   j#                  |      S )
z!Update a Tensorboard time series.r:   r+   r;   r'   r(   r7   zNo updates requested.,)rO   r0   
updateMask)r   r2   r:   r*   appendr+   r;   r-   r7   r<   r.   r
   NoFieldsSpecifiedErrorLAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesPatchRequestr9   joinr   rY   )r   rS   r"   tensorboard_time_seriesupdate_maskr>   s         r   rX   z%TensorboardTimeSeriesClient.PatchBetaj   s-    	GGI K$,0,=,=)(#,0,<,<)'#+/+;+;('#+0


V,-('))*ABBmmhh(557:Q88K( i *G ==w''r   c                     | j                   j                  |j                         ||      }| j                  j	                  |      S )N)rA   maxDataPointsfilter)r   KAiplatformProjectsLocationsTensorboardsExperimentsRunsTimeSeriesReadRequestr9   r   Read)r   rS   max_data_pointsdata_filterr>   s        r   rg   z TensorboardTimeSeriesClient.Read   sE    mmgg9FFH% h G ==g&&r   )i  2   N)__name__
__module____qualname____doc__r	   BETA_VERSIONr   r#   r    rL   rQ   rV   rY   rX   rg    r   r   r   r   !   sD    N  --	6)>
&
)
=(@'r   r   N)rn   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   r   googlecloudsdk.command_lib.air	   r
   ro   r   objectr   rp   r   r   <module>rv      sA    = &  ' ' , 3 3 0 (44 L
n'& n'r   