fix(objectstorage): handle bucket not empty error on bucket delete (#865)

relates to STACKITTPR-215
This commit is contained in:
Ruben Hönle 2025-05-28 11:59:32 +02:00 committed by GitHub
parent 7d78a08263
commit 0733ccbec9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,6 +2,7 @@ package objectstorage
import (
"context"
"errors"
"fmt"
"net/http"
"strings"
@ -290,6 +291,13 @@ func (r *bucketResource) Delete(ctx context.Context, req resource.DeleteRequest,
// Delete existing bucket
_, err := r.client.DeleteBucket(ctx, projectId, region, bucketName).Execute()
if err != nil {
var oapiErr *oapierror.GenericOpenAPIError
if errors.As(err, &oapiErr) {
if oapiErr.StatusCode == http.StatusUnprocessableEntity {
core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting bucket", "Bucket isn't empty and cannot be deleted")
return
}
}
core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting bucket", fmt.Sprintf("Calling API: %v", err))
}
_, err = wait.DeleteBucketWaitHandler(ctx, r.client, projectId, region, bucketName).WaitWithContext(ctx)