
    h                        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"                         G d	 d
e	j$                               Z ej                  ej                   j(                         G d de             Z ej                  ej                   j,                         G d de             Zy),Sets IAM policy for a Google Cloud Function.    )absolute_import)division)unicode_literals)base)flags)util)commandc                   6    e Zd ZdZdddZed        Zd Zd Zy)	SetIamPolicyr   z{description}z          To set the iam policy for `FUNCTION-1` to the policy defined in `POLICY-FILE-1` run:

            $ {command} FUNCTION-1 POLICY-FILE-1
          )DESCRIPTIONEXAMPLESc                     t        j                  | d       t        j                  |        t        j                  | d       y)z Register flags for this command.zto get IAM policy forT)hiddenN)r   AddFunctionResourceArgAddIAMPolicyFileArgAddGen2Flag)parsers    'lib/surface/functions/set_iam_policy.pyArgszSetIamPolicy.Args)   s3     
  )@A	f%	fT*    c                 ,    t        j                  |      S N)
command_v1Runselfargss     r   _RunV1zSetIamPolicy._RunV10   s    >>$r   c                 J    t        j                  || j                               S r   )
command_v2r   ReleaseTrackr   s     r   _RunV2zSetIamPolicy._RunV23   s    >>$ 1 1 344r   N)	__name__
__module____qualname____doc__detailed_helpstaticmethodr   r   r#    r   r   r   r      s4    4 %- + + 5r   r   c                       e Zd ZdZy)SetIamPolicyBetar   Nr$   r%   r&   r'   r*   r   r   r,   r,   7       4r   r,   c                       e Zd ZdZy)SetIamPolicyAlphar   Nr-   r*   r   r   r0   r0   <   r.   r   r0   N)r'   
__future__r   r   r   googlecloudsdk.callioper   $googlecloudsdk.command_lib.functionsr   r	   6googlecloudsdk.command_lib.functions.v1.set_iam_policyr
   r   6googlecloudsdk.command_lib.functions.v2.set_iam_policyr!   ReleaseTracksr"   GAFunctionResourceCommandr   BETAr,   ALPHAr0   r*   r   r   <module>r;      s    3 &  ' ( 6 5 X X D%%(()54// 5 *54 D%%**+5| 5 ,5 D%%++,5( 5 -5r   