@@ -365,6 +365,8 @@ func resourceProjectDelete(ctx context.Context, d *schema.ResourceData, m interf
365
365
return diags
366
366
}
367
367
368
+ const batchSize = 50
369
+
368
370
func updateDatabasesInProject (ctx context.Context , d * schema.ResourceData , client api.Client , projectName string ) diag.Diagnostics {
369
371
filter := fmt .Sprintf (`project == "%s"` , projectName )
370
372
databases , err := client .ListDatabase (ctx , "-" , filter )
@@ -409,9 +411,14 @@ func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, clien
409
411
}
410
412
}
411
413
412
- if len (batchTransferDatabases ) > 0 {
414
+ for i := 0 ; i < len (batchTransferDatabases ); i += batchSize {
415
+ end := i + batchSize
416
+ if end > len (batchTransferDatabases ) {
417
+ end = len (batchTransferDatabases )
418
+ }
419
+ batch := batchTransferDatabases [i :end ]
413
420
if _ , err := client .BatchUpdateDatabases (ctx , & v1pb.BatchUpdateDatabasesRequest {
414
- Requests : batchTransferDatabases ,
421
+ Requests : batch ,
415
422
Parent : "instances/-" ,
416
423
}); err != nil {
417
424
return diag .Errorf ("failed to assign databases to project %s with error: %v" , projectName , err .Error ())
@@ -439,9 +446,14 @@ func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, clien
439
446
})
440
447
}
441
448
}
442
- if len (unassignDatabases ) > 0 {
449
+ for i := 0 ; i < len (unassignDatabases ); i += batchSize {
450
+ end := i + batchSize
451
+ if end > len (unassignDatabases ) {
452
+ end = len (unassignDatabases )
453
+ }
454
+ batch := unassignDatabases [i :end ]
443
455
if _ , err := client .BatchUpdateDatabases (ctx , & v1pb.BatchUpdateDatabasesRequest {
444
- Requests : unassignDatabases ,
456
+ Requests : batch ,
445
457
Parent : "instances/-" ,
446
458
}); err != nil {
447
459
return diag .Errorf ("failed to move databases to default project with error: %v" , err .Error ())
0 commit comments