github.com/LukasHeimann/cloudfoundrycli/v8@v8.4.4/command/v7/allow_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 AllowSpaceSSHCommand struct { 9 BaseCommand 10 11 RequiredArgs flag.Space `positional-args:"yes"` 12 usage interface{} `usage:"CF_NAME allow-space-ssh SPACE_NAME"` 13 relatedCommands interface{} `related_commands:"enable-ssh, space-ssh-allowed, ssh, ssh-enabled"` 14 } 15 16 func (cmd *AllowSpaceSSHCommand) 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("Enabling 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, true, "ssh") 36 37 cmd.UI.DisplayWarnings(warnings) 38 39 if _, ok := err.(actionerror.SpaceSSHAlreadyEnabledError); ok { 40 cmd.UI.DisplayText(err.Error()) 41 cmd.UI.DisplayOK() 42 return nil 43 } 44 45 if err != nil { 46 return err 47 } 48 49 cmd.UI.DisplayOK() 50 51 return err 52 }