Skip to content

Commit 63a5a9b

Browse files
chore(api): update composite API spec
1 parent 3964451 commit 63a5a9b

26 files changed

Lines changed: 360 additions & 113 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 2010
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e25c97241a99ea759903d1055a6139aa4e21e831791766ad9f48a99884aed3c3.yml
3-
openapi_spec_hash: 35c67027f1c5166182c387656c478fc0
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-e036ff650375d60e26e5510f3b7ff270ab033fcf868cb9ea34857ce96b55291f.yml
3+
openapi_spec_hash: 76d6fa3691de43349195e987dd3cf44b
44
config_hash: 82cfe5a4a27ca8b4eb41cee4987d6c77

api.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5598,7 +5598,7 @@ Methods:
55985598

55995599
- <code title="post /accounts/{account_id}/dex/devices/dex_tests">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">create</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/devices/dex_test_create_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_create_response.py">Optional[DEXTestCreateResponse]</a></code>
56005600
- <code title="put /accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">update</a>(dex_test_id, \*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/devices/dex_test_update_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_update_response.py">Optional[DEXTestUpdateResponse]</a></code>
5601-
- <code title="get /accounts/{account_id}/dex/devices/dex_tests">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">list</a>(\*, account_id) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_list_response.py">SyncSinglePage[DEXTestListResponse]</a></code>
5601+
- <code title="get /accounts/{account_id}/dex/devices/dex_tests">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/devices/dex_test_list_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_list_response.py">SyncV4PagePaginationArray[DEXTestListResponse]</a></code>
56025602
- <code title="delete /accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">delete</a>(dex_test_id, \*, account_id) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_delete_response.py">Optional[DEXTestDeleteResponse]</a></code>
56035603
- <code title="get /accounts/{account_id}/dex/devices/dex_tests/{dex_test_id}">client.zero_trust.devices.dex_tests.<a href="./src/cloudflare/resources/zero_trust/devices/dex_tests.py">get</a>(dex_test_id, \*, account_id) -> <a href="./src/cloudflare/types/zero_trust/devices/dex_test_get_response.py">Optional[DEXTestGetResponse]</a></code>
56045604

@@ -6477,22 +6477,32 @@ Methods:
64776477

64786478
### Colos
64796479

6480+
Types:
6481+
6482+
```python
6483+
from cloudflare.types.zero_trust.dex import ColoListResponse
6484+
```
6485+
64806486
Methods:
64816487

6482-
- <code title="get /accounts/{account_id}/dex/colos">client.zero_trust.dex.colos.<a href="./src/cloudflare/resources/zero_trust/dex/colos.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/dex/colo_list_params.py">params</a>) -> SyncSinglePage[object]</code>
6488+
- <code title="get /accounts/{account_id}/dex/colos">client.zero_trust.dex.colos.<a href="./src/cloudflare/resources/zero_trust/dex/colos.py">list</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/dex/colo_list_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/dex/colo_list_response.py">SyncSinglePage[ColoListResponse]</a></code>
64836489

64846490
### FleetStatus
64856491

64866492
Types:
64876493

64886494
```python
6489-
from cloudflare.types.zero_trust.dex import LiveStat, FleetStatusLiveResponse
6495+
from cloudflare.types.zero_trust.dex import (
6496+
LiveStat,
6497+
FleetStatusLiveResponse,
6498+
FleetStatusOverTimeResponse,
6499+
)
64906500
```
64916501

64926502
Methods:
64936503

64946504
- <code title="get /accounts/{account_id}/dex/fleet-status/live">client.zero_trust.dex.fleet_status.<a href="./src/cloudflare/resources/zero_trust/dex/fleet_status/fleet_status.py">live</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/dex/fleet_status_live_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/dex/fleet_status_live_response.py">Optional[FleetStatusLiveResponse]</a></code>
6495-
- <code title="get /accounts/{account_id}/dex/fleet-status/over-time">client.zero_trust.dex.fleet_status.<a href="./src/cloudflare/resources/zero_trust/dex/fleet_status/fleet_status.py">over_time</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/dex/fleet_status_over_time_params.py">params</a>) -> None</code>
6505+
- <code title="get /accounts/{account_id}/dex/fleet-status/over-time">client.zero_trust.dex.fleet_status.<a href="./src/cloudflare/resources/zero_trust/dex/fleet_status/fleet_status.py">over_time</a>(\*, account_id, \*\*<a href="src/cloudflare/types/zero_trust/dex/fleet_status_over_time_params.py">params</a>) -> <a href="./src/cloudflare/types/zero_trust/dex/fleet_status_over_time_response.py">Optional[FleetStatusOverTimeResponse]</a></code>
64966506

