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

Method Execute

cf/commands/servicekey/create_service_key.go:87–115  ·  view source on GitHub ↗
(c flags.FlagContext)

Source from the content-addressed store, hash-verified

85}
86
87func (cmd *CreateServiceKey) Execute(c flags.FlagContext) error {
88 serviceInstance := cmd.serviceInstanceRequirement.GetServiceInstance()
89 serviceKeyName := c.Args()[1]
90 params := c.String("c")
91
92 paramsMap, err := json.ParseJSONFromFileOrString(params)
93 if err != nil {
94 return errors.New(T("Invalid configuration provided for -c flag. Please provide a valid JSON object or path to a file containing a valid JSON object."))
95 }
96
97 cmd.ui.Say(T("Creating service key {{.ServiceKeyName}} for service instance {{.ServiceInstanceName}} as {{.CurrentUser}}...",
98 map[string]interface{}{
99 "ServiceInstanceName": terminal.EntityNameColor(serviceInstance.Name),
100 "ServiceKeyName": terminal.EntityNameColor(serviceKeyName),
101 "CurrentUser": terminal.EntityNameColor(cmd.config.Username()),
102 }))
103
104 err = cmd.serviceKeyRepo.CreateServiceKey(serviceInstance.GUID, serviceKeyName, paramsMap)
105 switch err.(type) {
106 case nil:
107 cmd.ui.Ok()
108 case *errors.ModelAlreadyExistsError:
109 cmd.ui.Ok()
110 cmd.ui.Warn(err.Error())
111 default:
112 return err
113 }
114 return nil
115}

Callers

nothing calls this directly

Calls 12

NewFunction · 0.92
EntityNameColorFunction · 0.92
GetServiceInstanceMethod · 0.65
ArgsMethod · 0.65
StringMethod · 0.65
SayMethod · 0.65
UsernameMethod · 0.65
CreateServiceKeyMethod · 0.65
OkMethod · 0.65
WarnMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected