MCPcopy Index your code
hub / github.com/cloudfoundry/cli / Execute

Method Execute

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

Source from the content-addressed store, hash-verified

18}
19
20func (cmd UnbindServiceCommand) Execute(args []string) error {
21 if err := cmd.SharedActor.CheckTarget(true, true); err != nil {
22 return err
23 }
24
25 if err := cmd.displayIntro(); err != nil {
26 return err
27 }
28
29 bindings, warnings, err := cmd.Actor.ListServiceAppBindings(v7action.ListServiceAppBindingParams{
30 SpaceGUID: cmd.Config.TargetedSpace().GUID,
31 ServiceInstanceName: cmd.RequiredArgs.ServiceInstanceName,
32 AppName: cmd.RequiredArgs.AppName,
33 })
34 cmd.UI.DisplayWarnings(warnings)
35 switch err.(type) {
36 case nil:
37 case actionerror.ServiceBindingNotFoundError:
38 cmd.UI.DisplayText("Binding between {{.ServiceInstanceName}} and {{.AppName}} does not exist", cmd.names())
39 cmd.UI.DisplayOK()
40 return nil
41 default:
42 return err
43 }
44
45 // If a GUID is provided, narrow down to the binding matching that GUID.
46 if cmd.Guid != "" {
47 var filtered []resources.ServiceCredentialBinding
48 for _, b := range bindings {
49 if b.GUID == cmd.Guid {
50 filtered = append(filtered, b)
51 break
52 }
53 }
54 if len(filtered) == 0 {
55 cmd.UI.DisplayText("Service binding with GUID {{.BindingGUID}} does not exist", map[string]interface{}{"BindingGUID": cmd.Guid})
56 cmd.UI.DisplayOK()
57 return nil
58 }
59 bindings = filtered
60 }
61
62 for _, binding := range bindings {
63 cmd.UI.DisplayText("Deleting service binding {{.BindingGUID}}...", map[string]interface{}{"BindingGUID": binding.GUID})
64 stream, warnings, err := cmd.Actor.DeleteServiceAppBinding(v7action.DeleteServiceAppBindingParams{
65 ServiceBindingGUID: binding.GUID,
66 })
67 cmd.UI.DisplayWarnings(warnings)
68 switch err.(type) {
69 case nil:
70 default:
71 return err
72 }
73
74 completed, err := shared.WaitForResult(stream, cmd.UI, cmd.Wait)
75 switch {
76 case err != nil:
77 return err

Callers

nothing calls this directly

Calls 10

displayIntroMethod · 0.95
namesMethod · 0.95
WaitForResultFunction · 0.92
CheckTargetMethod · 0.65
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayTextMethod · 0.65
DisplayOKMethod · 0.65

Tested by

no test coverage detected