Skip to content

Commit 659cae6

Browse files
committed
feat(mariadb): region adjustments
relates to STACKITCLI-410
1 parent f905bf4 commit 659cae6

25 files changed

Lines changed: 240 additions & 195 deletions

File tree

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ require (
267267
github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0
268268
github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0
269269
github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1
270-
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.30.0
270+
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0
271271
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0
272272
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0
273273
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.1.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -616,8 +616,8 @@ github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1 h1:iteL61eMMPWT6872
616616
github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.1/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
617617
github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc=
618618
github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
619-
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.30.0 h1:LFIH1wAp633ZAJw/7H3F4nq1DZe0Qu3rlDeXhobZEZA=
620-
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.30.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
619+
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0 h1:3IZ3baztlqmkkDxwBfRymYTFeZa3AARVXYlt3hohfPs=
620+
github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.1.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
621621
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 h1:SVd3WMmLAE0Jxk2SaRuM85DTOOXHycyMpZGx9vzqNkI=
622622
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
623623
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 h1:T+ll3lS0Kn18d8hTOrVAMKcQrXiab+Cuj0cTnAYHmj0=

internal/cmd/mariadb/credentials/create/create.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
88

99
"github.com/spf13/cobra"
10-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
10+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
1111

1212
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
1313
"github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -57,7 +57,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
5757
return err
5858
}
5959

60-
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.InstanceId)
60+
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId)
6161
if err != nil {
6262
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6363
instanceLabel = model.InstanceId
@@ -108,7 +108,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
108108
}
109109

110110
func buildRequest(ctx context.Context, model *inputModel, apiClient *mariadb.APIClient) mariadb.ApiCreateCredentialsRequest {
111-
req := apiClient.DefaultAPI.CreateCredentials(ctx, model.ProjectId, model.InstanceId)
111+
req := apiClient.DefaultAPI.CreateCredentials(ctx, model.ProjectId, model.Region, model.InstanceId)
112112
return req
113113
}
114114

internal/cmd/mariadb/credentials/create/create_test.go

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,25 @@ import (
1111
"github.com/google/go-cmp/cmp"
1212
"github.com/google/go-cmp/cmp/cmpopts"
1313
"github.com/google/uuid"
14-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
14+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
1515
)
1616

17-
var projectIdFlag = globalflags.ProjectIdFlag
18-
1917
type testCtxKey struct{}
2018

21-
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
22-
var testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
23-
var testProjectId = uuid.NewString()
24-
var testInstanceId = uuid.NewString()
19+
var (
20+
testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
21+
testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
22+
testProjectId = uuid.NewString()
23+
testInstanceId = uuid.NewString()
24+
)
25+
26+
const testRegion = "eu01"
2527

2628
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2729
flagValues := map[string]string{
28-
projectIdFlag: testProjectId,
29-
instanceIdFlag: testInstanceId,
30+
globalflags.ProjectIdFlag: testProjectId,
31+
globalflags.RegionFlag: testRegion,
32+
instanceIdFlag: testInstanceId,
3033
}
3134
for _, mod := range mods {
3235
mod(flagValues)
@@ -38,6 +41,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3841
model := &inputModel{
3942
GlobalFlagModel: &globalflags.GlobalFlagModel{
4043
ProjectId: testProjectId,
44+
Region: testRegion,
4145
Verbosity: globalflags.VerbosityDefault,
4246
},
4347
InstanceId: testInstanceId,
@@ -49,7 +53,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4953
}
5054

5155
func fixtureRequest(mods ...func(request *mariadb.ApiCreateCredentialsRequest)) mariadb.ApiCreateCredentialsRequest {
52-
request := testClient.DefaultAPI.CreateCredentials(testCtx, testProjectId, testInstanceId)
56+
request := testClient.DefaultAPI.CreateCredentials(testCtx, testProjectId, testRegion, testInstanceId)
5357
for _, mod := range mods {
5458
mod(&request)
5559
}
@@ -88,21 +92,21 @@ func TestParseInput(t *testing.T) {
8892
{
8993
description: "project id missing",
9094
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
91-
delete(flagValues, projectIdFlag)
95+
delete(flagValues, globalflags.ProjectIdFlag)
9296
}),
9397
isValid: false,
9498
},
9599
{
96100
description: "project id invalid 1",
97101
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
98-
flagValues[projectIdFlag] = ""
102+
flagValues[globalflags.ProjectIdFlag] = ""
99103
}),
100104
isValid: false,
101105
},
102106
{
103107
description: "project id invalid 2",
104108
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
105-
flagValues[projectIdFlag] = "invalid-uuid"
109+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
106110
}),
107111
isValid: false,
108112
},

internal/cmd/mariadb/credentials/delete/delete.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
1818

