
    ^                        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dlmZ ddlmZ  ej"                  ej$                  j&                  ej$                  j(                         G d dej*                               Z ej"                  ej$                  j,                         G d de             Zej                   e_         y)z%Command for listing available routes.    )absolute_import)division)unicode_literals)base)commands)connection_context)flags)pretty_print)resource_args)serverless_operations)concept_parsers)presentation_specsc                   @    e Zd ZdZdddZed        Zed        Zd Zy)	ListSList available Routes.

  Every Route is paired with a Service of the same name.
  z"          {description}
          zK          To list available services:

              $ {command}
          )DESCRIPTIONEXAMPLESc                    t        j                  dt        j                         dddd      }t	        j
                  |g      j                  |       |j                  j                  dj                  t        j                  t        j                               |j                  j                  | j                         y )Nz--namespacezNamespace to list routes in.TF)requiredprefixeshiddenzHtable(
    {ready_column},
    metadata.name:label=ROUTE):({alias})
    )ready_columnalias)r   ResourcePresentationSpecr   GetNamespaceResourceSpecr   ConceptParserAddToParserdisplay_info	AddFormatformatr
   READY_COLUMNr   SATISFIES_PZS_ALIAS
AddUriFunc_GetResourceUri)clsparsernamespace_presentations      lib/surface/run/routes/list.py
CommonArgszList.CommonArgs2   s     0HH..0& !!	 ""-+f"5
!!	 	%22.. 	 	
	 ""3#6#67    c                 &    | j                  |       y Nr)   r%   r&   s     r(   Argsz	List.ArgsJ       NN6r*   c                    t        j                  |t        j                  j                  | j                               }|j                  j                  j                         }t        j                  |      5 }| j                  |j                         t        j                  |j                  |            cddd       S # 1 sw Y   yxY w)zList available routes.N)r   GetConnectionContextr	   ProductRUNReleaseTrackCONCEPTS	namespaceParser   ConnectSetCompleteApiEndpointendpointr   
SortByName
ListRoutes)selfargsconn_contextnamespace_refclients        r(   RunzList.RunN   s    %::emm!2!2!46LMM++113M		&	&|	4
!!,"7"78  !2!2=!AB 
5	4	4s   7?C  C	N)	__name__
__module____qualname____doc__detailed_helpclassmethodr)   r/   rC    r*   r(   r   r       sF    		- 8 8.  Cr*   r   c                        e Zd ZdZed        Zy)	AlphaListr   c                 &    | j                  |       y r,   r-   r.   s     r(   r/   zAlphaList.Args_   r0   r*   N)rD   rE   rF   rG   rI   r/   rJ   r*   r(   rL   rL   X   s    
  r*   rL   N)rG   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r	   r
   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   ReleaseTracksr5   BETAGAr   ALPHArL   rJ   r*   r(   <module>rV      s    , &  ' ( 3 = 0 7 8 @ D G D%%**D,=,=,@,@A4C8== 4C B4Cn D%%++,  - LL	 r*   