22
33from __future__ import annotations
44
5- from typing import Type , Optional , cast
5+ from typing import Type , Iterable , Optional , cast
66from typing_extensions import Literal
77
88import httpx
1818 async_to_streamed_response_wrapper ,
1919)
2020from ..._wrappers import ResultWrapper
21- from ...pagination import SyncV4PagePaginationArray , AsyncV4PagePaginationArray
21+ from ...pagination import SyncSinglePage , AsyncSinglePage , SyncV4PagePaginationArray , AsyncV4PagePaginationArray
2222from ..._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+ )
2430from ...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 )
0 commit comments