From a914539c5d19d532b51f5d652c370de84e0aa7ab Mon Sep 17 00:00:00 2001 From: Ruben Hoenle Date: Thu, 12 Mar 2026 16:18:04 +0100 Subject: [PATCH] chore(resourcemanager): allow context cancellation while waiting relates to #1271 --- .../internal/services/resourcemanager/folder/resource.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/stackit/internal/services/resourcemanager/folder/resource.go b/stackit/internal/services/resourcemanager/folder/resource.go index 9d237baaa..71175c87c 100644 --- a/stackit/internal/services/resourcemanager/folder/resource.go +++ b/stackit/internal/services/resourcemanager/folder/resource.go @@ -219,12 +219,17 @@ func (r *folderResource) Create(ctx context.Context, req resource.CreateRequest, return } - // This sleep is currently needed due to the IAM Cache. - time.Sleep(10 * time.Second) ctx = utils.SetAndLogStateFields(ctx, &resp.Diagnostics, &resp.State, map[string]any{ "container_id": *folderCreateResp.ContainerId, }) + select { + case <-ctx.Done(): + return + case <-time.After(10 * time.Second): // This sleep is currently needed due to the IAM Cache. + // continue + } + folderGetResponse, err := r.client.GetFolderDetails(ctx, *folderCreateResp.ContainerId).Execute() if err != nil { core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating folder", fmt.Sprintf("Calling API: %v", err))