github.com/niteshexa/cloudfoundry_cli@v7.1.0+incompatible/command/v7/disable_ssh_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type DisableSSHCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.AppName `positional-args:"yes"`
    11  	usage           interface{}  `usage:"CF_NAME disable-ssh APP_NAME"`
    12  	relatedCommands interface{}  `related_commands:"disallow-space-ssh, space-ssh-allowed, ssh, ssh-enabled"`
    13  }
    14  
    15  func (cmd *DisableSSHCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(true, true)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	username, err := cmd.Config.CurrentUserName()
    22  	if err != nil {
    23  		return err
    24  	}
    25  
    26  	cmd.UI.DisplayTextWithFlavor("Disabling ssh support for app {{.AppName}} as {{.CurrentUserName}}...", map[string]interface{}{
    27  		"AppName":         cmd.RequiredArgs.AppName,
    28  		"CurrentUserName": username,
    29  	})
    30  
    31  	app, getAppWarnings, err := cmd.Actor.GetApplicationByNameAndSpace(cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
    32  	if err != nil {
    33  		return err
    34  	}
    35  	cmd.UI.DisplayWarnings(getAppWarnings)
    36  
    37  	appFeature, getAppFeatureWarnings, err := cmd.Actor.GetAppFeature(app.GUID, "ssh")
    38  	if err != nil {
    39  		return err
    40  	}
    41  
    42  	cmd.UI.DisplayWarnings(getAppFeatureWarnings)
    43  
    44  	if !appFeature.Enabled {
    45  		cmd.UI.DisplayTextWithFlavor("ssh support for app '{{.AppName}}' is already disabled.", map[string]interface{}{
    46  			"AppName": cmd.RequiredArgs.AppName,
    47  		})
    48  	}
    49  
    50  	updateSSHWarnings, err := cmd.Actor.UpdateAppFeature(app, false, "ssh")
    51  	if err != nil {
    52  		return err
    53  	}
    54  
    55  	cmd.UI.DisplayWarnings(updateSSHWarnings)
    56  	cmd.UI.DisplayOK()
    57  	return nil
    58  }