Skip to content

Commit 7896891

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(api): OpenAPI spec update via Stainless API (#858)
1 parent 96236a2 commit 7896891

File tree

6 files changed

+104
-3
lines changed

6 files changed

+104
-3
lines changed

.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 1336
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-6a077023d5a748c646073f33bc20264fc7235f7fe9ce157d1f50f9914a3927e1.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-bc197b361ec3d5030fd853cb37172adbed55aa014ca7a5ac89fb498a88a8e5cb.yml

api.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5545,7 +5545,7 @@ from cloudflare.types.zero_trust.access.logs import AccessRequests, AccessReques
55455545

55465546
Methods:
55475547

5548-
- <code title="get /accounts/{account_id}/access/logs/access_requests">client.zero_trust.access.logs.access_requests.<a href="./src/cloudflare/resources/zero_trust/access/logs/access_requests.py">list</a>(\*, account_id) -> <a href="./src/cloudflare/types/zero_trust/access/logs/access_request_list_response.py">Optional</a></code>
5548+
- <code title="get /accounts/{account_id}/access/logs/access_requests">client.zero_trust.access.logs.access_requests.<a href="./src/cloudflare/resources/zero_trust/access/logs/access_requests.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/access/logs/access_request_list_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/access/logs/access_request_list_response.py">Optional</a></code>
55495549

55505550
### Users
55515551

src/cloudflare/resources/zero_trust/access/logs/access_requests.py

+50-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,17 @@
22

33
from __future__ import annotations
44

5-
from typing import Type, Optional, cast
5+
from typing import Type, Union, Optional, cast
6+
from datetime import datetime
7+
from typing_extensions import Literal
68

79
import httpx
810

911
from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven
12+
from ....._utils import (
13+
maybe_transform,
14+
async_maybe_transform,
15+
)
1016
from ....._compat import cached_property
1117
from ....._resource import SyncAPIResource, AsyncAPIResource
1218
from ....._response import (
@@ -19,6 +25,7 @@
1925
from ....._base_client import (
2026
make_request_options,
2127
)
28+
from .....types.zero_trust.access.logs import access_request_list_params
2229
from .....types.zero_trust.access.logs.access_request_list_response import AccessRequestListResponse
2330

2431
__all__ = ["AccessRequestsResource", "AsyncAccessRequestsResource"]
@@ -37,6 +44,10 @@ def list(
3744
self,
3845
*,
3946
account_id: str,
47+
direction: Literal["desc", "asc"] | NotGiven = NOT_GIVEN,
48+
limit: int | NotGiven = NOT_GIVEN,
49+
since: Union[str, datetime] | NotGiven = NOT_GIVEN,
50+
until: Union[str, datetime] | NotGiven = NOT_GIVEN,
4051
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4152
# The extra values given here take precedence over values defined on the client or passed to this method.
4253
extra_headers: Headers | None = None,
@@ -50,6 +61,14 @@ def list(
5061
Args:
5162
account_id: Identifier
5263
64+
direction: The chronological sorting order for the logs.
65+
66+
limit: The maximum number of log entries to retrieve.
67+
68+
since: The earliest event timestamp to query.
69+
70+
until: The latest event timestamp to query.
71+
5372
extra_headers: Send extra headers
5473
5574
extra_query: Add additional query parameters to the request
@@ -67,6 +86,15 @@ def list(
6786
extra_query=extra_query,
6887
extra_body=extra_body,
6988
timeout=timeout,
89+
query=maybe_transform(
90+
{
91+
"direction": direction,
92+
"limit": limit,
93+
"since": since,
94+
"until": until,
95+
},
96+
access_request_list_params.AccessRequestListParams,
97+
),
7098
post_parser=ResultWrapper[Optional[AccessRequestListResponse]]._unwrapper,
7199
),
72100
cast_to=cast(Type[Optional[AccessRequestListResponse]], ResultWrapper[AccessRequestListResponse]),
@@ -86,6 +114,10 @@ async def list(
86114
self,
87115
*,
88116
account_id: str,
117+
direction: Literal["desc", "asc"] | NotGiven = NOT_GIVEN,
118+
limit: int | NotGiven = NOT_GIVEN,
119+
since: Union[str, datetime] | NotGiven = NOT_GIVEN,
120+
until: Union[str, datetime] | NotGiven = NOT_GIVEN,
89121
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
90122
# The extra values given here take precedence over values defined on the client or passed to this method.
91123
extra_headers: Headers | None = None,
@@ -99,6 +131,14 @@ async def list(
99131
Args:
100132
account_id: Identifier
101133
134+
direction: The chronological sorting order for the logs.
135+
136+
limit: The maximum number of log entries to retrieve.
137+
138+
since: The earliest event timestamp to query.
139+
140+
until: The latest event timestamp to query.
141+
102142
extra_headers: Send extra headers
103143
104144
extra_query: Add additional query parameters to the request
@@ -116,6 +156,15 @@ async def list(
116156
extra_query=extra_query,
117157
extra_body=extra_body,
118158
timeout=timeout,
159+
query=await async_maybe_transform(
160+
{
161+
"direction": direction,
162+
"limit": limit,
163+
"since": since,
164+
"until": until,
165+
},
166+
access_request_list_params.AccessRequestListParams,
167+
),
119168
post_parser=ResultWrapper[Optional[AccessRequestListResponse]]._unwrapper,
120169
),
121170
cast_to=cast(Type[Optional[AccessRequestListResponse]], ResultWrapper[AccessRequestListResponse]),

src/cloudflare/types/zero_trust/access/logs/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
from __future__ import annotations
44

55
from .access_requests import AccessRequests as AccessRequests
6+
from .access_request_list_params import AccessRequestListParams as AccessRequestListParams
67
from .access_request_list_response import AccessRequestListResponse as AccessRequestListResponse
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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 Union
6+
from datetime import datetime
7+
from typing_extensions import Literal, Required, Annotated, TypedDict
8+
9+
from ....._utils import PropertyInfo
10+
11+
__all__ = ["AccessRequestListParams"]
12+
13+
14+
class AccessRequestListParams(TypedDict, total=False):
15+
account_id: Required[str]
16+
"""Identifier"""
17+
18+
direction: Literal["desc", "asc"]
19+
"""The chronological sorting order for the logs."""
20+
21+
limit: int
22+
"""The maximum number of log entries to retrieve."""
23+
24+
since: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
25+
"""The earliest event timestamp to query."""
26+
27+
until: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
28+
"""The latest event timestamp to query."""

tests/api_resources/zero_trust/access/logs/test_access_requests.py

+23
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from cloudflare import Cloudflare, AsyncCloudflare
1111
from tests.utils import assert_matches_type
12+
from cloudflare._utils import parse_datetime
1213
from cloudflare.types.zero_trust.access.logs import AccessRequestListResponse
1314

1415
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -24,6 +25,17 @@ def test_method_list(self, client: Cloudflare) -> None:
2425
)
2526
assert_matches_type(Optional[AccessRequestListResponse], access_request, path=["response"])
2627

28+
@parametrize
29+
def test_method_list_with_all_params(self, client: Cloudflare) -> None:
30+
access_request = client.zero_trust.access.logs.access_requests.list(
31+
account_id="023e105f4ecef8ad9ca31a8372d0c353",
32+
direction="desc",
33+
limit=0,
34+
since=parse_datetime("2020-07-01T05:20:00Z"),
35+
until=parse_datetime("2020-10-01T05:20:00Z"),
36+
)
37+
assert_matches_type(Optional[AccessRequestListResponse], access_request, path=["response"])
38+
2739
@parametrize
2840
def test_raw_response_list(self, client: Cloudflare) -> None:
2941
response = client.zero_trust.access.logs.access_requests.with_raw_response.list(
@@ -66,6 +78,17 @@ async def test_method_list(self, async_client: AsyncCloudflare) -> None:
6678
)
6779
assert_matches_type(Optional[AccessRequestListResponse], access_request, path=["response"])
6880

81+
@parametrize
82+
async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None:
83+
access_request = await async_client.zero_trust.access.logs.access_requests.list(
84+
account_id="023e105f4ecef8ad9ca31a8372d0c353",
85+
direction="desc",
86+
limit=0,
87+
since=parse_datetime("2020-07-01T05:20:00Z"),
88+
until=parse_datetime("2020-10-01T05:20:00Z"),
89+
)
90+
assert_matches_type(Optional[AccessRequestListResponse], access_request, path=["response"])
91+
6992
@parametrize
7093
async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None:
7194
response = await async_client.zero_trust.access.logs.access_requests.with_raw_response.list(

0 commit comments

Comments
 (0)