
     
                         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 G d
 de	j                        Zy)z$Command for deleting machine images.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc           	          g }|D ]T  }| j                   j                  d | j                  j                  di |j	                         f}|j                  |       V |S )NDelete )apitools_clientmachineImagesmessages!ComputeMachineImagesDeleteRequestAsDictappend)clientmachine_image_refsrequestsmachine_image_refdelete_requests        ,lib/surface/compute/machine_images/delete.pyconstruct_requestsr      sd    (-,,::HGfooGG 8-44689N OON#	 .
 
/    c                   2    e Zd ZdZddddZed        Zd Zy)r   z&Delete a Compute Engine machine image.z
        *{command}* deletes one or more Compute Engine
        machine images. Machine images can be deleted only if they are not
        being used to restore virtual machine instances.
      zZ
         To delete a machine image, run:

           $ {command} my-machine-image
       )briefdescriptionEXAMPLESc                     t        j                  d      t        _        t        j                  j	                  | d       y )NT)pluraldelete)operation_type)r	   MakeMachineImageArgr   MACHINE_IMAGE_ARGAddArgument)parsers    r   ArgszDelete.Args:   s.    $88EF
(((Ir   c                 B   t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  |            }t        j                  |       t        ||      }|j                  |      S )N)scope_lister)r   ComputeApiHolderReleaseTrackr   r   r$   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionr   MakeRequests)selfargsholderr   r   r   s         r   Runz
Delete.Run?   s    **4+<+<+>?F]]F11CC"88@ D B
 
./!&*<=Hx((r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr'   r5   r   r   r   r   r   &   s6    . 3
-" J J)r   r   N)r9   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r.   1googlecloudsdk.command_lib.compute.machine_imagesr   DeleteCommandr   r   r   r   <module>rB      s9    + &  ' 7 0 ( E C&)T &)r   