
    p
                     ^   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
  e
j                  e
j                  j                         G d d	e
j                               Z e
j                  e
j                  j                   e
j                  j"                         G d
 de             Zy)z'logging metrics list' command.    )absolute_import)division)unicode_literals)
list_pager)util)basec                   0    e Zd ZdZdddZed        Zd Zy)ListGADisplay all logs-based metrics.z)      List all logs-based metrics.
      zX      To list the top 10 logs-based metrics, run:

        $ {command} --limit=10
      DESCRIPTIONEXAMPLESc                     t         j                  j                  |        t         j                  j                  |        | j                  j                  d       y )Nz table(name, description, filter)r   PAGE_SIZE_FLAGRemoveFromParserURI_FLAGdisplay_info	AddFormatparsers    #lib/surface/logging/metrics/list.pyArgszListGA.Args+   s=    ((0MM""6*
!!"DE    c                     t        j                         j                  t        j                               }t	        j
                  t        j                         j                  |d|j                  dd      S )zThis is what gets called when the user runs this command.

    Args:
      args: an argparse namespace. All the arguments that were provided to this
        command invocation.

    Returns:
      The list of metrics.
    )parentmetricsNpageSize)fieldlimit
batch_sizebatch_size_attribute)	r   GetMessages!LoggingProjectsMetricsListRequestGetCurrentProjectParentr   YieldFromList	GetClientprojects_metricsr    )selfargsrequests      r   Runz
ListGA.Run1   se      BB++- C /G ##))7)jjT
L Lr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r,    r   r   r
   r
      s2    '

		- F F
Lr   r
   c                   *    e Zd ZdZdddZed        Zy)ListBetar   z.          Lists all logs-based metrics.
      z
      To list up to 10 logs-based metrics, run:

        $ {command} --limit=10

      To view as a simple table with just the name, description, and filter
      fields, run:

        $ {command} --format="table(name, description, filter)"
        r   c                     t         j                  j                  |        t         j                  j                  |        | j                  j                  d       y )Nyamlr   r   s    r   r   zListBeta.ArgsX   s<    ((0MM""6*
!!&)r   N)r-   r.   r/   r0   r1   r2   r   r3   r   r   r5   r5   C   s*    '

	-" * *r   r5   N)r0   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.loggingr   googlecloudsdk.callioper   ReleaseTracksReleaseTrackGAListCommandr
   BETAALPHAr5   r3   r   r   <module>rB      s     & &  ' ' / ( D%%(()#LT #L *#LL D%%**D,=,=,C,CD*v * E*r   