Skip to content

Commit f6547f2

Browse files
feat(rabbitmq): update rabbitmq to v2 api with regionId
Relates to STACKITCLI-407
1 parent 225fe4b commit f6547f2

29 files changed

Lines changed: 378 additions & 276 deletions

docs/stackit_rabbitmq_instance_create.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ stackit rabbitmq instance create [flags]
3030
--enable-monitoring Enable monitoring
3131
--graphite string Graphite host
3232
-h, --help Help for "stackit rabbitmq 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_rabbitmq_instance_update.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ stackit rabbitmq instance update INSTANCE_ID [flags]
2727
--enable-monitoring Enable monitoring
2828
--graphite string Graphite host
2929
-h, --help Help for "stackit rabbitmq 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
--plan-id string Plan ID

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ require (
271271
github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6
272272
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.7.0
273273
github.com/stackitcloud/stackit-sdk-go/services/observability v0.17.0
274-
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0
274+
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.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
277277
github.com/subosito/gotenv v1.6.0 // indirect

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,8 +632,8 @@ github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6 h1:oTVx1+O177
632632
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.6/go.mod h1:6ZBeCCY6qG8w1oK7osf61Egyv3mp7Ahv6GDGxiarDGo=
633633
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 h1:H67e3KnHQx954yI8fuQmxXwRf/myqAdLg2KvxImp00g=
634634
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5/go.mod h1:xmAWk9eom8wznvLuLfm0F4xyeiBX8LaggXsKFmos+dw=
635-
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0 h1:/8lmviszgrB+0Cz7HdhFELyTiTeqIs7LfnI6sNX4rW8=
636-
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0/go.mod h1:hnhvlLX1Y71R8KIQqLBeoSZqkU5ZJOG0J4wz0LeUdaw=
635+
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0 h1:kHdXzMcYPLRwidoQuNu1U12PmqCBNqpTS+U82rB9HtY=
636+
github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
637637
github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6 h1:CXM9cZ9WeTyJd+Aw/hnJnDsKRVAQi4qgtd0RJ3zoPwo=
638638
github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6/go.mod h1:KJNceOHRefjku1oVBoHG7idCS/SeW42WJ+55bN3AxrQ=
639639
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 h1:JPP6a0ME1tZXr4iB69d/LtJsCAr58ENBadFaK9f48/c=

internal/cmd/rabbitmq/credentials/create/create.go

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import (
44
"context"
55
"fmt"
66

7+
rabbitmq "github.com/stackitcloud/stackit-sdk-go/services/rabbitmq/v2api"
8+
79
"github.com/stackitcloud/stackit-cli/internal/pkg/types"
810

911
"github.com/spf13/cobra"
10-
"github.com/stackitcloud/stackit-sdk-go/services/rabbitmq"
1112

1213
"github.com/stackitcloud/stackit-cli/internal/pkg/args"
1314
"github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -58,7 +59,7 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
5859
return err
5960
}
6061

61-
instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId)
62+
instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId)
6263
if err != nil {
6364
params.Printer.Debug(print.ErrorLevel, "get instance name: %v", err)
6465
instanceLabel = model.InstanceId
@@ -109,7 +110,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
109110
}
110111

111112
func buildRequest(ctx context.Context, model *inputModel, apiClient *rabbitmq.APIClient) rabbitmq.ApiCreateCredentialsRequest {
112-
req := apiClient.CreateCredentials(ctx, model.ProjectId, model.InstanceId)
113+
req := apiClient.DefaultAPI.CreateCredentials(ctx, model.ProjectId, model.Region, model.InstanceId)
113114
return req
114115
}
115116

