From 11573835dc36914b3693131b04d76a3570c678ef Mon Sep 17 00:00:00 2001 From: "Marcel S. Henselin" Date: Mon, 2 Feb 2026 11:51:56 +0100 Subject: [PATCH] fix: refactor sqlserver handle optional encryption --- .../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