
    q
                         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 e
j                   G d	 d
e
j                                Zddde_        y)z@Command for listing route policies from a Compute Engine router.    )absolute_import)division)unicode_literals)
list_pager)base_classes)base)flagsc                   *    e Zd ZdZdZed        Zd Zy)ListRoutePoliciesz1List route policies from a Compute Engine router.Nc                    t        j                         t        _        t        j                  j	                  |d       |j
                  j                  t         j                         |j
                  j                  d       y )Nlist)operation_typeztable(name, type))	r	   RouterArgumentr   
ROUTER_ARGAddArgumentdisplay_infoAddCacheUpdaterRoutersCompleter	AddFormat)clsparsers     2lib/surface/compute/routers/list_route_policies.pyArgszListRoutePolicies.Args#   s\    #(#7#7#9   ,,VF,K
''(>(>?
!!"56    c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  |            } |j                  j                  di |j                         }t        j                  |j                  j                   ||j"                  |j$                  ddddd	      S )	zDIssues a request necessary for listing route policies from a Router.)scope_listerr   result	pageTokennextPageToken
maxResults)limit
batch_sizemethodfieldcurrent_token_attributenext_token_attributebatch_size_attribute )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListermessages&ComputeRoutersListRoutePoliciesRequestAsDictr   YieldFromListapitools_clientroutersr!   	page_size)selfargsholderr+   
router_refrequests         r   RunzListRoutePolicies.Run*   s    **4+<+<+>?F]]F"--??"88@ @ J EfooDD 



G ##&&jj>>" +,)
 
r   )__name__
__module____qualname____doc__r   classmethodr   r<   r(   r   r   r   r      s!    9*7 7r   r   zK*{command}* lists all route policies from a Compute Engine router.
        z        To list route policies from a router `my-router` in region `us-central1`, run:

              $ {command} my-router --region=us-central1
        )DESCRIPTIONEXAMPLESN)r@   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r.   *googlecloudsdk.command_lib.compute.routersUniverseCompatibleListCommandr   detailed_helpr(   r   r   <module>rM      s`     G &  ' ' 7 ( E < $(( $ $N		#  r   