Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
47 lines (44 sloc) 1.73 KB
// Copyright 2018 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_edit_role]
using System;
using System.Collections.Generic;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Iam.v1;
using Google.Apis.Iam.v1.Data;
public partial class CustomRoles
{
public static Role EditRole(string name, string projectId, string newTitle,
string newDescription, IList<string> newPermissions, string newStage)
{
var credential = GoogleCredential.GetApplicationDefault()
.CreateScoped(IamService.Scope.CloudPlatform);
var service = new IamService(new IamService.Initializer
{
HttpClientInitializer = credential
});
// First, get a Role using List() or Get().
string resource = $"projects/{projectId}/roles/{name}";
var role = service.Projects.Roles.Get(resource).Execute();
// Then you can update its fields.
role.Title = newTitle;
role.Description = newDescription;
role.IncludedPermissions = newPermissions;
role.Stage = newStage;
role = service.Projects.Roles.Patch(role, resource).Execute();
Console.WriteLine("Updated role: " + role.Name);
return role;
}
}
// [END iam_edit_role]
You can’t perform that action at this time.