Skip to content

Commit a1e1bee

Browse files
chore: sync repo
1 parent 2927882 commit a1e1bee

263 files changed

Lines changed: 13850 additions & 1368 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.4.0"
2+
".": "5.3.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: 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
1+
configured_endpoints: 2423
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare/cloudflare-f0d02c72311fc8f42c105f9863992a11421a5acdc701e6bb669af613f3b77d5d.yml
3+
openapi_spec_hash: 85df1a77de03e8d8f5655c0ca4c8e12d
4+
config_hash: 1f57db47c206f28a2925ad48223f2151

CHANGELOG.md

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,5 @@
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-
303
## 5.3.0 (2026-06-11)
314

325
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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ from cloudflare.types import (
7575

7676
# [EmailSecurity](src/cloudflare/resources/email_security/api.md)
7777

78+
# [EmailAuth](src/cloudflare/resources/email_auth/api.md)
79+
7880
# [EmailRouting](src/cloudflare/resources/email_routing/api.md)
7981

8082
# [EmailSending](src/cloudflare/resources/email_sending/api.md)
@@ -211,6 +213,8 @@ from cloudflare.types import (
211213

212214
# [Calls](src/cloudflare/resources/calls/api.md)
213215

216+
# [MoQ](src/cloudflare/resources/moq/api.md)
217+
214218
# [CloudforceOne](src/cloudflare/resources/cloudforce_one/api.md)
215219

216220
# [AIGateway](src/cloudflare/resources/ai_gateway/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.4.0"
3+
version = "5.3.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: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
dns,
4848
iam,
4949
ips,
50+
moq,
5051
rum,
5152
ssl,
5253
argo,
@@ -88,6 +89,7 @@
8889
addressing,
8990
ai_gateway,
9091
audit_logs,
92+
email_auth,
9193
hyperdrive,
9294
page_rules,
9395
zero_trust,
@@ -163,6 +165,7 @@
163165
from .resources.dns.dns import DNSResource, AsyncDNSResource
164166
from .resources.iam.iam import IAMResource, AsyncIAMResource
165167
from .resources.ips.ips import IPsResource, AsyncIPsResource
168+
from .resources.moq.moq import MoQResource, AsyncMoQResource
166169
from .resources.rum.rum import RUMResource, AsyncRUMResource
167170
from .resources.ssl.ssl import SSLResource, AsyncSSLResource
168171
from .resources.argo.argo import ArgoResource, AsyncArgoResource
@@ -204,6 +207,7 @@
204207
from .resources.addressing.addressing import AddressingResource, AsyncAddressingResource
205208
from .resources.ai_gateway.ai_gateway import AIGatewayResource, AsyncAIGatewayResource
206209
from .resources.audit_logs.audit_logs import AuditLogsResource, AsyncAuditLogsResource
210+
from .resources.email_auth.email_auth import EmailAuthResource, AsyncEmailAuthResource
207211
from .resources.hyperdrive.hyperdrive import HyperdriveResource, AsyncHyperdriveResource
208212
from .resources.page_rules.page_rules import PageRulesResource, AsyncPageRulesResource
209213
from .resources.zero_trust.zero_trust import ZeroTrustResource, AsyncZeroTrustResource
@@ -557,6 +561,12 @@ def email_security(self) -> EmailSecurityResource:
557561

558562
return EmailSecurityResource(self)
559563

564+
@cached_property
565+
def email_auth(self) -> EmailAuthResource:
566+
from .resources.email_auth import EmailAuthResource
567+
568+
return EmailAuthResource(self)
569+
560570
@cached_property
561571
def email_routing(self) -> EmailRoutingResource:
562572
from .resources.email_routing import EmailRoutingResource
@@ -965,6 +975,12 @@ def calls(self) -> CallsResource:
965975

966976
return CallsResource(self)
967977

978+
@cached_property
979+
def moq(self) -> MoQResource:
980+
from .resources.moq import MoQResource
981+
982+
return MoQResource(self)
983+
968984
@cached_property
969985
def cloudforce_one(self) -> CloudforceOneResource:
970986
from .resources.cloudforce_one import CloudforceOneResource
@@ -1509,6 +1525,12 @@ def email_security(self) -> AsyncEmailSecurityResource:
15091525

15101526
return AsyncEmailSecurityResource(self)
15111527

1528+
@cached_property
1529+
def email_auth(self) -> AsyncEmailAuthResource:
1530+
from .resources.email_auth import AsyncEmailAuthResource
1531+
1532+
return AsyncEmailAuthResource(self)
1533+
15121534
@cached_property
15131535
def email_routing(self) -> AsyncEmailRoutingResource:
15141536
from .resources.email_routing import AsyncEmailRoutingResource
@@ -1917,6 +1939,12 @@ def calls(self) -> AsyncCallsResource:
19171939

19181940
return AsyncCallsResource(self)
19191941

1942+
@cached_property
1943+
def moq(self) -> AsyncMoQResource:
1944+
from .resources.moq import AsyncMoQResource
1945+
1946+
return AsyncMoQResource(self)
1947+
19201948
@cached_property
19211949
def cloudforce_one(self) -> AsyncCloudforceOneResource:
19221950
from .resources.cloudforce_one import AsyncCloudforceOneResource
@@ -2381,6 +2409,12 @@ def email_security(self) -> email_security.EmailSecurityResourceWithRawResponse:
23812409

23822410
return EmailSecurityResourceWithRawResponse(self._client.email_security)
23832411

2412+
@cached_property
2413+
def email_auth(self) -> email_auth.EmailAuthResourceWithRawResponse:
2414+
from .resources.email_auth import EmailAuthResourceWithRawResponse
2415+
2416+
return EmailAuthResourceWithRawResponse(self._client.email_auth)
2417+
23842418
@cached_property
23852419
def email_routing(self) -> email_routing.EmailRoutingResourceWithRawResponse:
23862420
from .resources.email_routing import EmailRoutingResourceWithRawResponse
@@ -2793,6 +2827,12 @@ def calls(self) -> calls.CallsResourceWithRawResponse:
27932827

27942828
return CallsResourceWithRawResponse(self._client.calls)
27952829

2830+
@cached_property
2831+
def moq(self) -> moq.MoQResourceWithRawResponse:
2832+
from .resources.moq import MoQResourceWithRawResponse
2833+
2834+
return MoQResourceWithRawResponse(self._client.moq)
2835+
27962836
@cached_property
27972837
def cloudforce_one(self) -> cloudforce_one.CloudforceOneResourceWithRawResponse:
27982838
from .resources.cloudforce_one import CloudforceOneResourceWithRawResponse
@@ -3084,6 +3124,12 @@ def email_security(self) -> email_security.AsyncEmailSecurityResourceWithRawResp
30843124

30853125
return AsyncEmailSecurityResourceWithRawResponse(self._client.email_security)
30863126

3127+
@cached_property
3128+
def email_auth(self) -> email_auth.AsyncEmailAuthResourceWithRawResponse:
3129+
from .resources.email_auth import AsyncEmailAuthResourceWithRawResponse
3130+
3131+
return AsyncEmailAuthResourceWithRawResponse(self._client.email_auth)
3132+
30873133
@cached_property
30883134
def email_routing(self) -> email_routing.AsyncEmailRoutingResourceWithRawResponse:
30893135
from .resources.email_routing import AsyncEmailRoutingResourceWithRawResponse
@@ -3496,6 +3542,12 @@ def calls(self) -> calls.AsyncCallsResourceWithRawResponse:
34963542

34973543
return AsyncCallsResourceWithRawResponse(self._client.calls)
34983544

3545+
@cached_property
3546+
def moq(self) -> moq.AsyncMoQResourceWithRawResponse:
3547+
from .resources.moq import AsyncMoQResourceWithRawResponse
3548+
3549+
return AsyncMoQResourceWithRawResponse(self._client.moq)
3550+
34993551
@cached_property
35003552
def cloudforce_one(self) -> cloudforce_one.AsyncCloudforceOneResourceWithRawResponse:
35013553
from .resources.cloudforce_one import AsyncCloudforceOneResourceWithRawResponse
@@ -3787,6 +3839,12 @@ def email_security(self) -> email_security.EmailSecurityResourceWithStreamingRes
37873839

37883840
return EmailSecurityResourceWithStreamingResponse(self._client.email_security)
37893841

3842+
@cached_property
3843+
def email_auth(self) -> email_auth.EmailAuthResourceWithStreamingResponse:
3844+
from .resources.email_auth import EmailAuthResourceWithStreamingResponse
3845+
3846+
return EmailAuthResourceWithStreamingResponse(self._client.email_auth)
3847+
37903848
@cached_property
37913849
def email_routing(self) -> email_routing.EmailRoutingResourceWithStreamingResponse:
37923850
from .resources.email_routing import EmailRoutingResourceWithStreamingResponse
@@ -4199,6 +4257,12 @@ def calls(self) -> calls.CallsResourceWithStreamingResponse:
41994257

42004258
return CallsResourceWithStreamingResponse(self._client.calls)
42014259

4260+
@cached_property
4261+
def moq(self) -> moq.MoQResourceWithStreamingResponse:
4262+
from .resources.moq import MoQResourceWithStreamingResponse
4263+
4264+
return MoQResourceWithStreamingResponse(self._client.moq)
4265+
42024266
@cached_property
42034267
def cloudforce_one(self) -> cloudforce_one.CloudforceOneResourceWithStreamingResponse:
42044268
from .resources.cloudforce_one import CloudforceOneResourceWithStreamingResponse
@@ -4492,6 +4556,12 @@ def email_security(self) -> email_security.AsyncEmailSecurityResourceWithStreami
44924556

44934557
return AsyncEmailSecurityResourceWithStreamingResponse(self._client.email_security)
44944558

4559+
@cached_property
4560+
def email_auth(self) -> email_auth.AsyncEmailAuthResourceWithStreamingResponse:
4561+
from .resources.email_auth import AsyncEmailAuthResourceWithStreamingResponse
4562+
4563+
return AsyncEmailAuthResourceWithStreamingResponse(self._client.email_auth)
4564+
44954565
@cached_property
44964566
def email_routing(self) -> email_routing.AsyncEmailRoutingResourceWithStreamingResponse:
44974567
from .resources.email_routing import AsyncEmailRoutingResourceWithStreamingResponse
@@ -4910,6 +4980,12 @@ def calls(self) -> calls.AsyncCallsResourceWithStreamingResponse:
49104980

49114981
return AsyncCallsResourceWithStreamingResponse(self._client.calls)
49124982

4983+
@cached_property
4984+
def moq(self) -> moq.AsyncMoQResourceWithStreamingResponse:
4985+
from .resources.moq import AsyncMoQResourceWithStreamingResponse
4986+
4987+
return AsyncMoQResourceWithStreamingResponse(self._client.moq)
4988+
49134989
@cached_property
49144990
def cloudforce_one(self) -> cloudforce_one.AsyncCloudforceOneResourceWithStreamingResponse:
49154991
from .resources.cloudforce_one import AsyncCloudforceOneResourceWithStreamingResponse

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.4.0" # x-release-please-version
4+
__version__ = "5.3.0" # x-release-please-version

src/cloudflare/resources/ai_gateway/billing/spending_limit.py

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
import typing_extensions
56
from typing import Type, cast
67
from typing_extensions import Literal
78

@@ -45,6 +46,7 @@ def with_streaming_response(self) -> SpendingLimitResourceWithStreamingResponse:
4546
"""
4647
return SpendingLimitResourceWithStreamingResponse(self)
4748

49+
@typing_extensions.deprecated("deprecated")
4850
def create(
4951
self,
5052
*,
@@ -60,7 +62,10 @@ def create(
6062
timeout: float | httpx.Timeout | None | NotGiven = not_given,
6163
) -> object:
6264
"""
63-
Configure a spending limit with amount, strategy, and duration.
65+
Deprecated: spending limits can no longer be created, enabled, or modified and
66+
this endpoint always responds 403. Use the new AI Gateway spend limits instead:
67+
https://developers.cloudflare.com/ai-gateway/features/spend-limits/. Existing
68+
limits can be removed via DELETE /spending-limit.
6469
6570
Args:
6671
amount: Spending limit amount in cents (min 100).
@@ -194,6 +199,7 @@ def with_streaming_response(self) -> AsyncSpendingLimitResourceWithStreamingResp
194199
"""
195200
return AsyncSpendingLimitResourceWithStreamingResponse(self)
196201

202+
@typing_extensions.deprecated("deprecated")
197203
async def create(
198204
self,
199205
*,
@@ -209,7 +215,10 @@ async def create(
209215
timeout: float | httpx.Timeout | None | NotGiven = not_given,
210216
) -> object:
211217
"""
212-
Configure a spending limit with amount, strategy, and duration.
218+
Deprecated: spending limits can no longer be created, enabled, or modified and
219+
this endpoint always responds 403. Use the new AI Gateway spend limits instead:
220+
https://developers.cloudflare.com/ai-gateway/features/spend-limits/. Existing
221+
limits can be removed via DELETE /spending-limit.
213222
214223
Args:
215224
amount: Spending limit amount in cents (min 100).
@@ -327,8 +336,10 @@ class SpendingLimitResourceWithRawResponse:
327336
def __init__(self, spending_limit: SpendingLimitResource) -> None:
328337
self._spending_limit = spending_limit
329338

330-
self.create = to_raw_response_wrapper(
331-
spending_limit.create,
339+
self.create = ( # pyright: ignore[reportDeprecated]
340+
to_raw_response_wrapper(
341+
spending_limit.create, # pyright: ignore[reportDeprecated],
342+
)
332343
)
333344
self.delete = to_raw_response_wrapper(
334345
spending_limit.delete,
@@ -342,8 +353,10 @@ class AsyncSpendingLimitResourceWithRawResponse:
342353
def __init__(self, spending_limit: AsyncSpendingLimitResource) -> None:
343354
self._spending_limit = spending_limit
344355

345-
self.create = async_to_raw_response_wrapper(
346-
spending_limit.create,
356+
self.create = ( # pyright: ignore[reportDeprecated]
357+
async_to_raw_response_wrapper(
358+
spending_limit.create, # pyright: ignore[reportDeprecated],
359+
)
347360
)
348361
self.delete = async_to_raw_response_wrapper(
349362
spending_limit.delete,
@@ -357,8 +370,10 @@ class SpendingLimitResourceWithStreamingResponse:
357370
def __init__(self, spending_limit: SpendingLimitResource) -> None:
358371
self._spending_limit = spending_limit
359372

360-
self.create = to_streamed_response_wrapper(
361-
spending_limit.create,
373+
self.create = ( # pyright: ignore[reportDeprecated]
374+
to_streamed_response_wrapper(
375+
spending_limit.create, # pyright: ignore[reportDeprecated],
376+
)
362377
)
363378
self.delete = to_streamed_response_wrapper(
364379
spending_limit.delete,
@@ -372,8 +387,10 @@ class AsyncSpendingLimitResourceWithStreamingResponse:
372387
def __init__(self, spending_limit: AsyncSpendingLimitResource) -> None:
373388
self._spending_limit = spending_limit
374389

375-
self.create = async_to_streamed_response_wrapper(
376-
spending_limit.create,
390+
self.create = ( # pyright: ignore[reportDeprecated]
391+
async_to_streamed_response_wrapper(
392+
spending_limit.create, # pyright: ignore[reportDeprecated],
393+
)
377394
)
378395
self.delete = async_to_streamed_response_wrapper(
379396
spending_limit.delete,

0 commit comments

Comments
 (0)