Skip to content

Commit 2927882

Browse files
authored
Merge pull request #2734 from cloudflare/release-please--branches--main--changes--next
release: 5.4.0
2 parents 1a29404 + 87ee898 commit 2927882

605 files changed

Lines changed: 27790 additions & 1159 deletions

File tree

Some content is hidden

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

.release-please-manifest.json

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

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 2329
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-884b4b7d2d826afd303115f717021363d35e76d0819f4822e9faf6c577ea66ca.yml
3-
openapi_spec_hash: 4fc7ac1b97d37c76f38db408ab2ed0cd
4-
config_hash: 1fe0cc702fafe448e633d379a5633326
1+
configured_endpoints: 2404
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-874436f83bd9c383144c69da47c4b767bb9c6f4f2bb4945af58cf3b6015f0f62.yml
3+
openapi_spec_hash: beaf9a654991bf65d642e05c03460e4c
4+
config_hash: 2f529580a17438fc62cd0b47db41b6f1

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog
22

3+
## 5.4.0 (2026-06-16)
4+
5+
Full Changelog: [v5.3.0...v5.4.0](https://github.com/cloudflare/cloudflare-python/compare/v5.3.0...v5.4.0)
6+
7+
### Features
8+
9+
* feat(ai_gateway): add custom_providers resource ([b982ff3](https://github.com/cloudflare/cloudflare-python/commit/b982ff391eab267ef16c719d0fc798d970292ed2))
10+
* feat(api): map ipsec_tunnels/psk, sites/app_policies and cf1_sites for magic-on-ramps ([5d8e422](https://github.com/cloudflare/cloudflare-python/commit/5d8e422736d8e044d2c73065cbb8595573b2656d))
11+
* feat(ct_alerter): add CT alerting subscription endpoint mappings ([5bb529c](https://github.com/cloudflare/cloudflare-python/commit/5bb529c2eabe4ce0c23cddbf8073c6a025dc3024))
12+
* feat(tenants): add tenants resource SDK mapping [PT-2567] ([7677b4c](https://github.com/cloudflare/cloudflare-python/commit/7677b4c9566495b627b2cd90c9220268f9c6c46d))
13+
14+
15+
### Chores
16+
17+
* **api:** update composite API spec ([2b0e738](https://github.com/cloudflare/cloudflare-python/commit/2b0e7388107c4110489484c2b38d4d9295b15af2))
18+
* **api:** update composite API spec ([c7202c9](https://github.com/cloudflare/cloudflare-python/commit/c7202c9f9215a179b17362439c59b2e99566ab40))
19+
* **api:** update composite API spec ([f94e4de](https://github.com/cloudflare/cloudflare-python/commit/f94e4de91421e736243f75eee987c888f06d8f0b))
20+
* **api:** update composite API spec ([656f973](https://github.com/cloudflare/cloudflare-python/commit/656f97390d51da3e224e67f2305d6d46f7ae239a))
21+
* **api:** update composite API spec ([05e802d](https://github.com/cloudflare/cloudflare-python/commit/05e802d1940e1b0bfe59a25c388b83f53edd238e))
22+
* **api:** update composite API spec ([3817b57](https://github.com/cloudflare/cloudflare-python/commit/3817b571d02b2d23f087bbdb574853632d0bc1db))
23+
* **api:** update composite API spec ([3e26c73](https://github.com/cloudflare/cloudflare-python/commit/3e26c739c29586ab33e05bb4dc6673d06748d013))
24+
* **api:** update composite API spec ([0ff89f9](https://github.com/cloudflare/cloudflare-python/commit/0ff89f99ddfbaf078d3b20eada5fd2bc4139fc65))
25+
* **api:** update composite API spec ([eeec39a](https://github.com/cloudflare/cloudflare-python/commit/eeec39a7ab478625ead7a1e6276c1c258ff574fd))
26+
* **api:** update composite API spec ([45260b9](https://github.com/cloudflare/cloudflare-python/commit/45260b91f48ed30eb69f1ecd184f245b03a59146))
27+
* **api:** update composite API spec ([72eb205](https://github.com/cloudflare/cloudflare-python/commit/72eb20551c18d2cae3dfbef960a12ff22b4a7de7))
28+
* **internal:** codegen related update ([86bdf98](https://github.com/cloudflare/cloudflare-python/commit/86bdf981e37d4b028f4e555d7e0b1e76324f23b3))
29+
330
## 5.3.0 (2026-06-11)
431

532
Full Changelog: [v5.2.0...v5.3.0](https://github.com/cloudflare/cloudflare-python/compare/v5.2.0...v5.3.0)

api.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ from cloudflare.types import (
3333

3434
# [Organizations](src/cloudflare/resources/organizations/api.md)
3535

36+
# [Tenants](src/cloudflare/resources/tenants/api.md)
37+
3638
# [OriginCACertificates](src/cloudflare/resources/origin_ca_certificates/api.md)
3739

3840
# [IPs](src/cloudflare/resources/ips/api.md)
@@ -191,6 +193,8 @@ from cloudflare.types import (
191193

192194
# [OriginPostQuantumEncryption](src/cloudflare/resources/origin_post_quantum_encryption/api.md)
193195

196+
# [OriginTLSComplianceModes](src/cloudflare/resources/origin_tls_compliance_modes/api.md)
197+
194198
# [GoogleTagGateway](src/cloudflare/resources/google_tag_gateway/api.md)
195199

196200
# [Zaraz](src/cloudflare/resources/zaraz/api.md)
@@ -211,6 +215,8 @@ from cloudflare.types import (
211215

212216
# [AIGateway](src/cloudflare/resources/ai_gateway/api.md)
213217

218+
# [Flagship](src/cloudflare/resources/flagship/api.md)
219+
214220
# [IAM](src/cloudflare/resources/iam/api.md)
215221

216222
# [CloudConnector](src/cloudflare/resources/cloud_connector/api.md)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "cloudflare"
3-
version = "5.3.0"
3+
version = "5.4.0"
44
description = "The official Python library for the cloudflare API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/cloudflare/_client.py

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,13 @@
6969
billing,
7070
filters,
7171
logpush,
72+
tenants,
7273
workers,
7374
accounts,
7475
aisearch,
7576
alerting,
7677
firewall,
78+
flagship,
7779
rulesets,
7880
snippets,
7981
spectrum,
@@ -149,6 +151,7 @@
149151
leaked_credential_checks,
150152
magic_network_monitoring,
151153
tenant_custom_nameservers,
154+
origin_tls_compliance_modes,
152155
origin_post_quantum_encryption,
153156
)
154157
from .resources.ai.ai import AIResource, AsyncAIResource
@@ -182,11 +185,13 @@
182185
from .resources.billing.billing import BillingResource, AsyncBillingResource
183186
from .resources.filters.filters import FiltersResource, AsyncFiltersResource
184187
from .resources.logpush.logpush import LogpushResource, AsyncLogpushResource
188+
from .resources.tenants.tenants import TenantsResource, AsyncTenantsResource
185189
from .resources.workers.workers import WorkersResource, AsyncWorkersResource
186190
from .resources.accounts.accounts import AccountsResource, AsyncAccountsResource
187191
from .resources.aisearch.aisearch import AISearchResource, AsyncAISearchResource
188192
from .resources.alerting.alerting import AlertingResource, AsyncAlertingResource
189193
from .resources.firewall.firewall import FirewallResource, AsyncFirewallResource
194+
from .resources.flagship.flagship import FlagshipResource, AsyncFlagshipResource
190195
from .resources.rulesets.rulesets import RulesetsResource, AsyncRulesetsResource
191196
from .resources.snippets.snippets import SnippetsResource, AsyncSnippetsResource
192197
from .resources.spectrum.spectrum import SpectrumResource, AsyncSpectrumResource
@@ -307,6 +312,10 @@
307312
TenantCustomNameserversResource,
308313
AsyncTenantCustomNameserversResource,
309314
)
315+
from .resources.origin_tls_compliance_modes.origin_tls_compliance_modes import (
316+
OriginTLSComplianceModesResource,
317+
AsyncOriginTLSComplianceModesResource,
318+
)
310319
from .resources.origin_post_quantum_encryption.origin_post_quantum_encryption import (
311320
OriginPostQuantumEncryptionResource,
312321
AsyncOriginPostQuantumEncryptionResource,
@@ -422,6 +431,12 @@ def organizations(self) -> OrganizationsResource:
422431

423432
return OrganizationsResource(self)
424433

434+
@cached_property
435+
def tenants(self) -> TenantsResource:
436+
from .resources.tenants import TenantsResource
437+
438+
return TenantsResource(self)
439+
425440
@cached_property
426441
def origin_ca_certificates(self) -> OriginCACertificatesResource:
427442
from .resources.origin_ca_certificates import OriginCACertificatesResource
@@ -896,6 +911,12 @@ def origin_post_quantum_encryption(self) -> OriginPostQuantumEncryptionResource:
896911

897912
return OriginPostQuantumEncryptionResource(self)
898913

914+
@cached_property
915+
def origin_tls_compliance_modes(self) -> OriginTLSComplianceModesResource:
916+
from .resources.origin_tls_compliance_modes import OriginTLSComplianceModesResource
917+
918+
return OriginTLSComplianceModesResource(self)
919+
899920
@cached_property
900921
def google_tag_gateway(self) -> GoogleTagGatewayResource:
901922
from .resources.google_tag_gateway import GoogleTagGatewayResource
@@ -956,6 +977,12 @@ def ai_gateway(self) -> AIGatewayResource:
956977

957978
return AIGatewayResource(self)
958979

980+
@cached_property
981+
def flagship(self) -> FlagshipResource:
982+
from .resources.flagship import FlagshipResource
983+
984+
return FlagshipResource(self)
985+
959986
@cached_property
960987
def iam(self) -> IAMResource:
961988
from .resources.iam import IAMResource
@@ -1356,6 +1383,12 @@ def organizations(self) -> AsyncOrganizationsResource:
13561383

13571384
return AsyncOrganizationsResource(self)
13581385

1386+
@cached_property
1387+
def tenants(self) -> AsyncTenantsResource:
1388+
from .resources.tenants import AsyncTenantsResource
1389+
1390+
return AsyncTenantsResource(self)
1391+
13591392
@cached_property
13601393
def origin_ca_certificates(self) -> AsyncOriginCACertificatesResource:
13611394
from .resources.origin_ca_certificates import AsyncOriginCACertificatesResource
@@ -1830,6 +1863,12 @@ def origin_post_quantum_encryption(self) -> AsyncOriginPostQuantumEncryptionReso
18301863

18311864
return AsyncOriginPostQuantumEncryptionResource(self)
18321865

1866+
@cached_property
1867+
def origin_tls_compliance_modes(self) -> AsyncOriginTLSComplianceModesResource:
1868+
from .resources.origin_tls_compliance_modes import AsyncOriginTLSComplianceModesResource
1869+
1870+
return AsyncOriginTLSComplianceModesResource(self)
1871+
18331872
@cached_property
18341873
def google_tag_gateway(self) -> AsyncGoogleTagGatewayResource:
18351874
from .resources.google_tag_gateway import AsyncGoogleTagGatewayResource
@@ -1890,6 +1929,12 @@ def ai_gateway(self) -> AsyncAIGatewayResource:
18901929

18911930
return AsyncAIGatewayResource(self)
18921931

1932+
@cached_property
1933+
def flagship(self) -> AsyncFlagshipResource:
1934+
from .resources.flagship import AsyncFlagshipResource
1935+
1936+
return AsyncFlagshipResource(self)
1937+
18931938
@cached_property
18941939
def iam(self) -> AsyncIAMResource:
18951940
from .resources.iam import AsyncIAMResource
@@ -2210,6 +2255,12 @@ def organizations(self) -> organizations.OrganizationsResourceWithRawResponse:
22102255

22112256
return OrganizationsResourceWithRawResponse(self._client.organizations)
22122257

2258+
@cached_property
2259+
def tenants(self) -> tenants.TenantsResourceWithRawResponse:
2260+
from .resources.tenants import TenantsResourceWithRawResponse
2261+
2262+
return TenantsResourceWithRawResponse(self._client.tenants)
2263+
22132264
@cached_property
22142265
def origin_ca_certificates(self) -> origin_ca_certificates.OriginCACertificatesResourceWithRawResponse:
22152266
from .resources.origin_ca_certificates import OriginCACertificatesResourceWithRawResponse
@@ -2686,6 +2737,14 @@ def origin_post_quantum_encryption(
26862737

26872738
return OriginPostQuantumEncryptionResourceWithRawResponse(self._client.origin_post_quantum_encryption)
26882739

2740+
@cached_property
2741+
def origin_tls_compliance_modes(
2742+
self,
2743+
) -> origin_tls_compliance_modes.OriginTLSComplianceModesResourceWithRawResponse:
2744+
from .resources.origin_tls_compliance_modes import OriginTLSComplianceModesResourceWithRawResponse
2745+
2746+
return OriginTLSComplianceModesResourceWithRawResponse(self._client.origin_tls_compliance_modes)
2747+
26892748
@cached_property
26902749
def google_tag_gateway(self) -> google_tag_gateway.GoogleTagGatewayResourceWithRawResponse:
26912750
from .resources.google_tag_gateway import GoogleTagGatewayResourceWithRawResponse
@@ -2746,6 +2805,12 @@ def ai_gateway(self) -> ai_gateway.AIGatewayResourceWithRawResponse:
27462805

27472806
return AIGatewayResourceWithRawResponse(self._client.ai_gateway)
27482807

2808+
@cached_property
2809+
def flagship(self) -> flagship.FlagshipResourceWithRawResponse:
2810+
from .resources.flagship import FlagshipResourceWithRawResponse
2811+
2812+
return FlagshipResourceWithRawResponse(self._client.flagship)
2813+
27492814
@cached_property
27502815
def iam(self) -> iam.IAMResourceWithRawResponse:
27512816
from .resources.iam import IAMResourceWithRawResponse
@@ -2891,6 +2956,12 @@ def organizations(self) -> organizations.AsyncOrganizationsResourceWithRawRespon
28912956

28922957
return AsyncOrganizationsResourceWithRawResponse(self._client.organizations)
28932958

2959+
@cached_property
2960+
def tenants(self) -> tenants.AsyncTenantsResourceWithRawResponse:
2961+
from .resources.tenants import AsyncTenantsResourceWithRawResponse
2962+
2963+
return AsyncTenantsResourceWithRawResponse(self._client.tenants)
2964+
28942965
@cached_property
28952966
def origin_ca_certificates(self) -> origin_ca_certificates.AsyncOriginCACertificatesResourceWithRawResponse:
28962967
from .resources.origin_ca_certificates import AsyncOriginCACertificatesResourceWithRawResponse
@@ -3369,6 +3440,14 @@ def origin_post_quantum_encryption(
33693440

33703441
return AsyncOriginPostQuantumEncryptionResourceWithRawResponse(self._client.origin_post_quantum_encryption)
33713442

3443+
@cached_property
3444+
def origin_tls_compliance_modes(
3445+
self,
3446+
) -> origin_tls_compliance_modes.AsyncOriginTLSComplianceModesResourceWithRawResponse:
3447+
from .resources.origin_tls_compliance_modes import AsyncOriginTLSComplianceModesResourceWithRawResponse
3448+
3449+
return AsyncOriginTLSComplianceModesResourceWithRawResponse(self._client.origin_tls_compliance_modes)
3450+
33723451
@cached_property
33733452
def google_tag_gateway(self) -> google_tag_gateway.AsyncGoogleTagGatewayResourceWithRawResponse:
33743453
from .resources.google_tag_gateway import AsyncGoogleTagGatewayResourceWithRawResponse
@@ -3429,6 +3508,12 @@ def ai_gateway(self) -> ai_gateway.AsyncAIGatewayResourceWithRawResponse:
34293508

34303509
return AsyncAIGatewayResourceWithRawResponse(self._client.ai_gateway)
34313510

3511+
@cached_property
3512+
def flagship(self) -> flagship.AsyncFlagshipResourceWithRawResponse:
3513+
from .resources.flagship import AsyncFlagshipResourceWithRawResponse
3514+
3515+
return AsyncFlagshipResourceWithRawResponse(self._client.flagship)
3516+
34323517
@cached_property
34333518
def iam(self) -> iam.AsyncIAMResourceWithRawResponse:
34343519
from .resources.iam import AsyncIAMResourceWithRawResponse
@@ -3574,6 +3659,12 @@ def organizations(self) -> organizations.OrganizationsResourceWithStreamingRespo
35743659

35753660
return OrganizationsResourceWithStreamingResponse(self._client.organizations)
35763661

3662+
@cached_property
3663+
def tenants(self) -> tenants.TenantsResourceWithStreamingResponse:
3664+
from .resources.tenants import TenantsResourceWithStreamingResponse
3665+
3666+
return TenantsResourceWithStreamingResponse(self._client.tenants)
3667+
35773668
@cached_property
35783669
def origin_ca_certificates(self) -> origin_ca_certificates.OriginCACertificatesResourceWithStreamingResponse:
35793670
from .resources.origin_ca_certificates import OriginCACertificatesResourceWithStreamingResponse
@@ -4052,6 +4143,14 @@ def origin_post_quantum_encryption(
40524143

40534144
return OriginPostQuantumEncryptionResourceWithStreamingResponse(self._client.origin_post_quantum_encryption)
40544145

4146+
@cached_property
4147+
def origin_tls_compliance_modes(
4148+
self,
4149+
) -> origin_tls_compliance_modes.OriginTLSComplianceModesResourceWithStreamingResponse:
4150+
from .resources.origin_tls_compliance_modes import OriginTLSComplianceModesResourceWithStreamingResponse
4151+
4152+
return OriginTLSComplianceModesResourceWithStreamingResponse(self._client.origin_tls_compliance_modes)
4153+
40554154
@cached_property
40564155
def google_tag_gateway(self) -> google_tag_gateway.GoogleTagGatewayResourceWithStreamingResponse:
40574156
from .resources.google_tag_gateway import GoogleTagGatewayResourceWithStreamingResponse
@@ -4112,6 +4211,12 @@ def ai_gateway(self) -> ai_gateway.AIGatewayResourceWithStreamingResponse:
41124211

41134212
return AIGatewayResourceWithStreamingResponse(self._client.ai_gateway)
41144213

4214+
@cached_property
4215+
def flagship(self) -> flagship.FlagshipResourceWithStreamingResponse:
4216+
from .resources.flagship import FlagshipResourceWithStreamingResponse
4217+
4218+
return FlagshipResourceWithStreamingResponse(self._client.flagship)
4219+
41154220
@cached_property
41164221
def iam(self) -> iam.IAMResourceWithStreamingResponse:
41174222
from .resources.iam import IAMResourceWithStreamingResponse
@@ -4257,6 +4362,12 @@ def organizations(self) -> organizations.AsyncOrganizationsResourceWithStreaming
42574362

42584363
return AsyncOrganizationsResourceWithStreamingResponse(self._client.organizations)
42594364

4365+
@cached_property
4366+
def tenants(self) -> tenants.AsyncTenantsResourceWithStreamingResponse:
4367+
from .resources.tenants import AsyncTenantsResourceWithStreamingResponse
4368+
4369+
return AsyncTenantsResourceWithStreamingResponse(self._client.tenants)
4370+
42604371
@cached_property
42614372
def origin_ca_certificates(self) -> origin_ca_certificates.AsyncOriginCACertificatesResourceWithStreamingResponse:
42624373
from .resources.origin_ca_certificates import AsyncOriginCACertificatesResourceWithStreamingResponse
@@ -4743,6 +4854,14 @@ def origin_post_quantum_encryption(
47434854
self._client.origin_post_quantum_encryption
47444855
)
47454856

4857+
@cached_property
4858+
def origin_tls_compliance_modes(
4859+
self,
4860+
) -> origin_tls_compliance_modes.AsyncOriginTLSComplianceModesResourceWithStreamingResponse:
4861+
from .resources.origin_tls_compliance_modes import AsyncOriginTLSComplianceModesResourceWithStreamingResponse
4862+
4863+
return AsyncOriginTLSComplianceModesResourceWithStreamingResponse(self._client.origin_tls_compliance_modes)
4864+
47464865
@cached_property
47474866
def google_tag_gateway(self) -> google_tag_gateway.AsyncGoogleTagGatewayResourceWithStreamingResponse:
47484867
from .resources.google_tag_gateway import AsyncGoogleTagGatewayResourceWithStreamingResponse
@@ -4803,6 +4922,12 @@ def ai_gateway(self) -> ai_gateway.AsyncAIGatewayResourceWithStreamingResponse:
48034922

48044923
return AsyncAIGatewayResourceWithStreamingResponse(self._client.ai_gateway)
48054924

4925+
@cached_property
4926+
def flagship(self) -> flagship.AsyncFlagshipResourceWithStreamingResponse:
4927+
from .resources.flagship import AsyncFlagshipResourceWithStreamingResponse
4928+
4929+
return AsyncFlagshipResourceWithStreamingResponse(self._client.flagship)
4930+
48064931
@cached_property
48074932
def iam(self) -> iam.AsyncIAMResourceWithStreamingResponse:
48084933
from .resources.iam import AsyncIAMResourceWithStreamingResponse

src/cloudflare/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "cloudflare"
4-
__version__ = "5.3.0" # x-release-please-version
4+
__version__ = "5.4.0" # x-release-please-version

0 commit comments

Comments
 (0)