64976507
#### Devices
64986508

src/cloudflare/resources/zero_trust/devices/dex_tests.py

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Type, Iterable, Optional, cast
6+
from typing_extensions import Literal
67

78
import httpx
89

@@ -17,9 +18,9 @@
1718
async_to_streamed_response_wrapper,
1819
)
1920
from ...._wrappers import ResultWrapper
20-
from ....pagination import SyncSinglePage, AsyncSinglePage
21+
from ....pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
2122
from ...._base_client import AsyncPaginator, make_request_options
22-
from ....types.zero_trust.devices import dex_test_create_params, dex_test_update_params
23+
from ....types.zero_trust.devices import dex_test_list_params, dex_test_create_params, dex_test_update_params
2324
from ....types.zero_trust.devices.dex_test_get_response import DEXTestGetResponse
2425
from ....types.zero_trust.devices.dex_test_list_response import DEXTestListResponse
2526
from ....types.zero_trust.devices.dex_test_create_response import DEXTestCreateResponse
@@ -196,17 +197,29 @@ def list(
196197
self,
197198
*,
198199
account_id: str,
200+
kind: Literal["http", "traceroute"] | Omit = omit,
201+
page: float | Omit = omit,
202+
per_page: float | Omit = omit,
203+
test_name: str | Omit = omit,
199204
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
200205
# The extra values given here take precedence over values defined on the client or passed to this method.
201206
extra_headers: Headers | None = None,
202207
extra_query: Query | None = None,
203208
extra_body: Body | None = None,
204209
timeout: float | httpx.Timeout | None | NotGiven = not_given,
205-
) -> SyncSinglePage[DEXTestListResponse]:
210+
) -> SyncV4PagePaginationArray[DEXTestListResponse]:
206211
"""
207212
Fetch all DEX tests
208213
209214
Args:
215+
kind: Filter by test type
216+
217+
page: Page number of paginated results
218+
219+
per_page: Number of items per page
220+
221+
test_name: Filter by test name
222+
210223
extra_headers: Send extra headers
211224
212225
extra_query: Add additional query parameters to the request
@@ -219,9 +232,21 @@ def list(
219232
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
220233
return self._get_api_list(
221234
f"/accounts/{account_id}/dex/devices/dex_tests",
222-
page=SyncSinglePage[DEXTestListResponse],
235+
page=SyncV4PagePaginationArray[DEXTestListResponse],
223236
options=make_request_options(
224-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
237+
extra_headers=extra_headers,
238+
extra_query=extra_query,
239+
extra_body=extra_body,
240+
timeout=timeout,
241+
query=maybe_transform(
242+
{
243+
"kind": kind,
244+
"page": page,
245+
"per_page": per_page,
246+
"test_name": test_name,
247+
},
248+
dex_test_list_params.DEXTestListParams,
249+
),
225250
),
226251
model=DEXTestListResponse,
227252
)
@@ -480,17 +505,29 @@ def list(
480505
self,
481506
*,
482507
account_id: str,
508+
kind: Literal["http", "traceroute"] | Omit = omit,
509+
page: float | Omit = omit,
510+
per_page: float | Omit = omit,
511+
test_name: str | Omit = omit,
483512
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
484513
# The extra values given here take precedence over values defined on the client or passed to this method.
485514
extra_headers: Headers | None = None,
486515
extra_query: Query | None = None,
487516
extra_body: Body | None = None,
488517
timeout: float | httpx.Timeout | None | NotGiven = not_given,
489-
) -> AsyncPaginator[DEXTestListResponse, AsyncSinglePage[DEXTestListResponse]]:
518+
) -> AsyncPaginator[DEXTestListResponse, AsyncV4PagePaginationArray[DEXTestListResponse]]:
490519
"""
491520
Fetch all DEX tests
492521
493522
Args:
523+
kind: Filter by test type
524+
525+
page: Page number of paginated results
526+
527+
per_page: Number of items per page
528+
529+
test_name: Filter by test name
530+
494531
extra_headers: Send extra headers
495532
496533
extra_query: Add additional query parameters to the request
@@ -503,9 +540,21 @@ def list(
503540
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
504541
return self._get_api_list(
505542
f"/accounts/{account_id}/dex/devices/dex_tests",
506-
page=AsyncSinglePage[DEXTestListResponse],
543+
page=AsyncV4PagePaginationArray[DEXTestListResponse],
507544
options=make_request_options(
508-
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
545+
extra_headers=extra_headers,
546+
extra_query=extra_query,
547+
extra_body=extra_body,
548+
timeout=timeout,
549+
query=maybe_transform(
550+
{
551+
"kind": kind,
552+
"page": page,
553+
"per_page": per_page,
554+
"test_name": test_name,
555+
},
556+
dex_test_list_params.DEXTestListParams,
557+
),
509558
),
510559
model=DEXTestListResponse,
511560
)

src/cloudflare/resources/zero_trust/dex/colos.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from ....pagination import SyncSinglePage, AsyncSinglePage
2020
from ...._base_client import AsyncPaginator, make_request_options
2121
from ....types.zero_trust.dex import colo_list_params
22+
from ....types.zero_trust.dex.colo_list_response import ColoListResponse
2223

2324
__all__ = ["ColosResource", "AsyncColosResource"]
2425

@@ -56,7 +57,7 @@ def list(
5657
extra_query: Query | None = None,
5758
extra_body: Body | None = None,
5859
timeout: float | httpx.Timeout | None | NotGiven = not_given,
59-
) -> SyncSinglePage[object]:
60+
) -> SyncSinglePage[ColoListResponse]:
6061
"""
6162
List Cloudflare colos that account's devices were connected to during a time
6263
period, sorted by usage starting from the most used colo. Colos without traffic
@@ -82,7 +83,7 @@ def list(
8283
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
8384
return self._get_api_list(
8485
f"/accounts/{account_id}/dex/colos",
85-
page=SyncSinglePage[object],
86+
page=SyncSinglePage[ColoListResponse],
8687
options=make_request_options(
8788
extra_headers=extra_headers,
8889
extra_query=extra_query,
@@ -97,7 +98,7 @@ def list(
9798
colo_list_params.ColoListParams,
9899
),
99100
),
100-
model=object,
101+
model=ColoListResponse,
101102
)
102103

103104

@@ -134,7 +135,7 @@ def list(
134135
extra_query: Query | None = None,
135136
extra_body: Body | None = None,
136137
timeout: float | httpx.Timeout | None | NotGiven = not_given,
137-
) -> AsyncPaginator[object, AsyncSinglePage[object]]:
138+
) -> AsyncPaginator[ColoListResponse, AsyncSinglePage[ColoListResponse]]:
138139
"""
139140
List Cloudflare colos that account's devices were connected to during a time
140141
period, sorted by usage starting from the most used colo. Colos without traffic
@@ -160,7 +161,7 @@ def list(
160161
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
161162
return self._get_api_list(
162163
f"/accounts/{account_id}/dex/colos",
163-
page=AsyncSinglePage[object],
164+
page=AsyncSinglePage[ColoListResponse],
164165
options=make_request_options(
165166
extra_headers=extra_headers,
166167
extra_query=extra_query,
@@ -175,7 +176,7 @@ def list(
175176
colo_list_params.ColoListParams,
176177
),
177178
),
178-
model=object,
179+
model=ColoListResponse,
179180
)
180181

181182

src/cloudflare/resources/zero_trust/dex/fleet_status/devices.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ def list(
9393
Source:
9494
9595
- `hourly` - device details aggregated hourly, up to 7 days prior
96-
- `last_seen` - device details, up to 24 hours prior
96+
- `last_seen` - device details, up to 60 minutes prior
9797
- `raw` - device details, up to 7 days prior
9898
9999
status: Network status
@@ -209,7 +209,7 @@ def list(
209209
Source:
210210
211211
- `hourly` - device details aggregated hourly, up to 7 days prior
212-
- `last_seen` - device details, up to 24 hours prior
212+
- `last_seen` - device details, up to 60 minutes prior
213213
- `raw` - device details, up to 7 days prior
214214
215215
status: Network status

src/cloudflare/resources/zero_trust/dex/fleet_status/fleet_status.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
DevicesResourceWithStreamingResponse,
1515
AsyncDevicesResourceWithStreamingResponse,
1616
)
17-
from ....._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
17+
from ....._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
1818
from ....._utils import maybe_transform, async_maybe_transform
1919
from ....._compat import cached_property
2020
from ....._resource import SyncAPIResource, AsyncAPIResource
@@ -28,6 +28,7 @@
2828
from ....._base_client import make_request_options
2929
from .....types.zero_trust.dex import fleet_status_live_params, fleet_status_over_time_params
3030
from .....types.zero_trust.dex.fleet_status_live_response import FleetStatusLiveResponse
31+
from .....types.zero_trust.dex.fleet_status_over_time_response import FleetStatusOverTimeResponse
3132

3233
__all__ = ["FleetStatusResource", "AsyncFleetStatusResource"]
3334

@@ -111,7 +112,7 @@ def over_time(
111112
extra_query: Query | None = None,
112113
extra_body: Body | None = None,
113114
timeout: float | httpx.Timeout | None | NotGiven = not_given,
114-
) -> None:
115+
) -> Optional[FleetStatusOverTimeResponse]:
115116
"""
116117
List details for devices using WARP, up to 7 days
117118
@@ -134,7 +135,6 @@ def over_time(
134135
"""
135136
if not account_id:
136137
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
137-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
138138
return self._get(
139139
f"/accounts/{account_id}/dex/fleet-status/over-time",
140140
options=make_request_options(
@@ -151,8 +151,9 @@ def over_time(
151151
},
152152
fleet_status_over_time_params.FleetStatusOverTimeParams,
153153
),
154+
post_parser=ResultWrapper[Optional[FleetStatusOverTimeResponse]]._unwrapper,
154155
),
155-
cast_to=NoneType,
156+
cast_to=cast(Type[Optional[FleetStatusOverTimeResponse]], ResultWrapper[FleetStatusOverTimeResponse]),
156157
)
157158

