
                            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  ej                  ej                  j                         ej"                   G d d	ej$                                      Zd
dddde_        y)z2Command to remove IAM policy for a backend bucket.    )base_classes)base)flags)scope)backend_buckets_utils)iam_utilc                   &    e Zd ZdZed        Zd Zy)RemoveIamPolicyBindingBRemove an IAM policy binding from a Compute Engine backend bucket.c                 l    t         j                  j                  |        t        j                  |        y )N)r   &GLOBAL_REGIONAL_BACKEND_BUCKET_ARG_IAMAddArgumentr    AddArgsForRemoveIamPolicyBinding)parsers    @lib/surface/compute/backend_buckets/remove_iam_policy_binding.pyArgszRemoveIamPolicyBinding.Args   s$    	00<<VD--f5    c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  j                  t        j                  |j                              }t        j                  ||      }t        j                   ||j"                  |j$                         t        j&                  |||      S )N)default_scopescope_lister)r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALcompute_flagsGetDefaultScopeListerr   GetIamPolicyr   RemoveBindingFromIamPolicymemberroleSetIamPolicy)selfargsholderr   backend_service_refpolicys         r   RunzRemoveIamPolicyBinding.Run$   s    **4+<+<+>?F]]F44FF'1188&<<V]]K	 	G 	
  #//0CVLF''TYYG --VV r   N)__name__
__module____qualname____doc__staticmethodr   r+    r   r   r
   r
      s     K6 6r   r
   r   zE
Remove an IAM policy binding from a Compute Engine backend bucket.  a    To remove an IAM policy binding for the role of
  'roles/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'

      $ {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/alpha API. The full documentation for this
    API can be found at: https://cloud.google.com/compute/)briefDESCRIPTIONEXAMPLESzAPI REFERENCEN)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   ALPHADefaultUniverseOnlyCommandr
   detailed_helpr1   r   r   <module>r?      s    9 7 ( E E T D 3 D%%++,T\\   -8 	MH(>7(  $r   