
    O                     D   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d Z e	j"                  e	j$                  j&                  e	j$                  j(                  e	j$                  j*                         G d de	j,                               Zy)z)Command for deleting service attachments.    )absolute_import)division)unicode_literals)base_classes)utils)base)scope)flagsc                  
    ddiS )NEXAMPLESzv          To delete a service attachment, run:

              $ {command} SERVICE_ATTACHMENT_NAME --region=us-central1 r       1lib/surface/compute/service_attachments/delete.py_DetailedHelpr      s    J
 r   c                    | j                   }t        j                  |       g }|D ]R  }|j                  |j                  j
                  d |j                  j                  di |j                         f       T |j                  |      S )aH  Issues requests necessary to delete service attachments.

  Args:
    holder: the class that holds lazy initialized API client and resources.
    service_attachment_refs: the list of references for service attachments that
      need to be deleted.

  Returns:
    A list of responses. One response for each deletion request.
  Deleter   )
clientr   PromptForDeletionappendapitools_clientserviceAttachmentsmessages&ComputeServiceAttachmentsDeleteRequestAsDictMakeRequests)holderservice_attachment_refsr   requestsservice_attachment_refs        r   _Runr    &   s     ==&12( 7OOV++>>KV__KK <188:<= > !8
 
		X	&&r   c                   8    e Zd ZdZdZ e       Zed        Zd Z	y)r   z=Delete one or more Google Compute Engine service attachments.Nc                     t        j                  d      | _        | j                  j                  |d       |j                  j                  t         j                         y )NT)pluraldelete)operation_type)r
   ServiceAttachmentArgumentSERVICE_ATTACHMENT_ARGAddArgumentdisplay_infoAddCacheUpdaterServiceAttachmentsCompleter)clsparsers     r   ArgszDelete.ArgsE   sH    !&!@!@!MC**6(*K
''(I(IJr   c                     t        j                  | j                               }| j                  j	                  ||j
                  t        j                  j                        }t        ||      S )N)default_scope)
r   ComputeApiHolderReleaseTrackr'   ResolveAsResource	resourcescompute_scope	ScopeEnumREGIONr    )selfargsr   r   s       r   Runz
Delete.RunK   s`    **4+<+<+>?F"99KKfm.E.E.L.L L N/00r   )
__name__
__module____qualname____doc__r'   r   detailed_helpclassmethodr.   r:   r   r   r   r   r   =   s.     F/-K K
1r   r   N)r>   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r5   6googlecloudsdk.command_lib.compute.service_attachmentsr
   r   r    ReleaseTracksr2   ALPHABETAGADeleteCommandr   r   r   r   <module>rK      s    0 &  ' 7 0 ( E H'. D%%++T->->-C-C%%((*1T 1*1r   