@@ -123,29 +124,27 @@ func outputResult(p *print.Printer, model inputModel, instanceLabel string, resp
123124

124125
if !model.ShowPassword {
125126
if resp.Raw == nil {
126-
resp.Raw = &rabbitmq.RawCredentials{Credentials: &rabbitmq.Credentials{}}
127-
} else if resp.Raw.Credentials == nil {
128-
resp.Raw.Credentials = &rabbitmq.Credentials{}
127+
resp.Raw = &rabbitmq.RawCredentials{Credentials: rabbitmq.Credentials{}}
129128
}
130-
resp.Raw.Credentials.Password = utils.Ptr("hidden")
129+
resp.Raw.Credentials.Password = "hidden"
131130
}
132131

133132
return p.OutputResult(model.OutputFormat, resp, func() error {
134-
p.Outputf("Created credentials for instance %q. Credentials ID: %s\n\n", instanceLabel, utils.PtrString(resp.Id))
133+
p.Outputf("Created credentials for instance %q. Credentials ID: %s\n\n", instanceLabel, resp.Id)
135134
// The username field cannot be set by the user so we only display it if it's not returned empty
136-
if resp.HasRaw() && resp.Raw.Credentials != nil {
137-
if username := resp.Raw.Credentials.Username; username != nil && *username != "" {
138-
p.Outputf("Username: %s\n", *username)
135+
if resp.HasRaw() {
136+
if username := resp.Raw.Credentials.Username; username != "" {
137+
p.Outputf("Username: %s\n", username)
139138
}
140139
if !model.ShowPassword {
141140
p.Outputf("Password: <hidden>\n")
142141
} else {
143-
p.Outputf("Password: %s\n", utils.PtrString(resp.Raw.Credentials.Password))
142+
p.Outputf("Password: %s\n", resp.Raw.Credentials.Password)
144143
}
145-
p.Outputf("Host: %s\n", utils.PtrString(resp.Raw.Credentials.Host))
144+
p.Outputf("Host: %s\n", resp.Raw.Credentials.Host)
146145
p.Outputf("Port: %s\n", utils.PtrString(resp.Raw.Credentials.Port))
147146
}
148-
p.Outputf("URI: %s\n", utils.PtrString(resp.Uri))
147+
p.Outputf("URI: %s\n", resp.Uri)
149148
return nil
150149
})
151150
}

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/google/go-cmp/cmp"
88
"github.com/google/go-cmp/cmp/cmpopts"
99
"github.com/google/uuid"
10-
"github.com/stackitcloud/stackit-sdk-go/services/rabbitmq"
10+
rabbitmq "github.com/stackitcloud/stackit-sdk-go/services/rabbitmq/v2api"
1111

1212
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1313
"github.com/stackitcloud/stackit-cli/internal/pkg/testparams"
@@ -17,13 +17,15 @@ import (
1717
type testCtxKey struct{}
1818

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

2425
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2526
flagValues := map[string]string{
2627
globalflags.ProjectIdFlag: testProjectId,
28+
globalflags.RegionFlag: testRegionId,
2729
instanceIdFlag: testInstanceId,
2830
}
2931
for _, mod := range mods {
@@ -36,6 +38,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3638
model := &inputModel{
3739
GlobalFlagModel: &globalflags.GlobalFlagModel{
3840
ProjectId: testProjectId,
41+
Region: testRegionId,
3942
Verbosity: globalflags.VerbosityDefault,
4043
},
4144
InstanceId: testInstanceId,
@@ -47,7 +50,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4750
}
4851

4952
func fixtureRequest(mods ...func(request *rabbitmq.ApiCreateCredentialsRequest)) rabbitmq.ApiCreateCredentialsRequest {
50-
request := testClient.CreateCredentials(testCtx, testProjectId, testInstanceId)
53+
request := testClient.DefaultAPI.CreateCredentials(testCtx, testProjectId, testRegionId, testInstanceId)
5154
for _, mod := range mods {
5255
mod(&request)
5356
}
@@ -153,7 +156,7 @@ func TestBuildRequest(t *testing.T) {
153156

154157
diff := cmp.Diff(request, tt.expectedRequest,
155158
cmp.AllowUnexported(tt.expectedRequest),
156-
cmpopts.EquateComparable(testCtx),
159+
cmpopts.EquateComparable(testCtx, rabbitmq.DefaultAPIService{}),
157160
)
158161
if diff != "" {
159162
t.Fatalf("Data does not match: %s", diff)

internal/cmd/rabbitmq/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-
"github.com/stackitcloud/stackit-sdk-go/services/rabbitmq"
20+
rabbitmq "github.com/stackitcloud/stackit-sdk-go/services/rabbitmq/v2api"
2121
)
2222

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

59-
instanceLabel, err := rabbitmqUtils.GetInstanceName(ctx, apiClient, model.ProjectId, model.InstanceId)
59+
instanceLabel, err := rabbitmqUtils.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 := rabbitmqUtils.GetCredentialsUsername(ctx, apiClient, model.ProjectId, model.InstanceId, model.CredentialsId)
65+
credentialsLabel, err := rabbitmqUtils.GetCredentialsUsername(ctx, apiClient.DefaultAPI, model.ProjectId, model.Region, model.InstanceId, model.CredentialsId)
6666
if err != nil {
6767
params.Printer.Debug(print.ErrorLevel, "get credentials user name: %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 *rabbitmq.APIClient) rabbitmq.ApiDeleteCredentialsRequest {
118-
req := apiClient.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/rabbitmq/credentials/delete/delete_test.go

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

1616
type testCtxKey struct{}
1717

1818
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
19-
var testClient = &rabbitmq.APIClient{}
19+
var testClient = &rabbitmq.APIClient{DefaultAPI: &rabbitmq.DefaultAPIService{}}
2020
var testProjectId = uuid.NewString()
21+
var testRegionId = "eu01"
2122
var testInstanceId = uuid.NewString()
2223
var testCredentialsId = uuid.NewString()
2324

@@ -34,6 +35,7 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3435
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3536
flagValues := map[string]string{
3637
globalflags.ProjectIdFlag: testProjectId,
38+
globalflags.RegionFlag: testRegionId,
3739
instanceIdFlag: testInstanceId,
3840
}
3941
for _, mod := range mods {
@@ -46,6 +48,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4648
model := &inputModel{
4749
GlobalFlagModel: &globalflags.GlobalFlagModel{
4850
ProjectId: testProjectId,
51+
Region: testRegionId,
4952
Verbosity: globalflags.VerbosityDefault,
5053
},
5154
InstanceId: testInstanceId,
@@ -58,7 +61,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5861
}
5962

6063
func fixtureRequest(mods ...func(request *rabbitmq.ApiDeleteCredentialsRequest)) rabbitmq.ApiDeleteCredentialsRequest {
61-
request := testClient.DeleteCredentials(testCtx, testProjectId, testInstanceId, testCredentialsId)
64+
request := testClient.DefaultAPI.DeleteCredentials(testCtx, testProjectId, testRegionId, testInstanceId, testCredentialsId)
6265
for _, mod := range mods {
6366
mod(&request)
6467
}
@@ -186,7 +189,7 @@ func TestBuildRequest(t *testing.T) {
186189

187190
diff := cmp.Diff(request, tt.expectedRequest,
188191
cmp.AllowUnexported(tt.expectedRequest),
189-
cmpopts.EquateComparable(testCtx),
192+
cmpopts.EquateComparable(testCtx, rabbitmq.DefaultAPIService{}),
190193
)
191194
if diff != "" {
192195
t.Fatalf("Data does not match: %s", diff)

internal/cmd/rabbitmq/credentials/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/rabbitmq"
20+
rabbitmq "github.com/stackitcloud/stackit-sdk-go/services/rabbitmq/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 *rabbitmq.APIClient) rabbitmq.ApiGetCredentialsRequest {
102-
req := apiClient.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

@@ -110,15 +110,15 @@ func outputResult(p *print.Printer, outputFormat string, credentials *rabbitmq.C
110110

111111
return p.OutputResult(outputFormat, credentials, func() error {
112112
table := tables.NewTable()
113-
table.AddRow("ID", utils.PtrString(credentials.Id))
113+
table.AddRow("ID", credentials.Id)
114114
table.AddSeparator()
115115
// The username field cannot be set by the user so we only display it if it's not returned empty
116-
if credentials.HasRaw() && credentials.Raw.Credentials != nil {
117-
if username := credentials.Raw.Credentials.Username; username != nil && *username != "" {
118-
table.AddRow("USERNAME", *username)
116+
if credentials.HasRaw() {
117+
if username := credentials.Raw.Credentials.Username; username != "" {
118+
table.AddRow("USERNAME", username)
119119
table.AddSeparator()
120120
}
121-
table.AddRow("PASSWORD", utils.PtrString(credentials.Raw.Credentials.Password))
121+
table.AddRow("PASSWORD", credentials.Raw.Credentials.Password)
122122
table.AddSeparator()
123123
table.AddRow("URI", utils.PtrString(credentials.Raw.Credentials.Uri))
124124
}

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"github.com/google/go-cmp/cmp"
88
"github.com/google/go-cmp/cmp/cmpopts"
99
"github.com/google/uuid"
10-
"github.com/stackitcloud/stackit-sdk-go/services/rabbitmq"
10+
rabbitmq "github.com/stackitcloud/stackit-sdk-go/services/rabbitmq/v2api"
1111

1212
"github.com/stackitcloud/stackit-cli/internal/pkg/globalflags"
1313
"github.com/stackitcloud/stackit-cli/internal/pkg/testparams"
@@ -17,8 +17,9 @@ import (
1717
type testCtxKey struct{}
1818

1919
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
20-
var testClient = &rabbitmq.APIClient{}
20+
var testClient = &rabbitmq.APIClient{DefaultAPI: &rabbitmq.DefaultAPIService{}}
2121
var testProjectId = uuid.NewString()
22+
var testRegionId = "eu01"
2223
var testInstanceId = uuid.NewString()
2324
var testCredentialsId = uuid.NewString()
2425

@@ -35,6 +36,7 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3536
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3637
flagValues := map[string]string{
3738
globalflags.ProjectIdFlag: testProjectId,
39+
globalflags.RegionFlag: testRegionId,
3840
instanceIdFlag: testInstanceId,
3941
}
4042
for _, mod := range mods {
@@ -47,6 +49,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4749
model := &inputModel{
4850
GlobalFlagModel: &globalflags.GlobalFlagModel{
4951
ProjectId: testProjectId,
52+
Region: testRegionId,
5053
Verbosity: globalflags.VerbosityDefault,
5154
},
5255
InstanceId: testInstanceId,
@@ -59,7 +62,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5962
}
6063

6164
func fixtureRequest(mods ...func(request *rabbitmq.ApiGetCredentialsRequest)) rabbitmq.ApiGetCredentialsRequest {
62-
request := testClient.GetCredentials(testCtx, testProjectId, testInstanceId, testCredentialsId)
65+
request := testClient.DefaultAPI.GetCredentials(testCtx, testProjectId, testRegionId, testInstanceId, testCredentialsId)
6366
for _, mod := range mods {
6467
mod(&request)
6568
}
@@ -187,7 +190,7 @@ func TestBuildRequest(t *testing.T) {
187190

188191
diff := cmp.Diff(request, tt.expectedRequest,
189192
cmp.AllowUnexported(tt.expectedRequest),
190-
cmpopts.EquateComparable(testCtx),
193+
cmpopts.EquateComparable(testCtx, rabbitmq.DefaultAPIService{}),
191194
)
192195
if diff != "" {
193196
t.Fatalf("Data does not match: %s", diff)

0 commit comments

Comments
 (0)