
                         <   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Jr  \	R                  " \	R                  R                   5      \	R"                   " S
 S\	R$                  5      5       5       r\	R                  " \	R                  R(                  5      \	R"                   " S S\5      5       5       r\	R                  " \	R                  R,                  5      \	R"                   " S S\5      5       5       r\R0                  " S5      \l        g)z Command for listing subnetworks.    )absolute_import)division)unicode_literals)base_classes)lister)base)flags)	arg_utilsc                   h    \ rS rSrSrSr\R                  r\R                  r
\S 5       rS rS rSrg)	List   zList subnetworks.Tc                    U R                   (       a&  UR                  R                  U R                  5        O%UR                  R                  U R                  5        [
        R                  " U5        UR                  R                  [        R                  5        UR                  SSS9  U R                   (       a$  UR                  SSS0[        R                  SSS	9  g g )
Nz	--networkz,Only show subnetworks of a specific network.)helpz--viewWITH_UTILIZATIONzOutput includes the IP address utilization data of all subnetwork ranges, showing total allocated and free IPv4 and IPv6 IP addresses.appendz3Specifies the information to include in the output.)choicestypeactionr   )_include_viewdisplay_info	AddFormat _utilization_details_list_format_default_list_formatr   AddRegionsArgAddCacheUpdaterr	   SubnetworksCompleteradd_argumentr
   ChoiceToEnumName)clsparsers     ,lib/surface/compute/networks/subnets/list.pyArgs	List.Args)   s     ##C$H$HI##C$<$<=
 
''(B(BC
;  = 
 , ))C       c                     / nUc  U$ U H0  nUS:X  d  M  UR                  UR                  R                  5        M2     U$ )Nr   )r   ViewsValueValuesEnumr   )selfviewrequest_messageviewsvs        r!   _GetSubnetworkViewsList._GetSubnetworkViewsH   sC    E|l	
 	 _99JJK  Lr$   c           	   #     #    [         R                  " U R                  5       5      nUR                  n[        R
                  " XR                  5      nU R                  (       an  [        R                  " UUR                  R                  UR                  R                  U R                  UR                  UR                  R                  5      S9nO>[        R                  " UUR                  R                  UR                  R                  S9n[        R                  " XE5       H`  nUR                   c  Uv   M  SU;   d  M  UR                  R#                  US   5      nUR%                  5       UR                   :X  d  M\  Uv   Mb     g 7f)N)clientregional_serviceaggregation_servicesubnetwork_views_flag)r/   r0   r1   network)r   ComputeApiHolderReleaseTrackr/   r   ParseMultiScopeFlags	resourcesr   MultiScopeListerapitools_clientsubnetworksr,   r(   messagesComputeSubnetworksListRequestInvoker3   ParseName)r'   argsholderr/   request_datalist_implementationresourcenetwork_refs           r!   RunList.RunQ   s/    **4+<+<+>?F]]F..t5E5EFL"33!11==$44@@ $ 8 8iiFF!	 #33!11==$44@@ MM,D		 &&,,Xi-@A-. Es   D>F:F	F N)__name__
__module____qualname____firstlineno____doc__r   r	   #DEFAULT_LIST_FORMAT_WITH_IPV6_FIELDr   *DEFAULT_LIST_FORMAT_WITH_UTILIZATION_FIELDr   classmethodr"   r,   rF   __static_attributes__rH   r$   r!   r   r      sD     -BB66 #  <r$   r   c                       \ rS rSrSrSrSrg)ListBetap   z*Create a subnet in the Beta release track.TrH   NrI   rJ   rK   rL   rM   r   rQ   rH   r$   r!   rS   rS   p   s     3-r$   rS   c                       \ rS rSrSrSrSrg)	ListAlphax   z-Describe a subnet in the Alpha release track.TrH   NrU   rH   r$   r!   rW   rW   x   s     6-r$   rW   r:   N)rM   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   3googlecloudsdk.command_lib.compute.networks.subnetsr	   $googlecloudsdk.command_lib.util.apisr
   ReleaseTracksr5   GAUniverseCompatibleListCommandr   BETArS   ALPHArW   GetRegionalListerHelpdetailed_helprH   r$   r!   <module>rf      s    ' &  ' 7 1 ( E : D%%(()N4 N  *Nb D%%**+t   , D%%++,   - "77F r$   