Skip to content

Commit b3c931a

Browse files
authored
chore(server): regional adjustment for runcommand (#660)
relates to STACKITTPR-135
1 parent 881d2fb commit b3c931a

File tree

12 files changed

+66
-53
lines changed

12 files changed

+66
-53
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.20.0
2424
github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.0.1
2525
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0
26-
github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0
26+
github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0
2727
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0
2828
github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0
2929
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v0.5.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.0 h1:UDIRWwiZ2/2ukmn
141141
github.com/stackitcloud/stackit-sdk-go/services/redis v0.21.0/go.mod h1:ErMQspxm7+XmtOsEM6lTD73oALPq3lUC5s+JQkm6Y/s=
142142
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0 h1:fPCdQOsdPB1QqwcgytrROk+h5va49CAnp5YSCIrKZWY=
143143
github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.13.0/go.mod h1:Hs8RwANfF2ZKqOowPBqMQqLoRHcMobiKAihWWirAdEU=
144-
github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0 h1:S1DFVy2wwSiAFgNPpB527Q/YDQpSaduIFOMX988sZOE=
145-
github.com/stackitcloud/stackit-sdk-go/services/runcommand v0.3.0/go.mod h1:1bANbviG6h5XaD3bBnC3v+eDWf5LBYLtLEF/ih+U4kA=
144+
github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0 h1:tKUyddNszcif4j2yL6lJd4tDAykcU3shMkAPoM9EzV8=
145+
github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.0.0/go.mod h1:5n31cpeYcz2DSax4ygpZICEHDoHCTbWHrNGNYWwlRA8=
146146
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0 h1:PwfpDFGUUJ8+Go5hJf+/hA5CHfY+DPS1cqIUYH+zWtE=
147147
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.11.0/go.mod h1:Hb21FmYP95q0fzOb9jk4/9CIxTsHzrSYDQZh6e82XUg=
148148
github.com/stackitcloud/stackit-sdk-go/services/serverbackup v0.6.0 h1:cESGAkm0ftADRBfdbiyx3pp/KVQ8JgmUQdRzpwG61wE=

internal/cmd/server/command/create/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
142142
}
143143

144144
func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) (runcommand.ApiCreateCommandRequest, error) {
145-
req := apiClient.CreateCommand(ctx, model.ProjectId, model.ServerId)
145+
req := apiClient.CreateCommand(ctx, model.ProjectId, model.ServerId, model.Region)
146146
req = req.CreateCommandPayload(runcommand.CreateCommandPayload{
147147
CommandTemplateName: &model.CommandTemplateName,
148148
Parameters: model.Params,

internal/cmd/server/command/create/create_test.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ import (
1414
"github.com/stackitcloud/stackit-sdk-go/services/runcommand"
1515
)
1616

17-
var projectIdFlag = globalflags.ProjectIdFlag
18-
1917
type testCtxKey struct{}
2018

2119
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
@@ -24,12 +22,17 @@ var testClient = &runcommand.APIClient{}
2422
var testProjectId = uuid.NewString()
2523
var testServerId = uuid.NewString()
2624

25+
const (
26+
testRegion = "eu02"
27+
)
28+
2729
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2830
flagValues := map[string]string{
29-
projectIdFlag: testProjectId,
30-
serverIdFlag: testServerId,
31-
commandTemplateNameFlag: "RunShellScript",
32-
paramsFlag: `script='echo hello'`,
31+
globalflags.ProjectIdFlag: testProjectId,
32+
globalflags.RegionFlag: testRegion,
33+
serverIdFlag: testServerId,
34+
commandTemplateNameFlag: "RunShellScript",
35+
paramsFlag: `script='echo hello'`,
3336
}
3437
for _, mod := range mods {
3538
mod(flagValues)
@@ -41,6 +44,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4144
model := &inputModel{
4245
GlobalFlagModel: &globalflags.GlobalFlagModel{
4346
ProjectId: testProjectId,
47+
Region: testRegion,
4448
Verbosity: globalflags.VerbosityDefault,
4549
},
4650
ServerId: testServerId,
@@ -54,7 +58,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5458
}
5559

5660
func fixtureRequest(mods ...func(request *runcommand.ApiCreateCommandRequest)) runcommand.ApiCreateCommandRequest {
57-
request := testClient.CreateCommand(testCtx, testProjectId, testServerId)
61+
request := testClient.CreateCommand(testCtx, testProjectId, testServerId, testRegion)
5862
request = request.CreateCommandPayload(fixturePayload())
5963
for _, mod := range mods {
6064
mod(&request)
@@ -100,21 +104,21 @@ func TestParseInput(t *testing.T) {
100104
{
101105
description: "project id missing",
102106
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
103-
delete(flagValues, projectIdFlag)
107+
delete(flagValues, globalflags.ProjectIdFlag)
104108
}),
105109
isValid: false,
106110
},
107111
{
108112
description: "project id invalid 1",
109113
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
110-
flagValues[projectIdFlag] = ""
114+
flagValues[globalflags.ProjectIdFlag] = ""
111115
}),
112116
isValid: false,
113117
},
114118
{
115119
description: "project id invalid 2",
116120
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
117-
flagValues[projectIdFlag] = "invalid-uuid"
121+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
118122
}),
119123
isValid: false,
120124
},

internal/cmd/server/command/describe/describe.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
104104
}
105105

