
    H                         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\	R                   5      rg)zUpdate job command.    )absolute_import)division)unicode_literals)dataproc)base)flags)labels_util)logc                   .    \ rS rSrSr\S 5       rS rSrg)Update   a  Update the labels for a job.

Update the labels for a job.

## EXAMPLES

To add the label 'customer=acme' to a job , run:

  $ {command} job_id --update-labels=customer=acme

To update the label 'customer=ackme' to 'customer=acme', run:

  $ {command} job_id --update-labels=customer=acme

To remove the label whose key is 'customer', run:

  $ {command} job_id --remove-labels=customer
c                     [         R                  " U R                  5       5      n[        R                  " USUR
                  5        UR                  SS9n[        R                  " U5        g )NupdateT)required)	dpDataprocReleaseTrackr   AddJobResourceArgapi_versionadd_argument_groupr	   AddUpdateLabelsFlags)clsparserr   changess       #lib/surface/dataproc/jobs/update.pyArgsUpdate.Args1   sR    {{3++-.H	FHh.B.BC'''6G$$W-    c           	      |   [         R                  " U R                  5       5      nUR                  R                  R                  5       n/ nUR                  R                  R                  UR                  R                  UR                  UR                  UR                  S95      n[        R                  R!                  U5      R#                  UR                  R$                  R&                  UR(                  5      nUR*                  (       a  UR-                  S5        UnUR/                  5       Ul        UR                  R1                  UR                  UR                  UR                  USR3                  U5      S9nUR                  R                  R5                  U5      n	[6        R8                  " U	5        U	$ )N)	projectIdregionjobIdlabels,)r    r!   r"   job
updateMask)r   r   r   CONCEPTSr%   Parseclientprojects_regions_jobsGetmessages%DataprocProjectsRegionsJobsGetRequestr    r!   r"   r	   DiffFromUpdateArgsApplyJobLabelsValuer#   needs_updateappend	GetOrNone'DataprocProjectsRegionsJobsPatchRequestjoinPatchr
   UpdatedResource)
selfargsr   job_refchanged_fieldsorig_joblabels_update_resultupdated_jobrequestreturned_jobs
             r   Run
Update.Run9   s_   {{4,,./Hmm%%'GN4488??''>>-- 	@ 	!"H '++::4@FF))8??<((H%K-779KGG##~~mm88N+ H -G ??88>>wGL%r    N)	__name__
__module____qualname____firstlineno____doc__classmethodr   rC   __static_attributes__rE   r   r   r   r      s     & . .r   r   N)rJ   
__future__r   r   r   googlecloudsdk.api_lib.dataprocr   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr   $googlecloudsdk.command_lib.util.argsr	   googlecloudsdk.corer
   UpdateCommandr   rE   r   r   <module>rT      s4      &  ' : ( 5 < #;T ;r   