Skip to content

Commit e8f9500

Browse files
committed
adjust security group commands
1 parent 15fb555 commit e8f9500

File tree

18 files changed

+151
-68
lines changed

18 files changed

+151
-68
lines changed

internal/cmd/security-group/create/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
115115
}
116116

117117
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiCreateSecurityGroupRequest {
118-
request := apiClient.CreateSecurityGroup(ctx, model.ProjectId)
118+
request := apiClient.CreateSecurityGroup(ctx, model.ProjectId, model.Region)
119119

120120
payload := iaas.CreateSecurityGroupPayload{
121121
Description: model.Description,

internal/cmd/security-group/create/create_test.go

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

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
projectIdFlag = globalflags.ProjectIdFlag
20+
regionFlag = globalflags.RegionFlag
21+
22+
testRegion = "eu01"
23+
)
1924

2025
type testCtxKey struct{}
2126

@@ -35,7 +40,9 @@ var (
3540

3641
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3742
flagValues := map[string]string{
38-
projectIdFlag: testProjectId,
43+
projectIdFlag: testProjectId,
44+
regionFlag: testRegion,
45+
3946
descriptionFlag: testDescription,
4047
labelsFlag: "fooKey=fooValue,barKey=barValue,bazKey=bazValue",
4148
statefulFlag: "true",
@@ -49,11 +56,15 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
4956

5057
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5158
model := &inputModel{
52-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
53-
Labels: &testLabels,
54-
Description: &testDescription,
55-
Name: &testName,
56-
Stateful: &testStateful,
59+
GlobalFlagModel: &globalflags.GlobalFlagModel{
60+
ProjectId: testProjectId,
61+
Region: testRegion,
62+
Verbosity: globalflags.VerbosityDefault,
63+
},
64+
Labels: &testLabels,
65+
Description: &testDescription,
66+
Name: &testName,
67+
Stateful: &testStateful,
5768
}
5869
for _, mod := range mods {
5970
mod(model)
@@ -72,7 +83,7 @@ func toStringAnyMapPtr(m map[string]string) map[string]any {
7283
return result
7384
}
7485
func fixtureRequest(mods ...func(request *iaas.ApiCreateSecurityGroupRequest)) iaas.ApiCreateSecurityGroupRequest {
75-
request := testClient.CreateSecurityGroup(testCtx, testProjectId)
86+
request := testClient.CreateSecurityGroup(testCtx, testProjectId, testRegion)
7687

7788
request = request.CreateSecurityGroupPayload(iaas.CreateSecurityGroupPayload{
7889
Description: &testDescription,

internal/cmd/security-group/delete/delete.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
5353
projectLabel = model.ProjectId
5454
}
5555

56-
groupLabel, err := iaasUtils.GetSecurityGroupName(ctx, apiClient, model.ProjectId, model.SecurityGroupId)
56+
groupLabel, err := iaasUtils.GetSecurityGroupName(ctx, apiClient, model.ProjectId, model.Region, model.SecurityGroupId)
5757
if err != nil {
5858
params.Printer.Warn("get security group name: %v", err)
5959
groupLabel = model.SecurityGroupId
@@ -98,6 +98,6 @@ func parseInput(p *print.Printer, cmd *cobra.Command, cliArgs []string) (*inputM
9898
}
9999

100100
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiDeleteSecurityGroupRequest {
101-
request := apiClient.DeleteSecurityGroup(ctx, model.ProjectId, model.SecurityGroupId)
101+
request := apiClient.DeleteSecurityGroup(ctx, model.ProjectId, model.Region, model.SecurityGroupId)
102102
return request
103103
}

internal/cmd/security-group/delete/delete_test.go

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

17-
var projectIdFlag = globalflags.ProjectIdFlag
17+
const (
18+
projectIdFlag = globalflags.ProjectIdFlag
19+
regionFlag = globalflags.RegionFlag
20+
21+
testRegion = "eu01"
22+
)
1823

1924
type testCtxKey struct{}
2025

@@ -28,6 +33,7 @@ var (
2833
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2934
flagValues := map[string]string{
3035
projectIdFlag: testProjectId,
36+
regionFlag: testRegion,
3137
}
3238
for _, mod := range mods {
3339
mod(flagValues)
@@ -37,7 +43,11 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3743

3844
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3945
model := &inputModel{
40-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
46+
GlobalFlagModel: &globalflags.GlobalFlagModel{
47+
ProjectId: testProjectId,
48+
Region: testRegion,
49+
Verbosity: globalflags.VerbosityDefault,
50+
},
4151
SecurityGroupId: testGroupId,
4252
}
4353
for _, mod := range mods {
@@ -47,7 +57,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4757
}
4858

4959
func fixtureRequest(mods ...func(request *iaas.ApiDeleteSecurityGroupRequest)) iaas.ApiDeleteSecurityGroupRequest {
50-
request := testClient.DeleteSecurityGroup(testCtx, testProjectId, testGroupId)
60+
request := testClient.DeleteSecurityGroup(testCtx, testProjectId, testRegion, testGroupId)
5161
for _, mod := range mods {
5262
mod(&request)
5363
}

internal/cmd/security-group/describe/describe.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
6868
}
6969

7070
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiGetSecurityGroupRequest {
71-
request := apiClient.GetSecurityGroup(ctx, model.ProjectId, model.SecurityGroupId)
71+
request := apiClient.GetSecurityGroup(ctx, model.ProjectId, model.Region, model.SecurityGroupId)
7272
return request
7373
}
7474

internal/cmd/security-group/describe/describe_test.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ import (
1313
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1414
)
1515

16-
var projectIdFlag = globalflags.ProjectIdFlag
16+
const (
17+
projectIdFlag = globalflags.ProjectIdFlag
18+
regionFlag = globalflags.RegionFlag
19+
20+
testRegion = "eu01"
21+
)
1722

1823
type testCtxKey struct{}
1924

@@ -27,6 +32,7 @@ var (
2732
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2833
flagValues := map[string]string{
2934
projectIdFlag: testProjectId,
35+
regionFlag: testRegion,
3036
}
3137
for _, mod := range mods {
3238
mod(flagValues)
@@ -36,7 +42,11 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3642

3743
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3844
model := &inputModel{
39-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
45+
GlobalFlagModel: &globalflags.GlobalFlagModel{
46+
ProjectId: testProjectId,
47+
Region: testRegion,
48+
Verbosity: globalflags.VerbosityDefault,
49+
},
4050
SecurityGroupId: testSecurityGroupId[0],
4151
}
4252
for _, mod := range mods {
@@ -46,7 +56,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4656
}
4757

4858
func fixtureRequest(mods ...func(request *iaas.ApiGetSecurityGroupRequest)) iaas.ApiGetSecurityGroupRequest {
49-
request := testClient.GetSecurityGroup(testCtx, testProjectId, testSecurityGroupId[0])
59+
request := testClient.GetSecurityGroup(testCtx, testProjectId, testRegion, testSecurityGroupId[0])
5060
for _, mod := range mods {
5161
mod(&request)
5262
}

internal/cmd/security-group/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
102102
}
103103

104104
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiListSecurityGroupsRequest {
105-
request := apiClient.ListSecurityGroups(ctx, model.ProjectId)
105+
request := apiClient.ListSecurityGroups(ctx, model.ProjectId, model.Region)
106106
if model.LabelSelector != nil {
107107
request = request.LabelSelector(*model.LabelSelector)
108108
}

internal/cmd/security-group/list/list_test.go

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

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
projectIdFlag = globalflags.ProjectIdFlag
20+
regionFlag = globalflags.RegionFlag
21+
22+
testRegion = "eu01"
23+
)
1924

2025
type testCtxKey struct{}
2126

@@ -28,7 +33,9 @@ var (
2833

2934
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3035
flagValues := map[string]string{
31-
projectIdFlag: testProjectId,
36+
projectIdFlag: testProjectId,
37+
regionFlag: testRegion,
38+
3239
labelSelectorFlag: testLabels,
3340
}
3441
for _, mod := range mods {
@@ -39,8 +46,12 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3946

4047
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4148
model := &inputModel{
42-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
43-
LabelSelector: utils.Ptr(testLabels),
49+
GlobalFlagModel: &globalflags.GlobalFlagModel{
50+
ProjectId: testProjectId,
51+
Region: testRegion,
52+
Verbosity: globalflags.VerbosityDefault,
53+
},
54+
LabelSelector: utils.Ptr(testLabels),
4455
}
4556
for _, mod := range mods {
4657
mod(model)
@@ -49,7 +60,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4960
}
5061

5162
func fixtureRequest(mods ...func(request *iaas.ApiListSecurityGroupsRequest)) iaas.ApiListSecurityGroupsRequest {
52-
request := testClient.ListSecurityGroups(testCtx, testProjectId)
63+
request := testClient.ListSecurityGroups(testCtx, testProjectId, testRegion)
5364
request = request.LabelSelector(testLabels)
5465
for _, mod := range mods {
5566
mod(&request)

internal/cmd/security-group/rule/create/create.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
9494
projectLabel = model.ProjectId
9595
}
9696

97-
securityGroupLabel, err := iaasUtils.GetSecurityGroupName(ctx, apiClient, model.ProjectId, model.SecurityGroupId)
97+
securityGroupLabel, err := iaasUtils.GetSecurityGroupName(ctx, apiClient, model.ProjectId, model.Region, model.SecurityGroupId)
9898
if err != nil {
9999
params.Printer.Debug(print.ErrorLevel, "get security group name: %v", err)
100100
securityGroupLabel = model.SecurityGroupId
@@ -168,7 +168,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
168168
}
169169

170170
func buildRequest(ctx context.Context, model *inputModel, apiClient *iaas.APIClient) iaas.ApiCreateSecurityGroupRuleRequest {
171-
req := apiClient.CreateSecurityGroupRule(ctx, model.ProjectId, model.SecurityGroupId)
171+
req := apiClient.CreateSecurityGroupRule(ctx, model.ProjectId, model.Region, model.SecurityGroupId)
172172
icmpParameters := &iaas.ICMPParameters{}
173173
portRange := &iaas.PortRange{}
174174
protocol := &iaas.CreateProtocol{}

internal/cmd/security-group/rule/create/create_test.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@ import (
1616
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1717
)
1818

19-
var projectIdFlag = globalflags.ProjectIdFlag
19+
const (
20+
projectIdFlag = globalflags.ProjectIdFlag
21+
regionFlag = globalflags.RegionFlag
22+
23+
testRegion = "eu01"
24+
)
2025

2126
type testCtxKey struct{}
2227

@@ -29,7 +34,9 @@ var testRemoteSecurityGroupId = uuid.NewString()
2934

3035
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3136
flagValues := map[string]string{
32-
projectIdFlag: testProjectId,
37+
projectIdFlag: testProjectId,
38+
regionFlag: testRegion,
39+
3340
securityGroupIdFlag: testSecurityGroupId,
3441
directionFlag: "ingress",
3542
descriptionFlag: "example-description",
@@ -53,6 +60,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5360
model := &inputModel{
5461
GlobalFlagModel: &globalflags.GlobalFlagModel{
5562
ProjectId: testProjectId,
63+
Region: testRegion,
5664
Verbosity: globalflags.VerbosityDefault,
5765
},
5866
SecurityGroupId: testSecurityGroupId,
@@ -75,7 +83,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
7583
}
7684

7785
func fixtureRequest(mods ...func(request *iaas.ApiCreateSecurityGroupRuleRequest)) iaas.ApiCreateSecurityGroupRuleRequest {
78-
request := testClient.CreateSecurityGroupRule(testCtx, testProjectId, testSecurityGroupId)
86+
request := testClient.CreateSecurityGroupRule(testCtx, testProjectId, testRegion, testSecurityGroupId)
7987
request = request.CreateSecurityGroupRulePayload(fixturePayload())
8088
for _, mod := range mods {
8189
mod(&request)
@@ -84,7 +92,7 @@ func fixtureRequest(mods ...func(request *iaas.ApiCreateSecurityGroupRuleRequest
8492
}
8593

8694
func fixtureRequiredRequest(mods ...func(request *iaas.ApiCreateSecurityGroupRuleRequest)) iaas.ApiCreateSecurityGroupRuleRequest {
87-
request := testClient.CreateSecurityGroupRule(testCtx, testProjectId, testSecurityGroupId)
95+
request := testClient.CreateSecurityGroupRule(testCtx, testProjectId, testRegion, testSecurityGroupId)
8896
request = request.CreateSecurityGroupRulePayload(iaas.CreateSecurityGroupRulePayload{
8997
Direction: utils.Ptr("ingress"),
9098
})
@@ -267,6 +275,7 @@ func TestBuildRequest(t *testing.T) {
267275
model: &inputModel{
268276
GlobalFlagModel: &globalflags.GlobalFlagModel{
269277
ProjectId: testProjectId,
278+
Region: testRegion,
270279
Verbosity: globalflags.VerbosityDefault,
271280
},
272281
Direction: utils.Ptr("ingress"),

0 commit comments

Comments
 (0)