Skip to content

Commit 0733ccb

Browse files
authored
fix(objectstorage): handle bucket not empty error on bucket delete (#865)
relates to STACKITTPR-215
1 parent 7d78a08 commit 0733ccb

File tree

1 file changed

+8
-0
lines changed
  • stackit/internal/services/objectstorage/bucket

1 file changed

+8
-0
lines changed

stackit/internal/services/objectstorage/bucket/resource.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package objectstorage
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"net/http"
78
"strings"
@@ -290,6 +291,13 @@ func (r *bucketResource) Delete(ctx context.Context, req resource.DeleteRequest,
290291
// Delete existing bucket
291292
_, err := r.client.DeleteBucket(ctx, projectId, region, bucketName).Execute()
292293
if err != nil {
294+
var oapiErr *oapierror.GenericOpenAPIError
295+
if errors.As(err, &oapiErr) {
296+
if oapiErr.StatusCode == http.StatusUnprocessableEntity {
297+
core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting bucket", "Bucket isn't empty and cannot be deleted")
298+
return
299+
}
300+
}
293301
core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting bucket", fmt.Sprintf("Calling API: %v", err))
294302
}
295303
_, err = wait.DeleteBucketWaitHandler(ctx, r.client, projectId, region, bucketName).WaitWithContext(ctx)

0 commit comments

Comments
 (0)