Skip to content

Commit 77f6fa0

Browse files
authored
Add regional extension to service enablement API (#1511)
* fix: updated waiter and corrected examples * fix: applied review findings * fix: revert release date * fix: cleanup go.mod
1 parent 835d9c3 commit 77f6fa0

20 files changed

+700
-130
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
- **Feature:** Add method to list all public ip ranges: `ListPublicIpRanges`
1818
- Add size attribute to image model
1919
- Add CPU architecture attribute to image config model
20+
- `serviceenablement: [v0.6.0](services/serviceenablement/CHANGELOG.md#v060-2025-02-27)
21+
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
22+
2023

2124
## Release (2025-02-21)
2225
> [!WARNING]

examples/serviceenablement/go.mod

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@ module github.com/stackitcloud/stackit-sdk-go/examples/serviceenablement
22

33
go 1.21
44

5-
require (
6-
github.com/stackitcloud/stackit-sdk-go/core v0.16.0
7-
github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v0.5.0
8-
)
5+
require github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v0.5.0
96

107
require (
118
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
129
github.com/google/go-cmp v0.7.0 // indirect
1310
github.com/google/uuid v1.6.0 // indirect
11+
github.com/stackitcloud/stackit-sdk-go/core v0.16.0 // indirect
1412
)

examples/serviceenablement/serviceenablement.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"fmt"
66
"os"
77

8-
"github.com/stackitcloud/stackit-sdk-go/core/config"
98
"github.com/stackitcloud/stackit-sdk-go/services/serviceenablement"
109
"github.com/stackitcloud/stackit-sdk-go/services/serviceenablement/wait"
1110
)
@@ -15,16 +14,15 @@ func main() {
1514
projectId := "PROJECT_ID"
1615

1716
// Create a new API client, that uses default authentication and configuration
18-
client, err := serviceenablement.NewAPIClient(
19-
config.WithRegion("eu01"),
20-
)
17+
client, err := serviceenablement.NewAPIClient()
2118
if err != nil {
2219
fmt.Fprintf(os.Stderr, "Creating API client: %v\n", err)
2320
os.Exit(1)
2421
}
22+
region := "eu01"
2523

2624
// List Services
27-
listServicesResp, err := client.ListServiceStatusExecute(context.Background(), projectId)
25+
listServicesResp, err := client.ListServiceStatusRegionalExecute(context.Background(), region, projectId)
2826
if err != nil {
2927
fmt.Fprintf(os.Stderr, "Error when calling `ListServices`: %v\n", err)
3028
} else {
@@ -34,33 +32,33 @@ func main() {
3432
// Get Service Id from the list of services
3533
serviceId := (*listServicesResp.Items)[0].ServiceId
3634

37-
getServiceStatusResp, err := client.GetServiceStatus(context.Background(), projectId, *serviceId).Execute()
35+
getServiceStatusResp, err := client.GetServiceStatusRegional(context.Background(), region, projectId, *serviceId).Execute()
3836
if err != nil {
3937
fmt.Fprintf(os.Stderr, "Error when calling `GetServiceStatus`: %v\n", err)
4038
} else {
4139
fmt.Printf("Service state: %s\n", *getServiceStatusResp.State)
4240
}
4341

4442
// Enable Service
45-
err = client.EnableService(context.Background(), projectId, *serviceId).Execute()
43+
err = client.EnableServiceRegional(context.Background(), region, projectId, *serviceId).Execute()
4644
if err != nil {
4745
fmt.Fprintf(os.Stderr, "Error when calling `EnableService`: %v\n", err)
4846
}
4947
// Wait for the service to be enabled
50-
status, err := wait.EnableServiceWaitHandler(context.Background(), client, projectId, *serviceId).WaitWithContext(context.Background())
48+
status, err := wait.EnableServiceWaitHandler(context.Background(), client, region, projectId, *serviceId).WaitWithContext(context.Background())
5149
if err != nil {
5250
fmt.Fprintf(os.Stderr, "Error when waiting for service to be enabled: %v\n", err)
5351
} else {
5452
fmt.Printf("Service %q is now enabled\n", *status.ServiceId)
5553
}
5654

5755
// Disable Service
58-
err = client.DisableService(context.Background(), projectId, *serviceId).Execute()
56+
err = client.DisableServiceRegional(context.Background(), region, projectId, *serviceId).Execute()
5957
if err != nil {
6058
fmt.Fprintf(os.Stderr, "Error when calling `DisableService`: %v\n", err)
6159
}
6260
// Wait for the service to be disabled
63-
status, err = wait.DisableServiceWaitHandler(context.Background(), client, projectId, *serviceId).WaitWithContext(context.Background())
61+
status, err = wait.DisableServiceWaitHandler(context.Background(), client, region, projectId, *serviceId).WaitWithContext(context.Background())
6462
if err != nil {
6563
fmt.Fprintf(os.Stderr, "Error when waiting for service to be disabled: %v\n", err)
6664
} else {

services/serviceenablement/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## v0.6.0 (2025-02-27)
2+
- **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request.
3+
14
## v0.5.0 (2025-02-21)
25
- **New:** Minimal go version is now Go 1.21
36

0 commit comments

Comments
 (0)