
    4
                        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d
lmZ ddlmZ ddlmZ  ej(                  d      Z G d de	j,                        Z G d dej0                        Zy)z!Command for deleting vpn tunnels.    )absolute_import)division)unicode_literals)base_classes)utils)poller)vpn_tunnels_utils)waiter)base)flagsT)pluralc                       e Zd Zd Zy)DeleteBatchPollerc                      y )N )selfoperation_batchs     )lib/surface/compute/vpn_tunnels/delete.py	GetResultzDeleteBatchPoller.GetResult$   s         N)__name__
__module____qualname__r   r   r   r   r   r   "   s    r   r   c                   &    e Zd ZdZed        Zd Zy)DeletezUDelete VPN tunnels.

  *{command}* deletes one or more Compute Engine VPN tunnels.
  c                     t         j                  | d       | j                  j                  t        j
                         y )Ndelete)operation_type)_VPN_TUNNEL_ARGAddArgumentdisplay_infoAddCacheUpdaterr   VpnTunnelsCompleter)parsers    r   ArgszDelete.Args0   s/    x@
''(A(ABr   c                 <   t        j                  | j                               }|j                  }t	        j
                  |      }t        j                  ||j                  t        j                  |            }t        j                  |d       |D cg c]  }|j                  |       }}dj                  t        |      dkD  rdnd      }t!        ||j"                  j$                        }	t'        j(                  |	t+        j,                  |      |      S c c}w )N)scope_listerregionzDeleting VPN {}   tunnelstunnel)r   ComputeApiHolderReleaseTrackclientr	   VpnTunnelHelperr   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionr   formatlenr   apitools_client
vpnTunnelsr
   WaitForr   OperationBatch)
r   argsholderr.   helpervpn_tunnel_refsrefoperation_refswait_messageoperation_pollers
             r   Runz
Delete.Run5   s    **4+<+<+>?F]]F..v6F%77"88@ 8 BO 
OX64CDOSfmmC(OND$++>*Q.X@L()/)?)?)J)JL>>* //?O O Es   DN)r   r   r   __doc__staticmethodr%   rC   r   r   r   r   r   *   s#    
 C COr   r   N)rD   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   )googlecloudsdk.api_lib.compute.operationsr   *googlecloudsdk.api_lib.compute.vpn_tunnelsr	   googlecloudsdk.api_lib.utilr
   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r2   .googlecloudsdk.command_lib.compute.vpn_tunnelsVpnTunnelArgumentr   BatchPollerr   DeleteCommandr   r   r   r   <module>rQ      se    ( &  ' 7 0 < H . ( E @ *%))6** OT Or   