
    U	                         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  G d	 d
e	j                        Zy)zCommand for deleting networks.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc                   *    e Zd ZdZdZed        Zd Zy)Deletea  Delete Compute Engine networks.

  *{command}* deletes one or more Compute Engine
  networks. Networks can only be deleted when no other resources
  (e.g., virtual machine instances) refer to them.

  ## EXAMPLES

  To delete a network with the name 'network-name', run:

    $ {command} network-name

  To delete two networks with the names 'network-name1' and 'network-name2',
  run:

    $ {command} network-name1 network-name2

  Nc                     t        j                  d      t        _        t        j                  j	                  | d       | j
                  j                  t         j                         y )NT)pluraldelete)operation_type)r	   NetworkArgumentr   NETWORK_ARGAddArgumentdisplay_infoAddCacheUpdaterNetworksCompleter)parsers    &lib/surface/compute/networks/delete.pyArgszDelete.Args2   sH    ..d;F
""6("C
''(?(?@    c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  |            }t        j                  |       g }|D ]R  }|j                  |j                  j                  d |j                  j                   di |j#                         f       T |j%                  |      S )N)scope_listerr    )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionappendapitools_clientnetworksmessagesComputeNetworksDeleteRequestAsDictMakeRequests)selfargsholderr   network_refsrequestsnetwork_refs          r   Runz
Delete.Run8   s    **4+<+<+>?F]]F%%77"88@ 8 BL
 
L)H#oov--66CvCC 3(//134 5 $
 x((r   )__name__
__module____qualname____doc__r   staticmethodr   r2   r   r   r   r   r      s'    & +A A
)r   r   N)r6   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r"   +googlecloudsdk.command_lib.compute.networksDeleteCommandr   r   r   r   <module>r>      s4    % &  ' 7 0 ( E =-)T -)r   