
                             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?Command to set an IAM policy binding on a Data Fusion instance.    )absolute_import)division)unicode_literals)
datafusion)base)data_fusion_iam_util)resource_args)iam_utilc                   .    \ rS rSrSr\S 5       rS rSrg)AddIamPolicyBinding   a2  Adds an IAM policy bindng to a Cloud Data Fusion instance.

## EXAMPLES

To set someone@example.com to have `roles/datafusion.admin` permission for
instance `my-instance`, in project `my-project`, location in `my-location`,
run:

$ {command} my-instance --location=my-location \
  --member=user:someone@example.com --role=roles/datafusion.admin

To run the same command for a specific namespace on the instance, run:

$ {command} my-instance --location=my-location \
  --member=user:someone@example.com --role=roles/datafusion.admin \
  --namespace=my-namespace
c                     [         R                  " U S5        [        R                  R	                  U 5        [
        R                  " U 5        U R                  SSS9  g )NzInstance to add IAM binding.z--namespacez[CDAP Namespace whose IAM policy we wish to append. For example: `--namespace=my-namespace`.)help)r	   AddInstanceResourceArgr   URI_FLAGRemoveFromParserr
   AddArgsForAddIamPolicyBindingadd_argument)parsers    1lib/surface/data_fusion/add_iam_policy_binding.pyArgsAddIamPolicyBinding.Args/   sN    ((1OPMM""6***62
3  4    c                    [         R                  " 5       nUR                  R                  R	                  5       nUR
                  (       dM  UR                  R                  UR                  5       S9nUR                  R                  R                  U5      nO]UR                  R                  UR                  5       < SUR
                  < 3S9nUR                  R                  R                  U5      n[        R                  " UR                  R                   UUR"                  UR$                  5        [&        R(                  " X1R
                  UUR                  UR                  5      nU$ )N)resourcez/namespaces/)df
DatafusionCONCEPTSinstanceParse	namespacemessages7DatafusionProjectsLocationsInstancesGetIamPolicyRequestRelativeNameclientprojects_locations_instancesGetIamPolicyADatafusionProjectsLocationsInstancesNamespacesGetIamPolicyRequest'projects_locations_instances_namespacesr
   AddBindingToIamPolicyBindingmemberroler   DoSetIamPolicy)selfargsr   instance_refget_request
iam_policyresultss          r   RunAddIamPolicyBinding.Run:   s-   J==))//1L>>''__,,. ` 0k$$AANN
j ''ii$$&8 j 9k $$LLYY
j "":#6#6#>#>#-#';;#'99.
 #11,2<2<2E2E2<2C2CEG Nr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r5   __static_attributes__r7   r   r   r   r      s     $ 4 4r   r   N)r<   
__future__r   r   r   "googlecloudsdk.api_lib.data_fusionr   r   googlecloudsdk.callioper   &googlecloudsdk.command_lib.data_fusionr   r	   googlecloudsdk.command_lib.iamr
   Commandr   r7   r   r   <module>rE      s3    F &  ' ? ( G @ 37$,, 7r   