Skip to content

Commit 9cffcd7

Browse files
committed
chore(logs): reworked MetricsFrequency
1 parent 16932d9 commit 9cffcd7

6 files changed

Lines changed: 18 additions & 46 deletions

File tree

docs/stackit_logme_instance_create.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ stackit logme instance create [flags]
3030
--enable-monitoring Enable monitoring
3131
--graphite string Graphite host
3232
-h, --help Help for "stackit logme instance create"
33-
--metrics-frequency int Metrics frequency
33+
--metrics-frequency int32 Metrics frequency
3434
--metrics-prefix string Metrics prefix
3535
--monitoring-instance-id string Monitoring instance ID
3636
-n, --name string Instance name

docs/stackit_logme_instance_update.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ stackit logme instance update INSTANCE_ID [flags]
2727
--enable-monitoring Enable monitoring
2828
--graphite string Graphite host
2929
-h, --help Help for "stackit logme instance update"
30-
--metrics-frequency int Metrics frequency
30+
--metrics-frequency int32 Metrics frequency
3131
--metrics-prefix string Metrics prefix
3232
--monitoring-instance-id string Monitoring instance ID
3333
-n, --name string Instance name

internal/cmd/logme/instance/create/create.go

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
"math"
87
"strings"
98

109
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
@@ -48,7 +47,7 @@ type inputModel struct {
4847
InstanceName *string
4948
EnableMonitoring *bool
5049
Graphite *string
51-
MetricsFrequency *int64
50+
MetricsFrequency *int32
5251
MetricsPrefix *string
5352
MonitoringInstanceId *string
5453
SgwAcl *[]string
@@ -135,7 +134,7 @@ func configureFlags(cmd *cobra.Command) {
135134
cmd.Flags().StringP(instanceNameFlag, "n", "", "Instance name")
136135
cmd.Flags().Bool(enableMonitoringFlag, false, "Enable monitoring")
137136
cmd.Flags().String(graphiteFlag, "", "Graphite host")
138-
cmd.Flags().Int64(metricsFrequencyFlag, 0, "Metrics frequency")
137+
cmd.Flags().Int32(metricsFrequencyFlag, 0, "Metrics frequency")
139138
cmd.Flags().String(metricsPrefixFlag, "", "Metrics prefix")
140139
cmd.Flags().Var(flags.UUIDFlag(), monitoringInstanceIdFlag, "Monitoring instance ID")
141140
cmd.Flags().Var(flags.CIDRSliceFlag(), sgwAclFlag, "List of IP networks in CIDR notation which are allowed to access this instance")
@@ -175,7 +174,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
175174
EnableMonitoring: flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag),
176175
MonitoringInstanceId: flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag),
177176
Graphite: flags.FlagToStringPointer(p, cmd, graphiteFlag),
178-
MetricsFrequency: flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag),
177+
MetricsFrequency: flags.FlagToInt32Pointer(p, cmd, metricsFrequencyFlag),
179178
MetricsPrefix: flags.FlagToStringPointer(p, cmd, metricsPrefixFlag),
180179
SgwAcl: flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag),
181180
Syslog: flags.FlagToStringSlicePointer(p, cmd, syslogFlag),
@@ -221,30 +220,16 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient logme.Defaul
221220
sgwAcl = utils.Ptr(strings.Join(*model.SgwAcl, ","))
222221
}
223222

