
                             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                   G d
 de
j                                Zy)z)Set IAM workflow template 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)SetIamPolicyzSet IAM policy for a workflow template.

  Sets the IAM policy for a workflow template, given a template ID and the
  policy.
  templatec                     t        j                  | j                               }t        j                  |d|j
                         t        j                  |       y )Nzset the policy on)dpDataprocReleaseTrackr	   AddTemplateResourceArgapi_versionr
   AddArgForPolicyFile)clsparserr   s      9lib/surface/dataproc/workflow_templates/set_iam_policy.pyArgszSetIamPolicy.Args'   sC    {{3++-.H	  )<!)!5!57  (    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;DataprocProjectsRegionsWorkflowTemplatesSetIamPolicyRequestRelativeNameclient"projects_regions_workflowTemplatesr   )selfargsr   msgsr   set_iam_policy_requesttemplate_refrequests           r   RunzSetIamPolicy.Run.   s    {{4,,./HD%%d&6&6DF BBFN!55V5D==))//1LNN**,2 O 4G ??==JJ r   N)
__name__
__module____qualname____doc__r
   GetDetailedHelpForSetIamPolicydetailed_helpclassmethodr   r1    r   r   r   r      s2     :(99*E-) )r   r   N)r5   
__future__r   r   r   googlecloudsdk.api_lib.dataprocr   r   r   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataprocr	   googlecloudsdk.command_lib.iamr
   DefaultUniverseOnlyCommandr   r9   r   r   <module>rA      sG     0 &  ' : 7 ( 5 3 4<<  r   