1919
"github.com/spf13/cobra"
20-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
20+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
2121
)
2222

2323
const (
@@ -56,13 +56,13 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
5656
return err
5757
}
5858

59-
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.InstanceId)
59+
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId)
6060
if err != nil {
6161
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6262
instanceLabel = model.InstanceId
6363
}
6464

65-
credentialsLabel, err := mariadbUtils.GetCredentialsUsername(ctx, apiClient.DefaultAPI, model.ProjectId, model.InstanceId, model.CredentialsId)
65+
credentialsLabel, err := mariadbUtils.GetCredentialsUsername(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId, model.CredentialsId)
6666
if err != nil {
6767
params.Printer.Debug(print.ErrorLevel, "get credentials username: %v", err)
6868
credentialsLabel = model.CredentialsId
@@ -115,6 +115,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
115115
}
116116

117117
func buildRequest(ctx context.Context, model *inputModel, apiClient *mariadb.APIClient) mariadb.ApiDeleteCredentialsRequest {
118-
req := apiClient.DefaultAPI.DeleteCredentials(ctx, model.ProjectId, model.InstanceId, model.CredentialsId)
118+
req := apiClient.DefaultAPI.DeleteCredentials(ctx, model.ProjectId, model.Region, model.InstanceId, model.CredentialsId)
119119
return req
120120
}

internal/cmd/mariadb/credentials/delete/delete_test.go

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,20 @@ import (
1010
"github.com/google/go-cmp/cmp"
1111
"github.com/google/go-cmp/cmp/cmpopts"
1212
"github.com/google/uuid"
13-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
13+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
1414
)
1515

16-
var projectIdFlag = globalflags.ProjectIdFlag
17-
1816
type testCtxKey struct{}
1917

20-
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
21-
var testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
22-
var testProjectId = uuid.NewString()
23-
var testInstanceId = uuid.NewString()
24-
var testCredentialsId = uuid.NewString()
18+
var (
19+
testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
20+
testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
21+
testProjectId = uuid.NewString()
22+
testInstanceId = uuid.NewString()
23+
testCredentialsId = uuid.NewString()
24+
)
25+
26+
const testRegion = "eu01"
2527

2628
func fixtureArgValues(mods ...func(argValues []string)) []string {
2729
argValues := []string{
@@ -35,8 +37,9 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3537

3638
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3739
flagValues := map[string]string{
38-
projectIdFlag: testProjectId,
39-
instanceIdFlag: testInstanceId,
40+
globalflags.ProjectIdFlag: testProjectId,
41+
globalflags.RegionFlag: testRegion,
42+
instanceIdFlag: testInstanceId,
4043
}
4144
for _, mod := range mods {
4245
mod(flagValues)
@@ -48,6 +51,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4851
model := &inputModel{
4952
GlobalFlagModel: &globalflags.GlobalFlagModel{
5053
ProjectId: testProjectId,
54+
Region: testRegion,
5155
Verbosity: globalflags.VerbosityDefault,
5256
},
5357
InstanceId: testInstanceId,
@@ -60,7 +64,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6064
}
6165

6266
func fixtureRequest(mods ...func(request *mariadb.ApiDeleteCredentialsRequest)) mariadb.ApiDeleteCredentialsRequest {
63-
request := testClient.DefaultAPI.DeleteCredentials(testCtx, testProjectId, testInstanceId, testCredentialsId)
67+
request := testClient.DefaultAPI.DeleteCredentials(testCtx, testProjectId, testRegion, testInstanceId, testCredentialsId)
6468
for _, mod := range mods {
6569
mod(&request)
6670
}
@@ -104,23 +108,23 @@ func TestParseInput(t *testing.T) {
104108
description: "project id missing",
105109
argValues: fixtureArgValues(),
106110
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
107-
delete(flagValues, projectIdFlag)
111+
delete(flagValues, globalflags.ProjectIdFlag)
108112
}),
109113
isValid: false,
110114
},
111115
{
112116
description: "project id invalid 1",
113117
argValues: fixtureArgValues(),
114118
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
115-
flagValues[projectIdFlag] = ""
119+
flagValues[globalflags.ProjectIdFlag] = ""
116120
}),
117121
isValid: false,
118122
},
119123
{
120124
description: "project id invalid 2",
121125
argValues: fixtureArgValues(),
122126
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
123-
flagValues[projectIdFlag] = "invalid-uuid"
127+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
124128
}),
125129
isValid: false,
126130
},

internal/cmd/mariadb/credentials/describe/describe.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
1818

1919
"github.com/spf13/cobra"
20-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
20+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
2121
)
2222

2323
const (
@@ -99,7 +99,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
9999
}
100100

