
                            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?Command to add-iam-policy-binding to a Dataplex asset resource.    )absolute_import)division)unicode_literals)asset)
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)AddIamPolicyBindingz5Adds IAM policy binding to a Dataplex asset resource.EXAMPLESa            To add an IAM policy binding for the role of `roles/dataplex.viewer`
          for the user `test-user@gmail.com` to asset `test-asset` within zone
          `test-zone` in lake `test-lake` in location `us-central`, run:

            $ {command} test-asset --location=us-central1 --lake=test-lake --zone=test-zone --role=roles/dataplex.viewer --member=user:foo@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	   AddAssetResourceArgr
   AddArgsForAddIamPolicyBinding)parsers    5lib/surface/dataplex/assets/add_iam_policy_binding.pyArgszAddIamPolicyBinding.Args.   s!    %%f.MN**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	asset_refresults       r   RunzAddIamPolicyBinding.Run4   s=     ##))+I&&y$++tyyIF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    F &  ' 1 F ( = 3 D%%++T->->-A-AB$,,  Cr   