
    z	                         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  G d de
j"                        Zy)zKill job command.    )absolute_import)division)unicode_literals)dataproc)util)base)flags)log)
console_ioc                   &    e Zd ZdZed        Zd Zy)KillzmKill an active job.

  Kill an active job.

  ## EXAMPLES

  To cancel a job, run:

    $ {command} job_id
  c                     t        j                  | j                               }t        j                  |d|j
                         t        j                  |       y )Nkill)dpDataprocReleaseTrackr	   AddJobResourceArgapi_versionAddAsync)clsparserr   s      !lib/surface/dataproc/jobs/kill.pyArgsz	Kill.Args*   s=    {{3++-.H	FFH,@,@A	NN6    c                 Z   t        j                  | j                               }|j                  j                  j                         }|j                  j                  |j                  |j                  |j                  |j                  j                               }t        j                  dj                  |j                        dd       |j                  j                   j#                  |      }t$        j&                  j)                  dj                  |j                               |j*                  r|}|S t-        j.                  |||d|j                  j0                  j2                  j4                        }t$        j&                  j)                  d	j                  |             |S )
N)	projectIdregionjobIdcancelJobRequestzThe job '{0}' will be killed.TzCancellation aborted by user.)messagecancel_on_nocancel_stringz%Job cancellation initiated for [{0}].zWaiting for job cancellation)r    
goal_statezKilled [{0}].)r   r   r   CONCEPTSjobParsemessages(DataprocProjectsRegionsJobsCancelRequestr   r   r   CancelJobRequestr   PromptContinueformatclientprojects_regions_jobsCancelr
   statusPrintasync_r   WaitForJobTermination	JobStatusStateValueValuesEnum	CANCELLED)selfargsr   job_refrequestr%   
output_jobs          r   RunzKill.Run0   sT   {{4,,./Hmm%%'GHH##~~mm!**;;=	 I ?G /66txx@57
 //
/
/
6
6w
?CJJ/66w}}EG {{j  --


0&&00EEOOQj 
jj--g67r   N)__name__
__module____qualname____doc__classmethodr   r;    r   r   r   r      s     	  
r   r   N)r?   
__future__r   r   r   googlecloudsdk.api_lib.dataprocr   r   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr	   googlecloudsdk.corer
   googlecloudsdk.core.consoler   Commandr   rA   r   r   <module>rI      s5      &  ' : 0 ( 5 # 204<< 0r   