@@ -269,7 +269,7 @@ func (r *projectRS) Create(ctx context.Context, req resource.CreateRequest, resp
269
269
270
270
_ , _ , err := connV2 .TeamsApi .AddAllTeamsToProject (ctx , project .GetId (), NewTeamRoleList (ctx , teams )).Execute ()
271
271
if err != nil {
272
- errd := deleteProject (ctx , r .Client .AtlasV2 , project .Id )
272
+ errd := deleteProject (ctx , r .Client .AtlasV2 , project .GetId () )
273
273
if errd != nil {
274
274
resp .Diagnostics .AddError ("error during project deletion when adding teams" , fmt .Sprintf (errorProjectDelete , project .GetId (), err .Error ()))
275
275
return
@@ -290,7 +290,7 @@ func (r *projectRS) Create(ctx context.Context, req resource.CreateRequest, resp
290
290
}
291
291
_ , _ , err := connV2 .ProjectsApi .SetProjectLimit (ctx , limit .Name .ValueString (), project .GetId (), dataFederationLimit ).Execute ()
292
292
if err != nil {
293
- errd := deleteProject (ctx , r .Client .AtlasV2 , project .Id )
293
+ errd := deleteProject (ctx , r .Client .AtlasV2 , project .GetId () )
294
294
if errd != nil {
295
295
resp .Diagnostics .AddError ("error during project deletion when adding limits" , fmt .Sprintf (errorProjectDelete , project .GetId (), err .Error ()))
296
296
return
@@ -304,7 +304,7 @@ func (r *projectRS) Create(ctx context.Context, req resource.CreateRequest, resp
304
304
// add settings
305
305
projectSettings , _ , err := connV2 .ProjectsApi .GetProjectSettings (ctx , * project .Id ).Execute ()
306
306
if err != nil {
307
- errd := deleteProject (ctx , r .Client .AtlasV2 , project .Id )
307
+ errd := deleteProject (ctx , r .Client .AtlasV2 , project .GetId () )
308
308
if errd != nil {
309
309
resp .Diagnostics .AddError ("error during project deletion when getting project settings" , fmt .Sprintf (errorProjectDelete , project .GetId (), err .Error ()))
310
310
return
@@ -333,7 +333,7 @@ func (r *projectRS) Create(ctx context.Context, req resource.CreateRequest, resp
333
333
}
334
334
335
335
if _ , _ , err = connV2 .ProjectsApi .UpdateProjectSettings (ctx , project .GetId (), projectSettings ).Execute (); err != nil {
336
- errd := deleteProject (ctx , r .Client .AtlasV2 , project .Id )
336
+ errd := deleteProject (ctx , r .Client .AtlasV2 , project .GetId () )
337
337
if errd != nil {
338
338
resp .Diagnostics .AddError ("error during project deletion when updating project settings" , fmt .Sprintf (errorProjectDelete , project .GetId (), err .Error ()))
339
339
return
@@ -494,7 +494,7 @@ func (r *projectRS) Delete(ctx context.Context, req resource.DeleteRequest, resp
494
494
}
495
495
496
496
projectID := project .ID .ValueString ()
497
- err := deleteProject (ctx , r .Client .AtlasV2 , & projectID )
497
+ err := deleteProject (ctx , r .Client .AtlasV2 , projectID )
498
498
499
499
if err != nil {
500
500
resp .Diagnostics .AddError ("error when destroying resource" , fmt .Sprintf (errorProjectDelete , projectID , err .Error ()))
@@ -725,11 +725,11 @@ func UpdateProject(ctx context.Context, client GroupProjectService, projectState
725
725
return nil
726
726
}
727
727
728
- func deleteProject (ctx context.Context , connV2 * admin.APIClient , projectID * string ) error {
728
+ func deleteProject (ctx context.Context , connV2 * admin.APIClient , projectID string ) error {
729
729
stateConf := & retry.StateChangeConf {
730
730
Pending : []string {projectDependentsStateDeleting , projectDependentsStateRetry },
731
731
Target : []string {projectDependentsStateIdle },
732
- Refresh : resourceProjectDependentsDeletingRefreshFunc (ctx , projectID , connV2 ),
732
+ Refresh : ResourceProjectDependentsDeletingRefreshFunc (ctx , projectID , ServiceFromClient ( connV2 ) ),
733
733
Timeout : 30 * time .Minute ,
734
734
MinTimeout : 30 * time .Second ,
735
735
Delay : 0 ,
@@ -738,10 +738,10 @@ func deleteProject(ctx context.Context, connV2 *admin.APIClient, projectID *stri
738
738
_ , err := stateConf .WaitForStateContext (ctx )
739
739
740
740
if err != nil {
741
- tflog .Info (ctx , fmt .Sprintf ("[ERROR] could not determine MongoDB project %s dependents status: %s" , * projectID , err .Error ()))
741
+ tflog .Info (ctx , fmt .Sprintf ("[ERROR] could not determine MongoDB project %s dependents status: %s" , projectID , err .Error ()))
742
742
}
743
743
744
- _ , _ , err = connV2 .ProjectsApi .DeleteProject (ctx , * projectID ).Execute ()
744
+ _ , _ , err = connV2 .ProjectsApi .DeleteProject (ctx , projectID ).Execute ()
745
745
746
746
return err
747
747
}
@@ -755,18 +755,13 @@ Else consider the aggregate dependents idle.
755
755
If we get a defined error response, return that right away
756
756
Else retry
757
757
*/
758
- func resourceProjectDependentsDeletingRefreshFunc (ctx context.Context , projectID * string , connV2 * admin. APIClient ) retry.StateRefreshFunc {
758
+ func ResourceProjectDependentsDeletingRefreshFunc (ctx context.Context , projectID string , client GroupProjectService ) retry.StateRefreshFunc {
759
759
return func () (any , string , error ) {
760
- nonNullProjectID := conversion .StringPtrNullIfEmpty (projectID )
761
- clusters , _ , err := connV2 .ClustersApi .ListClusters (ctx , nonNullProjectID .String ()).Execute ()
760
+ clusters , _ , listClustersErr := client .ListClusters (ctx , projectID )
762
761
dependents := AtlasProjectDependants {AdvancedClusters : clusters }
763
762
764
- if _ , ok := admin .AsError (err ); ok {
765
- return nil , "" , err
766
- }
767
-
768
- if err != nil {
769
- return nil , projectDependentsStateRetry , nil
763
+ if listClustersErr != nil {
764
+ return nil , "" , listClustersErr
770
765
}
771
766
772
767
if * dependents .AdvancedClusters .TotalCount == 0 {
@@ -779,7 +774,7 @@ func resourceProjectDependentsDeletingRefreshFunc(ctx context.Context, projectID
779
774
}
780
775
}
781
776
782
- log .Printf ("[DEBUG] status for MongoDB project %s dependents: %s" , nonNullProjectID , projectDependentsStateDeleting )
777
+ log .Printf ("[DEBUG] status for MongoDB project %s dependents: %s" , projectID , projectDependentsStateDeleting )
783
778
784
779
return dependents , projectDependentsStateDeleting , nil
785
780
}
0 commit comments