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

Method Execute

command/v7/update_service_command.go:27–81  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

25}
26
27func (cmd UpdateServiceCommand) Execute(args []string) error {
28 if cmd.Upgrade {
29 return fmt.Errorf(
30 `Upgrading is no longer supported via updates, please run "cf upgrade-service %s" instead.`,
31 cmd.RequiredArgs.ServiceInstance,
32 )
33 }
34
35 if err := cmd.SharedActor.CheckTarget(true, true); err != nil {
36 return err
37 }
38
39 if err := cmd.displayIntro(); err != nil {
40 return err
41 }
42
43 if cmd.noFlagsProvided() {
44 cmd.UI.DisplayText("No flags specified. No changes were made.")
45 cmd.UI.DisplayOK()
46 return nil
47 }
48
49 stream, warnings, err := cmd.Actor.UpdateManagedServiceInstance(
50 v7action.UpdateManagedServiceInstanceParams{
51 ServiceInstanceName: string(cmd.RequiredArgs.ServiceInstance),
52 ServicePlanName: cmd.Plan,
53 SpaceGUID: cmd.Config.TargetedSpace().GUID,
54 Tags: types.OptionalStringSlice(cmd.Tags),
55 Parameters: types.OptionalObject(cmd.Parameters),
56 },
57 )
58 cmd.UI.DisplayWarnings(warnings)
59 switch err.(type) {
60 case nil:
61 case actionerror.ServiceInstanceUpdateIsNoop:
62 cmd.UI.DisplayText("No changes were made.")
63 cmd.UI.DisplayOK()
64 return nil
65 default:
66 return err
67 }
68
69 complete, err := shared.WaitForResult(stream, cmd.UI, cmd.Wait)
70 switch {
71 case err != nil:
72 return err
73 case complete:
74 cmd.UI.DisplayTextWithFlavor("Update of service instance {{.ServiceInstance}} complete.", cmd.serviceInstanceName())
75 default:
76 cmd.UI.DisplayTextWithFlavor("Update in progress. Use 'cf services' or 'cf service {{.ServiceInstance}}' to check operation status.", cmd.serviceInstanceName())
77 }
78
79 cmd.UI.DisplayOK()
80 return nil
81}
82
83func (cmd UpdateServiceCommand) Usage() string {
84 return strings.TrimSpace(`

Callers

nothing calls this directly

Calls 13

displayIntroMethod · 0.95
noFlagsProvidedMethod · 0.95
serviceInstanceNameMethod · 0.95
OptionalStringSliceStruct · 0.92
OptionalObjectStruct · 0.92
WaitForResultFunction · 0.92
CheckTargetMethod · 0.65
DisplayTextMethod · 0.65
DisplayOKMethod · 0.65
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65

Tested by

no test coverage detected