
    T	                     f   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	 Zd
 Z e	j                  e	j                  j                   e	j                  j"                  e	j                  j$                         G d de	j&                               Z ej*                  d      e_        y)z%Command for listing forwarding rules.    )absolute_import)division)unicode_literals)base_classes)lister)base)flagsc                     | j                   j                  d       t        j                  | dd       | j                   j	                  t
        j                         y)z1Add flags to list forwarding rules to the parser.z      table(
        name,
        region.basename(),
        IPAddress,
        IPProtocol,
        firstof(
            target,
            backendService).scope():label=TARGET
      )
      T)regionalglobal_N)display_info	AddFormatr   AddMultiScopeListerFlagsAddCacheUpdaterr	   ForwardingRulesCompleterparsers    ,lib/surface/compute/forwarding_rules/list.py_Argsr      sK     	 
!
 
 	!!&4F%%e&D&DE    c                 0   |j                   }t        j                  | |j                        }t        j                  ||j
                  j                  |j
                  j                  |j
                  j                        }t        j                  ||      S )z2Issues request necessary to list forwarding rules.)regional_serviceglobal_serviceaggregation_service)	clientr   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_clientforwardingRulesglobalForwardingRulesInvoke)argsholderr   request_datalist_implementations        r   _Runr'   -   sy    ==&,,T63C3CD,//--==++AA 00@@	B 
|%8	99r   c                   &    e Zd ZdZed        Zd Zy)ListzList forwarding rules.c                     t        |        y N)r   r   s    r   Argsz	List.ArgsA   s	    	&Mr   c                 `    t        j                  | j                               }t        ||      S r+   )r   ComputeApiHolderReleaseTrackr'   )selfr#   r$   s      r   RunzList.RunE   s(    **4+<+<+>?Ffr   N)__name__
__module____qualname____doc__staticmethodr,   r1    r   r   r)   r)   <   s      r   r)   zforwarding rulesN)r5   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   3googlecloudsdk.command_lib.compute.forwarding_rulesr	   r   r'   ReleaseTracksr/   BETAGAALPHAListCommandr)   GetGlobalRegionalListerHelpdetailed_helpr7   r   r   <module>rC      s    , &  ' 7 1 ( EF$: D%%**D,=,=,@,@%%++-	4 	-	 -L,,-?@  r   