
                         &   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SS	K
Jr  SS
K
Jr  SSKJr  SSKJr  \R"                  \R$                  " \R&                  R(                  5       " S S\R*                  5      5       5       rg)zCommand for deleting instances.    )base)connection_context)deletion)flags)pretty_print)resource_args)serverless_operations)concept_parsers)presentation_specs)log)
console_ioc                   N    \ rS rSrSrSSS.r\S 5       r\S 5       rS r	S	 r
S
rg)Delete   Delete an instance.z#
          {description}
          zU
          To delete an instance:

              $ {command} instance-name
          )DESCRIPTIONEXAMPLESc                     [         R                  " S[        R                  " 5       SSSS9n[        R
                  " U SS9  [        R                  " U/5      R                  U 5        g )NINSTANCEzInstance to delete.TF)requiredprefixes)default_async_for_cluster)	r   ResourcePresentationSpecr   GetInstanceResourceSpecr   AddAsyncFlagr
   ConceptParserAddToParser)parserinstance_presentations     #lib/surface/run/instances/delete.py
CommonArgsDelete.CommonArgs/   sZ    .GG--/ 
v>!!#8"9:FFvN    c                 .    [         R                  U 5        g )N)r   r!   )r   s    r    ArgsDelete.Args;   s    
fr#   c                 $   [         R                  " U[        R                  R                  U R                  5       5      nUR                  R                  R                  5       n[        R                  " U5       nSR                  UR                  5      n[        R                  " 5       (       a  U R                  X45      (       a  US-  n[        R                   " USSS9  ["        R$                  " X4R&                  UR(                  UR*                  5        SSS5        UR*                  (       a0  [,        R.                  " SR                  UR                  5      5        g[0        R2                  " UR                  S5        g! , (       d  f       Nq= f)r   zInstance [{}] will be deleted.zD This instance is currently running and will be stopped and deleted.T)messagethrow_if_unattendedcancel_on_noNzInstance [{}] is being deleted.instance)r   GetConnectionContextr   ProductRUNReleaseTrackCONCEPTSr+   Parser	   ConnectformatinstancesIdr   	CanPromptIsRunningInstancePromptContinuer   r   GetInstanceDeleteInstanceasync_r   Successr   DeletedResource)selfargsconn_contextinstance_refclientr(   s         r    Run
Delete.Run?   s5   %::emm!2!2!4L ==))//1L		&	&|	4077

"
"g 
				D$:$:
% % 		
 "
 oo
**F,A,A4;;! 
5& {{
+
2
2<3K3K
L 
,22J?1 
5	4s   9BF
Fc                 L    UR                  U5      nU(       a  UR                  $ g)NF)r8   
is_running)r=   r@   rA   r+   s       r    r6   Delete.IsRunningInstance_   s$    !!,/H   r#    N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr!   r%   rB   r6   __static_attributes__rG   r#   r    r   r      sN     		- 	O 	O  @@r#   r   N)rL   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r   r   r   r	   (googlecloudsdk.command_lib.util.conceptsr
   r   googlecloudsdk.corer   googlecloudsdk.core.consoler   UniverseCompatibleReleaseTracksr/   ALPHACommandr   rG   r#   r    <module>rY      st    & ) = 3 0 7 8 @ D G # 2 D%%++,BT\\ B - Br#   