github.com/DaAlbrecht/cf-cli@v0.0.0-20231128151943-1fe19bb400b9/command/v7/ssh_enabled_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  )
     6  
     7  type SSHEnabledCommand struct {
     8  	BaseCommand
     9  
    10  	RequiredArgs    flag.AppName `positional-args:"yes"`
    11  	usage           interface{}  `usage:"CF_NAME ssh-enabled APP_NAME"`
    12  	relatedCommands interface{}  `related_commands:"enable-ssh, space-ssh-allowed, ssh"`
    13  }
    14  
    15  func (cmd *SSHEnabledCommand) Execute(args []string) error {
    16  	err := cmd.SharedActor.CheckTarget(true, true)
    17  	if err != nil {
    18  		return err
    19  	}
    20  
    21  	ccv3SSHEnabled, warnings, err := cmd.Actor.GetSSHEnabledByAppName(cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
    22  	cmd.UI.DisplayWarnings(warnings)
    23  	if err != nil {
    24  		return err
    25  	}
    26  
    27  	if ccv3SSHEnabled.Enabled {
    28  		cmd.UI.DisplayTextWithFlavor("ssh support is enabled for app '{{.AppName}}'.", map[string]interface{}{
    29  			"AppName": cmd.RequiredArgs.AppName,
    30  		})
    31  	} else {
    32  		cmd.UI.DisplayTextWithFlavor("ssh support is disabled for app '{{.AppName}}'.", map[string]interface{}{
    33  			"AppName": cmd.RequiredArgs.AppName,
    34  		})
    35  		cmd.UI.DisplayText(ccv3SSHEnabled.Reason)
    36  	}
    37  
    38  	return nil
    39  }