github.com/cloudfoundry/cli@v7.1.0+incompatible/command/v7/rename_service_broker_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  	"code.cloudfoundry.org/cli/resources"
     6  )
     7  
     8  type RenameServiceBrokerCommand struct {
     9  	BaseCommand
    10  
    11  	RequiredArgs    flag.RenameServiceBrokerArgs `positional-args:"yes"`
    12  	usage           interface{}                  `usage:"CF_NAME rename-service-broker SERVICE_BROKER NEW_SERVICE_BROKER"`
    13  	relatedCommands interface{}                  `related_commands:"service-brokers, update-service-broker"`
    14  }
    15  
    16  func (cmd *RenameServiceBrokerCommand) Execute(args []string) error {
    17  	if err := cmd.SharedActor.CheckTarget(false, false); err != nil {
    18  		return err
    19  	}
    20  
    21  	serviceBroker, warnings, err := cmd.Actor.GetServiceBrokerByName(cmd.RequiredArgs.OldServiceBrokerName)
    22  	cmd.UI.DisplayWarnings(warnings)
    23  	if err != nil {
    24  		return err
    25  	}
    26  
    27  	user, err := cmd.Config.CurrentUser()
    28  	if err != nil {
    29  		return err
    30  	}
    31  
    32  	cmd.UI.DisplayTextWithFlavor(
    33  		"Renaming service broker {{.OldName}} to {{.NewName}} as {{.Username}}...",
    34  		map[string]interface{}{
    35  			"Username": user.Name,
    36  			"OldName":  cmd.RequiredArgs.OldServiceBrokerName,
    37  			"NewName":  cmd.RequiredArgs.NewServiceBrokerName,
    38  		},
    39  	)
    40  
    41  	warnings, err = cmd.Actor.UpdateServiceBroker(
    42  		serviceBroker.GUID,
    43  		resources.ServiceBroker{
    44  			Name: cmd.RequiredArgs.NewServiceBrokerName,
    45  		},
    46  	)
    47  	cmd.UI.DisplayWarnings(warnings)
    48  	if err != nil {
    49  		return err
    50  	}
    51  
    52  	cmd.UI.DisplayOK()
    53  
    54  	return nil
    55  }