
                            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
  SS
KJr  \R$                  " \R&                  R(                  5      \R*                   " S S\R,                  5      5       5       r\R$                  " \R&                  R0                  5      \R*                   " S S\5      5       5       rSSSSS.\l        g)z)Command to set IAM policy for a resource.    )absolute_import)division)unicode_literals)base_classes)base)flags)scope)backend_buckets_utils)iam_utilc                   .    \ rS rSrSr\S 5       rS rSrg)AddIamPolicyBinding   =Add an IAM policy binding to a Compute Engine backend bucket.c                 n    [         R                  R                  U 5        [        R                  " U 5        g )N)r   &GLOBAL_REGIONAL_BACKEND_BUCKET_ARG_IAMAddArgumentr   AddArgsForAddIamPolicyBinding)parsers    =lib/surface/compute/backend_buckets/add_iam_policy_binding.pyArgsAddIamPolicyBinding.Args#   s$    	00<<VD**62    c                    [         R                  " U R                  5       5      nUR                  n[        R
                  R                  UUR                  [        R                  R                  [        R                  " UR                  5      S9n[        R                  " XC5      n[        R                   " UR"                  R$                  XQR&                  UR(                  5        [        R*                  " XCU5      $ )N)default_scopescope_lister)r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALcompute_flagsGetDefaultScopeListerr
   GetIamPolicyr   AddBindingToIamPolicymessagesBindingmemberroleSetIamPolicy)selfargsholderr   backend_bucket_refpolicys         r   RunAddIamPolicyBinding.Run(   s    **4+<+<+>?F]]F44FF'1188&<<V]]K	 	G 	M  #//0BKF""dii !--F r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r2   __static_attributes__r4   r   r   r   r      s     F3 3r   r   c                       \ rS rSrSrSrg)AddIamPolicyBindingAlpha<   r   r4   N)r5   r6   r7   r8   r9   r;   r4   r   r   r=   r=   <   s     Fr   r=   r   zB
  Add an IAM policy binding to a Compute Engine backend bucket.  a    To add an IAM policy binding for the role of
  'compute.loadBalancerServiceUser' for the user 'test-user@gmail.com' with
  backend bucket 'my-backend-bucket' and region 'REGION', run:

      $ {command} my-backend-bucket --region=REGION         --member='user:test-user@gmail.com'         --role='roles/compute.loadBalancerServiceUser'

  To add an IAM policy binding for the role of
  'compute.loadBalancerServiceUser' for the user 'test-user@gmail.com' with
  global backend bucket 'my-backend-bucket', run either of the following:

      $ {command} my-backend-bucket --global         --member='user:test-user@gmail.com'         --role='roles/compute.loadBalancerServiceUser'

      $ {command} my-backend-bucket         --member='user:test-user@gmail.com'         --role='roles/compute.loadBalancerServiceUser'

  See https://cloud.google.com/iam/docs/managing-policies for details of
  policy role and member types.
  z   This command uses the compute API. The full documentation for this
    API can be found at: https://cloud.google.com/compute/)briefDESCRIPTIONEXAMPLESzAPI REFERENCEN)r9   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r$   r	   r!   2googlecloudsdk.command_lib.compute.backend_bucketsr
   googlecloudsdk.command_lib.iamr   ReleaseTracksr   BETADefaultUniverseOnlyCommandr   ALPHAr=   detailed_helpr4   r   r   <module>rN      s    0 &  ' 7 ( E E T D 3 D%%**+$,,   ,8 D%%++,F2 F  -F
 	H	E	0>A#%  !r   