
    
                         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 d	 Z G d
 de	j                        Zy)z!Command for deleting subnetworks.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc                      ddddS )Nz Delete Google Cloud subnetworks.z          *{command}* deletes one or more Google Cloud subnetworks.
          Subnetworks can only be deleted when no other resources,
          such as VM instances, refer to them.".
      z        To delete the subnetwork subnet-1 in the us-central1,
        run:

        $ {command} subnet-1 --region=us-central1
      )briefDESCRIPTIONEXAMPLES r       .lib/surface/compute/networks/subnets/delete.py_DetailedHelpr      s     -


 r   c                   8    e Zd ZdZdZ e       Zed        Zd Z	y)DeletezDelete Compute Engine subnetworks.

  *{command}* deletes one or more Compute Engine
  subnetworks. Subnetworks can only be deleted when no other resources
  (e.g., virtual machine instances) refer to them.
  Nc                     t        j                  d      t        _        t        j                  j	                  | d       | j
                  j                  t         j                         y )NT)pluraldelete)operation_type)r	   SubnetworkArgumentr   
SUBNET_ARGAddArgumentdisplay_infoAddCacheUpdaterSubnetworksCompleter)parsers    r   ArgszDelete.Args;   sH    00=F
!!&!B
''(B(BCr   c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  |            }t        j                  |d       g }|D ]R  }|j                  |j                  j                  d |j                  j                   di |j#                         f       T |j%                  |      S )N)scope_listerregionr   r   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionappendapitools_clientsubnetworksmessagesComputeSubnetworksDeleteRequestAsDictMakeRequests)selfargsholderr%   subnet_refsrequests
subnet_refs          r   Runz
Delete.RunA   s    **4+<+<+>?F]]F##55"88@ 6 BK
 
K2H!
oov--998FvFF 2'..023 4 "
 x((r   )
__name__
__module____qualname____doc__r   r   detailed_helpstaticmethodr   r8   r   r   r   r   r   0   s.     */-D D
)r   r   N)r<   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r(   3googlecloudsdk.command_lib.compute.networks.subnetsr   DeleteCommandr   r   r   r   <module>rE      s9    ( &  ' 7 0 ( E E(")T ")r   