MCPcopy
hub / github.com/cloudfoundry/cli / Execute

Method Execute

command/v7/droplets_command.go:20–80  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

18}
19
20func (cmd DropletsCommand) Execute(args []string) error {
21
22 err := cmd.SharedActor.CheckTarget(true, true)
23 if err != nil {
24 return err
25 }
26
27 user, err := cmd.Actor.GetCurrentUser()
28 if err != nil {
29 return err
30 }
31
32 cmd.UI.DisplayTextWithFlavor("Getting droplets of app {{.AppName}} in org {{.CurrentOrg}} / space {{.CurrentSpace}} as {{.CurrentUser}}...", map[string]interface{}{
33 "AppName": cmd.RequiredArgs.AppName,
34 "CurrentSpace": cmd.Config.TargetedSpace().Name,
35 "CurrentOrg": cmd.Config.TargetedOrganization().Name,
36 "CurrentUser": user.Name,
37 })
38 cmd.UI.DisplayNewline()
39
40 droplets, warnings, err := cmd.Actor.GetApplicationDroplets(cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
41 cmd.UI.DisplayWarnings(warnings)
42 if err != nil {
43 return err
44 }
45
46 if len(droplets) == 0 {
47 cmd.UI.DisplayText("No droplets found")
48 return nil
49 }
50
51 table := [][]string{
52 {
53 cmd.UI.TranslateText("guid"),
54 cmd.UI.TranslateText("state"),
55 cmd.UI.TranslateText("created"),
56 },
57 }
58
59 for _, droplet := range droplets {
60 t, err := time.Parse(time.RFC3339, droplet.CreatedAt)
61 if err != nil {
62 return err
63 }
64
65 dropletGUID := droplet.GUID
66 if droplet.IsCurrent {
67 dropletGUID = fmt.Sprintf(`%s (current)`, dropletGUID)
68 }
69
70 table = append(table, []string{
71 dropletGUID,
72 cmd.UI.TranslateText(strings.ToLower(string(droplet.State))),
73 cmd.UI.UserFriendlyDate(t),
74 })
75 }
76
77 cmd.UI.DisplayTableWithHeader("", table, ui.DefaultTableSpacePadding)

Callers

nothing calls this directly

Calls 13

CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
TargetedSpaceMethod · 0.65
TargetedOrganizationMethod · 0.65
DisplayNewlineMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayTextMethod · 0.65
TranslateTextMethod · 0.65
ParseMethod · 0.65
UserFriendlyDateMethod · 0.65

Tested by

no test coverage detected