Skip to content

Commit 6fa0bcd

Browse files
chore(mongodbflex): second round of PR feedback
1 parent cf63eaa commit 6fa0bcd

9 files changed

Lines changed: 38 additions & 41 deletions

File tree

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -622,8 +622,8 @@ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.12.0 h1:SVd3WMmLA
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=
624624
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0/go.mod h1:QsPtoqAYvumyPU6ToX/5j1PbudN+VSTuvh6mp154ecM=
625-
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 h1:LGwCvvST0fwUgZ6bOxYIfu45qqTgv421ZS07UhKjZL8=
626-
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0/go.mod h1:9KdrXC5JS30Ay3mR0adb3vNdhca+qxiy/cPF5P4wehQ=
625+
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr1hl8BFLGLSi6wjxh5o6OQXH9amfquMhYQROU=
626+
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
627627
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6 h1:oTVx1+O177Ojn8OvXIOUbRSwtx7L59jhxDPrZEQFOfQ=
628628
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6/go.mod h1:6ZBeCCY6qG8w1oK7osf61Egyv3mp7Ahv6GDGxiarDGo=
629629
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 h1:H67e3KnHQx954yI8fuQmxXwRf/myqAdLg2KvxImp00g=

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,8 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient *mongodbflex
119119
}
120120

