(c flags.FlagContext)
| 85 | } |
| 86 | |
| 87 | func (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 | } |
nothing calls this directly
no test coverage detected