
                             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  ej$                  d      Z G d dej(                        Z G d dej,                        Zy)z'Command to delete External VPN Gateway.    )absolute_import)division)unicode_literals)base_classes)utils)external_vpn_gateways_utils)poller)waiter)base)flagsT)pluralc                       e Zd Zd Zy)DeleteBatchPollerc                      y )N )selfoperation_batchs     3lib/surface/compute/external_vpn_gateways/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ddiZed        Zd Zy)Deletea+  Delete a Compute Engine external VPN gateway.

  *{command}* is used to delete all data associated with a Compute Engine
  external VPN gateway in a project.

  An external VPN gateway provides the information to Google Cloud
  about your on-premises side or another Cloud provider's VPN gateway.
  EXAMPLESz`          To delete an external VPN gateway, run:

              $ {command} my-external-gatewayc                     t         j                  | d       | j                  j                  t        j
                         y )Ndelete)operation_type)_EXTERNAL_VPN_GATEWAY_ARGAddArgumentdisplay_infoAddCacheUpdaterr   ExternalVpnGatewaysCompleter)parsers    r   ArgszDelete.Args;   s/    ))&)J
''(J(JKr   c                 $   t        j                  | j                               }t        j                  |      }|j
                  j                  }t        j                  ||j                        }t        j                  |       |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 )z5Issues the request to delete an external VPN gateway.zDeleting external VPN {}   gatewaysgateway)r   ComputeApiHolderReleaseTrackr   ExternalVpnGatewayHelperclientapitools_clientr    ResolveAsResource	resourcesr   PromptForDeletionr   formatlenr   externalVpnGatewaysr
   WaitForr	   OperationBatch)
r   argsholderhelperr.   refsrefoperation_refswait_messageoperation_pollers
             r   Runz
Delete.Run@   s    **4+<+<+>?F(AA&IF]]**F$66tV=M=MND	D!489DSfmmC(DN9-44N+a/iBL()/)C)CE>>* //?O O :s   DN)r   r   r   __doc__detailed_helpstaticmethodr&   r@   r   r   r   r   r   )   s4     1- L LOr   r   N)rA   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   4googlecloudsdk.api_lib.compute.external_vpn_gatewaysr   )googlecloudsdk.api_lib.compute.operationsr	   googlecloudsdk.api_lib.utilr
   googlecloudsdk.callioper   8googlecloudsdk.command_lib.compute.external_vpn_gatewaysr   ExternalVpnGatewayArgumentr    BatchPollerr   DeleteCommandr   r   r   r   <module>rN      sc    . &  ' 7 0 \ < . ( J =E<<DI ** %OT %Or   