dynamicparameters

package
v2.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2025 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTemplateVersionNotReady = xerrors.New("template version job not finished")

Functions

func ProvisionerVersionSupportsDynamicParameters

func ProvisionerVersionSupportsDynamicParameters(version string) bool

func ResolveParameters

func ResolveParameters(
	ctx context.Context,
	ownerID uuid.UUID,
	renderer Renderer,
	firstBuild bool,
	previousValues []database.WorkspaceBuildParameter,
	buildValues []codersdk.WorkspaceBuildParameter,
	presetValues []database.TemplateVersionPresetParameter,
) (map[string]string, error)

func WithProvisionerJob

func WithProvisionerJob(job database.ProvisionerJob) func(r *loader)

func WithTemplateVersion

func WithTemplateVersion(tv database.TemplateVersion) func(r *loader)

func WithTerraformValues

func WithTerraformValues(values database.TemplateVersionTerraformValue) func(r *loader)

Types

type Renderer

type Renderer interface {
	Render(ctx context.Context, ownerID uuid.UUID, values map[string]string) (*preview.Output, hcl.Diagnostics)
	Close()
}

Renderer is able to execute and evaluate terraform with the given inputs. It may use the database to fetch additional state, such as a user's groups, roles, etc. Therefore, it requires an authenticated `ctx`.

'Close()' **must** be called once the renderer is no longer needed. Forgetting to do so will result in a memory leak.

func Prepare

func Prepare(ctx context.Context, db database.Store, cache files.FileAcquirer, versionID uuid.UUID, options ...func(r *loader)) (Renderer, error)

Prepare is the entrypoint for this package. It loads the necessary objects & files from the database and returns a Renderer that can be used to render the template version's parameters.

type ResolverError

type ResolverError struct {
	Diagnostics hcl.Diagnostics
	Parameter   map[string]hcl.Diagnostics
}

func (*ResolverError) Error

func (e *ResolverError) Error() string

Error is a pretty bad format for these errors. Try to avoid using this.

func (*ResolverError) Extend

func (e *ResolverError) Extend(parameterName string, diag hcl.Diagnostics)

func (*ResolverError) HasError

func (e *ResolverError) HasError() bool

Directories

Path Synopsis
Package rendermock is a generated GoMock package.
Package rendermock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL