github.com/loafoe/cli@v7.1.0+incompatible/command/v7/unset_org_role_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/command/flag" 5 "code.cloudfoundry.org/cli/command/translatableerror" 6 ) 7 8 type UnsetOrgRoleCommand struct { 9 BaseCommand 10 11 Args flag.OrgRoleArgs `positional-args:"yes"` 12 IsClient bool `long:"client" description:"Unassign an org role for a client-id of a (non-user) service account"` 13 Origin string `long:"origin" description:"Indicates the identity provider to be used for authentication"` 14 usage interface{} `usage:"CF_NAME unset-org-role USERNAME ORG ROLE\n CF_NAME unset-org-role USERNAME ORG ROLE [--client]\n CF_NAME unset-org-role USERNAME ORG ROLE [--origin ORIGIN]\n\nROLES:\n OrgManager - Invite and manage users, select and change plans, and set spending limits\n BillingManager - Create and manage the billing account and payment info\n OrgAuditor - Read-only access to org info and reports"` 15 relatedCommands interface{} `related_commands:"org-users, set-space-role"` 16 } 17 18 func (cmd *UnsetOrgRoleCommand) Execute(args []string) error { 19 err := cmd.validateFlags() 20 if err != nil { 21 return err 22 } 23 24 err = cmd.SharedActor.CheckTarget(false, false) 25 if err != nil { 26 return err 27 } 28 29 currentUser, err := cmd.Config.CurrentUser() 30 if err != nil { 31 return err 32 } 33 34 cmd.UI.DisplayTextWithFlavor("Removing role {{.RoleType}} from user {{.TargetUserName}} in org {{.OrgName}} as {{.CurrentUserName}}...", map[string]interface{}{ 35 "RoleType": cmd.Args.Role.Role, 36 "TargetUserName": cmd.Args.Username, 37 "OrgName": cmd.Args.Organization, 38 "CurrentUserName": currentUser.Name, 39 }) 40 41 roleType, err := convertRoleType(cmd.Args.Role) 42 if err != nil { 43 return err 44 } 45 46 org, warnings, err := cmd.Actor.GetOrganizationByName(cmd.Args.Organization) 47 cmd.UI.DisplayWarnings(warnings) 48 if err != nil { 49 return err 50 } 51 52 warnings, err = cmd.Actor.DeleteOrgRole(roleType, org.GUID, cmd.Args.Username, cmd.Origin, cmd.IsClient) 53 cmd.UI.DisplayWarnings(warnings) 54 if err != nil { 55 return err 56 } 57 58 cmd.UI.DisplayOK() 59 60 return nil 61 } 62 63 func (cmd UnsetOrgRoleCommand) validateFlags() error { 64 if cmd.IsClient && cmd.Origin != "" { 65 return translatableerror.ArgumentCombinationError{ 66 Args: []string{"--client", "--origin"}, 67 } 68 } 69 return nil 70 }