
    B                     P   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S	KrS
 r\	R                  " \	R                  R                   \	R                  R"                  \	R                  R$                  5       " S S\	R&                  5      5       rSSSS.\l        g	)zCommand for listing addresses.    )absolute_import)division)unicode_literals)base_classes)lister)base)flagsNc                     U R                  S5      nU R                  S5      nU(       a  US-   [        R                  " U5      -   $ U$ )NprefixLengthaddress/)getsix	text_type)resourceprefix_lengthr   s      %lib/surface/compute/addresses/list.py_TransformAddressRanger      s>    ,,~.-LL#'S=3==777	.    c                   .    \ rS rSrSr\S 5       rS rSrg)List$   zList addresses.c                     U R                   R                  S5        [        R                  " U SSS9  U R                   R	                  [
        R                  5        U R                   R                  S[        05        g )Na          table(
          name,
          address_range():label=ADDRESS/RANGE,
          address_type:label=TYPE,
          purpose,
          network.basename(),
          region.basename(),
          subnetwork.basename():label=SUBNET,
          status
        )T)regionalglobal_address_range)	display_info	AddFormatr   AddMultiScopeListerFlagsAddCacheUpdaterr	   AddressesCompleterAddTransformsr   )parsers    r   Args	List.Args)   sc    
!! 
# 
 ##FT4H
''(@(@A
%%8N&OPr   c                 t   [         R                  " U R                  5       5      nUR                  n[        R
                  " XR                  5      n[        R                  " UUR                  R                  UR                  R                  UR                  R                  S9n[        R                  " XE5      $ )N)regional_serviceglobal_serviceaggregation_service)r   ComputeApiHolderReleaseTrackclientr   ParseMultiScopeFlags	resourcesMultiScopeListerapitools_client	addressesglobalAddressesInvoke)selfargsholderr,   request_datalist_implementations         r   RunList.Run:   s    **4+<+<+>?F]]F..t5E5EFL 11//99--=="22<<	> ==;;r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr$   r9   __static_attributes__r;   r   r   r   r   $   s      Q Q <r   r   zList addressesa  
        *{command}* lists summary information of addresses in a project. The
        *--uri* option can be used to display URIs instead. Users who want to
        see more data should use `gcloud compute addresses describe`.

        By default, global addresses and addresses from all regions are listed.
        The results can be narrowed down by providing the *--regions* or
        *--global* flag.
        a  
        To list all addresses in a project in table form, run:

          $ {command}

        To list the URIs of all addresses in a project, run:

          $ {command} --uri

        To list all of the global addresses in a project, run:

          $ {command} --global

        To list all of the addresses from the ``us-central1'' region, run:

          $ {command} --filter=region:us-central1
        )briefDESCRIPTIONEXAMPLES)r@   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.compute.addressesr	   r   r   ReleaseTracksr+   BETAGAALPHAListCommandr   detailed_helpr;   r   r   <module>rP      s    % &  ' 7 1 ( > 
 D%%**D,=,=,@,@%%++- <4  <- <J 			 r   