
    T	                     f   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\	R                  " \	R                  R                   \	R                  R"                  \	R                  R$                  5       " S S\	R&                  5      5       r\R*                  " S5      \l        g)z%Command for listing forwarding rules.    )absolute_import)division)unicode_literals)base_classes)lister)base)flagsc                     U R                   R                  S5        [        R                  " U SSS9  U R                   R	                  [
        R                  5        g)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                 ,   UR                   n[        R                  " XR                  5      n[        R                  " UUR
                  R                  UR
                  R                  UR
                  R                  S9n[        R                  " X45      $ )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'   -   st    ==&,,T3C3CD,//--==++AA 00@@	B 
|	99r   c                   .    \ rS rSrSr\S 5       rS rSrg)List<   zList forwarding rules.c                     [        U 5        g N)r   r   s    r   Args	List.ArgsA   s	    	&Mr   c                 `    [         R                  " U R                  5       5      n[        X5      $ r,   )r   ComputeApiHolderReleaseTrackr'   )selfr#   r$   s      r   RunList.RunE   s&    **4+<+<+>?Fr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr-   r3   __static_attributes__r5   r   r   r)   r)   <   s      r   r)   zforwarding rulesN)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   3googlecloudsdk.command_lib.compute.forwarding_rulesr	   r   r'   ReleaseTracksr1   BETAGAALPHAListCommandr)   GetGlobalRegionalListerHelpdetailed_helpr5   r   r   <module>rH      s    , &  ' 7 1 ( EF$: D%%**D,=,=,@,@%%++-	4 	-	 ,,-?@  r   