
                             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  ej                  ej                  j                        ej                  ej                    G d dej"                                             Zy	)
zB`gcloud dataplex governance-rules add-iam-policy-binding` command.    )governance_rule)
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)AddIamPolicyBindingz5Add IAM policy binding to a Dataplex Governance Rule.EXAMPLESa            To add an IAM policy binding for the role of `roles/dataplex.viewer`
          for the user `test-user@gmail.com` to Governance Rule `test-governance-rule` in
          project `test-project` and in location `us-central1`, run:

            $ {command} test-governance-rule --project=test-project  --location=us-central1 --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   AddGovernanceRuleResourceArgr   AddArgsForAddIamPolicyBinding)parsers    ?lib/surface/dataplex/governance_rules/add_iam_policy_binding.pyArgszAddIamPolicyBinding.Args,   s&    ../ **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governance_rule_refresults       r   RunzAddIamPolicyBinding.Run4   sC     --77==?00T[[$))F Mr   N)
__name__
__module____qualname____doc__detailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptionr    r   r   r	   r	      sQ     >  	- 3 3 5445r   r	   N)r   googlecloudsdk.api_lib.dataplexr   googlecloudsdk.api_lib.utilr   r"   googlecloudsdk.callioper   #googlecloudsdk.command_lib.dataplexr   googlecloudsdk.command_lib.iamr   ReleaseTracksReleaseTrackALPHADefaultUniverseOnlyHiddenCommandr	   r$   r   r   <module>r0      sn    I < F ( = 3 D%%++, $,,     - r   