121121
func outputResult(p *print.Printer, outputFormat, restoreStatus string, backup *mongodbflex.Backup) error {
122-
// allows passing empty backups but avoids having to pass large backup by value
123122
if backup == nil {
124-
backup = &mongodbflex.Backup{}
123+
return fmt.Errorf("API response is nil")
125124
}
126125
return p.OutputResult(outputFormat, backup, func() error {
127126
table := tables.NewTable()

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ func TestOutputResult(t *testing.T) {
210210
{
211211
name: "empty",
212212
args: args{},
213-
wantErr: false,
213+
wantErr: true,
214214
},
215215
{
216216
name: "set backup",

internal/cmd/mongodbflex/instance/create/create.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ var typeFlag = flags.StringEnumFlag(
5151
type inputModel struct {
5252
*globalflags.GlobalFlagModel
5353

54-
InstanceName *string
55-
ACL *[]string
56-
BackupSchedule *string
54+
InstanceName string
55+
ACL []string
56+
BackupSchedule string
5757
FlavorId *string
5858
CPU *int32
5959
RAM *int32
@@ -185,9 +185,9 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
185185

186186
model := inputModel{
187187
GlobalFlagModel: globalFlags,
188-
InstanceName: flags.FlagToStringPointer(p, cmd, instanceNameFlag),
189-
ACL: flags.FlagToStringSlicePointer(p, cmd, aclFlag),
190-
BackupSchedule: utils.Ptr(flags.FlagWithDefaultToStringValue(p, cmd, backupScheduleFlag)),
188+
InstanceName: flags.FlagToStringValue(p, cmd, instanceNameFlag),
189+
ACL: flags.FlagToStringSliceValue(p, cmd, aclFlag),
190+
BackupSchedule: flags.FlagWithDefaultToStringValue(p, cmd, backupScheduleFlag),
191191
FlavorId: flavorId,
192192
CPU: cpu,
193193
RAM: ram,
@@ -228,7 +228,7 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient MongoDBFlexC
228228
return req, err
229229
}
230230
} else {
231-
err := mongodbflexUtils.ValidateFlavorId(*model.FlavorId, &flavors.Flavors)
231+
err := mongodbflexUtils.ValidateFlavorId(*model.FlavorId, flavors.Flavors)
232232
if err != nil {
233233
return req, err
234234
}
@@ -250,9 +250,9 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient MongoDBFlexC
250250
}
251251

252252
req = req.CreateInstancePayload(mongodbflex.CreateInstancePayload{
253-
Name: *model.InstanceName,
254-
Acl: mongodbflex.ACL{Items: *model.ACL},
255-
BackupSchedule: *model.BackupSchedule,
253+
Name: model.InstanceName,
254+
Acl: mongodbflex.ACL{Items: model.ACL},
255+
BackupSchedule: model.BackupSchedule,
256256
FlavorId: *flavorId,
257257
Replicas: replicas,
258258
Storage: mongodbflex.Storage{

internal/cmd/mongodbflex/instance/create/create_test.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
7777
Region: testRegion,
7878
Verbosity: globalflags.VerbosityDefault,
7979
},
80-
InstanceName: utils.Ptr("example-name"),
81-
ACL: utils.Ptr([]string{"0.0.0.0/0"}),
82-
BackupSchedule: utils.Ptr("0 0/6 * * *"),
80+
InstanceName: "example-name",
81+
ACL: []string{"0.0.0.0/0"},
82+
BackupSchedule: "0 0/6 * * *",
8383
FlavorId: utils.Ptr(testFlavorId),
8484
StorageClass: utils.Ptr("premium-perf4-mongodb"),
8585
StorageSize: utils.Ptr(int64(10)),
@@ -225,9 +225,8 @@ func TestParseInput(t *testing.T) {
225225
aclValues: []string{"198.51.100.14/24", "198.51.100.14/32"},
226226
isValid: true,
227227
expectedModel: fixtureInputModel(func(model *inputModel) {
228-
model.ACL = utils.Ptr(
229-
append(*model.ACL, "198.51.100.14/24", "198.51.100.14/32"),
230-
)
228+
model.ACL =
229+
append(model.ACL, "198.51.100.14/24", "198.51.100.14/32")
231230
}),
232231
},
233232
{
@@ -236,9 +235,8 @@ func TestParseInput(t *testing.T) {
236235
aclValues: []string{"198.51.100.14/24,198.51.100.14/32"},
237236
isValid: true,
238237
expectedModel: fixtureInputModel(func(model *inputModel) {
239-
model.ACL = utils.Ptr(
240-
append(*model.ACL, "198.51.100.14/24", "198.51.100.14/32"),
241-
)
238+
model.ACL =
239+
append(model.ACL, "198.51.100.14/24", "198.51.100.14/32")
242240
}),
243241
},
244242
{

internal/cmd/mongodbflex/instance/update/update.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient MongoDBFlexC
233233
return req, err
234234
}
235235
} else if model.FlavorId != nil {
236-
err := mongodbflexUtils.ValidateFlavorId(*model.FlavorId, &flavors.Flavors)
236+
err := mongodbflexUtils.ValidateFlavorId(*model.FlavorId, flavors.Flavors)
237237
if err != nil {
238238
return req, err
239239
}

internal/cmd/mongodbflex/options/options.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ type inputModel struct {
3636
}
3737

3838
type options struct {
39-
Flavors *[]mongodbflex.InstanceFlavor `json:"flavors,omitempty"`
40-
Versions *[]string `json:"versions,omitempty"`
41-
Storages *flavorStorages `json:"flavorStorages,omitempty"`
39+
Flavors []mongodbflex.InstanceFlavor `json:"flavors,omitempty"`
40+
Versions []string `json:"versions,omitempty"`
41+
Storages *flavorStorages `json:"flavorStorages,omitempty"`
4242
}
4343

4444
type flavorStorages struct {
@@ -169,10 +169,10 @@ func outputResult(p *print.Printer, model *inputModel, flavors *mongodbflex.List
169169

170170
options := &options{}
171171
if flavors != nil {
172-
options.Flavors = &flavors.Flavors
172+
options.Flavors = flavors.Flavors
173173
}
174174
if versions != nil {
175-
options.Versions = &versions.Versions
175+
options.Versions = versions.Versions
176176
}
177177
if storages != nil && model.FlavorId != nil {
178178
options.Storages = &flavorStorages{
@@ -194,11 +194,11 @@ func outputResultAsTable(p *print.Printer, model *inputModel, options *options)
194194
}
195195

196196
content := []tables.Table{}
197-
if model.Flavors && len(*options.Flavors) != 0 {
198-
content = append(content, buildFlavorsTable(*options.Flavors))
197+
if model.Flavors && len(options.Flavors) != 0 {
198+
content = append(content, buildFlavorsTable(options.Flavors))
199199
}
200-
if model.Versions && len(*options.Versions) != 0 {
201-
content = append(content, buildVersionsTable(*options.Versions))
200+
if model.Versions && len(options.Versions) != 0 {
201+
content = append(content, buildVersionsTable(options.Versions))
202202
}
203203
if model.Storages && options.Storages.Storages != nil && len(options.Storages.Storages.StorageClasses) > 0 {
204204
content = append(content, buildStoragesTable(*options.Storages.Storages))

internal/pkg/services/mongodbflex/utils/utils.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,12 @@ func GetInstanceType(numReplicas int32) (string, error) {
5858
return "", fmt.Errorf("invalid number of replicas: %v", numReplicas)
5959
}
6060

61-
func ValidateFlavorId(flavorId string, flavors *[]mongodbflex.InstanceFlavor) error {
61+
func ValidateFlavorId(flavorId string, flavors []mongodbflex.InstanceFlavor) error {
6262
if flavors == nil {
6363
return fmt.Errorf("nil flavors")
6464
}
6565

66-
for _, f := range *flavors {
66+
for _, f := range flavors {
6767
if f.Id != nil && strings.EqualFold(*f.Id, flavorId) {
6868
return nil
6969
}

internal/pkg/services/mongodbflex/utils/utils_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,13 @@ func TestValidateFlavorId(t *testing.T) {
177177
tests := []struct {
178178
description string
179179
flavorId string
180-
flavors *[]mongodbflex.InstanceFlavor
180+
flavors []mongodbflex.InstanceFlavor
181181
isValid bool
182182
}{
183183
{
184184
description: "base",
185185
flavorId: "foo",
186-
flavors: &[]mongodbflex.InstanceFlavor{
186+
flavors: []mongodbflex.InstanceFlavor{
187187
{Id: utils.Ptr("bar-1")},
188188
{Id: utils.Ptr("bar-2")},
189189
{Id: utils.Ptr("foo")},
@@ -199,13 +199,13 @@ func TestValidateFlavorId(t *testing.T) {
199199
{
200200
description: "no flavors",
201201
flavorId: "foo",
202-
flavors: &[]mongodbflex.InstanceFlavor{},
202+
flavors: []mongodbflex.InstanceFlavor{},
203203
isValid: false,
204204
},
205205
{
206206
description: "nil flavor id",
207207
flavorId: "foo",
208-
flavors: &[]mongodbflex.InstanceFlavor{
208+
flavors: []mongodbflex.InstanceFlavor{
209209
{Id: utils.Ptr("bar-1")},
210210
{Id: nil},
211211
{Id: utils.Ptr("foo")},
@@ -215,7 +215,7 @@ func TestValidateFlavorId(t *testing.T) {
215215
{
216216
description: "invalid flavor",
217217
flavorId: "foo",
218-
flavors: &[]mongodbflex.InstanceFlavor{
218+
flavors: []mongodbflex.InstanceFlavor{
219219
{Id: utils.Ptr("bar-1")},
220220
{Id: utils.Ptr("bar-2")},
221221
{Id: utils.Ptr("bar-3")},

0 commit comments

Comments
 (0)