resolvePreset returns the preset matching the given presetName (if specified), or the default preset (if any). Returns ErrNoPresetFound if no matching or default preset is found.
(presets []codersdk.Preset, presetName string)
| 495 | // or the default preset (if any). |
| 496 | // Returns ErrNoPresetFound if no matching or default preset is found. |
| 497 | func resolvePreset(presets []codersdk.Preset, presetName string) (*codersdk.Preset, error) { |
| 498 | // If preset name is specified, find it |
| 499 | if presetName != "" { |
| 500 | for _, p := range presets { |
| 501 | if p.Name == presetName { |
| 502 | return &p, nil |
| 503 | } |
| 504 | } |
| 505 | return nil, xerrors.Errorf("preset %q not found", presetName) |
| 506 | } |
| 507 | |
| 508 | // No preset name specified, search for the default preset |
| 509 | for _, p := range presets { |
| 510 | if p.Default { |
| 511 | return &p, nil |
| 512 | } |
| 513 | } |
| 514 | |
| 515 | // No preset found |
| 516 | return nil, ErrNoPresetFound |
| 517 | } |
| 518 | |
| 519 | // promptPresetSelection shows a CLI selection menu of the presets defined in the template version. |
| 520 | // Returns the selected preset |
no test coverage detected