@@ -352,6 +352,7 @@ func (r *TemplateResource) Create(ctx context.Context, req resource.CreateReques
352352 return
353353 }
354354 if idx == 0 {
355+ tflog .Trace (ctx , "creating template" )
355356 templateResp , err = client .CreateTemplate (ctx , orgID , codersdk.CreateTemplateRequest {
356357 Name : data .Name .ValueString (),
357358 DisplayName : data .DisplayName .ValueString (),
@@ -366,21 +367,31 @@ func (r *TemplateResource) Create(ctx context.Context, req resource.CreateReques
366367 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to create template: %s" , err ))
367368 return
368369 }
370+ tflog .Trace (ctx , "successfully created template" , map [string ]any {
371+ "id" : templateResp .ID ,
372+ })
369373
374+ tflog .Trace (ctx , "updating template ACL" )
370375 err = client .UpdateTemplateACL (ctx , templateResp .ID , convertACLToRequest (data .ACL ))
371376 if err != nil {
372377 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to update template ACL: %s" , err ))
373378 return
374379 }
380+ tflog .Trace (ctx , "successfully updated template ACL" )
375381 }
376382 if version .Active .ValueBool () {
383+ tflog .Trace (ctx , "marking template version as active" , map [string ]any {
384+ "version_id" : versionResp .ID ,
385+ "template_id" : templateResp .ID ,
386+ })
377387 err := client .UpdateActiveTemplateVersion (ctx , templateResp .ID , codersdk.UpdateActiveTemplateVersion {
378388 ID : versionResp .ID ,
379389 })
380390 if err != nil {
381391 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to set active template version: %s" , err ))
382392 return
383393 }
394+ tflog .Trace (ctx , "marked template version as active" )
384395 }
385396 data .Versions [idx ].ID = UUIDValue (versionResp .ID )
386397 data .Versions [idx ].Name = types .StringValue (versionResp .Name )
@@ -478,6 +489,7 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
478489 client := r .data .Client
479490
480491 if ! planState .EqualTemplateMetadata (curState ) {
492+ tflog .Trace (ctx , "change in template metadata detected, updating." )
481493 _ , err := client .UpdateTemplateMeta (ctx , templateID , codersdk.UpdateTemplateMeta {
482494 Name : planState .Name .ValueString (),
483495 DisplayName : planState .DisplayName .ValueString (),
@@ -491,11 +503,13 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
491503 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to update template: %s" , err ))
492504 return
493505 }
506+ tflog .Trace (ctx , "successfully updated template metadata" )
494507 err = client .UpdateTemplateACL (ctx , templateID , convertACLToRequest (planState .ACL ))
495508 if err != nil {
496509 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to update template ACL: %s" , err ))
497510 return
498511 }
512+ tflog .Trace (ctx , "successfully updated template ACL" )
499513 }
500514
501515 for idx , plannedVersion := range planState .Versions {
@@ -504,6 +518,7 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
504518 foundVersion := curState .Versions .ByID (plannedVersion .ID )
505519 // If the version is new, or if the directory hash has changed, create a new version
506520 if foundVersion == nil || foundVersion .DirectoryHash != plannedVersion .DirectoryHash {
521+ tflog .Trace (ctx , "discovered a new or modified template version" )
507522 versionResp , err := newVersion (ctx , client , newVersionRequest {
508523 Version : & plannedVersion ,
509524 OrganizationID : orgID ,
@@ -524,13 +539,18 @@ func (r *TemplateResource) Update(ctx context.Context, req resource.UpdateReques
524539 return
525540 }
526541 if plannedVersion .Active .ValueBool () {
542+ tflog .Trace (ctx , "marking template version as active" , map [string ]any {
543+ "version_id" : versionResp .ID ,
544+ "template_id" : templateID ,
545+ })
527546 err := client .UpdateActiveTemplateVersion (ctx , templateID , codersdk.UpdateActiveTemplateVersion {
528547 ID : versionResp .ID ,
529548 })
530549 if err != nil {
531550 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to update active template version: %s" , err ))
532551 return
533552 }
553+ tflog .Trace (ctx , "marked template version as active" )
534554 }
535555 planState .Versions [idx ].ID = UUIDValue (versionResp .ID )
536556 }
@@ -553,6 +573,7 @@ func (r *TemplateResource) Delete(ctx context.Context, req resource.DeleteReques
553573
554574 templateID := data .ID .ValueUUID ()
555575
576+ tflog .Trace (ctx , "deleting template" )
556577 err := client .DeleteTemplate (ctx , templateID )
557578 if err != nil {
558579 resp .Diagnostics .AddError ("Client Error" , fmt .Sprintf ("Failed to delete template: %s" , err ))
@@ -712,11 +733,14 @@ type newVersionRequest struct {
712733
713734func newVersion (ctx context.Context , client * codersdk.Client , req newVersionRequest ) (* codersdk.TemplateVersion , error ) {
714735 directory := req .Version .Directory .ValueString ()
736+ tflog .Trace (ctx , "uploading directory" )
715737 uploadResp , err := uploadDirectory (ctx , client , slog .Make (newTFLogSink (ctx )), directory )
716738 if err != nil {
717739 return nil , fmt .Errorf ("failed to upload directory: %s" , err )
718740 }
741+ tflog .Trace (ctx , "successfully uploaded directory" )
719742 // TODO(ethanndickson): Uncomment when a released `codersdk` exports template variable parsing
743+ // tflog.Trace(ctx,"discovering and parsing vars files")
720744 // varFiles, err := codersdk.DiscoverVarsFiles(directory)
721745 // if err != nil {
722746 // return nil, fmt.Errorf("failed to discover vars files: %s", err)
@@ -725,6 +749,9 @@ func newVersion(ctx context.Context, client *codersdk.Client, req newVersionRequ
725749 // if err != nil {
726750 // return nil, fmt.Errorf("failed to parse user variable values: %s", err)
727751 // }
752+ // tflog.Trace(ctx,"discovered and parsed vars files", map[string]any{
753+ // "vars": vars,
754+ // })
728755 vars := make ([]codersdk.VariableValue , 0 , len (req .Version .TerraformVariables ))
729756 for _ , variable := range req .Version .TerraformVariables {
730757 vars = append (vars , codersdk.VariableValue {
@@ -743,14 +770,17 @@ func newVersion(ctx context.Context, client *codersdk.Client, req newVersionRequ
743770 if req .TemplateID != nil {
744771 tmplVerReq .TemplateID = * req .TemplateID
745772 }
773+ tflog .Trace (ctx , "creating template version" )
746774 versionResp , err := client .CreateTemplateVersion (ctx , req .OrganizationID , tmplVerReq )
747775 if err != nil {
748776 return nil , fmt .Errorf ("failed to create template version: %s" , err )
749777 }
778+ tflog .Trace (ctx , "waiting for template version import job." )
750779 err = waitForJob (ctx , client , & versionResp )
751780 if err != nil {
752781 return nil , fmt .Errorf ("failed to wait for job: %s" , err )
753782 }
783+ tflog .Trace (ctx , "successfully created template version" )
754784 return & versionResp , nil
755785}
756786
0 commit comments