
    Y                     V   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 e
j                   e
j                   e
j"                  j$                  e
j"                  j&                  e
j"                  j(                         G d
 de
j*                                      Zy)zSet IAM job policy command.    )absolute_import)division)unicode_literals)dataproc)iam_helpers)base)flags)iam_utilc                   J    e Zd ZdZ ej
                  d      Zed        Zd Z	y)SetIamPolicyz]Set IAM policy for a job.

  Sets the IAM policy for a job, given a job ID and the policy.
  jobc                     t        j                  | j                               }t        j                  |d|j
                         t        j                  |       y )Nzset the policy on)dpDataprocReleaseTrackr	   AddJobResourceArgapi_versionr
   AddArgForPolicyFile)clsparserr   s      +lib/surface/dataproc/jobs/set_iam_policy.pyArgszSetIamPolicy.Args)   s@    {{3++-.H	F$79M9MN  (    c                    t        j                  | j                               }|j                  }t	        j
                  |j                  |j                        }t        j                  |_
        |j                  |      }|j                  j                  j                         }|j                  |j!                         |      }|j"                  j$                  j'                  |      S )N)policy)resourcesetIamPolicyRequest)r   r   r   messagesr
   ParsePolicyFilepolicy_filePolicyr   !MAX_LIBRARY_IAM_SUPPORTED_VERSIONversionSetIamPolicyRequestCONCEPTSr   Parse.DataprocProjectsRegionsJobsSetIamPolicyRequestRelativeNameclientprojects_regions_jobsr   )selfargsr   msgsr   set_iam_policy_requestr   requests           r   RunzSetIamPolicy.Run/   s    {{4,,./HD%%d&6&6DF BBFN!55V5D
--


!
!
#CAA!!#2 B 4G ??00==gFFr   N)
__name__
__module____qualname____doc__r
   GetDetailedHelpForSetIamPolicydetailed_helpclassmethodr   r0    r   r   r   r      s3    

 :(99%@-) )
Gr   r   N)r4   
__future__r   r   r   googlecloudsdk.api_lib.dataprocr   r   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr	   googlecloudsdk.command_lib.iamr
   UniverseCompatibleReleaseTracksr   ALPHABETAGACommandr   r8   r   r   <module>rD      s     " &  ' : 7 ( 5 3 T..33T5F5F5I5IG4<< G Gr   