Skip to content

Commit 8adc6a6

Browse files
authored
chore: Adds SDK Preview (#2713)
* add client * SDK update GHA * simulate Preview update * example of use for Admin Preview * Revert "example of use for Admin Preview" This reverts commit c5edef5. * rename adminPreview to adminpreview in client * example of use of SDK Preview * reverse example * go mod tidy
1 parent a8cb8de commit 8adc6a6

File tree

4 files changed

+32
-8
lines changed

4 files changed

+32
-8
lines changed

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ require (
1919
github.com/hashicorp/terraform-plugin-sdk/v2 v2.34.0
2020
github.com/hashicorp/terraform-plugin-testing v1.9.0
2121
github.com/mongodb-forks/digest v1.1.0
22+
github.com/mongodb/atlas-sdk-go v1.0.1-0.20241018094808-b267c50bd90c
2223
github.com/spf13/cast v1.6.0
2324
github.com/stretchr/testify v1.9.0
2425
github.com/zclconf/go-cty v1.15.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,8 @@ github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx
635635
github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM=
636636
github.com/mongodb-forks/digest v1.1.0 h1:7eUdsR1BtqLv0mdNm4OXs6ddWvR4X2/OsLwdKksrOoc=
637637
github.com/mongodb-forks/digest v1.1.0/go.mod h1:rb+EX8zotClD5Dj4NdgxnJXG9nwrlx3NWKJ8xttz1Dg=
638+
github.com/mongodb/atlas-sdk-go v1.0.1-0.20241018094808-b267c50bd90c h1:O+gTwkWGmepbF1i4IyF0A+i8URWxCxC0DHQWrkRaYWQ=
639+
github.com/mongodb/atlas-sdk-go v1.0.1-0.20241018094808-b267c50bd90c/go.mod h1:CE0qO1AJFrP9ajK/KnRUwKzoPKVoqAmZVFnsofvTwRE=
638640
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
639641
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
640642
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=

internal/config/client.go

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"strings"
1010
"time"
1111

12+
adminpreview "github.com/mongodb/atlas-sdk-go/admin"
1213
admin20240530 "go.mongodb.org/atlas-sdk/v20240530005/admin"
1314
"go.mongodb.org/atlas-sdk/v20240805005/admin"
1415
matlasClient "go.mongodb.org/atlas/mongodbatlas"
@@ -32,6 +33,7 @@ type MongoDBClient struct {
3233
Atlas *matlasClient.Client
3334
AtlasV2 *admin.APIClient
3435
AtlasV220240530 *admin20240530.APIClient // used in advanced_cluster and cloud_backup_schedule for avoiding breaking changes
36+
AtlasPreview *adminpreview.APIClient // used for preview features, don't use in resources exposed in the provider list
3537
Config *Config
3638
}
3739

@@ -110,13 +112,18 @@ func (c *Config) NewClient(ctx context.Context) (any, error) {
110112
return nil, err
111113
}
112114

115+
sdkPreviewClient, err := c.newSDKPreviewClient(client)
116+
if err != nil {
117+
return nil, err
118+
}
119+
113120
clients := &MongoDBClient{
114121
Atlas: atlasClient,
115122
AtlasV2: sdkV2Client,
116123
AtlasV220240530: sdkV220240530Client,
124+
AtlasPreview: sdkPreviewClient,
117125
Config: c,
118126
}
119-
120127
return clients, nil
121128
}
122129

@@ -127,13 +134,11 @@ func (c *Config) newSDKV2Client(client *http.Client) (*admin.APIClient, error) {
127134
admin.UseBaseURL(c.BaseURL),
128135
admin.UseDebug(false)}
129136

130-
// Initialize the MongoDB Versioned Atlas Client.
131-
sdkv2, err := admin.NewClient(opts...)
137+
sdk, err := admin.NewClient(opts...)
132138
if err != nil {
133139
return nil, err
134140
}
135-
136-
return sdkv2, nil
141+
return sdk, nil
137142
}
138143

139144
func (c *Config) newSDKV220240530Client(client *http.Client) (*admin20240530.APIClient, error) {
@@ -143,13 +148,25 @@ func (c *Config) newSDKV220240530Client(client *http.Client) (*admin20240530.API
143148
admin20240530.UseBaseURL(c.BaseURL),
144149
admin20240530.UseDebug(false)}
145150

146-
// Initialize the MongoDB Versioned Atlas Client.
147-
sdkv2, err := admin20240530.NewClient(opts...)
151+
sdk, err := admin20240530.NewClient(opts...)
148152
if err != nil {
149153
return nil, err
150154
}
155+
return sdk, nil
156+
}
157+
158+
func (c *Config) newSDKPreviewClient(client *http.Client) (*adminpreview.APIClient, error) {
159+
opts := []adminpreview.ClientModifier{
160+
adminpreview.UseHTTPClient(client),
161+
adminpreview.UseUserAgent(userAgent(c)),
162+
adminpreview.UseBaseURL(c.BaseURL),
163+
adminpreview.UseDebug(false)}
151164

152-
return sdkv2, nil
165+
sdk, err := adminpreview.NewClient(opts...)
166+
if err != nil {
167+
return nil, err
168+
}
169+
return sdk, nil
153170
}
154171

155172
func (c *MongoDBClient) GetRealmClient(ctx context.Context) (*realm.Client, error) {

scripts/update-sdk.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,9 @@ echo "LATEST_SDK_RELEASE: $LATEST_SDK_RELEASE"
3131
echo "==> Updating SDK ${CURRENT_SDK_RELEASE} to latest major version ${LATEST_SDK_TAG}"
3232

3333
gomajor get --rewrite "go.mongodb.org/atlas-sdk/${CURRENT_SDK_RELEASE}" "go.mongodb.org/atlas-sdk/${LATEST_SDK_RELEASE}@${LATEST_SDK_TAG}"
34+
35+
echo "==> Updating SDK Preview version"
36+
go get github.com/mongodb/atlas-sdk-go@preview-latest
37+
3438
go mod tidy
3539
echo "Done"

0 commit comments

Comments
 (0)