
                             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 ej$                   G d dej&                               Zy)z(Command to cancel a specified Batch job.    )absolute_import)division)unicode_literals)
exceptions)jobs)util)base)resource_args)logc                   &    e Zd ZdZed        Zd Zy)CancelaT  Cancel a job.

  This command can fail for the following reasons:
  * The job specified does not exist.
  * The active account does not have permission to cancel the given job.

  ## EXAMPLES

  To cancel the job with name
  `projects/foo/locations/us-central1/jobs/bar`, run:

    $ {command} projects/foo/locations/us-central1/jobs/bar
  c                 .    t        j                  |        y )N)r
   AddJobResourceArgs)parsers     lib/surface/batch/jobs/cancel.pyArgszCancel.Args/   s    $$V,    c                    | j                         }t        j                  |      }|j                  j                  j                         }	 |j                  |      }t        j                  j                  dj!                  |j#                                      |S # t        j                  $ r)}t        j                  |t        j                        d }~ww xY w)Nz)Job {jobName} cancellation is in progress)jobName)ReleaseTrackr   
JobsClientCONCEPTSjobParser   apitools_exceptions	HttpErrorr   HttpExceptionr   HTTP_ERROR_FORMATr   statusPrintformatRelativeName)selfargsrelease_trackclientjob_ref	operationes          r   Runz
Cancel.Run3   s    %%'M__]+Fmm%%'G@--(i JJ@GG$$& H ( )	 (( @$$Q(>(>??@s   B C.$CCN)__name__
__module____qualname____doc__staticmethodr   r*    r   r   r   r      s      - -r   r   N)r.   
__future__r   r   r   apitools.base.pyr   r   googlecloudsdk.api_lib.batchr   r   googlecloudsdk.api_lib.utilgooglecloudsdk.callioper	    googlecloudsdk.command_lib.batchr
   googlecloudsdk.corer   UniverseCompatibleCommandr   r0   r   r   <module>r:      sM     / &  ' > - - 2 ( : # T\\  r   