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  }