
                            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	rS
rSrS rS rS r\R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       r\R$                  " \R&                  R0                  \R&                  R2                  5      \R*                   " S S\R,                  5      5       5       rg)z!Vertex AI endpoints list command.    )client)base)	constants)endpoint_util)flags)region_util)	resourcesa-  
        table(
            name.basename():label=ENDPOINT_ID,
            displayName,
            deployedModels.yesno(yes=Yes).if(list_model_garden_endpoints_only):label=HAS_DEPLOYED_MODEL,
            deployedModels[0].id.if(list_model_garden_endpoints_only):label=DEPLOYED_MODEL_ID
        )
    zlabels.mg-deploy:*zlabels.mg-one-click-deploy:*c                     [         R                  R                  U R                  [        R
                  5      nUR                  5       $ N)r	   REGISTRYParseRelativeNamenamer   ENDPOINTS_COLLECTIONSelfLink)endpointrefs      lib/surface/ai/endpoints/list.py_GetUrir   &   s4    ,,X]]-6-K-K	M#	    c                     U R                   R                  [        5        U R                   R                  [        5        [
        R                  " U S[        R                  S9  U R                  SSSSSS9  g )Nzto list endpoints)prompt_funcz"--list-model-garden-endpoints-only
store_trueFz7Whether to only list endpoints related to Model Garden.)actiondefaultrequiredhelp)
display_info	AddFormat_DEFAULT_FORMAT
AddUriFuncr   r   AddRegionResourceArgr   PromptForOpRegionadd_argumentparsers    r   _AddArgsr&   ,   si    0  )!{/L/LN*D  r   c                 p   U R                   R                  R                  5       nUR                  5       S   U l        [        R
                  " XR                  S9   U R                  (       aF  [        R                  " US9R                  USR                  [        [        /5      5      sSSS5        $ U[        R                  :X  a4  [        R                  " US9R                  X R                  S9sSSS5        $ [        R                  " US9R                  U5      sSSS5        $ ! , (       d  f       g= f)z"List existing Vertex AI endpoints.locationsId)region)versionz OR N)gdc_zone)CONCEPTSr)   ParseAsDictr   AiplatformEndpointOverrides list_model_garden_endpoints_onlyr   EndpointsClientListjoin_API_DEPLOY_FILTER_ONE_CLICK_DEPLOY_FILTERr   BETA_VERSIONr+   )argsr*   
region_refs      r   _Runr9   :   s    }}##))+*!!#M2$+00M,,##G499

++)+CD
E NM 
I**	*##G499
}} :  NM ##G499*E NMMs   AD'3>D';"D''
D5c                   .    \ rS rSrSr\S 5       rS rSrg)ListGaM     List existing Vertex AI endpoints.

## EXAMPLES

To list the endpoints under project ``example'' in region ``us-central1'',
run:

  $ {command} --project=example --region=us-central1

To list the endpoints under project ``example'' in region ``us-central1''
that are created from Model Garden, run:

  $ {command} --project=example --region=us-central1
  --list-model-garden-endpoints-only
c                     [        U 5        g r   )r&   r$   s    r   ArgsListGa.Args`   s
    Vr   c                 6    [        U[        R                  5      $ r   )r9   r   
GA_VERSIONselfr7   s     r   Run
ListGa.Rund   s    i**++r    N	__name__
__module____qualname____firstlineno____doc__staticmethodr?   rE   __static_attributes__rG   r   r   r;   r;   M   s        ,r   r;   c                   .    \ rS rSrSr\S 5       rS rSrg)ListBetah   r=   c                 b    [        U 5        [        R                  " 5       R                  U 5        g r   )r&   r   GetGdcZoneArgAddToParserr$   s    r   r?   ListBeta.Args{   s!    V	%%f-r   c                 6    [        U[        R                  5      $ r   )r9   r   r6   rC   s     r   rE   ListBeta.Run   s    i,,--r   rG   NrH   rG   r   r   rQ   rQ   h   s       . ..r   rQ   N)rM   #googlecloudsdk.api_lib.ai.endpointsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r   r   r   googlecloudsdk.corer	   r   r4   r5   r   r&   r9   ReleaseTracksReleaseTrackGAUniverseCompatibleListCommandr;   BETAALPHArQ   rG   r   r   <module>rd      s    ( 7 ( 3 7 / 5 ) * 9 F& D%%((),T ,  *,2 D%%**D,=,=,C,CD.t .  E.r   