Skip to content

Commit 91c8293

Browse files
committed
fix: update dependencies and fix breaking API changes
- Update Azure SDK from v6 to v7 for armcompute and armnetwork - Update Azure SDK armresources from v1 to v3 - Update gophercloud from v2 to v1.14.1 - Fix Scaleway API changes: migrate from account v2alpha1 to IAM v1alpha1 for SSH key management - Fix Ionos API changes: use DatacenterPost and Lan types instead of deprecated types - Add client field to Scaleway struct to access project ID - Update go.mod to use Go 1.23.0 with toolchain go1.24.6
1 parent 3fabc88 commit 91c8293

File tree

5 files changed

+275
-305
lines changed

5 files changed

+275
-305
lines changed

cloud/azure/azure.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import (
1010

1111
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
1212
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
13-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5"
14-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v5"
15-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
13+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v7"
14+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v7"
15+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources/v3"
1616
"github.com/dirien/minectl-sdk/automation"
1717
"github.com/dirien/minectl-sdk/cloud"
1818
"github.com/dirien/minectl-sdk/common"

cloud/ionos/ionos.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ func (i *IONOS) CreateServer(args automation.ServerArgs) (*automation.ResourceRe
5252
}
5353
}
5454

55-
datacenter := ionoscloud.Datacenter{
56-
Properties: &ionoscloud.DatacenterProperties{
55+
datacenter := ionoscloud.DatacenterPost{
56+
Properties: &ionoscloud.DatacenterPropertiesPost{
5757
Name: ionoscloud.PtrString(fmt.Sprintf("%s-dc", args.MinecraftResource.GetName())),
5858
Location: ionoscloud.PtrString(args.MinecraftResource.GetRegion()),
5959
Description: ionoscloud.PtrString(common.InstanceTag),
@@ -69,8 +69,8 @@ func (i *IONOS) CreateServer(args automation.ServerArgs) (*automation.ResourceRe
6969
return nil, err
7070
}
7171

72-
lanRequest := ionoscloud.LanPost{
73-
Properties: &ionoscloud.LanPropertiesPost{
72+
lanRequest := ionoscloud.Lan{
73+
Properties: &ionoscloud.LanProperties{
7474
Name: ionoscloud.PtrString(fmt.Sprintf("%s-lan", args.MinecraftResource.GetName())),
7575
Public: ionoscloud.PtrBool(true),
7676
},

cloud/scaleway/scaleway.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@ import (
1111
"github.com/dirien/minectl-sdk/common"
1212
minctlTemplate "github.com/dirien/minectl-sdk/template"
1313
"github.com/dirien/minectl-sdk/update"
14-
account "github.com/scaleway/scaleway-sdk-go/api/account/v2alpha1"
14+
"github.com/scaleway/scaleway-sdk-go/api/iam/v1alpha1"
1515
"github.com/scaleway/scaleway-sdk-go/api/instance/v1"
1616
"github.com/scaleway/scaleway-sdk-go/scw"
1717
)
1818

1919
type Scaleway struct {
2020
instanceAPI *instance.API
21-
accountAPI *account.API
21+
iamAPI *iam.API
2222
tmpl *minctlTemplate.Template
23+
client *scw.Client
2324
}
2425

2526
func NewScaleway(accessKey, secretKey, organizationID, region string) (*Scaleway, error) {
@@ -42,8 +43,9 @@ func NewScaleway(accessKey, secretKey, organizationID, region string) (*Scaleway
4243
}
4344
return &Scaleway{
4445
instanceAPI: instance.NewAPI(client),
45-
accountAPI: account.NewAPI(client),
46+
iamAPI: iam.NewAPI(client),
4647
tmpl: tmpl,
48+
client: client,
4749
}, nil
4850
}
4951

@@ -52,17 +54,19 @@ func (s *Scaleway) CreateServer(args automation.ServerArgs) (*automation.Resourc
5254
if err != nil {
5355
return nil, err
5456
}
55-
_, err = s.accountAPI.CreateSSHKey(&account.CreateSSHKeyRequest{
57+
projectID, _ := s.client.GetDefaultProjectID()
58+
_, err = s.iamAPI.CreateSSHKey(&iam.CreateSSHKeyRequest{
5659
Name: fmt.Sprintf("%s-ssh", args.MinecraftResource.GetName()),
5760
PublicKey: *publicKey,
61+
ProjectID: projectID,
5862
})
5963
if err != nil {
6064
return nil, err
6165
}
6266
server, err := s.instanceAPI.CreateServer(&instance.CreateServerRequest{
6367
Name: args.MinecraftResource.GetName(),
6468
CommercialType: args.MinecraftResource.GetSize(),
65-
Image: "ubuntu_jammy",
69+
Image: scw.StringPtr("ubuntu_jammy"),
6670
Tags: []string{"minectl"},
6771
DynamicIPRequired: scw.BoolPtr(true),
6872
})
@@ -158,14 +162,14 @@ func (s *Scaleway) DeleteServer(id string, args automation.ServerArgs) error {
158162
return err
159163
}
160164
}
161-
keys, err := s.accountAPI.ListSSHKeys(&account.ListSSHKeysRequest{
165+
keys, err := s.iamAPI.ListSSHKeys(&iam.ListSSHKeysRequest{
162166
Name: scw.StringPtr(fmt.Sprintf("%s-ssh", args.MinecraftResource.GetName())),
163167
})
164168
if err != nil {
165169
return err
166170
}
167171
for _, key := range keys.SSHKeys {
168-
err := s.accountAPI.DeleteSSHKey(&account.DeleteSSHKeyRequest{
172+
err := s.iamAPI.DeleteSSHKey(&iam.DeleteSSHKeyRequest{
169173
SSHKeyID: key.ID,
170174
})
171175
if err != nil {

go.mod

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/dirien/minectl-sdk
22

3-
go 1.22
3+
go 1.23.0
44

55
toolchain go1.24.6
66

@@ -21,7 +21,7 @@ require (
2121
github.com/exoscale/egoscale v0.101.1
2222
github.com/fatih/color v1.18.0
2323
github.com/google/uuid v1.6.0
24-
github.com/gophercloud/gophercloud/v2 v2.7.0
24+
github.com/gophercloud/gophercloud v1.14.1
2525
github.com/hashicorp/go-cleanhttp v0.5.2
2626
github.com/hetznercloud/hcloud-go/v2 v2.22.0
2727
github.com/ionos-cloud/sdk-go/v6 v6.3.4
@@ -40,84 +40,84 @@ require (
4040
)
4141

4242
require (
43-
cloud.google.com/go/auth v0.6.0 // indirect
44-
cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
45-
cloud.google.com/go/compute/metadata v0.3.0 // indirect
46-
github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 // indirect
47-
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
43+
cloud.google.com/go/auth v0.16.3 // indirect
44+
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
45+
cloud.google.com/go/compute/metadata v0.7.0 // indirect
46+
dario.cat/mergo v1.0.1 // indirect
47+
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect
48+
github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 // indirect
4849
github.com/Masterminds/goutils v1.1.1 // indirect
49-
github.com/Masterminds/semver/v3 v3.2.0 // indirect
50-
github.com/aws/aws-sdk-go-v2/credentials v1.17.21 // indirect
51-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.8 // indirect
52-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.12 // indirect
53-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.12 // indirect
54-
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
55-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect
56-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.14 // indirect
57-
github.com/aws/aws-sdk-go-v2/service/sso v1.21.1 // indirect
58-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.25.1 // indirect
59-
github.com/aws/aws-sdk-go-v2/service/sts v1.29.1 // indirect
60-
github.com/aws/smithy-go v1.20.2 // indirect
50+
github.com/Masterminds/semver/v3 v3.3.0 // indirect
51+
github.com/aws/aws-sdk-go-v2/credentials v1.18.4 // indirect
52+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.3 // indirect
53+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.3 // indirect
54+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.3 // indirect
55+
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
56+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect
57+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.3 // indirect
58+
github.com/aws/aws-sdk-go-v2/service/sso v1.28.0 // indirect
59+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.33.0 // indirect
60+
github.com/aws/aws-sdk-go-v2/service/sts v1.37.0 // indirect
61+
github.com/aws/smithy-go v1.22.5 // indirect
6162
github.com/beorn7/perks v1.0.1 // indirect
62-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
63+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
6364
github.com/davecgh/go-spew v1.1.1 // indirect
6465
github.com/deepmap/oapi-codegen v1.9.1 // indirect
6566
github.com/felixge/httpsnoop v1.0.4 // indirect
66-
github.com/go-logr/logr v1.4.1 // indirect
67+
github.com/go-logr/logr v1.4.3 // indirect
6768
github.com/go-logr/stdr v1.2.2 // indirect
68-
github.com/go-resty/resty/v2 v2.13.1 // indirect
69+
github.com/go-resty/resty/v2 v2.16.5 // indirect
6970
github.com/gofrs/flock v0.8.1 // indirect
7071
github.com/gofrs/uuid v4.4.0+incompatible // indirect
7172
github.com/gogo/protobuf v1.3.2 // indirect
72-
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
73-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
74-
github.com/golang/protobuf v1.5.4 // indirect
73+
github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
7574
github.com/google/go-querystring v1.1.0 // indirect
7675
github.com/google/gofuzz v1.1.0 // indirect
77-
github.com/google/s2a-go v0.1.7 // indirect
78-
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
79-
github.com/googleapis/gax-go/v2 v2.12.5 // indirect
80-
github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
81-
github.com/huandu/xstrings v1.3.3 // indirect
82-
github.com/imdario/mergo v0.3.11 // indirect
83-
github.com/jmespath/go-jmespath v0.4.0 // indirect
76+
github.com/google/s2a-go v0.1.9 // indirect
77+
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
78+
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
79+
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
80+
github.com/huandu/xstrings v1.5.0 // indirect
8481
github.com/json-iterator/go v1.1.12 // indirect
8582
github.com/kr/fs v0.1.0 // indirect
8683
github.com/kylelemons/godebug v1.1.0 // indirect
8784
github.com/mattn/go-colorable v0.1.13 // indirect
8885
github.com/mattn/go-isatty v0.0.20 // indirect
89-
github.com/mitchellh/copystructure v1.0.0 // indirect
90-
github.com/mitchellh/reflectwalk v1.0.0 // indirect
86+
github.com/mitchellh/copystructure v1.2.0 // indirect
87+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
9188
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
9289
github.com/modern-go/reflect2 v1.0.2 // indirect
90+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
9391
github.com/ovh/go-ovh v1.3.0 // indirect
9492
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
9593
github.com/pkg/sftp v1.13.5 // indirect
9694
github.com/pmezard/go-difflib v1.0.0 // indirect
97-
github.com/prometheus/client_golang v1.19.1 // indirect
98-
github.com/prometheus/client_model v0.5.0 // indirect
99-
github.com/prometheus/common v0.48.0 // indirect
100-
github.com/prometheus/procfs v0.12.0 // indirect
101-
github.com/shopspring/decimal v1.2.0 // indirect
95+
github.com/prometheus/client_golang v1.22.0 // indirect
96+
github.com/prometheus/client_model v0.6.1 // indirect
97+
github.com/prometheus/common v0.62.0 // indirect
98+
github.com/prometheus/procfs v0.15.1 // indirect
99+
github.com/shopspring/decimal v1.4.0 // indirect
102100
github.com/sony/gobreaker v0.5.0 // indirect
103-
github.com/spf13/cast v1.3.1 // indirect
101+
github.com/spf13/cast v1.7.0 // indirect
104102
github.com/stretchr/objx v0.5.2 // indirect
105-
go.opencensus.io v0.24.0 // indirect
106-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
107-
go.opentelemetry.io/otel v1.24.0 // indirect
108-
go.opentelemetry.io/otel/metric v1.24.0 // indirect
109-
go.opentelemetry.io/otel/trace v1.24.0 // indirect
103+
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
104+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
105+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
106+
go.opentelemetry.io/otel v1.36.0 // indirect
107+
go.opentelemetry.io/otel/metric v1.36.0 // indirect
108+
go.opentelemetry.io/otel/trace v1.36.0 // indirect
110109
go.uber.org/multierr v1.10.0 // indirect
111-
golang.org/x/mod v0.17.0 // indirect
112-
golang.org/x/net v0.26.0 // indirect
113-
golang.org/x/sys v0.21.0 // indirect
114-
golang.org/x/text v0.16.0 // indirect
115-
golang.org/x/time v0.5.0 // indirect
116-
google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4 // indirect
117-
google.golang.org/grpc v1.64.0 // indirect
118-
google.golang.org/protobuf v1.34.2 // indirect
110+
golang.org/x/mod v0.26.0 // indirect
111+
golang.org/x/net v0.42.0 // indirect
112+
golang.org/x/sys v0.35.0 // indirect
113+
golang.org/x/text v0.28.0 // indirect
114+
golang.org/x/time v0.12.0 // indirect
115+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 // indirect
116+
google.golang.org/grpc v1.74.2 // indirect
117+
google.golang.org/protobuf v1.36.6 // indirect
119118
gopkg.in/inf.v0 v0.9.1 // indirect
120119
gopkg.in/ini.v1 v1.66.6 // indirect
120+
gopkg.in/validator.v2 v2.0.1 // indirect
121121
gopkg.in/yaml.v2 v2.4.0 // indirect
122122
gopkg.in/yaml.v3 v3.0.1 // indirect
123123
k8s.io/api v0.27.1 // indirect

0 commit comments

Comments
 (0)