
                            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  \R                  " \R                  R                  5       " S S\R                   5      5       r\R                  " \R                  R$                  5       " S	 S
\5      5       r\R                  " \R                  R(                  5       " S S\5      5       rg)z6Add an IAM policy binding for a Google Cloud Function.    )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._RunV14   s    >>$r   c                 J    [         R                  " XR                  5       5      $ r   )
command_v2r   ReleaseTrackr   s     r   _RunV2AddIamPolicyBinding._RunV27   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+   r.   r&   r   r   r0   r0   ;       ?r   r0   c                       \ rS rSrSrSrg)AddIamPolicyBindingAlpha@   r   r&   Nr2   r&   r   r   r5   r5   @   r3   r   r5   N)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	   BETAr0   ALPHAr5   r&   r   r   <module>rA      s    = ) 6 5 ` ` 3 D%%(()5$66 5 *5@ D%%**+@1 @ ,@ D%%++,@6 @ -@r   