ó
    €Ï¼
  ã                   ó\   • S r SSKJr  SSKJr  SSKJr  SSKJr  S rS r	S r
S	 rS
 rS rg)zDProvides helper methods for dealing with JSON files for Spanner IAM.é    )Ú	databases)Ú	instances)Úapis)Úiam_utilc                 óÌ   • [         R                  " SS5      n[        R                  " U 5      n[        R
                  " UR                  XAU5        [        R                  " X5      $ )z0Adds a policy binding to an instance IAM policy.ÚspannerÚv1)r   ÚGetMessagesModuler   ÚGetIamPolicyr   ÚAddBindingToIamPolicyÚBindingÚ	SetPolicy)Úinstance_refÚmemberÚroleÚmsgsÚpolicys        Ú-lib/googlecloudsdk/command_lib/spanner/iam.pyÚAddInstanceIamPolicyBindingr      óK   € ä	×	Ò	 	¨4Ó	0€$Ü×!Ò! ,Ó/€&Ü
× Ò  §¡¨v¸tÔDÜ	×	Ò	˜\Ó	2Ð2ó    c                 ó¤   • [         R                  " SS5      n[        R                  " UUR                  5      u  p[
        R                  " XU5      $ )z#Sets the IAM policy on an instance.r   r	   )r   r
   r   ÚParsePolicyFileWithUpdateMaskÚPolicyr   r   )r   r   r   Ú
field_masks       r   ÚSetInstanceIamPolicyr       sD   € ä	×	Ò	 	¨4Ó	0€$Ü×=Ò=¸fØ>B¿k¹kóKÑ€&ä	×	Ò	˜\°:Ó	>Ð>r   c                 óˆ   • [         R                  " U 5      n[        R                  " X1U5        [         R                  " X5      $ )z5Removes a policy binding from an instance IAM policy.)r   r   r   ÚRemoveBindingFromIamPolicyr   )r   r   r   r   s       r   ÚRemoveInstanceIamPolicyBindingr   (   ó3   € ä×!Ò! ,Ó/€&Ü
×%Ò% f°dÔ;Ü	×	Ò	˜\Ó	2Ð2r   c                 óÌ   • [         R                  " SS5      n[        R                  " U 5      n[        R
                  " UR                  XAU5        [        R                  " X5      $ )z/Adds a policy binding to a database IAM policy.r   r	   )r   r
   r   r   r   r   r   r   )Údatabase_refr   r   r   r   s        r   ÚAddDatabaseIamPolicyBindingr#   /   r   r   c                 óœ   • [         R                  " SS5      n[        R                  " XR                  5      n[
        R                  " X5      $ )z"Sets the IAM policy on a database.r   r	   )r   r
   r   ÚParsePolicyFiler   r   r   )r"   r   r   s      r   ÚSetDatabaseIamPolicyr&   7   s9   € ä	×	Ò	 	¨4Ó	0€$Ü×#Ò# F¯K©KÓ8€&Ü	×	Ò	˜\Ó	2Ð2r   c                 óˆ   • [         R                  " U 5      n[        R                  " X1U5        [         R                  " X5      $ )z4Removes a policy binding from a database IAM policy.)r   r   r   r   r   )r"   r   r   r   s       r   ÚRemoveDatabaseIamPolicyBindingr(   >   r    r   N)Ú__doc__Úgooglecloudsdk.api_lib.spannerr   r   Úgooglecloudsdk.api_lib.utilr   Úgooglecloudsdk.command_lib.iamr   r   r   r   r#   r&   r(   © r   r   Ú<module>r.      s7   ðñ Kõ 5Ý 4Ý ,Ý 3ò3ò?ò3ò3ò3ó3r   