224-
var metricsFrequency *int32
225-
if model.MetricsFrequency != nil {
226-
val := *model.MetricsFrequency
227-
if val < 0 || val > math.MaxInt32 {
228-
return req, fmt.Errorf("metrics frequency value %d overflows int32", val)
229-
}
230-
metricsFrequency = utils.Ptr(int32(val))
231-
}
232-
233-
var syslog []string
234-
if model.Syslog != nil {
235-
syslog = utils.GetSliceFromPointer(model.Syslog)
236-
}
237-
238223
req = req.CreateInstancePayload(logme.CreateInstancePayload{
239224
InstanceName: utils.PtrValue(model.InstanceName),
240225
Parameters: &logme.InstanceParameters{
241226
EnableMonitoring: model.EnableMonitoring,
242227
Graphite: model.Graphite,
243228
MonitoringInstanceId: model.MonitoringInstanceId,
244-
MetricsFrequency: metricsFrequency,
229+
MetricsFrequency: model.MetricsFrequency,
245230
MetricsPrefix: model.MetricsPrefix,
246231
SgwAcl: sgwAcl,
247-
Syslog: syslog,
232+
Syslog: utils.GetSliceFromPointer(model.Syslog),
248233
},
249234
PlanId: utils.PtrValue(planId),
250235
})

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
7171
InstanceName: utils.Ptr("example-name"),
7272
EnableMonitoring: utils.Ptr(true),
7373
Graphite: utils.Ptr("example-graphite"),
74-
MetricsFrequency: utils.Ptr(int64(100)),
74+
MetricsFrequency: utils.Ptr(int32(100)),
7575
MetricsPrefix: utils.Ptr("example-prefix"),
7676
MonitoringInstanceId: &testMonitoringInstanceId,
7777
SgwAcl: utils.Ptr([]string{"198.51.100.14/24"}),
@@ -178,7 +178,7 @@ func TestParseInput(t *testing.T) {
178178
InstanceName: utils.Ptr(""),
179179
EnableMonitoring: utils.Ptr(false),
180180
Graphite: utils.Ptr(""),
181-
MetricsFrequency: utils.Ptr(int64(0)),
181+
MetricsFrequency: utils.Ptr(int32(0)),
182182
MetricsPrefix: utils.Ptr(""),
183183
},
184184
},
@@ -403,6 +403,7 @@ func TestBuildRequest(t *testing.T) {
403403
cmp.AllowUnexported(tt.expectedRequest),
404404
cmpopts.EquateComparable(testCtx),
405405
cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"),
406+
cmpopts.EquateEmpty(),
406407
)
407408
if diff != "" {
408409
t.Fatalf("Data does not match: %s", diff)

internal/cmd/logme/instance/update/update.go

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
"math"
87
"strings"
98

109
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
@@ -49,7 +48,7 @@ type inputModel struct {
4948

5049
EnableMonitoring *bool
5150
Graphite *string
52-
MetricsFrequency *int64
51+
MetricsFrequency *int32
5352
MetricsPrefix *string
5453
MonitoringInstanceId *string
5554
SgwAcl *[]string
@@ -138,7 +137,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
138137
func configureFlags(cmd *cobra.Command) {
139138
cmd.Flags().Bool(enableMonitoringFlag, false, "Enable monitoring")
140139
cmd.Flags().String(graphiteFlag, "", "Graphite host")
141-
cmd.Flags().Int64(metricsFrequencyFlag, 0, "Metrics frequency")
140+
cmd.Flags().Int32(metricsFrequencyFlag, 0, "Metrics frequency")
142141
cmd.Flags().String(metricsPrefixFlag, "", "Metrics prefix")
143142
cmd.Flags().Var(flags.UUIDFlag(), monitoringInstanceIdFlag, "Monitoring instance ID")
144143
cmd.Flags().Var(flags.CIDRSliceFlag(), sgwAclFlag, "List of IP networks in CIDR notation which are allowed to access this instance")
@@ -160,7 +159,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
160159
enableMonitoring := flags.FlagToBoolPointer(p, cmd, enableMonitoringFlag)
161160
monitoringInstanceId := flags.FlagToStringPointer(p, cmd, monitoringInstanceIdFlag)
162161
graphite := flags.FlagToStringPointer(p, cmd, graphiteFlag)
163-
metricsFrequency := flags.FlagToInt64Pointer(p, cmd, metricsFrequencyFlag)
162+
metricsFrequency := flags.FlagToInt32Pointer(p, cmd, metricsFrequencyFlag)
164163
metricsPrefix := flags.FlagToStringPointer(p, cmd, metricsPrefixFlag)
165164
sgwAcl := flags.FlagToStringSlicePointer(p, cmd, sgwAclFlag)
166165
syslog := flags.FlagToStringSlicePointer(p, cmd, syslogFlag)
@@ -239,29 +238,15 @@ func buildRequest(ctx context.Context, model *inputModel, apiClient logme.Defaul
239238
sgwAcl = utils.Ptr(strings.Join(*model.SgwAcl, ","))
240239
}
241240

242-
var metricsFrequency *int32
243-
if model.MetricsFrequency != nil {
244-
val := *model.MetricsFrequency
245-
if val < 0 || val > math.MaxInt32 {
246-
return req, fmt.Errorf("metrics frequency value %d overflows int32", val)
247-
}
248-
metricsFrequency = utils.Ptr(int32(val))
249-
}
250-
251-
var syslog []string
252-
if model.Syslog != nil {
253-
syslog = utils.GetSliceFromPointer(model.Syslog)
254-
}
255-
256241
req = req.PartialUpdateInstancePayload(logme.PartialUpdateInstancePayload{
257242
Parameters: &logme.InstanceParameters{
258243
EnableMonitoring: model.EnableMonitoring,
259244
Graphite: model.Graphite,
260245
MonitoringInstanceId: model.MonitoringInstanceId,
261-
MetricsFrequency: metricsFrequency,
246+
MetricsFrequency: model.MetricsFrequency,
262247
MetricsPrefix: model.MetricsPrefix,
263248
SgwAcl: sgwAcl,
264-
Syslog: syslog,
249+
Syslog: utils.GetSliceFromPointer(model.Syslog),
265250
},
266251
PlanId: planId,
267252
})

internal/cmd/logme/instance/update/update_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
8282
InstanceId: testInstanceId,
8383
EnableMonitoring: utils.Ptr(true),
8484
Graphite: utils.Ptr("example-graphite"),
85-
MetricsFrequency: utils.Ptr(int64(100)),
85+
MetricsFrequency: utils.Ptr(int32(100)),
8686
MetricsPrefix: utils.Ptr("example-prefix"),
8787
MonitoringInstanceId: &testMonitoringInstanceId,
8888
SgwAcl: utils.Ptr([]string{"198.51.100.14/24"}),
@@ -186,7 +186,7 @@ func TestParseInput(t *testing.T) {
186186
PlanId: &testPlanId,
187187
EnableMonitoring: utils.Ptr(false),
188188
Graphite: utils.Ptr(""),
189-
MetricsFrequency: utils.Ptr(int64(0)),
189+
MetricsFrequency: utils.Ptr(int32(0)),
190190
MetricsPrefix: utils.Ptr(""),
191191
},
192192
},
@@ -457,6 +457,7 @@ func TestBuildRequest(t *testing.T) {
457457
cmp.AllowUnexported(tt.expectedRequest),
458458
cmpopts.EquateComparable(testCtx),
459459
cmpopts.IgnoreFields(tt.expectedRequest, "ApiService"),
460+
cmpopts.EquateEmpty(),
460461
)
461462
if diff != "" {
462463
t.Fatalf("Data does not match: %s", diff)

0 commit comments

Comments
 (0)