Skip to content

Commit 7f974e1

Browse files
authored
feat(mongodbflex): region adjustment (#857)
relates to STACKITCLI-215
1 parent cb39a1f commit 7f974e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+347
-279
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ require (
2121
github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.0
2222
github.com/stackitcloud/stackit-sdk-go/services/git v0.7.0
2323
github.com/stackitcloud/stackit-sdk-go/services/iaas v0.27.0
24-
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.3.0
24+
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.4.0
2525
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.0
2626
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.0
2727
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.17.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -580,8 +580,8 @@ github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.0 h1:QKOfaB7EcuJmBCx
580580
github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.0/go.mod h1:XjDMHhAQogFXsVR+o138CPYG1FOe0/Nl2Vm+fAgzx2A=
581581
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.0 h1:vxk6ztgzUIPMkfv27NRpniFqCyGGGFsWJQUvFs43bQA=
582582
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.0/go.mod h1:Pb8IEV5/jP8k75dVcN5cn3kP7PHTy/4KXXKpG76oj4U=
583-
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.3.0 h1:3R3S2R3m4Auh3cANM3t+AVDhWTKylXQHNBk42TKSbR4=
584-
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.3.0/go.mod h1:U1Zf/S9IuDvRJq1tRKFT/bsJd4qxYzwtukqX3TL++Mw=
583+
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.4.0 h1:il4vBOejtX0//CWuY6CDpFfPpDIvin5V9QIaKvyXV/M=
584+
github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.4.0/go.mod h1:U1Zf/S9IuDvRJq1tRKFT/bsJd4qxYzwtukqX3TL++Mw=
585585
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.3.0 h1:bK5FDpSGfUKDXNkqOoiqOU9hua2YfcdYsGS4zQQ9wg0=
586586
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.3.0/go.mod h1:Q2SJXlZTksvNAb1QnpGNfDSw/OMPN9uopaKuptUGhO8=
587587
github.com/stackitcloud/stackit-sdk-go/services/observability v0.8.0 h1:8v9Iupkc3meXcVPMpteXDz07YzY2M5jud50vEtAvbs8=

internal/cmd/mongodbflex/backup/describe/describe.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
6161
return err
6262
}
6363

64-
instanceLabel, err := mongoUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId)
64+
instanceLabel, err := mongoUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId, model.Region)
6565
if err != nil {
6666
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6767
instanceLabel = model.InstanceId
@@ -75,7 +75,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
7575
return fmt.Errorf("describe backup for MongoDB Flex instance: %w", err)
7676
}
7777

78-
restoreJobs, err := apiClient.ListRestoreJobs(ctx, model.ProjectId, model.InstanceId).Execute()
78+
restoreJobs, err := apiClient.ListRestoreJobs(ctx, model.ProjectId, model.InstanceId, model.Region).Execute()
7979
if err != nil {
8080
return fmt.Errorf("get restore jobs for MongoDB Flex instance %q: %w", instanceLabel, err)
8181
}
@@ -122,7 +122,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
122122
}
123123

124124
func buildRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex.APIClient) mongodbflex.ApiGetBackupRequest {
125-
req := apiClient.GetBackup(ctx, model.ProjectId, model.InstanceId, model.BackupId)
125+
req := apiClient.GetBackup(ctx, model.ProjectId, model.InstanceId, model.BackupId, model.Region)
126126
return req
127127
}
128128

internal/cmd/mongodbflex/backup/describe/describe_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,17 @@ import (
1414
"github.com/stackitcloud/stackit-sdk-go/services/mongodbflex"
1515
)
1616

17-
var projectIdFlag = globalflags.ProjectIdFlag
17+
const (
18+
testRegion = "eu02"
19+
testBackupId = "backupID"
20+
)
1821

1922
type testCtxKey struct{}
2023

2124
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
2225
var testClient = &mongodbflex.APIClient{}
2326
var testProjectId = uuid.NewString()
2427
var testInstanceId = uuid.NewString()
25-
var testBackupId = "backupID"
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)
@@ -50,6 +53,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5053
GlobalFlagModel: &globalflags.GlobalFlagModel{
5154
ProjectId: testProjectId,
5255
Verbosity: globalflags.VerbosityDefault,
56+
Region: testRegion,
5357
},
5458
InstanceId: testInstanceId,
5559
BackupId: testBackupId,
@@ -61,7 +65,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6165
}
6266

6367
func fixtureRequest(mods ...func(request *mongodbflex.ApiGetBackupRequest)) mongodbflex.ApiGetBackupRequest {
64-
request := testClient.GetBackup(testCtx, testProjectId, testInstanceId, testBackupId)
68+
request := testClient.GetBackup(testCtx, testProjectId, testInstanceId, testBackupId, testRegion)
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/mongodbflex/backup/list/list.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
6464
return err
6565
}
6666

