From 8f5f86588ed725bc5cbd55de260560486d1cf2ac Mon Sep 17 00:00:00 2001 From: srinandan <13950006+srinandan@users.noreply.github.com> Date: Tue, 14 Jun 2022 10:05:15 -0700 Subject: [PATCH] support other built-in roles #24 --- apiclient/iam.go | 10 ++++++++++ cmd/iam/create.go | 3 ++- cmd/iam/iam.go | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/apiclient/iam.go b/apiclient/iam.go index 7ccc30612..42051eee0 100644 --- a/apiclient/iam.go +++ b/apiclient/iam.go @@ -94,6 +94,16 @@ func CreateIAMServiceAccount(name string, iamRole string) (err error) { role = "roles/apigeeconnect.Agent" case "watcher": role = "roles/apigee.runtimeAgent" + case "admin": + role = "roles/apigee.admin" + case "readonly-admin": + role = "roles/apigee.readOnlyAdmin" + case "api-admin": + role = "roles/apigee.apiAdminV2" + case "dev-admin": + role = "roles/apigee.developerAdmin" + case "env-admin": + role = "roles/apigee.environmentAdmin" case "all": role = "not-necessary-to-add-this" default: diff --git a/cmd/iam/create.go b/cmd/iam/create.go index cd93fd494..8fb045a47 100644 --- a/cmd/iam/create.go +++ b/cmd/iam/create.go @@ -16,6 +16,7 @@ package iam import ( "fmt" + "strings" "github.com/apigee/apigeecli/apiclient" "github.com/spf13/cobra" @@ -53,7 +54,7 @@ func init() { CallCmd.Flags().BoolVarP(&generateName, "gen", "g", false, "Generate account name") CallCmd.Flags().StringVarP(&roleType, "role", "r", - "", "IAM Role Type") + "", "IAM Role Type, must be one of: "+strings.Join(roles, ", ")) _ = CallCmd.MarkFlagRequired("prj") _ = CallCmd.MarkFlagRequired("role") diff --git a/cmd/iam/iam.go b/cmd/iam/iam.go index 06e10df9a..6bd248b3a 100644 --- a/cmd/iam/iam.go +++ b/cmd/iam/iam.go @@ -29,7 +29,8 @@ var Cmd = &cobra.Command{ var name, projectID, roleType string var generateName, wid bool -var roles = []string{"mart", "analytics", "all", "logger", "connect", "cassandra", "watcher", "sync"} +var roles = []string{"mart", "analytics", "all", "logger", "connect", "cassandra", "watcher", + "sync", "admin", "api-admin", "env-admin", "dev-admin", "readonly-admin"} func init() { Cmd.AddCommand(CallCmd)