github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/command/v7/update_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 //go:generate counterfeiter . UpdateServiceBrokerActor 13 14 type UpdateServiceBrokerActor interface { 15 GetServiceBrokerByName(serviceBrokerName string) (v7action.ServiceBroker, v7action.Warnings, error) 16 UpdateServiceBroker(serviceBrokerGUID string, model v7action.ServiceBrokerModel) (v7action.Warnings, error) 17 } 18 19 type UpdateServiceBrokerCommand struct { 20 RequiredArgs flag.ServiceBrokerArgs `positional-args:"yes"` 21 usage interface{} `usage:"CF_NAME update-service-broker SERVICE_BROKER USERNAME PASSWORD URL"` 22 relatedCommands interface{} `related_commands:"rename-service-broker, service-brokers"` 23 24 UI command.UI 25 Config command.Config 26 Actor UpdateServiceBrokerActor 27 SharedActor command.SharedActor 28 } 29 30 func (cmd *UpdateServiceBrokerCommand) Setup(config command.Config, ui command.UI) error { 31 sharedActor := sharedaction.NewActor(config) 32 ccClient, uaaClient, err := shared.GetNewClientsAndConnectToCF(config, ui, "") 33 if err != nil { 34 return err 35 } 36 37 cmd.UI = ui 38 cmd.Config = config 39 cmd.SharedActor = sharedActor 40 cmd.Actor = v7action.NewActor(ccClient, config, sharedActor, uaaClient, clock.NewClock()) 41 42 return nil 43 } 44 45 func (cmd UpdateServiceBrokerCommand) Execute(args []string) error { 46 if err := cmd.SharedActor.CheckTarget(false, false); err != nil { 47 return err 48 } 49 50 serviceBroker, warnings, err := cmd.Actor.GetServiceBrokerByName(cmd.RequiredArgs.ServiceBroker) 51 cmd.UI.DisplayWarnings(warnings) 52 if err != nil { 53 return err 54 } 55 56 user, err := cmd.Config.CurrentUser() 57 if err != nil { 58 return err 59 } 60 61 cmd.UI.DisplayTextWithFlavor( 62 "Updating service broker {{.ServiceBroker}} as {{.Username}}...", 63 map[string]interface{}{ 64 "Username": user.Name, 65 "ServiceBroker": cmd.RequiredArgs.ServiceBroker, 66 }, 67 ) 68 69 warnings, err = cmd.Actor.UpdateServiceBroker( 70 serviceBroker.GUID, 71 v7action.ServiceBrokerModel{ 72 Username: cmd.RequiredArgs.Username, 73 Password: cmd.RequiredArgs.Password, 74 URL: cmd.RequiredArgs.URL, 75 }, 76 ) 77 cmd.UI.DisplayWarnings(warnings) 78 if err != nil { 79 return err 80 } 81 82 cmd.UI.DisplayOK() 83 84 return nil 85 }