From 62fdad3955278fbf4fb0d635a37babf2d97f45f7 Mon Sep 17 00:00:00 2001 From: "ske-renovate-ce[bot]" <163154779+ske-renovate-ce[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 09:29:26 +0000 Subject: [PATCH 1/2] Update module github.com/stackitcloud/stackit-sdk-go/services/iaas to v1.7.0 --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 986e20c0..c8fae8f5 100644 --- a/go.mod +++ b/go.mod @@ -7,8 +7,8 @@ require ( github.com/onsi/ginkgo/v2 v2.28.1 github.com/onsi/gomega v1.39.1 github.com/spf13/pflag v1.0.10 - github.com/stackitcloud/stackit-sdk-go/core v0.22.0 - github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 + github.com/stackitcloud/stackit-sdk-go/core v0.23.0 + github.com/stackitcloud/stackit-sdk-go/services/iaas v1.7.0 k8s.io/api v0.35.3 k8s.io/apimachinery v0.35.3 k8s.io/component-base v0.35.3 diff --git a/go.sum b/go.sum index fdb8d2fb..25fe71f0 100644 --- a/go.sum +++ b/go.sum @@ -107,10 +107,10 @@ github.com/spf13/cobra v1.10.0/go.mod h1:9dhySC7dnTtEiqzmqfkLj47BslqLCUPMXjG2lj/ github.com/spf13/pflag v1.0.8/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stackitcloud/stackit-sdk-go/core v0.22.0 h1:6rViz7GnNwXSh51Lur5xuDzO8EWSZfN9J0HvEkBKq6c= -github.com/stackitcloud/stackit-sdk-go/core v0.22.0/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5 h1:W57+XRa8wTLsi5CV9Tqa7mGgt/PvlRM//RurXSmvII8= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.5/go.mod h1:lTWjW57eAq1bwfM6nsNinhoBr3MHFW/GaFasdAsYfDM= +github.com/stackitcloud/stackit-sdk-go/core v0.23.0 h1:zPrOhf3Xe47rKRs1fg/AqKYUiJJRYjdcv+3qsS50mEs= +github.com/stackitcloud/stackit-sdk-go/core v0.23.0/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.7.0 h1:WyOC7tEazOPF9PwlExsycYvhm2l9OcjGQfZHDAckVIc= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.7.0/go.mod h1:78hDXs5sEokK2sAaBSn79kodytszmDYEAuMS56kPHIw= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= From c0c8c64f37e3df6088c5475f3937f1ef6440deff Mon Sep 17 00:00:00 2001 From: Felix Breuer Date: Thu, 19 Mar 2026 12:11:47 +0100 Subject: [PATCH 2/2] use new iaas default api Signed-off-by: Felix Breuer --- pkg/client/helper.go | 10 ++++---- pkg/client/sdk.go | 53 ++++++++++++++++++------------------------ pkg/client/sdk_test.go | 8 +++---- 3 files changed, 31 insertions(+), 40 deletions(-) diff --git a/pkg/client/helper.go b/pkg/client/helper.go index 35cfa236..4e080ba7 100644 --- a/pkg/client/helper.go +++ b/pkg/client/helper.go @@ -13,16 +13,14 @@ func convertLabelsToSDK(labels map[string]string) map[string]any { return result } -// convertLabelsFromSDK converts *map[string]any from SDK to map[string]string -// -//nolint:gocritic // SDK requires *map -func convertLabelsFromSDK(labels *map[string]any) map[string]string { +// convertLabelsFromSDK converts map[string]any from SDK to map[string]string +func convertLabelsFromSDK(labels map[string]any) map[string]string { if labels == nil { return nil } - result := make(map[string]string, len(*labels)) - for k, v := range *labels { + result := make(map[string]string, len(labels)) + for k, v := range labels { if strVal, ok := v.(string); ok { result[k] = strVal } diff --git a/pkg/client/sdk.go b/pkg/client/sdk.go index 6691a690..27174edd 100644 --- a/pkg/client/sdk.go +++ b/pkg/client/sdk.go @@ -9,7 +9,7 @@ import ( "github.com/stackitcloud/stackit-sdk-go/core/config" "github.com/stackitcloud/stackit-sdk-go/core/oapierror" - "github.com/stackitcloud/stackit-sdk-go/services/iaas" + iaas "github.com/stackitcloud/stackit-sdk-go/services/iaas/v2api" ) // SdkStackitClient is an SDK implementation of StackitClient @@ -136,14 +136,14 @@ func (c *SdkStackitClient) CreateServer(ctx context.Context, projectID, region s payload.SetSecurityGroups(req.SecurityGroups) } - // UserData - SDK expects *[]byte (base64-encoded bytes) + // UserData if req.UserData != "" { - payload.SetUserData([]byte(req.UserData)) + payload.SetUserData(req.UserData) } // Boot Volume if req.BootVolume != nil { - bootVolume := iaas.NewServerBootVolume() + bootVolume := iaas.NewBootVolume() if req.BootVolume.Size > 0 { bootVolume.SetSize(int64(req.BootVolume.Size)) } @@ -198,7 +198,7 @@ func (c *SdkStackitClient) CreateServer(ctx context.Context, projectID, region s } // Call SDK using the stored client - sdkServer, err := c.iaasClient.CreateServer(ctx, projectID, region). + sdkServer, err := c.iaasClient.DefaultAPI.CreateServer(ctx, projectID, region). CreateServerPayload(*payload). Execute() if err != nil { @@ -213,7 +213,7 @@ func (c *SdkStackitClient) CreateServer(ctx context.Context, projectID, region s // GetServer retrieves a server by ID via STACKIT SDK func (c *SdkStackitClient) GetServer(ctx context.Context, projectID, region, serverID string) (*Server, error) { - sdkServer, err := c.iaasClient.GetServer(ctx, projectID, region, serverID).Execute() + sdkServer, err := c.iaasClient.DefaultAPI.GetServer(ctx, projectID, region, serverID).Execute() if err != nil { // Check if error is 404 Not Found if isNotFoundError(err) { @@ -230,7 +230,7 @@ func (c *SdkStackitClient) GetServer(ctx context.Context, projectID, region, ser // DeleteServer deletes a server by ID via STACKIT SDK func (c *SdkStackitClient) DeleteServer(ctx context.Context, projectID, region, serverID string) error { - err := c.iaasClient.DeleteServer(ctx, projectID, region, serverID).Execute() + err := c.iaasClient.DefaultAPI.DeleteServer(ctx, projectID, region, serverID).Execute() if err != nil { // Check if error is 404 Not Found - this is OK (idempotent) if isNotFoundError(err) { @@ -244,7 +244,7 @@ func (c *SdkStackitClient) DeleteServer(ctx context.Context, projectID, region, // ListServers lists all servers in a project via STACKIT SDK func (c *SdkStackitClient) ListServers(ctx context.Context, projectID, region string, labelSelector map[string]string) ([]*Server, error) { - serverRequest := c.iaasClient.ListServers(ctx, projectID, region) + serverRequest := c.iaasClient.DefaultAPI.ListServers(ctx, projectID, region) if labelSelector != nil { sb := strings.Builder{} @@ -269,30 +269,25 @@ func (c *SdkStackitClient) ListServers(ctx context.Context, projectID, region st // Convert SDK servers to our Server type servers := make([]*Server, 0) - if sdkResponse.Items != nil { - for i := range *sdkResponse.Items { - sdkServer := &(*sdkResponse.Items)[i] - server := convertSDKServerToServer(sdkServer) - servers = append(servers, server) - } + + for i := range sdkResponse.Items { + sdkServer := &sdkResponse.Items[i] + server := convertSDKServerToServer(sdkServer) + servers = append(servers, server) } return servers, nil } func (c *SdkStackitClient) GetNICsForServer(ctx context.Context, projectID, region, serverID string) ([]*NIC, error) { - res, err := c.iaasClient.ListServerNICs(ctx, projectID, region, serverID).Execute() + res, err := c.iaasClient.DefaultAPI.ListServerNICs(ctx, projectID, region, serverID).Execute() if err != nil { return nil, fmt.Errorf("SDK ListServerNICs failed: %w", err) } - if res.Items == nil { - return []*NIC{}, nil - } - nics := make([]*NIC, 0) - for _, nic := range *res.Items { - nics = append(nics, convertSDKNICtoNIC(&nic)) + for i := range res.Items { + nics = append(nics, convertSDKNICtoNIC(&res.Items[i])) } return nics, nil @@ -301,17 +296,17 @@ func (c *SdkStackitClient) GetNICsForServer(ctx context.Context, projectID, regi func (c *SdkStackitClient) UpdateNIC(ctx context.Context, projectID, region, networkID, nicID string, allowedAddresses []string) (*NIC, error) { addresses := make([]iaas.AllowedAddressesInner, len(allowedAddresses)) - for i, addr := range allowedAddresses { + for i := range allowedAddresses { addresses[i] = iaas.AllowedAddressesInner{ - String: &addr, + String: &allowedAddresses[i], } } payload := iaas.UpdateNicPayload{ - AllowedAddresses: &addresses, + AllowedAddresses: addresses, } - sdkNic, err := c.iaasClient.UpdateNic(ctx, projectID, region, networkID, nicID).UpdateNicPayload(payload).Execute() + sdkNic, err := c.iaasClient.DefaultAPI.UpdateNic(ctx, projectID, region, networkID, nicID).UpdateNicPayload(payload).Execute() if err != nil { return nil, fmt.Errorf("SDK UpdateNic failed: %w", err) } @@ -327,11 +322,9 @@ func (c *SdkStackitClient) UpdateNIC(ctx context.Context, projectID, region, net func convertSDKNICtoNIC(nic *iaas.NIC) *NIC { addresses := make([]string, 0) - if nic.AllowedAddresses != nil { - for _, addr := range *nic.AllowedAddresses { - if addr.String != nil { - addresses = append(addresses, *addr.String) - } + for _, addr := range nic.AllowedAddresses { + if addr.String != nil { + addresses = append(addresses, *addr.String) } } diff --git a/pkg/client/sdk_test.go b/pkg/client/sdk_test.go index 348929be..21ea9dfd 100644 --- a/pkg/client/sdk_test.go +++ b/pkg/client/sdk_test.go @@ -144,7 +144,7 @@ var _ = Describe("SDK Type Conversion Helpers", func() { "team": "platform", } - result := convertLabelsFromSDK(&sdkLabels) + result := convertLabelsFromSDK(sdkLabels) Expect(result).NotTo(BeNil()) Expect(result).To(HaveLen(2)) @@ -155,7 +155,7 @@ var _ = Describe("SDK Type Conversion Helpers", func() { It("should convert empty SDK labels map", func() { sdkLabels := map[string]any{} - result := convertLabelsFromSDK(&sdkLabels) + result := convertLabelsFromSDK(sdkLabels) Expect(result).NotTo(BeNil()) Expect(result).To(BeEmpty()) @@ -169,7 +169,7 @@ var _ = Describe("SDK Type Conversion Helpers", func() { "team": "platform", // string } - result := convertLabelsFromSDK(&sdkLabels) + result := convertLabelsFromSDK(sdkLabels) Expect(result).NotTo(BeNil()) Expect(result).To(HaveLen(2)) @@ -185,7 +185,7 @@ var _ = Describe("SDK Type Conversion Helpers", func() { "team": nil, } - result := convertLabelsFromSDK(&sdkLabels) + result := convertLabelsFromSDK(sdkLabels) Expect(result).NotTo(BeNil()) Expect(result).To(HaveLen(1))