Skip to content

Commit abcf88b

Browse files
committed
feat: adapt object storage to new regional api
1 parent b9c414f commit abcf88b

File tree

4 files changed

+13
-14
lines changed

4 files changed

+13
-14
lines changed

core/config/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ func WithUserAgent(userAgent string) ConfigurationOption {
144144
}
145145

146146
// WithRegion returns a ConfigurationOption that specifies the region to be used
147+
// [Deprecated]: The region should be set on the individual calls
147148
func WithRegion(region string) ConfigurationOption {
148149
return func(config *Configuration) error {
149150
config.Region = region

examples/objectstorage/objectstorage.go

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

8-
"github.com/stackitcloud/stackit-sdk-go/core/config"
98
"github.com/stackitcloud/stackit-sdk-go/services/objectstorage"
109
)
1110

1211
func main() {
1312
// Specify the project ID
1413
projectId := "PROJECT_ID"
14+
region := "eu01"
1515

1616
// Create a new API client, that uses default authentication and configuration
17-
objectStorageClient, err := objectstorage.NewAPIClient(
18-
config.WithRegion("eu01"),
19-
)
17+
objectStorageClient, err := objectstorage.NewAPIClient()
2018
if err != nil {
2119
fmt.Fprintf(os.Stderr, "Creating API client: %v\n", err)
2220
os.Exit(1)
2321
}
2422

2523
// Get the object storage buckets for your project
26-
getBucketsResp, err := objectStorageClient.ListBuckets(context.Background(), projectId).Execute()
24+
getBucketsResp, err := objectStorageClient.ListBuckets(context.Background(), projectId, region).Execute()
2725
if err != nil {
2826
fmt.Fprintf(os.Stderr, "Error when calling `GetBuckets`: %v\n", err)
2927
} else {
3028
fmt.Printf("Number of buckets: %v\n", len(*getBucketsResp.Buckets))
3129
}
3230

3331
// Create an object storage bucket
34-
createBucketResp, err := objectStorageClient.CreateBucket(context.Background(), projectId, "example-bucket").Execute()
32+
createBucketResp, err := objectStorageClient.CreateBucket(context.Background(), projectId, region, "example-bucket").Execute()
3533
if err != nil {
3634
fmt.Fprintf(os.Stderr, "Error when calling `CreateBucket`: %v\n", err)
3735
} else {

services/objectstorage/wait/wait.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ import (
1313

1414
// Interface needed for tests
1515
type APIClientBucketInterface interface {
16-
GetBucketExecute(ctx context.Context, projectId string, bucketName string) (*objectstorage.GetBucketResponse, error)
16+
GetBucketExecute(ctx context.Context, projectId string, region, bucketName string) (*objectstorage.GetBucketResponse, error)
1717
}
1818

1919
// CreateBucketWaitHandler will wait for bucket creation
20-
func CreateBucketWaitHandler(ctx context.Context, a APIClientBucketInterface, projectId, bucketName string) *wait.AsyncActionHandler[objectstorage.GetBucketResponse] {
20+
func CreateBucketWaitHandler(ctx context.Context, a APIClientBucketInterface, projectId, region, bucketName string) *wait.AsyncActionHandler[objectstorage.GetBucketResponse] {
2121
handler := wait.New(func() (waitFinished bool, response *objectstorage.GetBucketResponse, err error) {
22-
s, err := a.GetBucketExecute(ctx, projectId, bucketName)
22+
s, err := a.GetBucketExecute(ctx, projectId, region, bucketName)
2323
if err != nil {
2424
return false, nil, err
2525
}
@@ -30,9 +30,9 @@ func CreateBucketWaitHandler(ctx context.Context, a APIClientBucketInterface, pr
3030
}
3131

3232
// DeleteBucketWaitHandler will wait for bucket deletion
33-
func DeleteBucketWaitHandler(ctx context.Context, a APIClientBucketInterface, projectId, bucketName string) *wait.AsyncActionHandler[struct{}] {
33+
func DeleteBucketWaitHandler(ctx context.Context, a APIClientBucketInterface, projectId, region, bucketName string) *wait.AsyncActionHandler[struct{}] {
3434
handler := wait.New(func() (waitFinished bool, response *struct{}, err error) {
35-
_, err = a.GetBucketExecute(ctx, projectId, bucketName)
35+
_, err = a.GetBucketExecute(ctx, projectId, region, bucketName)
3636
if err == nil {
3737
return false, nil, nil
3838
}

services/objectstorage/wait/wait_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type apiClientBucketMocked struct {
1616
bucketGetFails bool
1717
}
1818

19-
func (a *apiClientBucketMocked) GetBucketExecute(_ context.Context, _, _ string) (*objectstorage.GetBucketResponse, error) {
19+
func (a *apiClientBucketMocked) GetBucketExecute(_ context.Context, _, _, _ string) (*objectstorage.GetBucketResponse, error) {
2020
if a.bucketGetFails {
2121
return nil, &oapierror.GenericOpenAPIError{
2222
StatusCode: 500,
@@ -63,7 +63,7 @@ func TestCreateBucketWaitHandler(t *testing.T) {
6363
wantRes = &objectstorage.GetBucketResponse{}
6464
}
6565

66-
handler := CreateBucketWaitHandler(context.Background(), apiClient, "", "")
66+
handler := CreateBucketWaitHandler(context.Background(), apiClient, "", "", "")
6767

6868
gotRes, err := handler.SetTimeout(10 * time.Millisecond).WaitWithContext(context.Background())
6969

@@ -101,7 +101,7 @@ func TestDeleteBucketWaitHandler(t *testing.T) {
101101
bucketGetFails: tt.bucketGetFails,
102102
}
103103

104-
handler := DeleteBucketWaitHandler(context.Background(), apiClient, "", "")
104+
handler := DeleteBucketWaitHandler(context.Background(), apiClient, "", "", "")
105105

106106
_, err := handler.SetTimeout(10 * time.Millisecond).WaitWithContext(context.Background())
107107

0 commit comments

Comments
 (0)