github.com/loafoe/cli@v7.1.0+incompatible/command/v7/isolation_segments_command.go (about) 1 package v7 2 3 import ( 4 "strings" 5 6 "code.cloudfoundry.org/cli/util/ui" 7 ) 8 9 type IsolationSegmentsCommand struct { 10 BaseCommand 11 usage interface{} `usage:"CF_NAME isolation-segments"` 12 relatedCommands interface{} `related_commands:"enable-org-isolation, create-isolation-segment"` 13 } 14 15 func (cmd IsolationSegmentsCommand) Execute(args []string) error { 16 err := cmd.SharedActor.CheckTarget(false, false) 17 if err != nil { 18 return err 19 } 20 21 user, err := cmd.Config.CurrentUser() 22 if err != nil { 23 return err 24 } 25 26 cmd.UI.DisplayTextWithFlavor("Getting isolation segments as {{.CurrentUser}}...", map[string]interface{}{ 27 "CurrentUser": user.Name, 28 }) 29 30 cmd.UI.DisplayNewline() 31 32 summaries, warnings, err := cmd.Actor.GetIsolationSegmentSummaries() 33 cmd.UI.DisplayWarnings(warnings) 34 if err != nil { 35 return err 36 } 37 38 table := [][]string{ 39 { 40 cmd.UI.TranslateText("name"), 41 cmd.UI.TranslateText("orgs"), 42 }, 43 } 44 45 for _, summary := range summaries { 46 table = append( 47 table, 48 []string{ 49 summary.Name, 50 strings.Join(summary.EntitledOrgs, ", "), 51 }, 52 ) 53 } 54 55 cmd.UI.DisplayTableWithHeader("", table, ui.DefaultTableSpacePadding) 56 return nil 57 }