github.com/loafoe/cli@v7.1.0+incompatible/command/v7/delete_service_broker_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/actionerror" 5 "code.cloudfoundry.org/cli/command/flag" 6 ) 7 8 type DeleteServiceBrokerCommand struct { 9 BaseCommand 10 11 RequiredArgs flag.ServiceBroker `positional-args:"yes"` 12 usage interface{} `usage:"CF_NAME delete-service-broker SERVICE_BROKER [-f]\n\n"` 13 Force bool `short:"f" description:"Force deletion without confirmation"` 14 relatedCommands interface{} `related_commands:"delete-service, purge-service-offering, service-brokers"` 15 } 16 17 func (cmd DeleteServiceBrokerCommand) Execute(args []string) error { 18 err := cmd.SharedActor.CheckTarget(false, false) 19 if err != nil { 20 return err 21 } 22 23 serviceBrokerName := cmd.RequiredArgs.ServiceBroker 24 if !cmd.Force { 25 confirmed, promptErr := cmd.UI.DisplayBoolPrompt(false, "Really delete the service broker {{.ServiceBroker}}?", map[string]interface{}{ 26 "ServiceBroker": serviceBrokerName, 27 }) 28 29 if promptErr != nil { 30 return promptErr 31 } 32 33 if !confirmed { 34 cmd.UI.DisplayText("'{{.ServiceBroker}}' has not been deleted.", map[string]interface{}{ 35 "ServiceBroker": serviceBrokerName, 36 }) 37 return nil 38 } 39 } 40 41 cmd.UI.DisplayTextWithFlavor("Deleting service broker {{.ServiceBroker}}...", 42 map[string]interface{}{ 43 "ServiceBroker": serviceBrokerName, 44 }) 45 46 serviceBroker, warnings, err := cmd.Actor.GetServiceBrokerByName(serviceBrokerName) 47 48 cmd.UI.DisplayWarnings(warnings) 49 if err != nil { 50 if _, ok := err.(actionerror.ServiceBrokerNotFoundError); ok { 51 cmd.UI.DisplayText("Service broker '{{.ServiceBroker}}' does not exist.", map[string]interface{}{ 52 "ServiceBroker": serviceBrokerName, 53 }) 54 cmd.UI.DisplayOK() 55 return nil 56 } 57 return err 58 } 59 60 warnings, err = cmd.Actor.DeleteServiceBroker(serviceBroker.GUID) 61 62 cmd.UI.DisplayWarnings(warnings) 63 if err != nil { 64 return err 65 } 66 67 cmd.UI.DisplayOK() 68 69 return nil 70 }