github.com/loafoe/cli@v7.1.0+incompatible/command/v7/running_security_groups_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/util/ui" 5 ) 6 7 type RunningSecurityGroupsCommand struct { 8 BaseCommand 9 10 usage interface{} `usage:"CF_NAME running-security-groups"` 11 relatedCommands interface{} `related_commands:"bind-running-security-group, security-group, unbind-running-security-group"` 12 } 13 14 func (cmd RunningSecurityGroupsCommand) Execute(args []string) error { 15 err := cmd.SharedActor.CheckTarget(false, false) 16 if err != nil { 17 return err 18 } 19 20 user, err := cmd.Config.CurrentUser() 21 if err != nil { 22 return err 23 } 24 25 cmd.UI.DisplayTextWithFlavor("Getting global running security groups as {{.Username}}...", map[string]interface{}{ 26 "Username": user.Name, 27 }) 28 cmd.UI.DisplayNewline() 29 30 runningSecurityGroups, warnings, err := cmd.Actor.GetGlobalRunningSecurityGroups() 31 cmd.UI.DisplayWarnings(warnings) 32 if err != nil { 33 return err 34 } 35 36 if len(runningSecurityGroups) == 0 { 37 cmd.UI.DisplayText("No global running security groups found.") 38 return nil 39 } 40 41 table := [][]string{{ 42 cmd.UI.TranslateText("name"), 43 }} 44 for _, runningSecurityGroup := range runningSecurityGroups { 45 table = append(table, []string{ 46 cmd.UI.TranslateText(runningSecurityGroup.Name), 47 }) 48 } 49 cmd.UI.DisplayTableWithHeader("", table, ui.DefaultTableSpacePadding) 50 51 return nil 52 }