code.cloudfoundry.org/cli@v7.1.0+incompatible/command/v7/allow_space_ssh_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/actionerror" 5 "code.cloudfoundry.org/cli/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 18 err := cmd.SharedActor.CheckTarget(true, false) 19 if err != nil { 20 return err 21 } 22 23 currentUserName, err := cmd.Config.CurrentUserName() 24 if err != nil { 25 return err 26 } 27 28 targetedOrgGUID := cmd.Config.TargetedOrganization().GUID 29 inputSpace := cmd.RequiredArgs.Space 30 31 cmd.UI.DisplayTextWithFlavor("Enabling ssh support for space {{.Space}} as {{.CurrentUserName}}...", map[string]interface{}{ 32 "Space": inputSpace, 33 "CurrentUserName": currentUserName, 34 }) 35 36 warnings, err := cmd.Actor.UpdateSpaceFeature(inputSpace, targetedOrgGUID, true, "ssh") 37 38 cmd.UI.DisplayWarnings(warnings) 39 40 if _, ok := err.(actionerror.SpaceSSHAlreadyEnabledError); ok { 41 cmd.UI.DisplayText(err.Error()) 42 cmd.UI.DisplayOK() 43 return nil 44 } 45 46 if err != nil { 47 return err 48 } 49 50 cmd.UI.DisplayOK() 51 52 return err 53 54 }