106106
func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiGetCommandRequest {
107-
req := apiClient.GetCommand(ctx, model.ProjectId, model.ServerId, model.CommandId)
107+
req := apiClient.GetCommand(ctx, model.ProjectId, model.Region, model.ServerId, model.CommandId)
108108
return req
109109
}
110110

internal/cmd/server/command/describe/describe_test.go

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

16-
var projectIdFlag = globalflags.ProjectIdFlag
17-
1816
type testCtxKey struct{}
1917

2018
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
2119
var testClient = &runcommand.APIClient{}
2220
var testProjectId = uuid.NewString()
2321
var testServerId = uuid.NewString()
24-
var testCommandId = "5"
22+
23+
const (
24+
testRegion = "eu02"
25+
testCommandId = "5"
26+
)
2527

2628
func fixtureArgValues(mods ...func(argValues []string)) []string {
2729
argValues := []string{
@@ -35,8 +37,9 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3537

3638
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3739
flagValues := map[string]string{
38-
projectIdFlag: testProjectId,
39-
serverIdFlag: testServerId,
40+
globalflags.ProjectIdFlag: testProjectId,
41+
globalflags.RegionFlag: testRegion,
42+
serverIdFlag: testServerId,
4043
}
4144
for _, mod := range mods {
4245
mod(flagValues)
@@ -48,6 +51,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4851
model := &inputModel{
4952
GlobalFlagModel: &globalflags.GlobalFlagModel{
5053
ProjectId: testProjectId,
54+
Region: testRegion,
5155
Verbosity: globalflags.VerbosityDefault,
5256
},
5357
ServerId: testServerId,
@@ -60,7 +64,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6064
}
6165

6266
func fixtureRequest(mods ...func(request *runcommand.ApiGetCommandRequest)) runcommand.ApiGetCommandRequest {
63-
request := testClient.GetCommand(testCtx, testProjectId, testServerId, testCommandId)
67+
request := testClient.GetCommand(testCtx, testProjectId, testRegion, testServerId, testCommandId)
6468
for _, mod := range mods {
6569
mod(&request)
6670
}
@@ -104,23 +108,23 @@ func TestParseInput(t *testing.T) {
104108
description: "project id missing",
105109
argValues: fixtureArgValues(),
106110
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
107-
delete(flagValues, projectIdFlag)
111+
delete(flagValues, globalflags.ProjectIdFlag)
108112
}),
109113
isValid: false,
110114
},
111115
{
112116
description: "project id invalid 1",
113117
argValues: fixtureArgValues(),
114118
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
115-
flagValues[projectIdFlag] = ""
119+
flagValues[globalflags.ProjectIdFlag] = ""
116120
}),
117121
isValid: false,
118122
},
119123
{
120124
description: "project id invalid 2",
121125
argValues: fixtureArgValues(),
122126
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
123-
flagValues[projectIdFlag] = "invalid-uuid"
127+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
124128
}),
125129
isValid: false,
126130
},

internal/cmd/server/command/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command) (*inputModel, error) {
133133
}
134134

135135
func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiListCommandsRequest {
136-
req := apiClient.ListCommands(ctx, model.ProjectId, model.ServerId)
136+
req := apiClient.ListCommands(ctx, model.ProjectId, model.ServerId, model.Region)
137137
return req
138138
}
139139

internal/cmd/server/command/list/list_test.go

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

17-
var projectIdFlag = globalflags.ProjectIdFlag
18-
1917
type testCtxKey struct{}
2018

2119
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
2220
var testClient = &runcommand.APIClient{}
2321
var testProjectId = uuid.NewString()
2422
var testServerId = uuid.NewString()
2523

