Skip to content

Commit 75dd0a0

Browse files
committed
adjust security group commands
1 parent 92257ec commit 75dd0a0

File tree

18 files changed

+153
-97
lines changed

18 files changed

+153
-97
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 & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import (
1515
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1616
)
1717

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
testRegion = "eu01"
20+
)
1921

2022
type testCtxKey struct{}
2123

@@ -35,7 +37,9 @@ var (
3537

3638
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3739
flagValues := map[string]string{
38-
projectIdFlag: testProjectId,
40+
globalflags.ProjectIdFlag: testProjectId,
41+
globalflags.RegionFlag: testRegion,
42+
3943
descriptionFlag: testDescription,
4044
labelsFlag: "fooKey=fooValue,barKey=barValue,bazKey=bazValue",
4145
statefulFlag: "true",
@@ -49,11 +53,15 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
4953

5054
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5155
model := &inputModel{
52-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
53-
Labels: &testLabels,
54-
Description: &testDescription,
55-
Name: &testName,
56-
Stateful: &testStateful,
56+
GlobalFlagModel: &globalflags.GlobalFlagModel{
57+
ProjectId: testProjectId,
58+
Region: testRegion,
59+
Verbosity: globalflags.VerbosityDefault,
60+
},
61+
Labels: &testLabels,
62+
Description: &testDescription,
63+
Name: &testName,
64+
Stateful: &testStateful,
5765
}
5866
for _, mod := range mods {
5967
mod(model)
@@ -72,7 +80,7 @@ func toStringAnyMapPtr(m map[string]string) map[string]any {
7280
return result
7381
}
7482
func fixtureRequest(mods ...func(request *iaas.ApiCreateSecurityGroupRequest)) iaas.ApiCreateSecurityGroupRequest {
75-
request := testClient.CreateSecurityGroup(testCtx, testProjectId)
83+
request := testClient.CreateSecurityGroup(testCtx, testProjectId, testRegion)
7684

7785
request = request.CreateSecurityGroupPayload(iaas.CreateSecurityGroupPayload{
7886
Description: &testDescription,
@@ -109,21 +117,21 @@ func TestParseInput(t *testing.T) {
109117
{
110118
description: "project id missing",
111119
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
112-
delete(flagValues, projectIdFlag)
120+
delete(flagValues, globalflags.ProjectIdFlag)
113121
}),
114122
isValid: false,
115123
},
116124
{
117125
description: "project id invalid 1",
118126
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
119-
flagValues[projectIdFlag] = ""
127+
flagValues[globalflags.ProjectIdFlag] = ""
120128
}),
121129
isValid: false,
122130
},
123131
{
124132
description: "project id invalid 2",
125133
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
126-
flagValues[projectIdFlag] = "invalid-uuid"
134+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
127135
}),
128136
isValid: false,
129137
},

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 & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ import (
1414
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1515
)
1616

17-
var projectIdFlag = globalflags.ProjectIdFlag
17+
const (
18+
testRegion = "eu01"
19+
)
1820

1921
type testCtxKey struct{}
2022

@@ -27,7 +29,8 @@ var (
2729

2830
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2931
flagValues := map[string]string{
30-
projectIdFlag: testProjectId,
32+
globalflags.ProjectIdFlag: testProjectId,
33+
globalflags.RegionFlag: testRegion,
3134
}
3235
for _, mod := range mods {
3336
mod(flagValues)
@@ -37,7 +40,11 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3740

3841
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3942
model := &inputModel{
40-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
43+
GlobalFlagModel: &globalflags.GlobalFlagModel{
44+
ProjectId: testProjectId,
45+
Region: testRegion,
46+
Verbosity: globalflags.VerbosityDefault,
47+
},
4148
SecurityGroupId: testGroupId,
4249
}
4350
for _, mod := range mods {
@@ -47,7 +54,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4754
}
4855

4956
func fixtureRequest(mods ...func(request *iaas.ApiDeleteSecurityGroupRequest)) iaas.ApiDeleteSecurityGroupRequest {
50-
request := testClient.DeleteSecurityGroup(testCtx, testProjectId, testGroupId)
57+
request := testClient.DeleteSecurityGroup(testCtx, testProjectId, testRegion, testGroupId)
5158
for _, mod := range mods {
5259
mod(&request)
5360
}
@@ -73,14 +80,14 @@ func TestParseInput(t *testing.T) {
7380
{
7481
description: "project id invalid 1",
7582
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
76-
flagValues[projectIdFlag] = ""
83+
flagValues[globalflags.ProjectIdFlag] = ""
7784
}),
7885
isValid: false,
7986
},
8087
{
8188
description: "project id invalid 2",
8289
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
83-
flagValues[projectIdFlag] = "invalid-uuid"
90+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
8491
}),
8592
isValid: false,
8693
},

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: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import (
1313
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1414
)
1515

16-
var projectIdFlag = globalflags.ProjectIdFlag
16+
const (
17+
testRegion = "eu01"
18+
)
1719

1820
type testCtxKey struct{}
1921

@@ -26,7 +28,8 @@ var (
2628

2729
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2830
flagValues := map[string]string{
29-
projectIdFlag: testProjectId,
31+
globalflags.ProjectIdFlag: testProjectId,
32+
globalflags.RegionFlag: testRegion,
3033
}
3134
for _, mod := range mods {
3235
mod(flagValues)
@@ -36,7 +39,11 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3639

3740
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3841
model := &inputModel{
39-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
42+
GlobalFlagModel: &globalflags.GlobalFlagModel{
43+
ProjectId: testProjectId,
44+
Region: testRegion,
45+
Verbosity: globalflags.VerbosityDefault,
46+
},
4047
SecurityGroupId: testSecurityGroupId[0],
4148
}
4249
for _, mod := range mods {
@@ -46,7 +53,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4653
}
4754

4855
func fixtureRequest(mods ...func(request *iaas.ApiGetSecurityGroupRequest)) iaas.ApiGetSecurityGroupRequest {
49-
request := testClient.GetSecurityGroup(testCtx, testProjectId, testSecurityGroupId[0])
56+
request := testClient.GetSecurityGroup(testCtx, testProjectId, testRegion, testSecurityGroupId[0])
5057
for _, mod := range mods {
5158
mod(&request)
5259
}
@@ -78,23 +85,23 @@ func TestParseInput(t *testing.T) {
7885
{
7986
description: "project id missing",
8087
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
81-
delete(flagValues, projectIdFlag)
88+
delete(flagValues, globalflags.ProjectIdFlag)
8289
}),
8390
args: testSecurityGroupId,
8491
isValid: false,
8592
},
8693
{
8794
description: "project id invalid 1",
8895
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
89-
flagValues[projectIdFlag] = ""
96+
flagValues[globalflags.ProjectIdFlag] = ""
9097
}),
9198
args: testSecurityGroupId,
9299
isValid: false,
93100
},
94101
{
95102
description: "project id invalid 2",
96103
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
97-
flagValues[projectIdFlag] = "invalid-uuid"
104+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
98105
}),
99106
args: testSecurityGroupId,
100107
isValid: false,

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 & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import (
1515
"github.com/stackitcloud/stackit-sdk-go/services/iaas"
1616
)
1717

