
                             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 Compute Engine routers.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc                   *    e Zd ZdZdZed        Zd Zy)DeletezDelete Compute Engine routers.

  *{command}* deletes one or more Compute Engine
  routers. Routers 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	   RouterArgumentr   
ROUTER_ARGAddArgumentdisplay_infoAddCacheUpdaterRoutersCompleter)clsparsers     %lib/surface/compute/routers/delete.pyArgszDelete.Args'   sH    ,,D9F
!!&!B
''(>(>?    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 )z,Issues requests necessary to delete Routers.)scope_listerregionr    )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionappendapitools_clientroutersmessagesComputeRoutersDeleteRequestAsDictMakeRequests)selfargsholderr!   router_refsrequests
router_refs          r   Runz
Delete.Run-   s    **4+<+<+>?F]]F##55"88@ 6 BK
 
K2H!
oov--55xBvBB 2'..023 4 "
 x((r   )__name__
__module____qualname____doc__r   classmethodr   r4   r   r   r   r   r      s'     *@ @
)r   r   N)r8   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r$   *googlecloudsdk.command_lib.compute.routersDeleteCommandr   r   r   r   <module>r@      s4     3 &  ' 7 0 ( E <")T ")r   