
    	                        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 dd	lmZ d
ddZ ej$                  ej&                  j(                         G d de	j*                               Z ej$                  ej&                  j.                         G d de             Z ej$                  ej&                  j2                         G d de             Zy);Removes an IAM policy binding from a Google Cloud Function.    )absolute_import)division)unicode_literals)base)flags)util)command)iam_utilz{description}z          To remove the iam policy binding for `FUNCTION-1` from role
          `ROLE-1` for member `MEMBER-1` run:

            $ {command} FUNCTION-1 --member=MEMBER-1 --role=ROLE-1
          )DESCRIPTIONEXAMPLESc                   0    e Zd ZdZeZed        Zd Zd Z	y)RemoveIamPolicyBindingr   c                     t        j                  | d       t        j                  |        t        j                  | d       y)z!Registers flags for this command.z!to remove IAM policy binding fromT)hiddenN)r   AddFunctionResourceArgr    AddArgsForRemoveIamPolicyBindingAddGen2Flag)parsers    2lib/surface/functions/remove_iam_policy_binding.pyArgszRemoveIamPolicyBinding.Args-   s3     
  )LM--f5	fT*    c                 ,    t        j                  |      S N)
command_v1Runselfargss     r   _RunV1zRemoveIamPolicyBinding._RunV14   s    >>$r   c                 J    t        j                  || j                               S r   )
command_v2r   ReleaseTrackr   s     r   _RunV2zRemoveIamPolicyBinding._RunV27   s    >>$ 1 1 344r   N)
__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpstaticmethodr   r    r$    r   r   r   r   '   s&    C -+ + 5r   r   c                       e Zd ZdZy)RemoveIamPolicyBindingBetar   Nr%   r&   r'   r(   r,   r   r   r.   r.   ;       Cr   r.   c                       e Zd ZdZy)RemoveIamPolicyBindingAlphar   Nr/   r,   r   r   r2   r2   @   r0   r   r2   N)r(   
__future__r   r   r   googlecloudsdk.callioper   $googlecloudsdk.command_lib.functionsr   r	   Agooglecloudsdk.command_lib.functions.v1.remove_iam_policy_bindingr
   r   Agooglecloudsdk.command_lib.functions.v2.remove_iam_policy_bindingr"   googlecloudsdk.command_lib.iamr   r)   ReleaseTracksr#   GAFunctionResourceCommandr   BETAr.   ALPHAr2   r,   r   r   <module>r>      s    B &  ' ( 6 5 c c 3 # D%%(()5T99 5 *5& D%%**+D!7 D ,D D%%++,D"< D -Dr   