
    }                        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ZdZdZd Zd Zd Z ej,                  ej.                  j0                        ej2                   G d dej4                                      Z ej,                  ej.                  j8                  ej.                  j:                        ej2                   G d dej4                                      Zy)z!Vertex AI endpoints list command.    )absolute_import)division)unicode_literals)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                     t         j                  j                  | j                  t        j
                        }|j                         S N)r   REGISTRYParseRelativeNamenamer   ENDPOINTS_COLLECTIONSelfLink)endpointrefs      lib/surface/ai/endpoints/list.py_GetUrir   )   s4    ,,X]]-6-K-K	M#	    c                     | j                   j                  t               | j                   j                  t               t        j                  | dt        j                         | j                  ddddd       y )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                 t   | j                   j                  j                         }|j                         d   | _        t	        j
                  || j                        5  | j                  rHt        j                  |      j                  |dj                  t        t        g            cddd       S |t        j                  k(  r:t        j                  |      j                  || j                        cddd       S t        j                  |      j                  |      cddd       S # 1 sw Y   yxY w)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   _Runr<   =   s    }}##))+*!!#M2$+00M,,##G499

++)+CD
E NM 
I**	*##G499
t}} :  NM ##G499*E NMMs   AD.3AD. $D..D7c                   &    e Zd ZdZed        Zd Zy)ListGa  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                     t        |        y r   )r)   r'   s    r   ArgszListGa.Argsc   s
    Vr   c                 6    t        |t        j                        S r   )r<   r   
GA_VERSIONselfr:   s     r   Runz
ListGa.Rung   s    i**++r   N__name__
__module____qualname____doc__staticmethodrA   rF    r   r   r>   r>   P   s        ,r   r>   c                   &    e Zd ZdZed        Zd Zy)ListBetar?   c                 `    t        |        t        j                         j                  |        y r   )r)   r
   GetGdcZoneArgAddToParserr'   s    r   rA   zListBeta.Args~   s!    V	%%f-r   c                 6    t        |t        j                        S r   )r<   r   r9   rD   s     r   rF   zListBeta.Run   s    i,,--r   NrG   rM   r   r   rO   rO   k   s       . ..r   rO   N)rK   
__future__r   r   r   #googlecloudsdk.api_lib.ai.endpointsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r	   r
   r   googlecloudsdk.corer   r"   r7   r8   r   r)   r<   ReleaseTracksReleaseTrackGAUniverseCompatibleListCommandr>   BETAALPHArO   rM   r   r   <module>r`      s    ( &  ' 6 ( 3 7 / 5 ) * 9 F& D%%((),T ,  *,2 D%%**D,=,=,C,CD.t .  E.r   