@@ -45,7 +45,7 @@ type Loader struct {
4545terraformValues * database.TemplateVersionTerraformValue
4646}
4747
48- func New (versionID uuid.UUID )* Loader {
48+ func Prepare (versionID uuid.UUID )* Loader {
4949return & Loader {
5050templateVersionID :versionID ,
5151}
@@ -73,7 +73,7 @@ func (r *Loader) WithTerraformValues(values database.TemplateVersionTerraformVal
7373return r
7474}
7575
76- func (r * Loader )Load (ctx context.Context ,db database.Store )error {
76+ func (r * Loader )loadData (ctx context.Context ,db database.Store )error {
7777if r .templateVersion == nil {
7878tv ,err := db .GetTemplateVersionByID (ctx ,r .templateVersionID )
7979if err != nil {
@@ -105,10 +105,6 @@ func (r *Loader) Load(ctx context.Context, db database.Store) error {
105105return nil
106106}
107107
108- func (r * Loader )isReady ()bool {
109- return r .templateVersion != nil && r .job != nil && r .terraformValues != nil
110- }
111-
112108// Renderer returns a Renderer that can be used to render the template version's
113109// parameters. It automatically determines whether to use a static or dynamic
114110// renderer based on the template version's state.
@@ -117,8 +113,9 @@ func (r *Loader) isReady() bool {
117113// do not have the database state to support dynamic parameters. A constant
118114// warning will be displayed for these template versions.
119115func (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 )
122119}
123120
124121if ! ProvisionerVersionSupportsDynamicParameters (r .terraformValues .ProvisionerdVersion ) {