18-
var projectIdFlag = globalflags.ProjectIdFlag
18+
const (
19+
testRegion = "eu01"
20+
)
1921

2022
type testCtxKey struct{}
2123

@@ -28,7 +30,9 @@ var (
2830

2931
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3032
flagValues := map[string]string{
31-
projectIdFlag: testProjectId,
33+
globalflags.ProjectIdFlag: testProjectId,
34+
globalflags.RegionFlag: testRegion,
35+
3236
labelSelectorFlag: testLabels,
3337
}
3438
for _, mod := range mods {
@@ -39,8 +43,12 @@ func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]st
3943

4044
func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4145
model := &inputModel{
42-
GlobalFlagModel: &globalflags.GlobalFlagModel{ProjectId: testProjectId, Verbosity: globalflags.VerbosityDefault},
43-
LabelSelector: utils.Ptr(testLabels),
46+
GlobalFlagModel: &globalflags.GlobalFlagModel{
47+
ProjectId: testProjectId,
48+
Region: testRegion,
49+
Verbosity: globalflags.VerbosityDefault,
50+
},
51+
LabelSelector: utils.Ptr(testLabels),
4452
}
4553
for _, mod := range mods {
4654
mod(model)
@@ -49,7 +57,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4957
}
5058

5159
func fixtureRequest(mods ...func(request *iaas.ApiListSecurityGroupsRequest)) iaas.ApiListSecurityGroupsRequest {
52-
request := testClient.ListSecurityGroups(testCtx, testProjectId)
60+
request := testClient.ListSecurityGroups(testCtx, testProjectId, testRegion)
5361
request = request.LabelSelector(testLabels)
5462
for _, mod := range mods {
5563
mod(&request)
@@ -79,21 +87,21 @@ func TestParseInput(t *testing.T) {
7987
{
8088
description: "project id missing",
8189
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
82-
delete(flagValues, projectIdFlag)
90+
delete(flagValues, globalflags.ProjectIdFlag)
8391
}),
8492
isValid: false,
8593
},
8694
{
8795
description: "project id invalid 1",
8896
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
89-
flagValues[projectIdFlag] = ""
97+
flagValues[globalflags.ProjectIdFlag] = ""
9098
}),
9199
isValid: false,
92100
},
93101
{
94102
description: "project id invalid 2",
95103
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
96-
flagValues[projectIdFlag] = "invalid-uuid"
104+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
97105
}),
98106
isValid: false,
99107
},

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{}

0 commit comments

Comments
 (0)