Skip to content

Commit 1844f83

Browse files
committed
feat(observability): migrate to multi version SDK
STACKITCLI-371
1 parent 225fe4b commit 1844f83

47 files changed

Lines changed: 671 additions & 583 deletions

Some content is hidden

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

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ require (
270270
github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6
271271
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6
272272
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0
273-
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0
273+
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0
274274
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0
275275
github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6
276276
github.com/stackitcloud/stackit-sdk-go/services/sfs v0.9.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,8 @@ github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0 h1:UxnbsKm6
628628
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0/go.mod h1:RFL4h6JZvpsyFYbdJ3+eINEkletzJQTfrPdd+yPT/fU=
629629
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0 h1:LGwCvvST0fwUgZ6bOxYIfu45qqTgv421ZS07UhKjZL8=
630630
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0/go.mod h1:9KdrXC5JS30Ay3mR0adb3vNdhca+qxiy/cPF5P4wehQ=
631+
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr1hl8BFLGLSi6wjxh5o6OQXH9amfquMhYQROU=
632+
github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
631633
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6 h1:oTVx1+O177Ojn8OvXIOUbRSwtx7L59jhxDPrZEQFOfQ=
632634
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6/go.mod h1:6ZBeCCY6qG8w1oK7osf61Egyv3mp7Ahv6GDGxiarDGo=
633635
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 h1:H67e3KnHQx954yI8fuQmxXwRf/myqAdLg2KvxImp00g=

internal/cmd/observability/credentials/create/create.go

Lines changed: 10 additions & 13 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-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
10+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
1111

1212
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
1313
cliErr "github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -17,7 +17,6 @@ import (
1717
"github.com/stackitcloud/stackit-cli/internal/pkg/print"
1818
"github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client"
1919
observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils"
20-
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
2120
)
2221

2322
const (
@@ -56,7 +55,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
5655
return err
5756
}
5857

59-
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId)
58+
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.InstanceId, model.ProjectId)
6059
if err != nil {
6160
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6261
instanceLabel = model.InstanceId
@@ -69,7 +68,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6968
}
7069

7170
// Call API
72-
req := buildRequest(ctx, model, apiClient)
71+
req := buildRequest(ctx, model, apiClient.DefaultAPI)
7372
if err != nil {
7473
return err
7574
}
@@ -104,7 +103,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
104103
}, nil
105104
}
106105

