Skip to content

Commit bb4311f

Browse files
chore(api): update composite API spec
1 parent 7e1d8b7 commit bb4311f

File tree

8 files changed

+624
-8
lines changed

8 files changed

+624
-8
lines changed

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 1889
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-081b52b8bd2d45843c3f99258cf4f58931bc5cd76f0b5a470d1f9c780622de6e.yml
3-
openapi_spec_hash: f22dbbc469af9002ead666ae5699f045
1+
configured_endpoints: 1891
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-79e87bbc9ff5cb53ed7706cf01778ff6436873f56a3fd29dcb23f4b0bc37747c.yml
3+
openapi_spec_hash: b3f5f9dd811a27973feca57c8b103cbd
44
config_hash: f02bc3ad56bdede6c515f996ca86012c

api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10478,5 +10478,7 @@ Methods:
1047810478
- <code title="post /zones/{zone_id}/token_validation/rules">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">create</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/token_validation/rule_create_params.py">params</a>) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">TokenValidationRule</a></code>
1047910479
- <code title="get /zones/{zone_id}/token_validation/rules">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">list</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/token_validation/rule_list_params.py">params</a>) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">SyncV4PagePaginationArray[TokenValidationRule]</a></code>
1048010480
- <code title="delete /zones/{zone_id}/token_validation/rules/{rule_id}">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">delete</a>(rule_id, \*, zone_id) -> object</code>
10481+
- <code title="post /zones/{zone_id}/token_validation/rules/bulk">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">bulk_create</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/token_validation/rule_bulk_create_params.py">params</a>) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">SyncSinglePage[TokenValidationRule]</a></code>
10482+
- <code title="patch /zones/{zone_id}/token_validation/rules/bulk">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">bulk_edit</a>(\*, zone_id, \*\*<a href="src/cloudflare/types/token_validation/rule_bulk_edit_params.py">params</a>) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">SyncSinglePage[TokenValidationRule]</a></code>
1048110483
- <code title="patch /zones/{zone_id}/token_validation/rules/{rule_id}">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">edit</a>(rule_id, \*, zone_id, \*\*<a href="src/cloudflare/types/token_validation/rule_edit_params.py">params</a>) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">TokenValidationRule</a></code>
1048210484
- <code title="get /zones/{zone_id}/token_validation/rules/{rule_id}">client.token_validation.rules.<a href="./src/cloudflare/resources/token_validation/rules.py">get</a>(rule_id, \*, zone_id) -> <a href="./src/cloudflare/types/token_validation/token_validation_rule.py">TokenValidationRule</a></code>

src/cloudflare/resources/token_validation/rules.py

Lines changed: 205 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from __future__ import annotations
44

5-
from typing import Type, Optional, cast
5+
from typing import Type, Iterable, Optional, cast
66
from typing_extensions import Literal
77

88
import httpx
@@ -18,9 +18,15 @@
1818
async_to_streamed_response_wrapper,
1919
)
2020
from ..._wrappers import ResultWrapper
21-
from ...pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
21+
from ...pagination import SyncSinglePage, AsyncSinglePage, SyncV4PagePaginationArray, AsyncV4PagePaginationArray
2222
from ..._base_client import AsyncPaginator, make_request_options
23-
from ...types.token_validation import rule_edit_params, rule_list_params, rule_create_params
23+
from ...types.token_validation import (
24+
rule_edit_params,
25+
rule_list_params,
26+
rule_create_params,
27+
rule_bulk_edit_params,
28+
rule_bulk_create_params,
29+
)
2430
from ...types.token_validation.token_validation_rule import TokenValidationRule
2531

2632
__all__ = ["RulesResource", "AsyncRulesResource"]
@@ -247,6 +253,92 @@ def delete(
247253
cast_to=cast(Type[object], ResultWrapper[object]),
248254
)
249255

