Example #1
0
func (cmd *Scale) Run(c *cli.Context) {
	currentApp := cmd.appReq.GetApplication()
	cmd.ui.Say("Scaling app %s in org %s / space %s as %s...",
		terminal.EntityNameColor(currentApp.Name),
		terminal.EntityNameColor(cmd.config.Organization.Name),
		terminal.EntityNameColor(cmd.config.Space.Name),
		terminal.EntityNameColor(cmd.config.Username()),
	)

	changedApp := cf.Application{
		Guid: currentApp.Guid,
	}

	memory, err := extractMegaBytes(c.String("m"))
	if err != nil {
		cmd.ui.Say("Invalid value for memory")
		cmd.ui.FailWithUsage(c, "scale")
		return
	}
	changedApp.Memory = memory
	changedApp.Instances = c.Int("i")

	apiResponse := cmd.appRepo.Scale(changedApp)
	if apiResponse.IsNotSuccessful() {
		cmd.ui.Failed(apiResponse.Message)
		return
	}
	cmd.ui.Ok()
	cmd.ui.Say("")
}