107-
func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiCreateCredentialsRequest {
106+
func buildRequest(ctx context.Context, model *inputModel, apiClient observability.DefaultAPI) observability.ApiCreateCredentialsRequest {
108107
req := apiClient.CreateCredentials(ctx, model.InstanceId, model.ProjectId)
109108
return req
110109
}
@@ -117,15 +116,13 @@ func outputResult(p *print.Printer, outputFormat, instanceLabel string, resp *ob
117116
return p.OutputResult(outputFormat, resp, func() error {
118117
p.Outputf("Created credentials for instance %q.\n\n", instanceLabel)
119118

120-
if resp.Credentials != nil {
121-
// The username field cannot be set by the user, so we only display it if it's not returned empty
122-
username := *resp.Credentials.Username
123-
if username != "" {
124-
p.Outputf("Username: %s\n", username)
125-
}
126-
127-
p.Outputf("Password: %s\n", utils.PtrString(resp.Credentials.Password))
119+
// The username field cannot be set by the user, so we only display it if it's not returned empty
120+
username := resp.Credentials.Username
121+
if username != "" {
122+
p.Outputf("Username: %s\n", username)
128123
}
124+
125+
p.Outputf("Password: %s\n", resp.Credentials.Password)
129126
return nil
130127
})
131128
}

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"context"
55
"testing"
66

7-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
7+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
88

99
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1010
"github.com/stackitcloud/stackit-cli/internal/pkg/testparams"
@@ -20,7 +20,7 @@ var projectIdFlag = globalflags.ProjectIdFlag
2020
type testCtxKey struct{}
2121

2222
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
23-
var testClient = &observability.APIClient{}
23+
var testClient = &observability.APIClient{DefaultAPI: &observability.DefaultAPIService{}}
2424
var testProjectId = uuid.NewString()
2525
var testInstanceId = uuid.NewString()
2626

@@ -50,7 +50,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5050
}
5151

5252
func fixtureRequest(mods ...func(request *observability.ApiCreateCredentialsRequest)) observability.ApiCreateCredentialsRequest {
53-
request := testClient.CreateCredentials(testCtx, testInstanceId, testProjectId)
53+
request := testClient.DefaultAPI.CreateCredentials(testCtx, testInstanceId, testProjectId)
5454
for _, mod := range mods {
5555
mod(&request)
5656
}
@@ -142,10 +142,10 @@ func TestBuildRequest(t *testing.T) {
142142

143143
for _, tt := range tests {
144144
t.Run(tt.description, func(t *testing.T) {
145-
request := buildRequest(testCtx, tt.model, testClient)
145+
request := buildRequest(testCtx, tt.model, testClient.DefaultAPI)
146146

147147
diff := cmp.Diff(request, tt.expectedRequest,
148-
cmp.AllowUnexported(tt.expectedRequest),
148+
cmp.AllowUnexported(tt.expectedRequest, observability.DefaultAPIService{}),
149149
cmpopts.EquateComparable(testCtx),
150150
)
151151
if diff != "" {
@@ -182,7 +182,7 @@ func TestOutputResult(t *testing.T) {
182182
name: "set response with credentials",
183183
args: args{
184184
resp: &observability.CreateCredentialsResponse{
185-
Credentials: observability.NewCredentials("dummy-pw", "dummy-user"),
185+
Credentials: *observability.NewCredentials("dummy-pw", "dummy-user"),
186186
},
187187
},
188188
wantErr: false,

internal/cmd/observability/credentials/delete/delete.go

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

1818
"github.com/spf13/cobra"
19-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
19+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
2020
)
2121

2222
const (
@@ -55,7 +55,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
5555
return err
5656
}
5757

58-
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId)
58+
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.InstanceId, model.ProjectId)
5959
if err != nil {
6060
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6161
instanceLabel = model.InstanceId
@@ -68,7 +68,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6868
}
6969

7070
// Call API
71-
req := buildRequest(ctx, model, apiClient)
71+
req := buildRequest(ctx, model, apiClient.DefaultAPI)
7272
_, err = req.Execute()
7373
if err != nil {
7474
return fmt.Errorf("delete Observability credentials: %w", err)
@@ -104,7 +104,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
104104
}, nil
105105
}
106106

107-
func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiDeleteCredentialsRequest {
107+
func buildRequest(ctx context.Context, model *inputModel, apiClient observability.DefaultAPI) observability.ApiDeleteCredentialsRequest {
108108
req := apiClient.DeleteCredentials(ctx, model.InstanceId, model.ProjectId, model.Username)
109109
return req
110110
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import (
99
"github.com/google/go-cmp/cmp"
1010
"github.com/google/go-cmp/cmp/cmpopts"
1111
"github.com/google/uuid"
12-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
12+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
1313
)
1414

1515
var projectIdFlag = globalflags.ProjectIdFlag
1616

1717
type testCtxKey struct{}
1818

1919
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
20-
var testClient = &observability.APIClient{}
20+
var testClient = &observability.APIClient{DefaultAPI: &observability.DefaultAPIService{}}
2121
var testProjectId = uuid.NewString()
2222
var testInstanceId = uuid.NewString()
2323

@@ -60,7 +60,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6060
}
6161

6262
func fixtureRequest(mods ...func(request *observability.ApiDeleteCredentialsRequest)) observability.ApiDeleteCredentialsRequest {
63-
request := testClient.DeleteCredentials(testCtx, testInstanceId, testProjectId, testUsername)
63+
request := testClient.DefaultAPI.DeleteCredentials(testCtx, testInstanceId, testProjectId, testUsername)
6464
for _, mod := range mods {
6565
mod(&request)
6666
}
@@ -224,10 +224,10 @@ func TestBuildRequest(t *testing.T) {
224224

225225
for _, tt := range tests {
226226
t.Run(tt.description, func(t *testing.T) {
227-
request := buildRequest(testCtx, tt.model, testClient)
227+
request := buildRequest(testCtx, tt.model, testClient.DefaultAPI)
228228

229229
diff := cmp.Diff(request, tt.expectedRequest,
230-
cmp.AllowUnexported(tt.expectedRequest),
230+
cmp.AllowUnexported(tt.expectedRequest, observability.DefaultAPIService{}),
231231
cmpopts.EquateComparable(testCtx),
232232
)
233233
if diff != "" {

internal/cmd/observability/credentials/list/list.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@ import (
1515
"github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/client"
1616
observabilityUtils "github.com/stackitcloud/stackit-cli/internal/pkg/services/observability/utils"
1717
"github.com/stackitcloud/stackit-cli/internal/pkg/tables"
18-
"github.com/stackitcloud/stackit-cli/internal/pkg/utils"
1918

2019
"github.com/spf13/cobra"
21-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
20+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
2221
)
2322

2423
const (
@@ -63,15 +62,15 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6362
}
6463

6564
// Call API
66-
req := buildRequest(ctx, model, apiClient)
65+
req := buildRequest(ctx, model, apiClient.DefaultAPI)
6766
resp, err := req.Execute()
6867
if err != nil {
6968
return fmt.Errorf("list Observability credentials: %w", err)
7069
}
7170

7271
credentials := resp.GetCredentials()
7372

74-
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient, model.InstanceId, model.ProjectId)
73+
instanceLabel, err := observabilityUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.InstanceId, model.ProjectId)
7574
if err != nil {
7675
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
7776
instanceLabel = model.InstanceId
@@ -117,7 +116,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
117116
}, nil
118117
}
119118

120-
func buildRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiListCredentialsRequest {
119+
func buildRequest(ctx context.Context, model *inputModel, apiClient observability.DefaultAPI) observability.ApiListCredentialsRequest {
121120
req := apiClient.ListCredentials(ctx, model.InstanceId, model.ProjectId)
122121
return req
123122
}
@@ -132,7 +131,7 @@ func outputResult(p *print.Printer, outputFormat, instanceLabel string, credenti
132131
table.SetHeader("USERNAME")
133132
for i := range credentials {
134133
c := credentials[i]
135-
table.AddRow(utils.PtrString(c.Name))
134+
table.AddRow(c.Name)
136135
}
137136
err := table.Display(p)
138137
if err != nil {

internal/cmd/observability/credentials/list/list_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import (
1212
"github.com/google/go-cmp/cmp"
1313
"github.com/google/go-cmp/cmp/cmpopts"
1414
"github.com/google/uuid"
15-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
15+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
1616
)
1717

1818
var projectIdFlag = globalflags.ProjectIdFlag
1919

2020
type testCtxKey struct{}
2121

2222
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
23-
var testClient = &observability.APIClient{}
23+
var testClient = &observability.APIClient{DefaultAPI: &observability.DefaultAPIService{}}
2424
var testProjectId = uuid.NewString()
2525
var testInstanceId = uuid.NewString()
2626

@@ -52,7 +52,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5252
}
5353

5454
func fixtureRequest(mods ...func(request *observability.ApiListCredentialsRequest)) observability.ApiListCredentialsRequest {
55-
request := testClient.ListCredentials(testCtx, testInstanceId, testProjectId)
55+
request := testClient.DefaultAPI.ListCredentials(testCtx, testInstanceId, testProjectId)
5656
for _, mod := range mods {
5757
mod(&request)
5858
}
@@ -158,10 +158,10 @@ func TestBuildRequest(t *testing.T) {
158158

159159
for _, tt := range tests {
160160
t.Run(tt.description, func(t *testing.T) {
161-
request := buildRequest(testCtx, tt.model, testClient)
161+
request := buildRequest(testCtx, tt.model, testClient.DefaultAPI)
162162

163163
diff := cmp.Diff(request, tt.expectedRequest,
164-
cmp.AllowUnexported(tt.expectedRequest),
164+
cmp.AllowUnexported(tt.expectedRequest, observability.DefaultAPIService{}),
165165
cmpopts.EquateComparable(testCtx),
166166
)
167167
if diff != "" {

internal/cmd/observability/grafana/describe/describe.go

Lines changed: 7 additions & 7 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-
"github.com/stackitcloud/stackit-sdk-go/services/observability"
20+
observability "github.com/stackitcloud/stackit-sdk-go/services/observability/v1api"
2121
)
2222

2323
const (
@@ -63,12 +63,12 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
6363
}
6464

6565
// Call API
66-
grafanaConfigsReq := buildGetGrafanaConfigRequest(ctx, model, apiClient)
66+
grafanaConfigsReq := buildGetGrafanaConfigRequest(ctx, model, apiClient.DefaultAPI)
6767
grafanaConfigsResp, err := grafanaConfigsReq.Execute()
6868
if err != nil {
6969
return fmt.Errorf("get Grafana configs: %w", err)
7070
}
71-
instanceReq := buildGetInstanceRequest(ctx, model, apiClient)
71+
instanceReq := buildGetInstanceRequest(ctx, model, apiClient.DefaultAPI)
7272
instanceResp, err := instanceReq.Execute()
7373
if err != nil {
7474
return fmt.Errorf("get instance: %w", err)
@@ -104,18 +104,18 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
104104
return &model, nil
105105
}
106106

107-
func buildGetGrafanaConfigRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetGrafanaConfigsRequest {
107+
func buildGetGrafanaConfigRequest(ctx context.Context, model *inputModel, apiClient observability.DefaultAPI) observability.ApiGetGrafanaConfigsRequest {
108108
req := apiClient.GetGrafanaConfigs(ctx, model.InstanceId, model.ProjectId)
109109
return req
110110
}
111111

112-
func buildGetInstanceRequest(ctx context.Context, model *inputModel, apiClient *observability.APIClient) observability.ApiGetInstanceRequest {
112+
func buildGetInstanceRequest(ctx context.Context, model *inputModel, apiClient observability.DefaultAPI) observability.ApiGetInstanceRequest {
113113
req := apiClient.GetInstance(ctx, model.InstanceId, model.ProjectId)
114114
return req
115115
}
116116

117117
func outputResult(p *print.Printer, outputFormat string, showPassword bool, grafanaConfigs *observability.GrafanaConfigs, instance *observability.GetInstanceResponse) error {
118-
if instance == nil || instance.Instance == nil {
118+
if instance == nil {
119119
return fmt.Errorf("instance or instance content is nil")
120120
} else if grafanaConfigs == nil {
121121
return fmt.Errorf("grafanaConfigs is nil")
@@ -130,7 +130,7 @@ func outputResult(p *print.Printer, outputFormat string, showPassword bool, graf
130130
}
131131

132132
table := tables.NewTable()
133-
table.AddRow("GRAFANA DASHBOARD", utils.PtrString(instance.Instance.GrafanaUrl))
133+
table.AddRow("GRAFANA DASHBOARD", instance.Instance.GrafanaUrl)
134134
table.AddSeparator()
135135
table.AddRow("PUBLIC READ ACCESS", utils.PtrString(grafanaConfigs.PublicReadAccess))
136136
table.AddSeparator()

0 commit comments

Comments
 (0)