From 77e9e91159d58f34b5e19383b7159c1045fb5796 Mon Sep 17 00:00:00 2001 From: Aditya Manthramurthy Date: Wed, 1 Dec 2021 11:55:49 -0800 Subject: [PATCH] Update admin policy/user commands with new policy info API --- cmd/admin-policy-add.go | 15 +++++++++------ cmd/admin-policy-info.go | 4 ++-- cmd/admin-user-policy.go | 4 ++-- go.mod | 3 +++ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/cmd/admin-policy-add.go b/cmd/admin-policy-add.go index d35ba5fe87..16844b78b3 100644 --- a/cmd/admin-policy-add.go +++ b/cmd/admin-policy-add.go @@ -24,6 +24,7 @@ import ( "github.com/fatih/color" "github.com/minio/cli" json "github.com/minio/colorjson" + "github.com/minio/madmin-go" "github.com/minio/mc/pkg/probe" "github.com/minio/pkg/console" ) @@ -66,11 +67,11 @@ func checkAdminPolicyAddSyntax(ctx *cli.Context) { // userPolicyMessage container for content message structure type userPolicyMessage struct { op string - Status string `json:"status"` - Policy string `json:"policy,omitempty"` - PolicyJSON json.RawMessage `json:"policyJSON,omitempty"` - UserOrGroup string `json:"userOrGroup,omitempty"` - IsGroup bool `json:"isGroup"` + Status string `json:"status"` + Policy string `json:"policy,omitempty"` + PolicyInfo madmin.PolicyInfo `json:"policyInfo,omitempty"` + UserOrGroup string `json:"userOrGroup,omitempty"` + IsGroup bool `json:"isGroup"` } func (u userPolicyMessage) accountType() string { @@ -87,7 +88,9 @@ func (u userPolicyMessage) accountType() string { func (u userPolicyMessage) String() string { switch u.op { case "info": - return string(u.PolicyJSON) + buf, err := json.MarshalIndent(u.PolicyInfo, "", " ") + fatalIf(probe.NewError(err), "Unable to marshal to JSON.") + return string(buf) case "list": policyFieldMaxLen := 20 // Create a new pretty table with cols configuration diff --git a/cmd/admin-policy-info.go b/cmd/admin-policy-info.go index 7e51522dc5..08a16cfd82 100644 --- a/cmd/admin-policy-info.go +++ b/cmd/admin-policy-info.go @@ -72,13 +72,13 @@ func mainAdminPolicyInfo(ctx *cli.Context) error { client, err := newAdminClient(aliasedURL) fatalIf(err, "Unable to initialize admin connection") - buf, e := client.InfoCannedPolicy(globalContext, policyName) + pinfo, e := client.InfoCannedPolicyV2(globalContext, policyName) fatalIf(probe.NewError(e).Trace(args...), "Unable to fetch policy") printMsg(userPolicyMessage{ op: "info", Policy: policyName, - PolicyJSON: buf, + PolicyInfo: *pinfo, }) return nil diff --git a/cmd/admin-user-policy.go b/cmd/admin-user-policy.go index 033412a961..7872c302d9 100644 --- a/cmd/admin-user-policy.go +++ b/cmd/admin-user-policy.go @@ -73,10 +73,10 @@ func mainAdminUserPolicy(ctx *cli.Context) error { user, e := client.GetUserInfo(globalContext, args.Get(1)) fatalIf(probe.NewError(e).Trace(args...), "Unable to get user info") - buf, e := client.InfoCannedPolicy(globalContext, user.PolicyName) + pinfo, e := client.InfoCannedPolicyV2(globalContext, user.PolicyName) fatalIf(probe.NewError(e).Trace(args...), "Unable to fetch user policy document") - fmt.Println(string(buf)) + fmt.Println(string(pinfo.Policy)) return nil } diff --git a/go.mod b/go.mod index bf9f812377..4a46a2d3bf 100644 --- a/go.mod +++ b/go.mod @@ -64,3 +64,6 @@ require ( gopkg.in/yaml.v2 v2.4.0 maze.io/x/duration v0.0.0-20160924141736-faac084b6075 ) + + +replace github.com/minio/madmin-go => ../madmin-go