
    /	                         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 target instances.    )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 target instances.

  *{command}* deletes one or more Compute Engine target
  instances. Target instances can be deleted only if they are
  not being used by any other resources like forwarding rules.
  Nc                     t        j                  d      t        _        t        j                  j	                  | d       | j
                  j                  t         j                         y )NT)pluraldelete)operation_type)r	   TargetInstanceArgumentr   TARGET_INSTANCE_ARGAddArgumentdisplay_infoAddCacheUpdaterTargetInstancesCompleter)parsers    .lib/surface/compute/target_instances/delete.pyArgszDelete.Args&   sH    !&!=!=T!JF
**6(*K
''(F(FG    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 )z5Issues requests necessary to delete Target Instances.)scope_listerzoner    )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionappendapitools_clienttargetInstancesmessages#ComputeTargetInstancesDeleteRequestAsDictMakeRequests)selfargsholderr    target_instance_refsrequeststarget_instance_refs          r   Runz
Delete.Run,   s    **4+<+<+>?F]]F!55GG"88@ H B
 
0&9H3oov--==xJvJJ ;0779;< =  4
 x((r   )__name__
__module____qualname____doc__r   staticmethodr   r3   r   r   r   r   r      s(     H H
)r   r   N)r7   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r#   3googlecloudsdk.command_lib.compute.target_instancesDeleteCommandr   r   r   r   <module>r?      s4    - &  ' 7 0 ( E E")T ")r   