Skip to content

Commit e581516

Browse files
release: 4.2.0 (#3917)
1 parent bfbf66d commit e581516

File tree

498 files changed

+110994
-21170
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

498 files changed

+110994
-21170
lines changed

.devcontainer/Dockerfile

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,18 @@ RUN apt-get update && apt-get install -y \
55
libxkbcommon0 \
66
ca-certificates \
77
git \
8-
golang \
98
unzip \
109
libc++1 \
1110
vim \
11+
curl \
12+
procps \
1213
&& apt-get clean autoclean
1314

15+
RUN curl -OL https://go.dev/dl/go1.24.0.linux-amd64.tar.gz && \
16+
tar -C /usr/local -xzvf go1.24.0.linux-amd64.tar.gz && \
17+
rm go1.24.0.linux-amd64.tar.gz
18+
ENV PATH="$PATH:/usr/local/go/bin"
19+
1420
# Ensure UTF-8 encoding
1521
ENV LANG=C.UTF-8
1622
ENV LC_ALL=C.UTF-8
17-
18-
ENV GOPATH=/go
19-
ENV PATH=$GOPATH/bin:$PATH
20-
21-
WORKDIR /workspace
22-
23-
COPY . /workspace

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "4.1.0"
2+
".": "4.2.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
configured_endpoints: 1525
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-4c85e60ad7ca96a7ddadf88e1e3c7b62fb791d39d435bedfe6caac2c27081a48.yml
1+
configured_endpoints: 1655
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-0ed9f898b31619623e50d660d04beca50e44987bfd3eb3a6ff98d3bca2a9c569.yml

CHANGELOG.md

Lines changed: 105 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Or to pin the version:
2222
<!-- x-release-please-start-version -->
2323

2424
```sh
25-
go get -u 'github.com/cloudflare/cloudflare-go/v4@v4.1.0'
25+
go get -u 'github.com/cloudflare/cloudflare-go/v4@v4.2.0'
2626
```
2727

2828
<!-- x-release-please-end -->
@@ -255,6 +255,30 @@ file returned by `os.Open` will be sent with the file name on disk.
255255
We also provide a helper `cloudflare.FileParam(reader io.Reader, filename string, contentType string)`
256256
which can be used to wrap any `io.Reader` with the appropriate file name and content type.
257257

258+
```go
259+
// A file from the file system
260+
file, err := os.Open("/path/to/file")
261+
api_gateway.UserSchemaNewParams{
262+
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
263+
File: cloudflare.F[io.Reader](file),
264+
Kind: cloudflare.F(api_gateway.UserSchemaNewParamsKindOpenAPIV3),
265+
}
266+
267+
// A file from a string
268+
api_gateway.UserSchemaNewParams{
269+
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
270+
File: cloudflare.F[io.Reader](strings.NewReader("my file contents")),
271+
Kind: cloudflare.F(api_gateway.UserSchemaNewParamsKindOpenAPIV3),
272+
}
273+
274+
// With a custom filename and contentType
275+
api_gateway.UserSchemaNewParams{
276+
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
277+
File: cloudflare.FileParam(strings.NewReader(`{"hello": "foo"}`), "file.go", "application/json"),
278+
Kind: cloudflare.F(api_gateway.UserSchemaNewParamsKindOpenAPIV3),
279+
}
280+
```
281+
258282
### Retries
259283

260284
Certain errors will be automatically retried 2 times by default, with a short exponential backoff.

SECURITY.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
Please see [this page](https://www.cloudflare.com/.well-known/security.txt) for information on how to report a vulnerability to Cloudflare. Thanks!
1+
# Reporting Security Vulnerabilities
2+
3+
Please see [this page](https://www.cloudflare.com/.well-known/security.txt) for information on how to report a vulnerability to Cloudflare. Thanks!

abuse_reports/abusereport.go

Lines changed: 1570 additions & 62 deletions
Large diffs are not rendered by default.

abuse_reports/abusereport_test.go

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -32,35 +32,37 @@ func TestAbuseReportNewWithOptionalParams(t *testing.T) {
3232
context.TODO(),
3333
abuse_reports.AbuseReportNewParamsReportTypeAbuseDmca,
3434
abuse_reports.AbuseReportNewParams{
35-
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
36-
Act: cloudflare.F(abuse_reports.AbuseReportNewParamsActAbuseDmca),
37-
Agree: cloudflare.F(abuse_reports.AbuseReportNewParamsAgree0),
38-
Email: cloudflare.F("email"),
39-
Email2: cloudflare.F("email2"),
40-
HostNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsHostNotificationSend),
41-
NcmecNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsNcmecNotificationSend),
42-
OwnerNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsOwnerNotificationSend),
43-
URLs: cloudflare.F("urls"),
44-
Address1: cloudflare.F("x"),
45-
AgentName: cloudflare.F("x"),
46-
City: cloudflare.F("x"),
47-
Comments: cloudflare.F("x"),
48-
Company: cloudflare.F("x"),
49-
Country: cloudflare.F("x"),
50-
DestinationIPs: cloudflare.F("destination_ips"),
51-
Justification: cloudflare.F("x"),
52-
Name: cloudflare.F("x"),
53-
NcseiSubjectRepresentation: cloudflare.F(true),
54-
OriginalWork: cloudflare.F("x"),
55-
PortsProtocols: cloudflare.F("ports_protocols"),
56-
Signature: cloudflare.F("signature"),
57-
SourceIPs: cloudflare.F("source_ips"),
58-
State: cloudflare.F("x"),
59-
Tele: cloudflare.F("x"),
60-
Title: cloudflare.F("x"),
61-
TrademarkNumber: cloudflare.F("x"),
62-
TrademarkOffice: cloudflare.F("x"),
63-
TrademarkSymbol: cloudflare.F("x"),
35+
AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
36+
Body: abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReport{
37+
Address1: cloudflare.F("x"),
38+
AgentName: cloudflare.F("x"),
39+
Agree: cloudflare.F(abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReportAgree0),
40+
City: cloudflare.F("x"),
41+
Country: cloudflare.F("x"),
42+
HostNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReportHostNotificationSend),
43+
OriginalWork: cloudflare.F("x"),
44+
OwnerNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReportOwnerNotificationSend),
45+
Signature: cloudflare.F("signature"),
46+
State: cloudflare.F("x"),
47+
Act: cloudflare.F(abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReportActAbuseDmca),
48+
Comments: cloudflare.F("x"),
49+
Company: cloudflare.F("x"),
50+
DestinationIPs: cloudflare.F("destination_ips"),
51+
Email: cloudflare.F("email"),
52+
Email2: cloudflare.F("email2"),
53+
Justification: cloudflare.F("x"),
54+
Name: cloudflare.F("x"),
55+
NcmecNotification: cloudflare.F(abuse_reports.AbuseReportNewParamsBodyAbuseReportsDmcaReportNcmecNotificationSend),
56+
NcseiSubjectRepresentation: cloudflare.F(true),
57+
PortsProtocols: cloudflare.F("ports_protocols"),
58+
SourceIPs: cloudflare.F("source_ips"),
59+
Tele: cloudflare.F("x"),
60+
Title: cloudflare.F("x"),
61+
TrademarkNumber: cloudflare.F("x"),
62+
TrademarkOffice: cloudflare.F("x"),
63+
TrademarkSymbol: cloudflare.F("x"),
64+
URLs: cloudflare.F("urls"),
65+
},
6466
},
6567
)
6668
if err != nil {

abuse_reports/aliases.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel
115115
// This is an alias to an internal value.
116116
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector
117117

118+
// This is an alias to an internal value.
119+
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP
120+
121+
// This is an alias to an internal value.
122+
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic
123+
118124
// This is an alias to an internal value.
119125
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec
120126

@@ -127,6 +133,9 @@ const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI
127133
// This is an alias to an internal type.
128134
type ErrorData = shared.ErrorData
129135

136+
// This is an alias to an internal type.
137+
type ErrorDataSource = shared.ErrorDataSource
138+
130139
// This is an alias to an internal type.
131140
type Member = shared.Member
132141

accounts/aliases.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel
115115
// This is an alias to an internal value.
116116
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector
117117

118+
// This is an alias to an internal value.
119+
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP
120+
121+
// This is an alias to an internal value.
122+
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic
123+
118124
// This is an alias to an internal value.
119125
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec
120126

@@ -127,6 +133,9 @@ const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI
127133
// This is an alias to an internal type.
128134
type ErrorData = shared.ErrorData
129135

136+
// This is an alias to an internal type.
137+
type ErrorDataSource = shared.ErrorDataSource
138+
130139
// This is an alias to an internal type.
131140
type Member = shared.Member
132141

accounts/token_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,13 @@ func TestTokenNewWithOptionalParams(t *testing.T) {
3636
Policies: cloudflare.F([]shared.TokenPolicyParam{{
3737
Effect: cloudflare.F(shared.TokenPolicyEffectAllow),
3838
PermissionGroups: cloudflare.F([]shared.TokenPolicyPermissionGroupParam{{
39+
ID: cloudflare.F("c8fed203ed3043cba015a93ad1616f1f"),
3940
Meta: cloudflare.F(shared.TokenPolicyPermissionGroupsMetaParam{
4041
Key: cloudflare.F("key"),
4142
Value: cloudflare.F("value"),
4243
}),
4344
}, {
45+
ID: cloudflare.F("82e64a83756745bbbb1c9c2701bf816b"),
4446
Meta: cloudflare.F(shared.TokenPolicyPermissionGroupsMetaParam{
4547
Key: cloudflare.F("key"),
4648
Value: cloudflare.F("value"),
@@ -101,11 +103,13 @@ func TestTokenUpdateWithOptionalParams(t *testing.T) {
101103
Policies: cloudflare.F([]shared.TokenPolicyParam{{
102104
Effect: cloudflare.F(shared.TokenPolicyEffectAllow),
103105
PermissionGroups: cloudflare.F([]shared.TokenPolicyPermissionGroupParam{{
106+
ID: cloudflare.F("c8fed203ed3043cba015a93ad1616f1f"),
104107
Meta: cloudflare.F(shared.TokenPolicyPermissionGroupsMetaParam{
105108
Key: cloudflare.F("key"),
106109
Value: cloudflare.F("value"),
107110
}),
108111
}, {
112+
ID: cloudflare.F("82e64a83756745bbbb1c9c2701bf816b"),
109113
Meta: cloudflare.F(shared.TokenPolicyPermissionGroupsMetaParam{
110114
Key: cloudflare.F("key"),
111115
Value: cloudflare.F("value"),

accounts/tokenpermissiongroup.go

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"fmt"
99
"net/http"
1010

11+
"github.com/cloudflare/cloudflare-go/v4/internal/apijson"
1112
"github.com/cloudflare/cloudflare-go/v4/internal/param"
1213
"github.com/cloudflare/cloudflare-go/v4/internal/requestconfig"
1314
"github.com/cloudflare/cloudflare-go/v4/option"
@@ -87,9 +88,95 @@ func (r *TokenPermissionGroupService) GetAutoPaging(ctx context.Context, query T
8788
return pagination.NewSinglePageAutoPager(r.Get(ctx, query, opts...))
8889
}
8990

90-
type TokenPermissionGroupListResponse = interface{}
91+
type TokenPermissionGroupListResponse struct {
92+
// Public ID.
93+
ID string `json:"id"`
94+
// Permission Group Name
95+
Name string `json:"name"`
96+
// Resources to which the Permission Group is scoped
97+
Scopes []TokenPermissionGroupListResponseScope `json:"scopes"`
98+
JSON tokenPermissionGroupListResponseJSON `json:"-"`
99+
}
100+
101+
// tokenPermissionGroupListResponseJSON contains the JSON metadata for the struct
102+
// [TokenPermissionGroupListResponse]
103+
type tokenPermissionGroupListResponseJSON struct {
104+
ID apijson.Field
105+
Name apijson.Field
106+
Scopes apijson.Field
107+
raw string
108+
ExtraFields map[string]apijson.Field
109+
}
110+
111+
func (r *TokenPermissionGroupListResponse) UnmarshalJSON(data []byte) (err error) {
112+
return apijson.UnmarshalRoot(data, r)
113+
}
114+
115+
func (r tokenPermissionGroupListResponseJSON) RawJSON() string {
116+
return r.raw
117+
}
118+
119+
type TokenPermissionGroupListResponseScope string
120+
121+
const (
122+
TokenPermissionGroupListResponseScopeComCloudflareAPIAccount TokenPermissionGroupListResponseScope = "com.cloudflare.api.account"
123+
TokenPermissionGroupListResponseScopeComCloudflareAPIAccountZone TokenPermissionGroupListResponseScope = "com.cloudflare.api.account.zone"
124+
TokenPermissionGroupListResponseScopeComCloudflareAPIUser TokenPermissionGroupListResponseScope = "com.cloudflare.api.user"
125+
TokenPermissionGroupListResponseScopeComCloudflareEdgeR2Bucket TokenPermissionGroupListResponseScope = "com.cloudflare.edge.r2.bucket"
126+
)
127+
128+
func (r TokenPermissionGroupListResponseScope) IsKnown() bool {
129+
switch r {
130+
case TokenPermissionGroupListResponseScopeComCloudflareAPIAccount, TokenPermissionGroupListResponseScopeComCloudflareAPIAccountZone, TokenPermissionGroupListResponseScopeComCloudflareAPIUser, TokenPermissionGroupListResponseScopeComCloudflareEdgeR2Bucket:
131+
return true
132+
}
133+
return false
134+
}
91135

92-
type TokenPermissionGroupGetResponse = interface{}
136+
type TokenPermissionGroupGetResponse struct {
137+
// Public ID.
138+
ID string `json:"id"`
139+
// Permission Group Name
140+
Name string `json:"name"`
141+
// Resources to which the Permission Group is scoped
142+
Scopes []TokenPermissionGroupGetResponseScope `json:"scopes"`
143+
JSON tokenPermissionGroupGetResponseJSON `json:"-"`
144+
}
145+
146+
// tokenPermissionGroupGetResponseJSON contains the JSON metadata for the struct
147+
// [TokenPermissionGroupGetResponse]
148+
type tokenPermissionGroupGetResponseJSON struct {
149+
ID apijson.Field
150+
Name apijson.Field
151+
Scopes apijson.Field
152+
raw string
153+
ExtraFields map[string]apijson.Field
154+
}
155+
156+
func (r *TokenPermissionGroupGetResponse) UnmarshalJSON(data []byte) (err error) {
157+
return apijson.UnmarshalRoot(data, r)
158+
}
159+
160+
func (r tokenPermissionGroupGetResponseJSON) RawJSON() string {
161+
return r.raw
162+
}
163+
164+
type TokenPermissionGroupGetResponseScope string
165+
166+
const (
167+
TokenPermissionGroupGetResponseScopeComCloudflareAPIAccount TokenPermissionGroupGetResponseScope = "com.cloudflare.api.account"
168+
TokenPermissionGroupGetResponseScopeComCloudflareAPIAccountZone TokenPermissionGroupGetResponseScope = "com.cloudflare.api.account.zone"
169+
TokenPermissionGroupGetResponseScopeComCloudflareAPIUser TokenPermissionGroupGetResponseScope = "com.cloudflare.api.user"
170+
TokenPermissionGroupGetResponseScopeComCloudflareEdgeR2Bucket TokenPermissionGroupGetResponseScope = "com.cloudflare.edge.r2.bucket"
171+
)
172+
173+
func (r TokenPermissionGroupGetResponseScope) IsKnown() bool {
174+
switch r {
175+
case TokenPermissionGroupGetResponseScopeComCloudflareAPIAccount, TokenPermissionGroupGetResponseScopeComCloudflareAPIAccountZone, TokenPermissionGroupGetResponseScopeComCloudflareAPIUser, TokenPermissionGroupGetResponseScopeComCloudflareEdgeR2Bucket:
176+
return true
177+
}
178+
return false
179+
}
93180

94181
type TokenPermissionGroupListParams struct {
95182
// Account identifier tag.

acm/aliases.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel
115115
// This is an alias to an internal value.
116116
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector
117117

118+
// This is an alias to an internal value.
119+
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP
120+
121+
// This is an alias to an internal value.
122+
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic
123+
118124
// This is an alias to an internal value.
119125
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec
120126

@@ -127,6 +133,9 @@ const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI
127133
// This is an alias to an internal type.
128134
type ErrorData = shared.ErrorData
129135

136+
// This is an alias to an internal type.
137+
type ErrorDataSource = shared.ErrorDataSource
138+
130139
// This is an alias to an internal type.
131140
type Member = shared.Member
132141

addressing/aliases.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@ const CloudflareTunnelTunTypeCfdTunnel = shared.CloudflareTunnelTunTypeCfdTunnel
115115
// This is an alias to an internal value.
116116
const CloudflareTunnelTunTypeWARPConnector = shared.CloudflareTunnelTunTypeWARPConnector
117117

118+
// This is an alias to an internal value.
119+
const CloudflareTunnelTunTypeWARP = shared.CloudflareTunnelTunTypeWARP
120+
121+
// This is an alias to an internal value.
122+
const CloudflareTunnelTunTypeMagic = shared.CloudflareTunnelTunTypeMagic
123+
118124
// This is an alias to an internal value.
119125
const CloudflareTunnelTunTypeIPSec = shared.CloudflareTunnelTunTypeIPSec
120126

@@ -127,6 +133,9 @@ const CloudflareTunnelTunTypeCNI = shared.CloudflareTunnelTunTypeCNI
127133
// This is an alias to an internal type.
128134
type ErrorData = shared.ErrorData
129135

136+
// This is an alias to an internal type.
137+
type ErrorDataSource = shared.ErrorDataSource
138+
130139
// This is an alias to an internal type.
131140
type Member = shared.Member
132141

0 commit comments

Comments
 (0)