From ffc86dec951ee945d0b28ff10f7dd1599dd794eb Mon Sep 17 00:00:00 2001 From: Carlo Goetz Date: Wed, 5 Aug 2026 18:18:13 +0200 Subject: [PATCH 1/2] fix(sqlserverflex): use waiter on user create + delete STACKITTPR-785 --- go.mod | 2 +- go.sum | 4 ++-- .../services/sqlserverflex/user/resource.go | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 687c9530a..9e789d12a 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.1 + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 diff --git a/go.sum b/go.sum index 0c9fe380b..770cbf3ba 100644 --- a/go.sum +++ b/go.sum @@ -221,8 +221,8 @@ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 h1:YhQ2GF+AyHVUps1iE github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI= github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0 h1:eu9PhRdL2GkXpHtf4NN9YBCUYcARdvAwq+g/FW4hmi4= github.com/stackitcloud/stackit-sdk-go/services/ske v1.21.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.1 h1:pjFVw2Tc0cSfAzmyZRiLknuKSADs7nPXNUyrM216CwQ= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.16.1/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0 h1:skiTu1l1H0gumo9kosp5fSzrjWDZWcUM5pBH6aqUaG8= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.17.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0 h1:RG+cZzvIb+NoVNYemvwG5UHR9qEqea6IuHVYtojeBbQ= github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.4.0/go.mod h1:hgw8janWmDfP2bnuZensxqcAePr49BX5ug8Rq85o+h8= github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.4.0 h1:tEKBl3g7SIjZ8aa43nNjS1Rqr/IwxQ3Pr1MArYF0fno= diff --git a/stackit/internal/services/sqlserverflex/user/resource.go b/stackit/internal/services/sqlserverflex/user/resource.go index 627a83dc8..d8e1b3604 100644 --- a/stackit/internal/services/sqlserverflex/user/resource.go +++ b/stackit/internal/services/sqlserverflex/user/resource.go @@ -29,6 +29,7 @@ import ( "github.com/hashicorp/terraform-plugin-framework/types" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" sqlserverflex "github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex/v3api" + "github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex/v3api/wait" ) // Ensure the implementation satisfies the expected interfaces. @@ -284,6 +285,13 @@ func (r *userResource) Create(ctx context.Context, req resource.CreateRequest, r "instance_id": instanceId, "user_id": userId, }) + + _, err = wait.CreateUserWaitHandler(ctx, r.client.DefaultAPI, projectId, region, instanceId, userResp.Id).WaitWithContext(ctx) + if err != nil { + core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating user", fmt.Sprintf("user creation waiting: %v", err)) + return + } + // Map response body to schema err = mapFieldsCreate(userResp, &model, region) if err != nil { @@ -404,6 +412,12 @@ func (r *userResource) Delete(ctx context.Context, req resource.DeleteRequest, r ctx = core.LogResponse(ctx) + _, err = wait.DeleteUserWaitHandler(ctx, r.client.DefaultAPI, projectId, region, instanceId, userId).WaitWithContext(ctx) + if err != nil { + core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting user", fmt.Sprintf("user deletion waiting", err)) + return + } + tflog.Info(ctx, "SQLServer Flex user deleted") } From 64aa553abc21b3bc89eb65ba055ec943c1170dd4 Mon Sep 17 00:00:00 2001 From: Carlo Goetz Date: Wed, 5 Aug 2026 18:29:45 +0200 Subject: [PATCH 2/2] fix(sqlserverflex): add fmt directive for err --- stackit/internal/services/sqlserverflex/user/resource.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stackit/internal/services/sqlserverflex/user/resource.go b/stackit/internal/services/sqlserverflex/user/resource.go index d8e1b3604..59f1b4734 100644 --- a/stackit/internal/services/sqlserverflex/user/resource.go +++ b/stackit/internal/services/sqlserverflex/user/resource.go @@ -414,7 +414,7 @@ func (r *userResource) Delete(ctx context.Context, req resource.DeleteRequest, r _, err = wait.DeleteUserWaitHandler(ctx, r.client.DefaultAPI, projectId, region, instanceId, userId).WaitWithContext(ctx) if err != nil { - core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting user", fmt.Sprintf("user deletion waiting", err)) + core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting user", fmt.Sprintf("user deletion waiting: %v", err)) return }