
                             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  G d de
j"                        Zy)z%`gcloud app services delete` command.    )absolute_import)division)unicode_literals)appengine_api_client)service_util)version_util)base)
console_io)text)movesc                   .    e Zd ZdZddiZed        Zd Zy)Deletez'Delete services in the current project.EXAMPLESa:            To delete a service (and all of its accompanying versions) in the
          current project, run:

            $ {command} service1

          To delete multiple services (and all of their accompanying versions)
          in the current project, run:

            $ {command} service1 service2
          c                 R    | j                  ddd       | j                  dd       y )Nservices+zThe service(s) to delete.)nargshelpz	--versionz2Delete a specific version of the given service(s).)r   )add_argument)parsers    "lib/surface/app/services/delete.pyArgszDelete.Args/   s2    

#4OP
N  P    c                 l   t        j                  | j                               }|j                         }t	        j
                  ||j                        }|j                  rt        j                  dj                  |j                  t        j                  t        |      d      dj                  t        j                   t"        |                  d       |D cg c]7  }t%        j&                  |j(                  |j*                  |j                        9 }}t%        j,                  ||       y t        j                  dj                  t        j                  t        |      d      dj                  t        j                   t"        |                  d       t	        j.                  ||       y c c}w )Nz$Deleting version [{0}] of {1} [{2}].servicez, T)cancel_on_nozDeleting {0} [{1}].)r   GetApiClientForTrackReleaseTrackListServicesr   GetMatchingServicesr   versionr
   PromptContinueformatr   	Pluralizelenjoinr   mapstrr   VersionprojectidDeleteVersionsDeleteServices)selfargs
api_clientall_servicesr   sversionss          r   Runz
Delete.Run5   sH   %::4;L;L;NOJ **,L//dmmLH||
0
7
7llDNN3x=)Dii		#x013 	 $%#a &&z'9'9144N#  %!!*h7

&
&nnS]I6ii		#x013 	
 !!*h7%s   <F1N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r4    r   r   r   r      s1    /  
- P P
8r   r   N)r8   
__future__r   r   r   googlecloudsdk.api_lib.appr   r   r   googlecloudsdk.callioper	   googlecloudsdk.core.consoler
   googlecloudsdk.core.utilr   sixr   DeleteCommandr   r;   r   r   <module>rC      s:    , &  ' ; 3 3 ( 2 ) .8T .8r   