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

Method Execute

command/v7/restart_command.go:50–123  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

48}
49
50func (cmd RestartCommand) Execute(args []string) error {
51 err := cmd.SharedActor.CheckTarget(true, true)
52 if err != nil {
53 return err
54 }
55
56 user, err := cmd.Actor.GetCurrentUser()
57 if err != nil {
58 return err
59 }
60
61 err = cmd.ValidateFlags()
62 if err != nil {
63 return err
64 }
65
66 app, warnings, err := cmd.Actor.GetApplicationByNameAndSpace(cmd.RequiredArgs.AppName, cmd.Config.TargetedSpace().GUID)
67 cmd.UI.DisplayWarnings(warnings)
68 if err != nil {
69 return err
70 }
71
72 packageGUID, warnings, err := cmd.Actor.GetUnstagedNewestPackageGUID(app.GUID)
73 cmd.UI.DisplayWarnings(warnings)
74 if err != nil {
75 return err
76 }
77
78 if packageGUID != "" || len(cmd.Strategy.Name) > 0 {
79 cmd.UI.DisplayTextWithFlavor("Restarting app {{.AppName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.Username}}...", map[string]interface{}{
80 "AppName": cmd.RequiredArgs.AppName,
81 "OrgName": cmd.Config.TargetedOrganization().Name,
82 "SpaceName": cmd.Config.TargetedSpace().Name,
83 "Username": user.Name,
84 })
85 cmd.UI.DisplayNewline()
86 }
87
88 opts := shared.AppStartOpts{
89 Strategy: cmd.Strategy.Name,
90 NoWait: cmd.NoWait,
91 AppAction: constant.ApplicationRestarting,
92 }
93
94 if cmd.MaxInFlight != nil {
95 opts.MaxInFlight = *cmd.MaxInFlight
96 }
97
98 if cmd.InstanceSteps != "" {
99 if len(cmd.InstanceSteps) > 0 {
100 for _, v := range strings.Split(cmd.InstanceSteps, ",") {
101 parsedInt, err := strconv.ParseInt(v, 0, 64)
102 if err != nil {
103 return err
104 }
105 opts.CanarySteps = append(opts.CanarySteps, resources.CanaryStep{InstanceWeight: parsedInt})
106 }
107 }

Callers

nothing calls this directly

Calls 12

ValidateFlagsMethod · 0.95
CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
TargetedOrganizationMethod · 0.65
DisplayNewlineMethod · 0.65
StageAndStartMethod · 0.65
StartAppMethod · 0.65

Tested by

no test coverage detected