
    r                        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  S	 r\R                   \R"                  " \R$                  R&                  5       " S
 S\R(                  5      5       5       r\R"                  " \R$                  R,                  5      \R                    " S S\5      5       5       r\R"                  " \R$                  R0                  5      \R                    " S S\5      5       5       rg)z#Command for describing subnetworks.    )absolute_import)division)unicode_literals)base_classes)base)flags)	arg_utilsc                      SSSS.$ )Nz%Describe a Compute Engine subnetwork.ze          *{command}* displays all data associated with a Compute Engine
          subnetwork.
      zj        To display all data associated with subnetwork subnet-1, run:

        $ {command} subnet-1
      )briefDESCRIPTIONEXAMPLES r       0lib/surface/compute/networks/subnets/describe.py_DetailedHelpr      s    6


 r   c                   J    \ rS rSrSrSrSr\" 5       r\	S 5       r
S rS rSrg)	Describe,   zrDescribe a Compute Engine subnetwork.

*{command}* displays all data associated with a Compute Engine
subnetwork.
TNc                     [         R                  " 5       [        l        [        R                  R	                  USS9  U R
                  (       a$  UR                  SSS0[        R                  SSS9  g g )	Ndescribe)operation_typez--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actionhelp)	r   SubnetworkArgumentr   SUBNETWORK_ARGAddArgument_include_viewadd_argumentr	   ChoiceToEnumName)clsparsers     r   ArgsDescribe.Args:   sn    #668H''z'J

 , ))C   r   c                 v    / n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Describe._GetSubnetworkViewsO   s9    E	
 	 _99JJK  Lr   c                 6   [         R                  " U R                  5       5      nUR                  n[        R
                  R                  UUR                  [        R                  " U5      S9nUR                  R                  " S0 UR                  5       D6nU R                  (       aF  UR                  (       a5  U R                  UR                  UR                  R                  5      Ul        UR#                  UR$                  R&                  SU4/5      S   $ )N)scope_listerGetr   r   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListermessagesComputeSubnetworksGetRequestAsDictr!   r+   r/   r-   MakeRequestsapitools_clientsubnetworks)r*   argsholderr6   subnetwork_refrequests         r   RunDescribe.RunV   s    **4+<+<+>?F]]F,,>>"88@ ? N oo:: 



!G dii..
))V__AAgm 

 
 
,
,eW	=>	 	r   r   )__name__
__module____qualname____firstlineno____doc__r!   r   r   detailed_helpclassmethodr&   r/   rE   __static_attributes__r   r   r   r   r   ,   s6     -./- (	r   r   c                       \ rS rSrSrSrSrg)DescribeBetan   z*Create a subnet in the Beta release track.Tr   NrG   rH   rI   rJ   rK   r!   rN   r   r   r   rP   rP   n   s     3-r   rP   c                       \ rS rSrSrSrSrg)DescribeAlphav   z-Describe a subnet in the Alpha release track.Tr   NrR   r   r   r   rT   rT   v   s     6-r   rT   N)rK   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r9   3googlecloudsdk.command_lib.compute.networks.subnets$googlecloudsdk.command_lib.util.apisr	   r   UniverseCompatibleReleaseTracksr5   GADescribeCommandr   BETArP   ALPHArT   r   r   r   <module>rb      s     * &  ' 7 ( E E : D%%(()=	t## =	 * =	@ D%%**+8   , D%%++,L   -r   