github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/command/v7/update_service_broker_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/command" 5 "code.cloudfoundry.org/cli/command/flag" 6 "code.cloudfoundry.org/cli/resources" 7 ) 8 9 type UpdateServiceBrokerCommand struct { 10 BaseCommand 11 12 PositionalArgs flag.ServiceBrokerArgs `positional-args:"yes"` 13 usage any `usage:"CF_NAME update-service-broker SERVICE_BROKER USERNAME PASSWORD URL\n CF_NAME update-service-broker SERVICE_BROKER USERNAME URL (omit password to specify interactively or via environment variable)\n\nWARNING:\n Providing your password as a command line option is highly discouraged\n Your password may be visible to others and may be recorded in your shell history"` 14 relatedCommands any `related_commands:"rename-service-broker, service-brokers"` 15 envPassword any `environmentName:"CF_BROKER_PASSWORD" environmentDescription:"Password associated with user. Overridden if PASSWORD argument is provided" environmentDefault:"password"` 16 } 17 18 func (cmd UpdateServiceBrokerCommand) Execute(args []string) error { 19 if err := cmd.SharedActor.CheckTarget(false, false); err != nil { 20 return err 21 } 22 23 brokerName, username, password, url, err := promptUserForBrokerPasswordIfRequired(cmd.PositionalArgs, cmd.UI) 24 if err != nil { 25 return err 26 } 27 28 serviceBroker, warnings, err := cmd.Actor.GetServiceBrokerByName(brokerName) 29 cmd.UI.DisplayWarnings(warnings) 30 if err != nil { 31 return err 32 } 33 34 user, err := cmd.Actor.GetCurrentUser() 35 if err != nil { 36 return err 37 } 38 39 return updateServiceBroker(cmd.UI, cmd.Actor, user.Name, serviceBroker.GUID, brokerName, username, password, url) 40 } 41 42 func updateServiceBroker(ui command.UI, actor Actor, user, brokerGUID, brokerName, username, password, url string) error { 43 ui.DisplayTextWithFlavor( 44 "Updating service broker {{.ServiceBroker}} as {{.Username}}...", 45 map[string]any{ 46 "Username": user, 47 "ServiceBroker": brokerName, 48 }, 49 ) 50 51 warnings, err := actor.UpdateServiceBroker( 52 brokerGUID, 53 resources.ServiceBroker{ 54 Username: username, 55 Password: password, 56 URL: url, 57 }, 58 ) 59 ui.DisplayWarnings(warnings) 60 if err != nil { 61 return err 62 } 63 64 ui.DisplayOK() 65 66 return nil 67 }