(resolved []codersdk.WorkspaceBuildParameter, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter)
| 288 | } |
| 289 | |
| 290 | func (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 | |
| 308 | func (pr *ParameterResolver) resolveWithInput(resolved []codersdk.WorkspaceBuildParameter, inv *serpent.Invocation, action WorkspaceCLIAction, templateVersionParameters []codersdk.TemplateVersionParameter) ([]codersdk.WorkspaceBuildParameter, error) { |
| 309 | for _, tvp := range templateVersionParameters { |
no test coverage detected