github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/command/v7/rename_service_broker_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/sharedaction" 5 "code.cloudfoundry.org/cli/actor/v7action" 6 "code.cloudfoundry.org/cli/command" 7 "code.cloudfoundry.org/cli/command/flag" 8 "code.cloudfoundry.org/cli/command/v7/shared" 9 "code.cloudfoundry.org/clock" 10 ) 11 12 type RenameServiceBrokerCommand struct { 13 RequiredArgs flag.RenameServiceBrokerArgs `positional-args:"yes"` 14 usage interface{} `usage:"CF_NAME rename-service-broker SERVICE_BROKER NEW_SERVICE_BROKER"` 15 relatedCommands interface{} `related_commands:"service-brokers, update-service-broker"` 16 17 UI command.UI 18 Config command.Config 19 Actor UpdateServiceBrokerActor 20 SharedActor command.SharedActor 21 } 22 23 func (cmd *RenameServiceBrokerCommand) Setup(config command.Config, ui command.UI) error { 24 sharedActor := sharedaction.NewActor(config) 25 ccClient, uaaClient, err := shared.GetNewClientsAndConnectToCF(config, ui, "") 26 if err != nil { 27 return err 28 } 29 30 cmd.UI = ui 31 cmd.Config = config 32 cmd.SharedActor = sharedActor 33 cmd.Actor = v7action.NewActor(ccClient, config, sharedActor, uaaClient, clock.NewClock()) 34 35 return nil 36 } 37 38 func (cmd *RenameServiceBrokerCommand) Execute(args []string) error { 39 if err := cmd.SharedActor.CheckTarget(false, false); err != nil { 40 return err 41 } 42 43 serviceBroker, warnings, err := cmd.Actor.GetServiceBrokerByName(cmd.RequiredArgs.OldServiceBrokerName) 44 cmd.UI.DisplayWarnings(warnings) 45 if err != nil { 46 return err 47 } 48 49 user, err := cmd.Config.CurrentUser() 50 if err != nil { 51 return err 52 } 53 54 cmd.UI.DisplayTextWithFlavor( 55 "Renaming service broker {{.OldName}} to {{.NewName}} as {{.Username}}...", 56 map[string]interface{}{ 57 "Username": user.Name, 58 "OldName": cmd.RequiredArgs.OldServiceBrokerName, 59 "NewName": cmd.RequiredArgs.NewServiceBrokerName, 60 }, 61 ) 62 63 warnings, err = cmd.Actor.UpdateServiceBroker( 64 serviceBroker.GUID, 65 v7action.ServiceBrokerModel{ 66 Name: cmd.RequiredArgs.NewServiceBrokerName, 67 }, 68 ) 69 cmd.UI.DisplayWarnings(warnings) 70 if err != nil { 71 return err 72 } 73 74 cmd.UI.DisplayOK() 75 76 return nil 77 }