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

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type RenameCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.Rename `positional-args:"yes"`
    11  	usage           interface{} `usage:"CF_NAME rename APP_NAME NEW_APP_NAME"`
    12  	relatedCommands interface{} `related_commands:"apps, delete"`
    13  }
    14  
    15  func (cmd RenameCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(true, true)
    17  	if err != nil {
    18  		return err
    19  	}
    20  	user, err := cmd.Config.CurrentUser()
    21  	if err != nil {
    22  		return err
    23  	}
    24  	oldName, newName := cmd.RequiredArgs.OldAppName, cmd.RequiredArgs.NewAppName
    25  	cmd.UI.DisplayTextWithFlavor(
    26  		"Renaming app {{.OldAppName}} to {{.NewAppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...",
    27  		map[string]interface{}{
    28  			"OldAppName": oldName,
    29  			"NewAppName": newName,
    30  			"Username":   user.Name,
    31  			"OrgName":    cmd.Config.TargetedOrganization().Name,
    32  			"SpaceName":  cmd.Config.TargetedSpace().Name,
    33  		},
    34  	)
    35  
    36  	_, warnings, err := cmd.Actor.RenameApplicationByNameAndSpaceGUID(oldName, newName, cmd.Config.TargetedSpace().GUID)
    37  	cmd.UI.DisplayWarnings(warnings)
    38  	if err != nil {
    39  		return err
    40  	}
    41  	cmd.UI.DisplayOK()
    42  	return nil
    43  }