24+
const (
25+
testRegion = "eu02"
26+
)
27+
2628
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
2729
flagValues := map[string]string{
28-
projectIdFlag: testProjectId,
29-
limitFlag: "10",
30-
serverIdFlag: testServerId,
30+
globalflags.ProjectIdFlag: testProjectId,
31+
globalflags.RegionFlag: testRegion,
32+
limitFlag: "10",
33+
serverIdFlag: testServerId,
3134
}
3235
for _, mod := range mods {
3336
mod(flagValues)
@@ -39,6 +42,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
3942
model := &inputModel{
4043
GlobalFlagModel: &globalflags.GlobalFlagModel{
4144
ProjectId: testProjectId,
45+
Region: testRegion,
4246
Verbosity: globalflags.VerbosityDefault,
4347
},
4448
Limit: utils.Ptr(int64(10)),
@@ -51,7 +55,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
5155
}
5256

5357
func fixtureRequest(mods ...func(request *runcommand.ApiListCommandsRequest)) runcommand.ApiListCommandsRequest {
54-
request := testClient.ListCommands(testCtx, testProjectId, testServerId)
58+
request := testClient.ListCommands(testCtx, testProjectId, testServerId, testRegion)
5559
for _, mod := range mods {
5660
mod(&request)
5761
}
@@ -79,21 +83,21 @@ func TestParseInput(t *testing.T) {
7983
{
8084
description: "project id missing",
8185
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
82-
delete(flagValues, projectIdFlag)
86+
delete(flagValues, globalflags.ProjectIdFlag)
8387
}),
8488
isValid: false,
8589
},
8690
{
8791
description: "project id invalid 1",
8892
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
89-
flagValues[projectIdFlag] = ""
93+
flagValues[globalflags.ProjectIdFlag] = ""
9094
}),
9195
isValid: false,
9296
},
9397
{
9498
description: "project id invalid 2",
9599
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
96-
flagValues[projectIdFlag] = "invalid-uuid"
100+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
97101
}),
98102
isValid: false,
99103
},

internal/cmd/server/command/template/describe/describe.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, inputArgs []string) (*inpu
104104
}
105105

106106
func buildRequest(ctx context.Context, model *inputModel, apiClient *runcommand.APIClient) runcommand.ApiGetCommandTemplateRequest {
107-
req := apiClient.GetCommandTemplate(ctx, model.ProjectId, model.ServerId, model.CommandTemplateName)
107+
req := apiClient.GetCommandTemplate(ctx, model.ProjectId, model.ServerId, model.CommandTemplateName, model.Region)
108108
return req
109109
}
110110

internal/cmd/server/command/template/describe/describe_test.go

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

16-
var projectIdFlag = globalflags.ProjectIdFlag
17-
1816
type testCtxKey struct{}
1917

2018
var testCtx = context.WithValue(context.Background(), testCtxKey{}, "foo")
2119
var testClient = &runcommand.APIClient{}
2220
var testProjectId = uuid.NewString()
2321
var testServerId = uuid.NewString()
24-
var testCommandTemplateName = "RunShellScript"
22+
23+
const (
24+
testCommandTemplateName = "RunShellScript"
25+
testRegion = "eu02"
26+
)
2527

2628
func fixtureArgValues(mods ...func(argValues []string)) []string {
2729
argValues := []string{
@@ -35,8 +37,9 @@ func fixtureArgValues(mods ...func(argValues []string)) []string {
3537

3638
func fixtureFlagValues(mods ...func(flagValues map[string]string)) map[string]string {
3739
flagValues := map[string]string{
38-
projectIdFlag: testProjectId,
39-
serverIdFlag: testServerId,
40+
globalflags.ProjectIdFlag: testProjectId,
41+
globalflags.RegionFlag: testRegion,
42+
serverIdFlag: testServerId,
4043
}
4144
for _, mod := range mods {
4245
mod(flagValues)
@@ -48,6 +51,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
4851
model := &inputModel{
4952
GlobalFlagModel: &globalflags.GlobalFlagModel{
5053
ProjectId: testProjectId,
54+
Region: testRegion,
5155
Verbosity: globalflags.VerbosityDefault,
5256
},
5357
ServerId: testServerId,
@@ -60,7 +64,7 @@ func fixtureInputModel(mods ...func(model *inputModel)) *inputModel {
6064
}
6165

6266
func fixtureRequest(mods ...func(request *runcommand.ApiGetCommandTemplateRequest)) runcommand.ApiGetCommandTemplateRequest {
63-
request := testClient.GetCommandTemplate(testCtx, testProjectId, testServerId, testCommandTemplateName)
67+
request := testClient.GetCommandTemplate(testCtx, testProjectId, testServerId, testCommandTemplateName, testRegion)
6468
for _, mod := range mods {
6569
mod(&request)
6670
}
@@ -104,23 +108,23 @@ func TestParseInput(t *testing.T) {
104108
description: "project id missing",
105109
argValues: fixtureArgValues(),
106110
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
107-
delete(flagValues, projectIdFlag)
111+
delete(flagValues, globalflags.ProjectIdFlag)
108112
}),
109113
isValid: false,
110114
},
111115
{
112116
description: "project id invalid 1",
113117
argValues: fixtureArgValues(),
114118
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
115-
flagValues[projectIdFlag] = ""
119+
flagValues[globalflags.ProjectIdFlag] = ""
116120
}),
117121
isValid: false,
118122
},
119123
{
120124
description: "project id invalid 2",
121125
argValues: fixtureArgValues(),
122126
flagValues: fixtureFlagValues(func(flagValues map[string]string) {
123-
flagValues[projectIdFlag] = "invalid-uuid"
127+
flagValues[globalflags.ProjectIdFlag] = "invalid-uuid"
124128
}),
125129
isValid: false,
126130
},

0 commit comments

Comments
 (0)