Skip to content

Commit 806e26b

Browse files
stainless-app[bot]stainless-bot
authored andcommittedNov 18, 2024·
feat(api): api update (#3620)
1 parent 08fb87e commit 806e26b

File tree

5 files changed

+2383
-239
lines changed

5 files changed

+2383
-239
lines changed
 

‎.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 1417
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-472b7169e54c165dc77ae6808bcd1cf816e3033236facb08d7884730387ed9e9.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-4c49562d088783434a838d9fb04f3a71514aaf0ee9096dabf65e3ae0825b8756.yml

‎api.md

+13-14
Original file line numberDiff line numberDiff line change
@@ -5766,26 +5766,25 @@ Methods:
57665766

57675767
# Hyperdrive
57685768

5769-
Params Types:
5770-
5771-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigurationParam">ConfigurationParam</a>
5772-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#HyperdriveParam">HyperdriveParam</a>
5769+
## Configs
57735770

57745771
Response Types:
57755772

5776-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Configuration">Configuration</a>
5777-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>
5778-
5779-
## Configs
5773+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigNewResponse">ConfigNewResponse</a>
5774+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigUpdateResponse">ConfigUpdateResponse</a>
5775+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigListResponse">ConfigListResponse</a>
5776+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigDeleteResponse">ConfigDeleteResponse</a>
5777+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigEditResponse">ConfigEditResponse</a>
5778+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigGetResponse">ConfigGetResponse</a>
57805779

57815780
Methods:
57825781

5783-
- <code title="post /accounts/{account_id}/hyperdrive/configs">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigNewParams">ConfigNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5784-
- <code title="put /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigUpdateParams">ConfigUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5785-
- <code title="get /accounts/{account_id}/hyperdrive/configs">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigListParams">ConfigListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5786-
- <code title="delete /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigDeleteParams">ConfigDeleteParams</a>) (interface{}, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5787-
- <code title="patch /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Edit">Edit</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigEditParams">ConfigEditParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5788-
- <code title="get /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigGetParams">ConfigGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#Hyperdrive">Hyperdrive</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5782+
- <code title="post /accounts/{account_id}/hyperdrive/configs">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigNewParams">ConfigNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigNewResponse">ConfigNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5783+
- <code title="put /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigUpdateParams">ConfigUpdateParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigUpdateResponse">ConfigUpdateResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5784+
- <code title="get /accounts/{account_id}/hyperdrive/configs">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigListParams">ConfigListParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/packages/pagination#SinglePage">SinglePage</a>[<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigListResponse">ConfigListResponse</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5785+
- <code title="delete /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigDeleteParams">ConfigDeleteParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigDeleteResponse">ConfigDeleteResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5786+
- <code title="patch /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Edit">Edit</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigEditParams">ConfigEditParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigEditResponse">ConfigEditResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
5787+
- <code title="get /accounts/{account_id}/hyperdrive/configs/{hyperdrive_id}">client.Hyperdrive.Configs.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigService.Get">Get</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, hyperdriveID <a href="https://pkg.go.dev/builtin#string">string</a>, query <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigGetParams">ConfigGetParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive">hyperdrive</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v3/hyperdrive#ConfigGetResponse">ConfigGetResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
57895788

57905789
# RUM
57915790

‎hyperdrive/config.go

+2,335-23
Large diffs are not rendered by default.

‎hyperdrive/config_test.go

+34-48
Original file line numberDiff line numberDiff line change
@@ -30,22 +30,18 @@ func TestConfigNewWithOptionalParams(t *testing.T) {
3030
)
3131
_, err := client.Hyperdrive.Configs.New(context.TODO(), hyperdrive.ConfigNewParams{
3232
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
33-
Hyperdrive: hyperdrive.HyperdriveParam{
34-
Name: cloudflare.F("example-hyperdrive"),
35-
Origin: cloudflare.F(hyperdrive.ConfigurationParam{
36-
Database: cloudflare.F("postgres"),
37-
Host: cloudflare.F("database.example.com"),
38-
Scheme: cloudflare.F(hyperdrive.ConfigurationSchemePostgres),
39-
User: cloudflare.F("postgres"),
40-
AccessClientID: cloudflare.F("0123456789abcdef0123456789abcdef.access"),
41-
Port: cloudflare.F(int64(5432)),
42-
}),
43-
Caching: cloudflare.F(hyperdrive.HyperdriveCachingParam{
44-
Disabled: cloudflare.F(false),
45-
MaxAge: cloudflare.F(int64(60)),
46-
StaleWhileRevalidate: cloudflare.F(int64(15)),
47-
}),
48-
},
33+
Name: cloudflare.F("example-hyperdrive"),
34+
Origin: cloudflare.F[hyperdrive.ConfigNewParamsOriginUnion](hyperdrive.ConfigNewParamsOriginPublicDatabase{
35+
Database: cloudflare.F("postgres"),
36+
Host: cloudflare.F("database.example.com"),
37+
Password: cloudflare.F("password"),
38+
Port: cloudflare.F(int64(5432)),
39+
Scheme: cloudflare.F(hyperdrive.ConfigNewParamsOriginPublicDatabaseSchemePostgres),
40+
User: cloudflare.F("postgres"),
41+
}),
42+
Caching: cloudflare.F[hyperdrive.ConfigNewParamsCachingUnion](hyperdrive.ConfigNewParamsCachingHyperdriveHyperdriveCachingCommon{
43+
Disabled: cloudflare.F(true),
44+
}),
4945
})
5046
if err != nil {
5147
var apierr *cloudflare.Error
@@ -75,22 +71,18 @@ func TestConfigUpdateWithOptionalParams(t *testing.T) {
7571
"023e105f4ecef8ad9ca31a8372d0c353",
7672
hyperdrive.ConfigUpdateParams{
7773
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
78-
Hyperdrive: hyperdrive.HyperdriveParam{
79-
Name: cloudflare.F("example-hyperdrive"),
80-
Origin: cloudflare.F(hyperdrive.ConfigurationParam{
81-
Database: cloudflare.F("postgres"),
82-
Host: cloudflare.F("database.example.com"),
83-
Scheme: cloudflare.F(hyperdrive.ConfigurationSchemePostgres),
84-
User: cloudflare.F("postgres"),
85-
AccessClientID: cloudflare.F("0123456789abcdef0123456789abcdef.access"),
86-
Port: cloudflare.F(int64(5432)),
87-
}),
88-
Caching: cloudflare.F(hyperdrive.HyperdriveCachingParam{
89-
Disabled: cloudflare.F(false),
90-
MaxAge: cloudflare.F(int64(60)),
91-
StaleWhileRevalidate: cloudflare.F(int64(15)),
92-
}),
93-
},
74+
Name: cloudflare.F("example-hyperdrive"),
75+
Origin: cloudflare.F[hyperdrive.ConfigUpdateParamsOriginUnion](hyperdrive.ConfigUpdateParamsOriginPublicDatabase{
76+
Database: cloudflare.F("postgres"),
77+
Host: cloudflare.F("database.example.com"),
78+
Password: cloudflare.F("password"),
79+
Port: cloudflare.F(int64(5432)),
80+
Scheme: cloudflare.F(hyperdrive.ConfigUpdateParamsOriginPublicDatabaseSchemePostgres),
81+
User: cloudflare.F("postgres"),
82+
}),
83+
Caching: cloudflare.F[hyperdrive.ConfigUpdateParamsCachingUnion](hyperdrive.ConfigUpdateParamsCachingHyperdriveHyperdriveCachingCommon{
84+
Disabled: cloudflare.F(true),
85+
}),
9486
},
9587
)
9688
if err != nil {
@@ -175,22 +167,16 @@ func TestConfigEditWithOptionalParams(t *testing.T) {
175167
"023e105f4ecef8ad9ca31a8372d0c353",
176168
hyperdrive.ConfigEditParams{
177169
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
178-
Hyperdrive: hyperdrive.HyperdriveParam{
179-
Caching: cloudflare.F(hyperdrive.HyperdriveCachingParam{
180-
Disabled: cloudflare.F(false),
181-
MaxAge: cloudflare.F(int64(60)),
182-
StaleWhileRevalidate: cloudflare.F(int64(15)),
183-
}),
184-
Name: cloudflare.F("example-hyperdrive"),
185-
Origin: cloudflare.F(hyperdrive.ConfigurationParam{
186-
Database: cloudflare.F("postgres"),
187-
Host: cloudflare.F("database.example.com"),
188-
Scheme: cloudflare.F(hyperdrive.ConfigurationSchemePostgres),
189-
User: cloudflare.F("postgres"),
190-
AccessClientID: cloudflare.F("0123456789abcdef0123456789abcdef.access"),
191-
Port: cloudflare.F(int64(5432)),
192-
}),
193-
},
170+
Caching: cloudflare.F[hyperdrive.ConfigEditParamsCachingUnion](hyperdrive.ConfigEditParamsCachingHyperdriveHyperdriveCachingCommon{
171+
Disabled: cloudflare.F(true),
172+
}),
173+
Name: cloudflare.F("example-hyperdrive"),
174+
Origin: cloudflare.F[hyperdrive.ConfigEditParamsOriginUnion](hyperdrive.ConfigEditParamsOriginHyperdriveHyperdriveDatabase{
175+
Database: cloudflare.F("postgres"),
176+
Password: cloudflare.F("password"),
177+
Scheme: cloudflare.F(hyperdrive.ConfigEditParamsOriginHyperdriveHyperdriveDatabaseSchemePostgres),
178+
User: cloudflare.F("postgres"),
179+
}),
194180
},
195181
)
196182
if err != nil {

‎hyperdrive/hyperdrive.go

-153
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
package hyperdrive
44

55
import (
6-
"github.com/cloudflare/cloudflare-go/v3/internal/apijson"
7-
"github.com/cloudflare/cloudflare-go/v3/internal/param"
86
"github.com/cloudflare/cloudflare-go/v3/option"
97
)
108

@@ -28,154 +26,3 @@ func NewHyperdriveService(opts ...option.RequestOption) (r *HyperdriveService) {
2826
r.Configs = NewConfigService(opts...)
2927
return
3028
}
31-
32-
type Configuration struct {
33-
// The name of your origin database.
34-
Database string `json:"database,required"`
35-
// The host (hostname or IP) of your origin database.
36-
Host string `json:"host,required"`
37-
// Specifies the URL scheme used to connect to your origin database.
38-
Scheme ConfigurationScheme `json:"scheme,required"`
39-
// The user of your origin database.
40-
User string `json:"user,required"`
41-
// The Client ID of the Access token to use when connecting to the origin database
42-
AccessClientID string `json:"access_client_id"`
43-
// The port (default: 5432 for Postgres) of your origin database.
44-
Port int64 `json:"port"`
45-
JSON configurationJSON `json:"-"`
46-
}
47-
48-
// configurationJSON contains the JSON metadata for the struct [Configuration]
49-
type configurationJSON struct {
50-
Database apijson.Field
51-
Host apijson.Field
52-
Scheme apijson.Field
53-
User apijson.Field
54-
AccessClientID apijson.Field
55-
Port apijson.Field
56-
raw string
57-
ExtraFields map[string]apijson.Field
58-
}
59-
60-
func (r *Configuration) UnmarshalJSON(data []byte) (err error) {
61-
return apijson.UnmarshalRoot(data, r)
62-
}
63-
64-
func (r configurationJSON) RawJSON() string {
65-
return r.raw
66-
}
67-
68-
// Specifies the URL scheme used to connect to your origin database.
69-
type ConfigurationScheme string
70-
71-
const (
72-
ConfigurationSchemePostgres ConfigurationScheme = "postgres"
73-
ConfigurationSchemePostgresql ConfigurationScheme = "postgresql"
74-
ConfigurationSchemeMysql ConfigurationScheme = "mysql"
75-
)
76-
77-
func (r ConfigurationScheme) IsKnown() bool {
78-
switch r {
79-
case ConfigurationSchemePostgres, ConfigurationSchemePostgresql, ConfigurationSchemeMysql:
80-
return true
81-
}
82-
return false
83-
}
84-
85-
type ConfigurationParam struct {
86-
// The name of your origin database.
87-
Database param.Field[string] `json:"database,required"`
88-
// The host (hostname or IP) of your origin database.
89-
Host param.Field[string] `json:"host,required"`
90-
// Specifies the URL scheme used to connect to your origin database.
91-
Scheme param.Field[ConfigurationScheme] `json:"scheme,required"`
92-
// The user of your origin database.
93-
User param.Field[string] `json:"user,required"`
94-
// The Client ID of the Access token to use when connecting to the origin database
95-
AccessClientID param.Field[string] `json:"access_client_id"`
96-
// The port (default: 5432 for Postgres) of your origin database.
97-
Port param.Field[int64] `json:"port"`
98-
}
99-
100-
func (r ConfigurationParam) MarshalJSON() (data []byte, err error) {
101-
return apijson.MarshalRoot(r)
102-
}
103-
104-
type Hyperdrive struct {
105-
Caching HyperdriveCaching `json:"caching"`
106-
Name string `json:"name"`
107-
Origin Configuration `json:"origin"`
108-
JSON hyperdriveJSON `json:"-"`
109-
}
110-
111-
// hyperdriveJSON contains the JSON metadata for the struct [Hyperdrive]
112-
type hyperdriveJSON struct {
113-
Caching apijson.Field
114-
Name apijson.Field
115-
Origin apijson.Field
116-
raw string
117-
ExtraFields map[string]apijson.Field
118-
}
119-
120-
func (r *Hyperdrive) UnmarshalJSON(data []byte) (err error) {
121-
return apijson.UnmarshalRoot(data, r)
122-
}
123-
124-
func (r hyperdriveJSON) RawJSON() string {
125-
return r.raw
126-
}
127-
128-
type HyperdriveCaching struct {
129-
// When set to true, disables the caching of SQL responses. (Default: false)
130-
Disabled bool `json:"disabled"`
131-
// When present, specifies max duration for which items should persist in the
132-
// cache. (Default: 60)
133-
MaxAge int64 `json:"max_age"`
134-
// When present, indicates the number of seconds cache may serve the response after
135-
// it becomes stale. (Default: 15)
136-
StaleWhileRevalidate int64 `json:"stale_while_revalidate"`
137-
JSON hyperdriveCachingJSON `json:"-"`
138-
}
139-
140-
// hyperdriveCachingJSON contains the JSON metadata for the struct
141-
// [HyperdriveCaching]
142-
type hyperdriveCachingJSON struct {
143-
Disabled apijson.Field
144-
MaxAge apijson.Field
145-
StaleWhileRevalidate apijson.Field
146-
raw string
147-
ExtraFields map[string]apijson.Field
148-
}
149-
150-
func (r *HyperdriveCaching) UnmarshalJSON(data []byte) (err error) {
151-
return apijson.UnmarshalRoot(data, r)
152-
}
153-
154-
func (r hyperdriveCachingJSON) RawJSON() string {
155-
return r.raw
156-
}
157-
158-
type HyperdriveParam struct {
159-
Caching param.Field[HyperdriveCachingParam] `json:"caching"`
160-
Name param.Field[string] `json:"name"`
161-
Origin param.Field[ConfigurationParam] `json:"origin"`
162-
}
163-
164-
func (r HyperdriveParam) MarshalJSON() (data []byte, err error) {
165-
return apijson.MarshalRoot(r)
166-
}
167-
168-
type HyperdriveCachingParam struct {
169-
// When set to true, disables the caching of SQL responses. (Default: false)
170-
Disabled param.Field[bool] `json:"disabled"`
171-
// When present, specifies max duration for which items should persist in the
172-
// cache. (Default: 60)
173-
MaxAge param.Field[int64] `json:"max_age"`
174-
// When present, indicates the number of seconds cache may serve the response after
175-
// it becomes stale. (Default: 15)
176-
StaleWhileRevalidate param.Field[int64] `json:"stale_while_revalidate"`
177-
}
178-
179-
func (r HyperdriveCachingParam) MarshalJSON() (data []byte, err error) {
180-
return apijson.MarshalRoot(r)
181-
}

0 commit comments

Comments
 (0)
Please sign in to comment.