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

Method Execute

command/v7/create_service_command.go:64–110  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

62}
63
64func (cmd CreateServiceCommand) Execute(args []string) error {
65 if err := cmd.SharedActor.CheckTarget(true, true); err != nil {
66 return err
67 }
68
69 cmd.RequiredArgs.ServiceInstance = strings.TrimSpace(cmd.RequiredArgs.ServiceInstance)
70
71 if err := cmd.displayCreatingMessage(); err != nil {
72 return err
73 }
74
75 stream, warnings, err := cmd.Actor.CreateManagedServiceInstance(
76 v7action.CreateManagedServiceInstanceParams{
77 ServiceOfferingName: cmd.RequiredArgs.ServiceOffering,
78 ServicePlanName: cmd.RequiredArgs.ServicePlan,
79 ServiceInstanceName: cmd.RequiredArgs.ServiceInstance,
80 ServiceBrokerName: cmd.ServiceBroker,
81 SpaceGUID: cmd.Config.TargetedSpace().GUID,
82 Tags: types.OptionalStringSlice(cmd.Tags),
83 Parameters: types.OptionalObject(cmd.ParametersAsJSON),
84 },
85 )
86 cmd.UI.DisplayWarnings(warnings)
87 switch err.(type) {
88 case nil:
89 case ccerror.ServiceInstanceNameTakenError:
90 cmd.UI.DisplayOK()
91 cmd.UI.DisplayTextWithFlavor("Service instance {{.ServiceInstanceName}} already exists", cmd.serviceInstanceName())
92 return nil
93 default:
94 return err
95 }
96
97 cmd.UI.DisplayNewline()
98 complete, err := shared.WaitForResult(stream, cmd.UI, cmd.Wait)
99 switch {
100 case err != nil:
101 return err
102 case complete:
103 cmd.UI.DisplayTextWithFlavor("Service instance {{.ServiceInstanceName}} created.", cmd.serviceInstanceName())
104 default:
105 cmd.UI.DisplayTextWithFlavor("Create in progress. Use 'cf services' or 'cf service {{.ServiceInstanceName}}' to check operation status.", cmd.serviceInstanceName())
106 }
107
108 cmd.UI.DisplayOK()
109 return nil
110}
111
112func (cmd CreateServiceCommand) displayCreatingMessage() error {
113 user, err := cmd.Actor.GetCurrentUser()

Callers

nothing calls this directly

Calls 12

serviceInstanceNameMethod · 0.95
OptionalStringSliceStruct · 0.92
OptionalObjectStruct · 0.92
WaitForResultFunction · 0.92
CheckTargetMethod · 0.65
TargetedSpaceMethod · 0.65
DisplayWarningsMethod · 0.65
DisplayOKMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
DisplayNewlineMethod · 0.65

Tested by

no test coverage detected