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  }