From 3dbf79c95fd111ea2c76a9174a712bdcf15c2231 Mon Sep 17 00:00:00 2001 From: "Marcel S. Henselin" Date: Mon, 2 Feb 2026 10:52:21 +0000 Subject: [PATCH] fix: refactor sqlserver handle optional encryption (#27) ## Description relates to #1234 ## Checklist - [ ] Issue was linked above - [ ] Code format was applied: `make fmt` - [ ] Examples were added / adjusted (see `examples/` directory) - [x] Docs are up-to-date: `make generate-docs` (will be checked by CI) - [ ] Unit tests got implemented or updated - [ ] Acceptance tests got implemented or updated (see e.g. [here](https://github.com/stackitcloud/terraform-provider-stackit/blob/f5f99d170996b208672ae684b6da53420e369563/stackit/internal/services/dns/dns_acc_test.go)) - [x] Unit tests are passing: `make test` (will be checked by CI) - [x] No linter issues: `make lint` (will be checked by CI) Reviewed-on: https://tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pulls/27 Co-authored-by: Marcel S. Henselin Co-committed-by: Marcel S. Henselin --- .../sqlserverflexalpha/instance/functions.go | 18 ++++++++++++------ .../internal/wait/sqlserverflexalpha/wait.go | 13 ++++++++----- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/stackit/internal/services/sqlserverflexalpha/instance/functions.go b/stackit/internal/services/sqlserverflexalpha/instance/functions.go index a86ea422..b451eb70 100644 --- a/stackit/internal/services/sqlserverflexalpha/instance/functions.go +++ b/stackit/internal/services/sqlserverflexalpha/instance/functions.go @@ -175,12 +175,18 @@ func toCreatePayload( storagePayload.Size = conversion.Int64ValueToPointer(storage.Size) } - encryptionPayload := &sqlserverflex.CreateInstanceRequestPayloadGetEncryptionArgType{} - if encryption != nil { - encryptionPayload.KekKeyId = conversion.StringValueToPointer(encryption.KeyId) - encryptionPayload.KekKeyVersion = conversion.StringValueToPointer(encryption.KeyVersion) - encryptionPayload.KekKeyRingId = conversion.StringValueToPointer(encryption.KeyRingId) - encryptionPayload.ServiceAccount = conversion.StringValueToPointer(encryption.ServiceAccount) + var encryptionPayload *sqlserverflex.CreateInstanceRequestPayloadGetEncryptionArgType + if encryption != nil && + !encryption.KeyId.IsNull() && !encryption.KeyId.IsUnknown() && + !encryption.KeyRingId.IsNull() && !encryption.KeyRingId.IsUnknown() && + !encryption.KeyVersion.IsNull() && !encryption.KeyVersion.IsUnknown() && + !encryption.ServiceAccount.IsNull() && !encryption.ServiceAccount.IsUnknown() { + encryptionPayload = &sqlserverflex.CreateInstanceRequestPayloadGetEncryptionArgType{ + KekKeyId: conversion.StringValueToPointer(encryption.KeyId), + KekKeyRingId: conversion.StringValueToPointer(encryption.KeyVersion), + KekKeyVersion: conversion.StringValueToPointer(encryption.KeyRingId), + ServiceAccount: conversion.StringValueToPointer(encryption.ServiceAccount), + } } var aclElements []string diff --git a/stackit/internal/wait/sqlserverflexalpha/wait.go b/stackit/internal/wait/sqlserverflexalpha/wait.go index af7d23bc..7484cbe9 100644 --- a/stackit/internal/wait/sqlserverflexalpha/wait.go +++ b/stackit/internal/wait/sqlserverflexalpha/wait.go @@ -16,12 +16,15 @@ import ( sqlserverflex "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/sqlserverflexalpha" ) +// READY, PENDING, PROGRESSING, FAILURE, UNKNOWN, const ( - InstanceStateEmpty = "" - InstanceStateProcessing = "Progressing" - InstanceStateUnknown = "Unknown" - InstanceStateSuccess = "Ready" - InstanceStateFailed = "Failed" + InstanceStateEmpty = "" + InstanceStateSuccess = "READY" + InstanceStatePending = "PENDING" + InstanceStateProcessing = "PROGRESSING" + InstanceStateFailed = "FAILURE" + InstanceStateUnknown = "UNKNOWN" + InstanceStateTerminating = "TERMINATING" ) // APIClientInstanceInterface Interface needed for tests