
    f	                        S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SS	KJr  \R"                  " \R$                  R&                  5       " S
 S\	R(                  5      5       r\R"                  " \R$                  R,                  5       " S S\5      5       r\R"                  " \R$                  R0                  5       " S S\5      5       rg)z6Add an IAM policy binding for a Google Cloud Function.    )absolute_import)division)unicode_literals)base)flags)util)command)iam_utilc                   >    \ rS rSrSrSSS.r\S 5       rS rS r	S	r
g
)AddIamPolicyBinding   7Adds an IAM policy binding for a Google Cloud Function.z{description}z          To add the iam policy binding for `FUNCTION-1` to role
          `ROLE-1` for member `MEMBER-1` run:

            $ {command} FUNCTION-1 --member=MEMBER-1 --role=ROLE-1
          )DESCRIPTIONEXAMPLESc                     [         R                  " U S5        [        R                  " U 5        [         R                  " U SS9  g)zHRegisters flags for this command.

Args:
  parser: The argparse parser.
zto add IAM policy binding forT)hiddenN)r   AddFunctionResourceArgr
   AddArgsForAddIamPolicyBindingAddGen2Flag)parsers    /lib/surface/functions/add_iam_policy_binding.pyArgsAddIamPolicyBinding.Args+   s3     
  )HI**62	fT*    c                 .    [         R                  " U5      $ N)
command_v1Runselfargss     r   _RunV1AddIamPolicyBinding._RunV17   s    >>$r   c                 J    [         R                  " XR                  5       5      $ r   )
command_v2r   ReleaseTrackr   s     r   _RunV2AddIamPolicyBinding._RunV2:   s    >>$ 1 1 344r    N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r"   r'   __static_attributes__r)   r   r   r   r      s4    ? %- 	+ 	+ 5r   r   c                       \ rS rSrSrSrg)AddIamPolicyBindingBeta>   r   r)   Nr*   r+   r,   r-   r.   r1   r)   r   r   r3   r3   >       ?r   r3   c                       \ rS rSrSrSrg)AddIamPolicyBindingAlphaC   r   r)   Nr5   r)   r   r   r8   r8   C   r6   r   r8   N)r.   
__future__r   r   r   googlecloudsdk.callioper   $googlecloudsdk.command_lib.functionsr   r   >googlecloudsdk.command_lib.functions.v1.add_iam_policy_bindingr	   r   >googlecloudsdk.command_lib.functions.v2.add_iam_policy_bindingr%   googlecloudsdk.command_lib.iamr
   ReleaseTracksr&   GAFunctionResourceCommandr   BETAr3   ALPHAr8   r)   r   r   <module>rE      s    = &  ' ( 6 5 ` ` 3 D%%(()5$66 5 *5@ D%%**+@1 @ ,@ D%%++,@6 @ -@r   