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