Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
44 lines (41 sloc) 1.45 KB
// Copyright 2019 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// [START iam_modify_policy_remove_member]
using System.Linq;
using Google.Apis.CloudResourceManager.v1.Data;
public partial class AccessManager
{
public static Policy RemoveMember(Policy policy, string role, string member)
{
try
{
var binding = policy.Bindings.First(x => x.Role == role);
if (binding.Members.Count != 0 && binding.Members.Contains(member))
{
binding.Members.Remove(member);
}
if (binding.Members.Count == 0)
{
policy.Bindings.Remove(binding);
}
return policy;
}
catch (System.InvalidOperationException e)
{
System.Diagnostics.Debug.WriteLine("Role does not exist in policy: \n" + e.ToString());
return policy;
}
}
}
// [END iam_modify_policy_remove_member]
You can’t perform that action at this time.