
    
                         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
 Z G d de	j                         Zy)zFCommand to set an IAM policy on a Data Fusion instance or a namespace.    )absolute_import)division)unicode_literals)
datafusion)base)data_fusion_iam_util)resource_args)iam_utilc                 t    t        j                  ||j                        }t        j                  | ||||      S )z8Reads an instance's IAM policy from a file, and sets it.)r   ParsePolicyFilePolicyDoSetIamPolicy)instance_ref	namespacepolicy_filemessagesclientnew_iam_policys         )lib/surface/data_fusion/set_iam_policy.pySetIamPolicyFromFiler      s@     (77oo. 
	,	,I~x
A A    c                   &    e Zd ZdZed        Zd Zy)SetIamPolicya  Sets the IAM policy for a Cloud Data Fusion instance.

  ## EXAMPLES

  To set the policy for instance `my-instance` in project `my-project`, location
  in `my-location`, and zone in `my-zone` run:

  $ {command} my-instance policy-file.yaml --project=my-project \
    --location=my-location

  To do the same in a particular namespace, run:
  $ {command} my-instance policy-file.yaml --project=my-project \
    --location=my-location [--namespace=NAMESPACE]
  c                     t        j                  | d       t        j                  j	                  |        t        j                  |        | j                  dd       y )NzInstance to set.z--namespacezXCDAP Namespace whose IAM policy we wish to set. For example: `--namespace=my-namespace`.)help)r	   AddInstanceResourceArgr   URI_FLAGRemoveFromParserr
   AddArgForPolicyFileadd_argument)parsers    r   ArgszSetIamPolicy.Args:   sN    ((1CDMM""6*  (
3  4r   c                     t        j                         }|j                  j                  j	                         }t        ||j                  |j                  |j                  |j                        }|S )N)
df
DatafusionCONCEPTSinstanceParser   r   r   r   r   )selfargsr   r   resultss        r   RunzSetIamPolicy.RunD   sX    J==))//1L"<#'#3#3Z5H5H#-#4#46G Nr   N)__name__
__module____qualname____doc__staticmethodr"   r,    r   r   r   r   *   s      4 4r   r   N)r0   
__future__r   r   r   "googlecloudsdk.api_lib.data_fusionr   r$   googlecloudsdk.callioper   &googlecloudsdk.command_lib.data_fusionr   r	   googlecloudsdk.command_lib.iamr
   r   Commandr   r2   r   r   <module>r9      s9    M &  ' ? ( G @ 3A!4<< !r   