
    W	                        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"                  j$                  ej"                  j&                         G d
 dej(                               Zy)z>`gcloud dataplex environments add-iam-policy-binding` command.    )absolute_import)division)unicode_literals)environment)
exceptions)base)resource_args)iam_utilc                   X    e Zd ZdZddiZed        Z ej                  d      d        Z	y)AddIamPolicyBindingz2Adds IAM policy binding to a Dataplex Environment.EXAMPLESa  
          To add an IAM policy binding for the role of `roles/dataplex.viewer`
          for the user 'testuser@gmail.com' to environment `test-environment` within lake
          `test-lake` in location `us-central`, run:

            $ {command} test-environment --project=test-project --location=us-central1 --lake=test-lake --role=roles/dataplex.viewer --member=user:testuser@gmail.com

          See https://cloud.google.com/dataplex/docs/iam-roles for details of
          policy role and member types.
          c                 Z    t        j                  | d       t        j                  |        y )Nzto add IAM policy binding to.)r	   AddEnvironmentResourceArgr
   AddArgsForAddIamPolicyBinding)parsers    ;lib/surface/dataplex/environments/add_iam_policy_binding.pyArgszAddIamPolicyBinding.Args.   s&    ++F,KM **62    z-Status code: {status_code}. {status_message}.c                     |j                   j                  j                         }t        j                  ||j                  |j
                        }|S )N)CONCEPTSr   Parser   memberrole)selfargsenvironment_refresults       r   RunzAddIamPolicyBinding.Run5   s@     mm//557O,,_dkk-1YY8FMr   N)
__name__
__module____qualname____doc__detailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptionr    r   r   r   r      sO    : 	- 3 3 544577r   r   N)r"   
__future__r   r   r   googlecloudsdk.api_lib.dataplexr   googlecloudsdk.api_lib.utilr   r%   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataplexr	   googlecloudsdk.command_lib.iamr
   ReleaseTracksReleaseTrackALPHAGACommandr   r'   r   r   <module>r3      sj    E &  ' 7 F ( = 3 D%%++T->->-A-AB$,,  Cr   