Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit68fb748

Browse files
committed
chore: keep previous workspace build parameters for dynamic params
1 parent513a468 commit68fb748

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

‎coderd/wsbuilder/wsbuilder.go

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,11 @@ func (b *Builder) getParameters() (names, values []string, err error) {
623623
returnnil,nil,BuildError{http.StatusBadRequest,"Unable to build workspace with unsupported parameters",err}
624624
}
625625

626+
lastBuildParameterValues:=db2sdk.WorkspaceBuildParameters(lastBuildParameters)
627+
resolver:= codersdk.ParameterResolver{
628+
Rich:lastBuildParameterValues,
629+
}
630+
626631
// Dynamic parameters skip all parameter validation.
627632
// Deleting a workspace also should skip parameter validation.
628633
// Pass the user's input as is.
@@ -632,19 +637,33 @@ func (b *Builder) getParameters() (names, values []string, err error) {
632637
// conditional parameter existence, the static frame of reference
633638
// is not sufficient. So assume the user is correct, or pull in the
634639
// dynamic param code to find the actual parameters.
640+
latestValues:=make(map[string]string)
641+
for_,latest:=rangeb.richParameterValues {
642+
latestValues[latest.Name]=latest.Value
643+
}
644+
645+
// Merge the inputs with values from the previous build.
646+
for_,last:=rangelastBuildParameterValues {
647+
// TODO: Ideally we use the resolver here and look at parameter
648+
// fields such as 'ephemeral'. This requires loading the terraform
649+
// files. For now, just send the previous inputs as is.
650+
if_,exists:=latestValues[last.Name];exists {
651+
continue
652+
}
653+
names=append(names,last.Name)
654+
values=append(values,last.Value)
655+
}
656+
635657
for_,value:=rangeb.richParameterValues {
636658
names=append(names,value.Name)
637659
values=append(values,value.Value)
638660
}
661+
639662
b.parameterNames=&names
640663
b.parameterValues=&values
641664
returnnames,values,nil
642665
}
643666

644-
resolver:= codersdk.ParameterResolver{
645-
Rich:db2sdk.WorkspaceBuildParameters(lastBuildParameters),
646-
}
647-
648667
for_,templateVersionParameter:=rangetemplateVersionParameters {
649668
tvp,err:=db2sdk.TemplateVersionParameter(templateVersionParameter)
650669
iferr!=nil {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp