@@ -45,7 +45,7 @@ type Loader struct {
45
45
terraformValues * database.TemplateVersionTerraformValue
46
46
}
47
47
48
- func New (versionID uuid.UUID )* Loader {
48
+ func Prepare (versionID uuid.UUID )* Loader {
49
49
return & Loader {
50
50
templateVersionID :versionID ,
51
51
}
@@ -73,7 +73,7 @@ func (r *Loader) WithTerraformValues(values database.TemplateVersionTerraformVal
73
73
return r
74
74
}
75
75
76
- func (r * Loader )Load (ctx context.Context ,db database.Store )error {
76
+ func (r * Loader )loadData (ctx context.Context ,db database.Store )error {
77
77
if r .templateVersion == nil {
78
78
tv ,err := db .GetTemplateVersionByID (ctx ,r .templateVersionID )
79
79
if err != nil {
@@ -105,10 +105,6 @@ func (r *Loader) Load(ctx context.Context, db database.Store) error {
105
105
return nil
106
106
}
107
107
108
- func (r * Loader )isReady ()bool {
109
- return r .templateVersion != nil && r .job != nil && r .terraformValues != nil
110
- }
111
-
112
108
// Renderer returns a Renderer that can be used to render the template version's
113
109
// parameters. It automatically determines whether to use a static or dynamic
114
110
// renderer based on the template version's state.
@@ -117,8 +113,9 @@ func (r *Loader) isReady() bool {
117
113
// do not have the database state to support dynamic parameters. A constant
118
114
// warning will be displayed for these template versions.
119
115
func (r * Loader )Renderer (ctx context.Context ,db database.Store ,cache * files.Cache ) (Renderer ,error ) {
120
- if ! r .isReady () {
121
- return nil ,xerrors .New ("Load() must be called before Renderer()" )
116
+ err := r .loadData (ctx ,db )
117
+ if err != nil {
118
+ return nil ,xerrors .Errorf ("load data: %w" ,err )
122
119
}
123
120
124
121
if ! ProvisionerVersionSupportsDynamicParameters (r .terraformValues .ProvisionerdVersion ) {