
    
                         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
 r " S S\	R                   5      rg)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    [         R                  " UUR                  5      n[         R                  " XXSU5      $ )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. 
	,	,~
A A    c                   .    \ rS rSrSr\S 5       rS rSrg)SetIamPolicy*   a  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                     [         R                  " U S5        [        R                  R	                  U 5        [
        R                  " U 5        U R                  SSS9  g )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   ArgsSetIamPolicy.Args:   sN    ((1CDMM""6*  (
3  4r   c                     [         R                  " 5       nUR                  R                  R	                  5       n[        X1R                  UR                  UR                  UR                  5      nU$ )N)
df
DatafusionCONCEPTSinstanceParser   r   r   r   r   )selfargsr   r   resultss        r   RunSetIamPolicy.RunD   sV    J==))//1L"<#'#3#3Z5H5H#-#4#46G Nr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr#   r.   __static_attributes__r0   r   r   r   r   *   s      4 4r   r   N)r5   
__future__r   r   r   "googlecloudsdk.api_lib.data_fusionr   r&   googlecloudsdk.callioper   &googlecloudsdk.command_lib.data_fusionr   r	   googlecloudsdk.command_lib.iamr
   r   Commandr   r0   r   r   <module>r>      s9    M &  ' ? ( G @ 3A!4<< !r   