67-
instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId)
67+
instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId, model.Region)
6868
if err != nil {
6969
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
7070
instanceLabel = *model.InstanceId
@@ -82,7 +82,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
8282
}
8383
backups := *resp.Items
8484

85-
restoreJobs, err := apiClient.ListRestoreJobs(ctx, model.ProjectId, *model.InstanceId).Execute()
85+
restoreJobs, err := apiClient.ListRestoreJobs(ctx, model.ProjectId, *model.InstanceId, model.Region).Execute()
8686
if err != nil {
8787
return fmt.Errorf("get restore jobs for MongoDB Flex instance %q: %w", instanceLabel, err)
8888
}
@@ -141,7 +141,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
141141
}
142142

143143
func buildRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex.APIClient) mongodbflex.ApiListBackupsRequest {
144-
req := apiClient.ListBackups(ctx, model.ProjectId, *model.InstanceId)
144+
req := apiClient.ListBackups(ctx, model.ProjectId, *model.InstanceId, model.Region)
145145
return req
146146
}
147147

internal/cmd/mongodbflex/backup/list/list_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import (
1515
"github.com/stackitcloud/stackit-sdk-go/services/mongodbflex"
1616
)
1717

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
testRegion = "eu02"
20+
)
1921

2022
type testCtxKey struct{}
2123

@@ -26,9 +28,10 @@ var testInstanceId = uuid.NewString()
2628

2729
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2830
flagValues := map[string]string{
29-
projectIdFlag: testProjectId,
30-
instanceIdFlag: testInstanceId,
31-
limitFlag: "10",
31+
globalflags.ProjectIdFlag: testProjectId,
32+
globalflags.RegionFlag: testRegion,
33+
instanceIdFlag: testInstanceId,
34+
limitFlag: "10",
3235
}
3336
for _, mod := range mods {
3437
mod(flagValues)
@@ -41,6 +44,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4144
GlobalFlagModel: &globalflags.GlobalFlagModel{
4245
ProjectId: testProjectId,
4346
Verbosity: globalflags.VerbosityDefault,
47+
Region: testRegion,
4448
},
4549
InstanceId: utils.Ptr(testInstanceId),
4650
Limit: utils.Ptr(int64(10)),
@@ -52,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5256
}
5357

5458
func fixtureRequest(mods ...func(request *mongodbflex.ApiListBackupsRequest)) mongodbflex.ApiListBackupsRequest {
55-
request := testClient.ListBackups(testCtx, testProjectId, testInstanceId)
59+
request := testClient.ListBackups(testCtx, testProjectId, testInstanceId, testRegion)
5660
for _, mod := range mods {
5761
mod(&request)
5862
}
@@ -80,21 +84,21 @@ func TestParseInput(t *testing.T) {
8084
{
8185
description: "project id missing",
8286
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
83-
delete(flagValues, projectIdFlag)
87+
delete(flagValues, globalflags.ProjectIdFlag)
8488
}),
8589
isValid: false,
8690
},
8791
{
8892
description: "project id invalid 1",
8993
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
90-
flagValues[projectIdFlag] = ""
94+
flagValues[globalflags.ProjectIdFlag] = ""
9195
}),
9296
isValid: false,
9397
},
9498
{
9599
description: "project id invalid 2",
96100
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
97-
flagValues[projectIdFlag] = "invalid-uuid"
101+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
98102
}),
99103
isValid: false,
100104
},

internal/cmd/mongodbflex/backup/restore-jobs/restore_jobs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
6363
return err
6464
}
6565

66-
instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId)
66+
instanceLabel, err := mongodbflexUtils.GetInstanceName(ctx, apiClient, model.ProjectId, *model.InstanceId, model.Region)
6767
if err != nil {
6868
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6969
instanceLabel = *model.InstanceId
@@ -135,7 +135,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
135135
}
136136

137137
func buildRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex.APIClient) mongodbflex.ApiListRestoreJobsRequest {
138-
req := apiClient.ListRestoreJobs(ctx, model.ProjectId, *model.InstanceId)
138+
req := apiClient.ListRestoreJobs(ctx, model.ProjectId, *model.InstanceId, model.Region)
139139
return req
140140
}
141141

internal/cmd/mongodbflex/backup/restore-jobs/restore_jobs_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import (
1515
"github.com/stackitcloud/stackit-sdk-go/services/mongodbflex"
1616
)
1717

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
testRegion = "eu02"
20+
)
1921

2022
type testCtxKey struct{}
2123

