code.cloudfoundry.org/cli@v7.1.0+incompatible/command/v7/set_droplet_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type SetDropletCommand struct {
     8  	BaseCommand
     9  	RequiredArgs    flag.AppDroplet `positional-args:"yes"`
    10  	usage           interface{}     `usage:"CF_NAME set-droplet APP_NAME DROPLET_GUID"`
    11  	relatedCommands interface{}     `related_commands:"app, droplets, stage, push, packages, create-package"`
    12  }
    13  
    14  func (cmd SetDropletCommand) Execute(args []string) error {
    15  	err := cmd.SharedActor.CheckTarget(true, true)
    16  	if err != nil {
    17  		return err
    18  	}
    19  
    20  	user, err := cmd.Config.CurrentUser()
    21  	if err != nil {
    22  		return err
    23  	}
    24  
    25  	appName := cmd.RequiredArgs.AppName
    26  	dropletGUID := cmd.RequiredArgs.DropletGUID
    27  	org := cmd.Config.TargetedOrganization()
    28  	space := cmd.Config.TargetedSpace()
    29  
    30  	cmd.UI.DisplayTextWithFlavor("Setting app {{.AppName}} to droplet {{.DropletGUID}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", map[string]interface{}{
    31  		"AppName":     appName,
    32  		"DropletGUID": dropletGUID,
    33  		"OrgName":     org.Name,
    34  		"SpaceName":   space.Name,
    35  		"Username":    user.Name,
    36  	})
    37  
    38  	warnings, err := cmd.Actor.SetApplicationDropletByApplicationNameAndSpace(appName, space.GUID, dropletGUID)
    39  	cmd.UI.DisplayWarnings(warnings)
    40  	if err != nil {
    41  		return err
    42  	}
    43  
    44  	cmd.UI.DisplayOK()
    45  
    46  	return nil
    47  }