256+
def bulk_create(
257+
self,
258+
*,
259+
zone_id: str,
260+
body: Iterable[rule_bulk_create_params.Body],
261+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
262+
# The extra values given here take precedence over values defined on the client or passed to this method.
263+
extra_headers: Headers | None = None,
264+
extra_query: Query | None = None,
265+
extra_body: Body | None = None,
266+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
267+
) -> SyncSinglePage[TokenValidationRule]:
268+
"""
269+
Create zone token validation rules.
270+
271+
A request can create multiple Token Validation Rules.
272+
273+
Args:
274+
zone_id: Identifier.
275+
276+
extra_headers: Send extra headers
277+
278+
extra_query: Add additional query parameters to the request
279+
280+
extra_body: Add additional JSON properties to the request
281+
282+
timeout: Override the client-level default timeout for this request, in seconds
283+
"""
284+
if not zone_id:
285+
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
286+
return self._get_api_list(
287+
f"/zones/{zone_id}/token_validation/rules/bulk",
288+
page=SyncSinglePage[TokenValidationRule],
289+
body=maybe_transform(body, Iterable[rule_bulk_create_params.Body]),
290+
options=make_request_options(
291+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
292+
),
293+
model=TokenValidationRule,
294+
method="post",
295+
)
296+
297+
def bulk_edit(
298+
self,
299+
*,
300+
zone_id: str,
301+
body: Iterable[rule_bulk_edit_params.Body],
302+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
303+
# The extra values given here take precedence over values defined on the client or passed to this method.
304+
extra_headers: Headers | None = None,
305+
extra_query: Query | None = None,
306+
extra_body: Body | None = None,
307+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
308+
) -> SyncSinglePage[TokenValidationRule]:
309+
"""
310+
Edit token validation rules.
311+
312+
A request can update multiple Token Validation Rules.
313+
314+
Rules can be re-ordered using the `position` field.
315+
316+
Returns all updated rules.
317+
318+
Args:
319+
zone_id: Identifier.
320+
321+
extra_headers: Send extra headers
322+
323+
extra_query: Add additional query parameters to the request
324+
325+
extra_body: Add additional JSON properties to the request
326+
327+
timeout: Override the client-level default timeout for this request, in seconds
328+
"""
329+
if not zone_id:
330+
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
331+
return self._get_api_list(
332+
f"/zones/{zone_id}/token_validation/rules/bulk",
333+
page=SyncSinglePage[TokenValidationRule],
334+
body=maybe_transform(body, Iterable[rule_bulk_edit_params.Body]),
335+
options=make_request_options(
336+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
337+
),
338+
model=TokenValidationRule,
339+
method="patch",
340+
)
341+
250342
def edit(
251343
self,
252344
rule_id: str,
@@ -598,6 +690,92 @@ async def delete(
598690
cast_to=cast(Type[object], ResultWrapper[object]),
599691
)
600692

693+
def bulk_create(
694+
self,
695+
*,
696+
zone_id: str,
697+
body: Iterable[rule_bulk_create_params.Body],
698+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
699+
# The extra values given here take precedence over values defined on the client or passed to this method.
700+
extra_headers: Headers | None = None,
701+
extra_query: Query | None = None,
702+
extra_body: Body | None = None,
703+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
704+
) -> AsyncPaginator[TokenValidationRule, AsyncSinglePage[TokenValidationRule]]:
705+
"""
706+
Create zone token validation rules.
707+
708+
A request can create multiple Token Validation Rules.
709+
710+
Args:
711+
zone_id: Identifier.
712+
713+
extra_headers: Send extra headers
714+
715+
extra_query: Add additional query parameters to the request
716+
717+
extra_body: Add additional JSON properties to the request
718+
719+
timeout: Override the client-level default timeout for this request, in seconds
720+
"""
721+
if not zone_id:
722+
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
723+
return self._get_api_list(
724+
f"/zones/{zone_id}/token_validation/rules/bulk",
725+
page=AsyncSinglePage[TokenValidationRule],
726+
body=maybe_transform(body, Iterable[rule_bulk_create_params.Body]),
727+
options=make_request_options(
728+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
729+
),
730+
model=TokenValidationRule,
731+
method="post",
732+
)
733+
734+
def bulk_edit(
735+
self,
736+
*,
737+
zone_id: str,
738+
body: Iterable[rule_bulk_edit_params.Body],
739+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
740+
# The extra values given here take precedence over values defined on the client or passed to this method.
741+
extra_headers: Headers | None = None,
742+
extra_query: Query | None = None,
743+
extra_body: Body | None = None,
744+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
745+
) -> AsyncPaginator[TokenValidationRule, AsyncSinglePage[TokenValidationRule]]:
746+
"""
747+
Edit token validation rules.
748+
749+
A request can update multiple Token Validation Rules.
750+
751+
Rules can be re-ordered using the `position` field.
752+
753+
Returns all updated rules.
754+
755+
Args:
756+
zone_id: Identifier.
757+
758+
extra_headers: Send extra headers
759+
760+
extra_query: Add additional query parameters to the request
761+
762+
extra_body: Add additional JSON properties to the request
763+
764+
timeout: Override the client-level default timeout for this request, in seconds
765+
"""
766+
if not zone_id:
767+
raise ValueError(f"Expected a non-empty value for `zone_id` but received {zone_id!r}")
768+
return self._get_api_list(
769+
f"/zones/{zone_id}/token_validation/rules/bulk",
770+
page=AsyncSinglePage[TokenValidationRule],
771+
body=maybe_transform(body, Iterable[rule_bulk_edit_params.Body]),
772+
options=make_request_options(
773+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
774+
),
775+
model=TokenValidationRule,
776+
method="patch",
777+
)
778+
601779
async def edit(
602780
self,
603781
rule_id: str,
@@ -741,6 +919,12 @@ def __init__(self, rules: RulesResource) -> None:
741919
self.delete = to_raw_response_wrapper(
742920
rules.delete,
743921
)
922+
self.bulk_create = to_raw_response_wrapper(
923+
rules.bulk_create,
924+
)
925+
self.bulk_edit = to_raw_response_wrapper(
926+
rules.bulk_edit,
927+
)
744928
self.edit = to_raw_response_wrapper(
745929
rules.edit,
746930
)
@@ -762,6 +946,12 @@ def __init__(self, rules: AsyncRulesResource) -> None:
762946
self.delete = async_to_raw_response_wrapper(
763947
rules.delete,
764948
)
949+
self.bulk_create = async_to_raw_response_wrapper(
950+
rules.bulk_create,
951+
)
952+
self.bulk_edit = async_to_raw_response_wrapper(
953+
rules.bulk_edit,
954+
)
765955
self.edit = async_to_raw_response_wrapper(
766956
rules.edit,
767957
)
@@ -783,6 +973,12 @@ def __init__(self, rules: RulesResource) -> None:
783973
self.delete = to_streamed_response_wrapper(
784974
rules.delete,
785975
)
976+
self.bulk_create = to_streamed_response_wrapper(
977+
rules.bulk_create,
978+
)
979+
self.bulk_edit = to_streamed_response_wrapper(
980+
rules.bulk_edit,
981+
)
786982
self.edit = to_streamed_response_wrapper(
787983
rules.edit,
788984
)
@@ -804,6 +1000,12 @@ def __init__(self, rules: AsyncRulesResource) -> None:
8041000
self.delete = async_to_streamed_response_wrapper(
8051001
rules.delete,
8061002
)
1003+
self.bulk_create = async_to_streamed_response_wrapper(
1004+
rules.bulk_create,
1005+
)
1006+
self.bulk_edit = async_to_streamed_response_wrapper(
1007+
rules.bulk_edit,
1008+
)
8071009
self.edit = async_to_streamed_response_wrapper(
8081010
rules.edit,
8091011
)

src/cloudflare/types/schema_validation/schema_delete_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66

77

88
class SchemaDeleteResponse(BaseModel):
9-
schema_id: str
9+
id: str
1010
"""The ID of the schema that was just deleted"""

src/cloudflare/types/token_validation/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
from .rule_edit_params import RuleEditParams as RuleEditParams
77
from .rule_list_params import RuleListParams as RuleListParams
88
from .rule_create_params import RuleCreateParams as RuleCreateParams
9+
from .rule_bulk_edit_params import RuleBulkEditParams as RuleBulkEditParams
910
from .token_validation_rule import TokenValidationRule as TokenValidationRule
11+
from .rule_bulk_create_params import RuleBulkCreateParams as RuleBulkCreateParams
1012
from .configuration_edit_params import ConfigurationEditParams as ConfigurationEditParams
1113
from .configuration_list_params import ConfigurationListParams as ConfigurationListParams
1214
from .configuration_create_params import ConfigurationCreateParams as ConfigurationCreateParams
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing import Iterable, Optional
6+
from typing_extensions import Literal, Required, TypedDict
7+
8+
from ..._types import SequenceNotStr
9+
10+
__all__ = ["RuleBulkCreateParams", "Body", "BodySelector", "BodySelectorExclude", "BodySelectorInclude"]
11+
12+
13+
class RuleBulkCreateParams(TypedDict, total=False):
14+
zone_id: Required[str]
15+
"""Identifier."""
16+
17+
body: Required[Iterable[Body]]
18+
19+
20+
class BodySelectorExclude(TypedDict, total=False):
21+
operation_ids: SequenceNotStr[str]
22+
"""Excluded operation IDs."""
23+
24+
25+
class BodySelectorInclude(TypedDict, total=False):
26+
host: SequenceNotStr[str]
27+
"""Included hostnames."""
28+
29+
30+
class BodySelector(TypedDict, total=False):
31+
exclude: Optional[Iterable[BodySelectorExclude]]
32+
"""Ignore operations that were otherwise included by `include`."""
33+
34+
include: Optional[Iterable[BodySelectorInclude]]
35+
"""Select all matching operations."""
36+
37+
38+
class Body(TypedDict, total=False):
39+
action: Required[Literal["log", "block"]]
40+
"""
41+
Action to take on requests that match operations included in `selector` and fail
42+
`expression`.
43+
"""
44+
45+
description: Required[str]
46+
"""A human-readable description that gives more details than `title`."""
47+
48+
enabled: Required[bool]
49+
"""Toggle rule on or off."""
50+
51+
expression: Required[str]
52+
"""Rule expression.
53+
54+
Requests that fail to match this expression will be subject to `action`.
55+
56+
For details on expressions, see the
57+
[Cloudflare Docs](https://developers.cloudflare.com/api-shield/security/jwt-validation/).
58+
"""
59+
60+
selector: Required[BodySelector]
61+
"""Select operations covered by this rule.
62+
63+
For details on selectors, see the
64+
[Cloudflare Docs](https://developers.cloudflare.com/api-shield/security/jwt-validation/).
65+
"""
66+
67+
title: Required[str]
68+
"""A human-readable name for the rule."""

0 commit comments

Comments
 (0)