158159

@@ -237,7 +238,7 @@ async def over_time(
237238
extra_query: Query | None = None,
238239
extra_body: Body | None = None,
239240
timeout: float | httpx.Timeout | None | NotGiven = not_given,
240-
) -> None:
241+
) -> Optional[FleetStatusOverTimeResponse]:
241242
"""
242243
List details for devices using WARP, up to 7 days
243244
@@ -260,7 +261,6 @@ async def over_time(
260261
"""
261262
if not account_id:
262263
raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
263-
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
264264
return await self._get(
265265
f"/accounts/{account_id}/dex/fleet-status/over-time",
266266
options=make_request_options(
@@ -277,8 +277,9 @@ async def over_time(
277277
},
278278
fleet_status_over_time_params.FleetStatusOverTimeParams,
279279
),
280+
post_parser=ResultWrapper[Optional[FleetStatusOverTimeResponse]]._unwrapper,
280281
),
281-
cast_to=NoneType,
282+
cast_to=cast(Type[Optional[FleetStatusOverTimeResponse]], ResultWrapper[FleetStatusOverTimeResponse]),
282283
)
283284

284285

src/cloudflare/resources/zero_trust/dex/tests/tests.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Optional
6+
from typing_extensions import Literal
67

78
import httpx
89

@@ -64,6 +65,7 @@ def list(
6465
account_id: str,
6566
colo: str | Omit = omit,
6667
device_id: SequenceNotStr[str] | Omit = omit,
68+
kind: Literal["http", "traceroute"] | Omit = omit,
6769
page: float | Omit = omit,
6870
per_page: float | Omit = omit,
6971
test_name: str | Omit = omit,
@@ -84,6 +86,8 @@ def list(
8486
device_id: Optionally filter result stats to a specific device(s). Cannot be used in
8587
combination with colo param.
8688
89+
kind: Filter by test type
90+
8791
page: Page number of paginated results
8892
8993
per_page: Number of items per page
@@ -112,6 +116,7 @@ def list(
112116
{
113117
"colo": colo,
114118
"device_id": device_id,
119+
"kind": kind,
115120
"page": page,
116121
"per_page": per_page,
117122
"test_name": test_name,
@@ -153,6 +158,7 @@ def list(
153158
account_id: str,
154159
colo: str | Omit = omit,
155160
device_id: SequenceNotStr[str] | Omit = omit,
161+
kind: Literal["http", "traceroute"] | Omit = omit,
156162
page: float | Omit = omit,
157163
per_page: float | Omit = omit,
158164
test_name: str | Omit = omit,
@@ -173,6 +179,8 @@ def list(
173179
device_id: Optionally filter result stats to a specific device(s). Cannot be used in
174180
combination with colo param.
175181
182+
kind: Filter by test type
183+
176184
page: Page number of paginated results
177185
178186
per_page: Number of items per page
@@ -201,6 +209,7 @@ def list(
201209
{
202210
"colo": colo,
203211
"device_id": device_id,
212+
"kind": kind,
204213
"page": page,
205214
"per_page": per_page,
206215
"test_name": test_name,

0 commit comments

Comments
 (0)