@@ -26,9 +28,10 @@ var testInstanceId = uuid.NewString()
2628

2729
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2830
flagValues := map[string]string{
29-
projectIdFlag: testProjectId,
30-
instanceIdFlag: testInstanceId,
31-
limitFlag: "10",
31+
globalflags.ProjectIdFlag: testProjectId,
32+
globalflags.RegionFlag: testRegion,
33+
instanceIdFlag: testInstanceId,
34+
limitFlag: "10",
3235
}
3336
for _, mod := range mods {
3437
mod(flagValues)
@@ -40,6 +43,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4043
model := &inputModel{
4144
GlobalFlagModel: &globalflags.GlobalFlagModel{
4245
ProjectId: testProjectId,
46+
Region: testRegion,
4347
Verbosity: globalflags.VerbosityDefault,
4448
},
4549
InstanceId: utils.Ptr(testInstanceId),
@@ -52,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5256
}
5357

5458
func fixtureRequest(mods ...func(request *mongodbflex.ApiListRestoreJobsRequest)) mongodbflex.ApiListRestoreJobsRequest {
55-
request := testClient.ListRestoreJobs(testCtx, testProjectId, testInstanceId)
59+
request := testClient.ListRestoreJobs(testCtx, testProjectId, testInstanceId, testRegion)
5660
for _, mod := range mods {
5761
mod(&request)
5862
}
@@ -80,21 +84,21 @@ func TestParseInput(t *testing.T) {
8084
{
8185
description: "project id missing",
8286
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
83-
delete(flagValues, projectIdFlag)
87+
delete(flagValues, globalflags.ProjectIdFlag)
8488
}),
8589
isValid: false,
8690
},
8791
{
8892
description: "project id invalid 1",
8993
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
90-
flagValues[projectIdFlag] = ""
94+
flagValues[globalflags.ProjectIdFlag] = ""
9195
}),
9296
isValid: false,
9397
},
9498
{
9599
description: "project id invalid 2",
96100
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
97-
flagValues[projectIdFlag] = "invalid-uuid"
101+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
98102
}),
99103
isValid: false,
100104
},

internal/cmd/mongodbflex/backup/restore/restore.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
7070
return err
7171
}
7272

73-
instanceLabel, err := mongodbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId)
73+
instanceLabel, err := mongodbUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId, model.Region)
7474
if err != nil {
7575
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
7676
instanceLabel = model.ProjectId
@@ -102,7 +102,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
102102
if !model.Async {
103103
s := spinner.New(params.Printer)
104104
s.Start("Restoring instance")
105-
_, err = wait.RestoreInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.InstanceId, model.BackupId).WaitWithContext(ctx)
105+
_, err = wait.RestoreInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.InstanceId, model.BackupId, model.Region).WaitWithContext(ctx)
106106
if err != nil {
107107
return fmt.Errorf("wait for MongoDB Flex instance restoration: %w", err)
108108
}
@@ -123,7 +123,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
123123
if !model.Async {
124124
s := spinner.New(params.Printer)
125125
s.Start("Cloning instance")
126-
_, err = wait.CloneInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.InstanceId).WaitWithContext(ctx)
126+
_, err = wait.CloneInstanceWaitHandler(ctx, apiClient, model.ProjectId, model.InstanceId, model.Region).WaitWithContext(ctx)
127127
if err != nil {
128128
return fmt.Errorf("wait for MongoDB Flex instance cloning: %w", err)
129129
}
@@ -184,7 +184,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
184184
}
185185

186186
func buildRestoreRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex.APIClient) mongodbflex.ApiRestoreInstanceRequest {
187-
req := apiClient.RestoreInstance(ctx, model.ProjectId, model.InstanceId)
187+
req := apiClient.RestoreInstance(ctx, model.ProjectId, model.InstanceId, model.Region)
188188
req = req.RestoreInstancePayload(mongodbflex.RestoreInstancePayload{
189189
BackupId: &model.BackupId,
190190
InstanceId: &model.BackupInstanceId,
@@ -193,7 +193,7 @@ func buildRestoreRequest(ctx context.Context, model *inputModel, apiClient *mong
193193
}
194194

195195
func buildCloneRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex.APIClient) mongodbflex.ApiCloneInstanceRequest {
196-
req := apiClient.CloneInstance(ctx, model.ProjectId, model.InstanceId)
196+
req := apiClient.CloneInstance(ctx, model.ProjectId, model.InstanceId, model.Region)
197197
req = req.CloneInstancePayload(mongodbflex.CloneInstancePayload{
198198
Timestamp: &model.Timestamp,
199199
InstanceId: &model.BackupInstanceId,

0 commit comments

Comments
 (0)