
    /                        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 ddlmZ ddlmZ ddlmZ ddlmZ ej*                   ej,                  ej.                  j0                  ej.                  j2                         G d dej4                                      Z ej,                  ej.                  j8                         G d de             Zej                   e_         y)zCommand for deleting a service.    )absolute_import)division)unicode_literals)base)connection_context)deletion)flags)pretty_print)resource_args)serverless_operations)concept_parsers)presentation_specs)log)
console_ioc                   F    e Zd ZdZdddZed        Zed        Zd Zd Z	y	)
DeleteDelete a service.z"          {description}
          zS          To delete a service:

              $ {command} <service-name>
          )DESCRIPTIONEXAMPLESc                     t        j                  dt        j                         ddd      }t	        j
                  |g      j                  |        t        j                  | d       y )NSERVICEzService to delete.TF)requiredprefixes)default_async_for_cluster)	r   ResourcePresentationSpecr   GetServiceResourceSpecr   ConceptParserAddToParserr	   AddAsyncFlag)parserservice_presentations     "lib/surface/run/services/delete.py
CommonArgszDelete.CommonArgs4   sZ    -FF,,. !!#7"89EEfM	v>    c                 .    t         j                  |        y Nr   r#   r    s    r"   ArgszDelete.Args?       
fr$   c                 |    t        j                  |t        j                  j                  | j                               S r&   )r   GetConnectionContextr	   ProductRUNReleaseTrack)selfargss     r"   _ConnectionContextzDelete._ConnectionContextC   s/    22emm!2!2!4 r$   c                    | j                  |      }|j                  j                  j                         }t	        j
                  |       t        j                  dj                  |j                        dd       t        j                  |j                        }t        j                  |      5 }t        j                  ||j                   |j"                  |       ddd       |r/t%        j&                  dj                  |j                               yt)        j*                  |j                  d       y# 1 sw Y   [xY w)r   z$Service [{service}] will be deleted.)serviceT)messagethrow_if_unattendedcancel_on_noNzService [{}] is being deleted.r4   )r2   CONCEPTSr4   Parser	   ValidateResourcer   PromptContinueformat
servicesIdr   AsyncOrDefaultasync_r   Connectr   
GetServiceDeleteServicer
   Successr   DeletedResource)r0   r1   conn_contextservice_refr?   clients         r"   Runz
Delete.RunH   s    **40L--''--/K	;'6==** > , 	 $$T[[1F		&	&|	4oo
v((&*>*> 
5 
*
1
1+2H2H
I 
+00)< 
5	4s   1-D88EN)
__name__
__module____qualname____doc__detailed_helpstaticmethodr#   r)   r2   rH    r$   r"   r   r   "   sJ     - ? ?  
=r$   r   c                        e Zd ZdZed        Zy)AlphaDeleter   c                 .    t         j                  |        y r&   r'   r(   s    r"   r)   zAlphaDelete.Argsd   r*   r$   N)rI   rJ   rK   rL   rN   r)   rO   r$   r"   rQ   rQ   `   s     r$   rQ   N)rL   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r	   r
   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   UniverseCompatibleReleaseTracksr/   BETAGACommandr   ALPHArQ   rO   r$   r"   <module>r_      s    & &  ' ( = 3 0 7 8 @ D G # 2 D%%**D,=,=,@,@A9=T\\ 9= B 9=x D%%++,&  - nn r$   