101101
func buildRequest(ctx context.Context, model *inputModel, apiClient *mariadb.APIClient) mariadb.ApiGetCredentialsRequest {
102-
req := apiClient.DefaultAPI.GetCredentials(ctx, model.ProjectId, model.InstanceId, model.CredentialsId)
102+
req := apiClient.DefaultAPI.GetCredentials(ctx, model.ProjectId, model.Region, model.InstanceId, model.CredentialsId)
103103
return req
104104
}
105105

internal/cmd/mariadb/credentials/describe/describe_test.go

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,20 @@ import (
1111
"github.com/google/go-cmp/cmp"
1212
"github.com/google/go-cmp/cmp/cmpopts"
1313
"github.com/google/uuid"
14-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
14+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
1515
)
1616

17-
var projectIdFlag = globalflags.ProjectIdFlag
18-
1917
type testCtxKey struct{}
2018

21-
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
22-
var testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
23-
var testProjectId = uuid.NewString()
24-
var testInstanceId = uuid.NewString()
25-
var testCredentialsId = uuid.NewString()
19+
var (
20+
testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
21+
testClient = &mariadb.APIClient{DefaultAPI: &mariadb.DefaultAPIService{}}
22+
testProjectId = uuid.NewString()
23+
testInstanceId = uuid.NewString()
24+
testCredentialsId = uuid.NewString()
25+
)
26+
27+
const testRegion = "eu01"
2628

2729
func fixtureArgValues(mods ...func(argValues []string)) []string {
2830
argValues := []string{
@@ -36,8 +38,9 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3638

3739
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3840
flagValues := map[string]string{
39-
projectIdFlag: testProjectId,
40-
instanceIdFlag: testInstanceId,
41+
globalflags.ProjectIdFlag: testProjectId,
42+
globalflags.RegionFlag: testRegion,
43+
instanceIdFlag: testInstanceId,
4144
}
4245
for _, mod := range mods {
4346
mod(flagValues)
@@ -49,6 +52,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4952
model := &inputModel{
5053
GlobalFlagModel: &globalflags.GlobalFlagModel{
5154
ProjectId: testProjectId,
55+
Region: testRegion,
5256
Verbosity: globalflags.VerbosityDefault,
5357
},
5458
InstanceId: testInstanceId,
@@ -61,7 +65,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6165
}
6266

6367
func fixtureRequest(mods ...func(request *mariadb.ApiGetCredentialsRequest)) mariadb.ApiGetCredentialsRequest {
64-
request := testClient.DefaultAPI.GetCredentials(testCtx, testProjectId, testInstanceId, testCredentialsId)
68+
request := testClient.DefaultAPI.GetCredentials(testCtx, testProjectId, testRegion, testInstanceId, testCredentialsId)
6569
for _, mod := range mods {
6670
mod(&request)
6771
}
@@ -105,23 +109,23 @@ func TestParseInput(t *testing.T) {
105109
description: "project id missing",
106110
argValues: fixtureArgValues(),
107111
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
108-
delete(flagValues, projectIdFlag)
112+
delete(flagValues, globalflags.ProjectIdFlag)
109113
}),
110114
isValid: false,
111115
},
112116
{
113117
description: "project id invalid 1",
114118
argValues: fixtureArgValues(),
115119
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
116-
flagValues[projectIdFlag] = ""
120+
flagValues[globalflags.ProjectIdFlag] = ""
117121
}),
118122
isValid: false,
119123
},
120124
{
121125
description: "project id invalid 2",
122126
argValues: fixtureArgValues(),
123127
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
124-
flagValues[projectIdFlag] = "invalid-uuid"
128+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
125129
}),
126130
isValid: false,
127131
},

internal/cmd/mariadb/credentials/list/list.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
88

99
"github.com/spf13/cobra"
10-
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v1api"
10+
mariadb "github.com/stackitcloud/stackit-sdk-go/services/mariadb/v2api"
1111

1212
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
1313
"github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -69,7 +69,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6969
}
7070
credentials := resp.GetCredentialsList()
7171

72-
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.InstanceId)
72+
instanceLabel, err := mariadbUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId)
7373
if err != nil {
7474
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
7575
instanceLabel = model.InstanceId
@@ -119,7 +119,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
119119
}
120120

121121
func buildRequest(ctx context.Context, model *inputModel, apiClient *mariadb.APIClient) mariadb.ApiListCredentialsRequest {
122-
req := apiClient.DefaultAPI.ListCredentials(ctx, model.ProjectId, model.InstanceId)
122+
req := apiClient.DefaultAPI.ListCredentials(ctx, model.ProjectId, model.Region, model.InstanceId)
123123
return req
124124
}
125125

0 commit comments

Comments
 (0)