@@ -294,6 +294,8 @@ type TemplateVersionBuilder struct {
294294 ps pubsub.Pubsub
295295 resources []* sdkproto.Resource
296296 params []database.TemplateVersionParameter
297+ presets []database.TemplateVersionPreset
298+ presetParams []database.TemplateVersionPresetParameter
297299 promote bool
298300 autoCreateTemplate bool
299301}
@@ -339,6 +341,13 @@ func (t TemplateVersionBuilder) Params(ps ...database.TemplateVersionParameter)
339341 return t
340342}
341343
344+ func (t TemplateVersionBuilder ) Preset (preset database.TemplateVersionPreset , params ... database.TemplateVersionPresetParameter ) TemplateVersionBuilder {
345+ // nolint: revive // returns modified struct
346+ t .presets = append (t .presets , preset )
347+ t .presetParams = append (t .presetParams , params ... )
348+ return t
349+ }
350+
342351func (t TemplateVersionBuilder ) SkipCreateTemplate () TemplateVersionBuilder {
343352 // nolint: revive // returns modified struct
344353 t .autoCreateTemplate = false
@@ -378,6 +387,25 @@ func (t TemplateVersionBuilder) Do() TemplateVersionResponse {
378387 require .NoError (t .t , err )
379388 }
380389
390+ for _ , preset := range t .presets {
391+ dbgen .Preset (t .t , t .db , database.InsertPresetParams {
392+ ID : preset .ID ,
393+ TemplateVersionID : version .ID ,
394+ Name : preset .Name ,
395+ CreatedAt : version .CreatedAt ,
396+ DesiredInstances : preset .DesiredInstances ,
397+ InvalidateAfterSecs : preset .InvalidateAfterSecs ,
398+ })
399+ }
400+
401+ for _ , presetParam := range t .presetParams {
402+ dbgen .PresetParameter (t .t , t .db , database.InsertPresetParametersParams {
403+ TemplateVersionPresetID : presetParam .TemplateVersionPresetID ,
404+ Names : []string {presetParam .Name },
405+ Values : []string {presetParam .Value },
406+ })
407+ }
408+
381409 payload , err := json .Marshal (provisionerdserver.TemplateVersionImportJob {
382410 TemplateVersionID : t .seed .ID ,
383411 })
0 commit comments