Skip to content

Commit a4fe15b

Browse files
authored
chore: batch update size 50 (#90)
1 parent 3268780 commit a4fe15b

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.11
1+
1.0.12

provider/resource_project.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@ func resourceProjectDelete(ctx context.Context, d *schema.ResourceData, m interf
365365
return diags
366366
}
367367

368+
const batchSize = 50
369+
368370
func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, client api.Client, projectName string) diag.Diagnostics {
369371
filter := fmt.Sprintf(`project == "%s"`, projectName)
370372
databases, err := client.ListDatabase(ctx, "-", filter)
@@ -409,9 +411,14 @@ func updateDatabasesInProject(ctx context.Context, d *schema.ResourceData, clien
409411
}
410412
}
411413

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]
413420
if _, err := client.BatchUpdateDatabases(ctx, &v1pb.BatchUpdateDatabasesRequest{
414-
Requests: batchTransferDatabases,
421+
Requests: batch,
415422
Parent: "instances/-",
416423
}); err != nil {
417424
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
439446
})
440447
}
441448
}
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]
443455
if _, err := client.BatchUpdateDatabases(ctx, &v1pb.BatchUpdateDatabasesRequest{
444-
Requests: unassignDatabases,
456+
Requests: batch,
445457
Parent: "instances/-",
446458
}); err != nil {
447459
return diag.Errorf("failed to move databases to default project with error: %v", err.Error())

0 commit comments

Comments
 (0)