MCPcopy Index your code
hub / github.com/coder/coder / verifyConstraints

Method verifyConstraints

cli/parameterresolver.go:290–306  ·  view source on GitHub ↗
(resolved []codersdk.WorkspaceBuildParameter, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter)

Source from the content-addressed store, hash-verified

288}
289
290func (pr *ParameterResolver) verifyConstraints(resolved []codersdk.WorkspaceBuildParameter, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter) error {
291 for _, r := range resolved {
292 tvp := findTemplateVersionParameter(r, templateVersionParameters)
293 if tvp == nil {
294 return templateVersionParametersNotFound(r.Name, templateVersionParameters)
295 }
296
297 if tvp.Ephemeral && !pr.promptEphemeralParameters && findWorkspaceBuildParameter(tvp.Name, pr.ephemeralParameters) == nil {
298 return xerrors.Errorf("ephemeral parameter %q can be used only with --prompt-ephemeral-parameters or --ephemeral-parameter flag", r.Name)
299 }
300
301 if !tvp.Mutable && action != WorkspaceCreate && !pr.isFirstTimeUse(r.Name) {
302 return xerrors.Errorf("parameter %q is immutable and cannot be updated", r.Name)
303 }
304 }
305 return nil
306}
307
308func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuildParameter, inv *serpent.Invocation, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter) ([]codersdk.WorkspaceBuildParameter, error) {
309 for _, tvp := range templateVersionParameters {

Callers 1

ResolveMethod · 0.95

Calls 5

isFirstTimeUseMethod · 0.95
ErrorfMethod · 0.45

Tested by

no test coverage detected