
    	                        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)zI`gcloud dataplex data-attribute-bindings set-iam-policy-binding` command.    )absolute_import)division)unicode_literals)data_taxonomy)
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)SetIamPolicyzSet an IAM policy binding for a Dataplex Data Attribute Binding as defined in a JSON or YAML file.

  See https://cloud.google.com/iam/docs/managing-policies for details of
    the policy file format and contents.
  EXAMPLESa  
          The following command will read an IAM policy defined in a JSON file
          `policy.json` and set it for the Dataplex Data Attribute Binding `test-attribute-binding` within
          project `test-project` in location `us-central1`:

            $ {command} test-attribute-binding --project=test-project --location=us-central1 policy.json

            where policy.json is the relative path to the json file.

          c                 Z    t        j                  | d       t        j                  |        y )Nzto set IAM policy to.)r	   "AddDataAttributeBindingResourceArgr
   AddArgForPolicyFile)parsers    >lib/surface/dataplex/data_attribute_bindings/set_iam_policy.pyArgszSetIamPolicy.Args2   s$    44V5LN  (    z-Status code: {status_code}. {status_message}.c                     |j                   j                  j                         }t        j                  ||j
                        }|S )N)CONCEPTSdata_attribute_bindingParser   (DataAttributeBindingSetIamPolicyFromFilepolicy_file)selfargsattribute_binding_refresults       r   RunzSetIamPolicy.Run8   s=     !MM@@FFHCCt//1FMr   N)
__name__
__module____qualname____doc__detailed_helpstaticmethodr   gcloud_exception CatchHTTPErrorRaiseHTTPExceptionr    r   r   r   r      sQ     
- ) )
 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>r4      sj    P &  ' 9 F ( = 3 D%%++T->->-A-AB!4<< ! C!r   