github.com/LukasHeimann/cloudfoundrycli/v8@v8.4.4/command/v7/disallow_space_ssh_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"github.com/LukasHeimann/cloudfoundrycli/v8/actor/actionerror"
     5  	"github.com/LukasHeimann/cloudfoundrycli/v8/command/flag"
     6  )
     7  
     8  type DisallowSpaceSSHCommand struct {
     9  	BaseCommand
    10  
    11  	RequiredArgs    flag.Space  `positional-args:"yes"`
    12  	usage           interface{} `usage:"CF_NAME disallow-space-ssh SPACE_NAME"`
    13  	relatedCommands interface{} `related_commands:"disable-ssh, space-ssh-allowed, ssh, ssh-enabled"`
    14  }
    15  
    16  func (cmd *DisallowSpaceSSHCommand) Execute(args []string) error {
    17  	err := cmd.SharedActor.CheckTarget(true, false)
    18  	if err != nil {
    19  		return err
    20  	}
    21  
    22  	currentUser, err := cmd.Actor.GetCurrentUser()
    23  	if err != nil {
    24  		return err
    25  	}
    26  
    27  	targetedOrgGUID := cmd.Config.TargetedOrganization().GUID
    28  	inputSpace := cmd.RequiredArgs.Space
    29  
    30  	cmd.UI.DisplayTextWithFlavor("Disabling ssh support for space {{.Space}} as {{.CurrentUserName}}...", map[string]interface{}{
    31  		"Space":           inputSpace,
    32  		"CurrentUserName": currentUser.Name,
    33  	})
    34  
    35  	warnings, err := cmd.Actor.UpdateSpaceFeature(inputSpace, targetedOrgGUID, false, "ssh")
    36  	cmd.UI.DisplayWarnings(warnings)
    37  
    38  	if _, ok := err.(actionerror.SpaceSSHAlreadyDisabledError); ok {
    39  		cmd.UI.DisplayText(err.Error())
    40  		cmd.UI.DisplayOK()
    41  		return nil
    42  	}
    43  
    44  	if err != nil {
    45  		return err
    46  	}
    47  
    48  	cmd.UI.DisplayOK()
    49  
    50  	return err
    51  }