mirror of
https://github.com/cloudflare/cloudflare-python.git
synced 2026-01-16 23:01:03 +00:00
feat(api): update via SDK Studio (#667)
This commit is contained in:
parent
8ba10d9100
commit
4cf63cd98e
21 changed files with 807 additions and 295 deletions
|
|
@ -1,2 +1,2 @@
|
|||
configured_endpoints: 1318
|
||||
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-ad688c70f1586b01810d8388213f79137ea8d7158d069b883fa4a9fefee01a2a.yml
|
||||
configured_endpoints: 1319
|
||||
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-79996c6f0ba6a97a922883584d2308844300e95b758ed40ac16fb6db09b3c5fa.yml
|
||||
|
|
|
|||
40
api.md
40
api.md
|
|
@ -3795,7 +3795,7 @@ from cloudflare.types.intel import Whois, WhoisGetResponse
|
|||
|
||||
Methods:
|
||||
|
||||
- <code title="get /accounts/{account_id}/intel/whois">client.intel.whois.<a href="./src/cloudflare/resources/intel/whois.py">get</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/whois_get_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/whois_get_response.py">WhoisGetResponse</a></code>
|
||||
- <code title="get /accounts/{account_id}/intel/whois">client.intel.whois.<a href="./src/cloudflare/resources/intel/whois.py">get</a>(\*, account_id, \*\*<a href="src/cloudflare/types/intel/whois_get_params.py">params</a>) -> <a href="./src/cloudflare/types/intel/whois_get_response.py">Optional</a></code>
|
||||
|
||||
## IndicatorFeeds
|
||||
|
||||
|
|
@ -6425,6 +6425,18 @@ Methods:
|
|||
- <code title="get /radar/bgp/routes/pfx2as">client.radar.bgp.routes.<a href="./src/cloudflare/resources/radar/bgp/routes.py">pfx2as</a>(\*\*<a href="src/cloudflare/types/radar/bgp/route_pfx2as_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/route_pfx2as_response.py">RoutePfx2asResponse</a></code>
|
||||
- <code title="get /radar/bgp/routes/stats">client.radar.bgp.routes.<a href="./src/cloudflare/resources/radar/bgp/routes.py">stats</a>(\*\*<a href="src/cloudflare/types/radar/bgp/route_stats_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/route_stats_response.py">RouteStatsResponse</a></code>
|
||||
|
||||
### IPs
|
||||
|
||||
Types:
|
||||
|
||||
```python
|
||||
from cloudflare.types.radar.bgp import IPTimeseriesResponse
|
||||
```
|
||||
|
||||
Methods:
|
||||
|
||||
- <code title="get /radar/bgp/ips/timeseries">client.radar.bgp.ips.<a href="./src/cloudflare/resources/radar/bgp/ips.py">timeseries</a>(\*\*<a href="src/cloudflare/types/radar/bgp/ip_timeseries_params.py">params</a>) -> <a href="./src/cloudflare/types/radar/bgp/ip_timeseries_response.py">IPTimeseriesResponse</a></code>
|
||||
|
||||
## Datasets
|
||||
|
||||
Types:
|
||||
|
|
@ -7628,14 +7640,14 @@ from cloudflare.types.cloudforce_one import (
|
|||
|
||||
Methods:
|
||||
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/new">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">create</a>(account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/request_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Item</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">update</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/request_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Item</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/new">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">create</a>(account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/request_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Optional</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">update</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/request_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Optional</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">list</a>(account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/request_list_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/list_item.py">SyncV4PagePaginationArray[ListItem]</a></code>
|
||||
- <code title="delete /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">delete</a>(request_identifier, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/request_delete_response.py">RequestDeleteResponse</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/constants">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">constants</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/request_constants.py">RequestConstants</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">get</a>(request_identifier, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Item</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/quota">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">quota</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/quota.py">Quota</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/types">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">types</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/request_types.py">RequestTypes</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/constants">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">constants</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/request_constants.py">Optional</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">get</a>(request_identifier, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Optional</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/quota">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">quota</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/quota.py">Optional</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/types">client.cloudforce_one.requests.<a href="./src/cloudflare/resources/cloudforce_one/requests/requests.py">types</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/request_types.py">Optional</a></code>
|
||||
|
||||
### Message
|
||||
|
||||
|
|
@ -7651,10 +7663,10 @@ from cloudflare.types.cloudforce_one.requests import (
|
|||
|
||||
Methods:
|
||||
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/new">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">create</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message.py">Message</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">update</a>(message_identifer, \*, account_identifier, request_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message.py">Message</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/new">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">create</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message.py">Optional</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">update</a>(message_identifer, \*, account_identifier, request_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message.py">Optional</a></code>
|
||||
- <code title="delete /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">delete</a>(message_identifer, \*, account_identifier, request_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message_delete_response.py">MessageDeleteResponse</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">get</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_get_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message_get_response.py">MessageGetResponse</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message">client.cloudforce_one.requests.message.<a href="./src/cloudflare/resources/cloudforce_one/requests/message.py">get</a>(request_identifier, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/message_get_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/message_get_response.py">Optional</a></code>
|
||||
|
||||
### Priority
|
||||
|
||||
|
|
@ -7671,11 +7683,11 @@ from cloudflare.types.cloudforce_one.requests import (
|
|||
|
||||
Methods:
|
||||
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/priority/new">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">create</a>(account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/priority_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/priority.py">Priority</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">update</a>(priority_identifer, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/priority_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Item</a></code>
|
||||
- <code title="post /accounts/{account_identifier}/cloudforce-one/requests/priority/new">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">create</a>(account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/priority_create_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/requests/priority.py">Optional</a></code>
|
||||
- <code title="put /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">update</a>(priority_identifer, \*, account_identifier, \*\*<a href="src/cloudflare/types/cloudforce_one/requests/priority_update_params.py">params</a>) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Optional</a></code>
|
||||
- <code title="delete /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">delete</a>(priority_identifer, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/requests/priority_delete_response.py">PriorityDeleteResponse</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">get</a>(priority_identifer, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Item</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/priority/quota">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">quota</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/quota.py">Quota</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">get</a>(priority_identifer, \*, account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/item.py">Optional</a></code>
|
||||
- <code title="get /accounts/{account_identifier}/cloudforce-one/requests/priority/quota">client.cloudforce_one.requests.priority.<a href="./src/cloudflare/resources/cloudforce_one/requests/priority.py">quota</a>(account_identifier) -> <a href="./src/cloudflare/types/cloudforce_one/quota.py">Optional</a></code>
|
||||
|
||||
# EventNotifications
|
||||
|
||||
|
|
|
|||
|
|
@ -16,4 +16,4 @@ echo "==> Installing Python dependencies…"
|
|||
# experimental uv support makes installations significantly faster
|
||||
rye config --set-bool behavior.use-uv=true
|
||||
|
||||
rye sync
|
||||
rye sync --all-features
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Type, Union, cast
|
||||
from typing import Type, Union, Optional, cast
|
||||
from datetime import datetime
|
||||
from typing_extensions import Literal
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Message:
|
||||
) -> Optional[Message]:
|
||||
"""
|
||||
Creating a request adds the request into the Cloudforce One queue for analysis.
|
||||
In addition to the content, a short title, type, priority, and releasability
|
||||
|
|
@ -87,9 +87,9 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Message]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Message]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Message], ResultWrapper[Message]),
|
||||
cast_to=cast(Type[Optional[Message]], ResultWrapper[Message]),
|
||||
)
|
||||
|
||||
def update(
|
||||
|
|
@ -109,7 +109,7 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Message:
|
||||
) -> Optional[Message]:
|
||||
"""
|
||||
Update a Request Message
|
||||
|
||||
|
|
@ -157,9 +157,9 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Message]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Message]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Message], ResultWrapper[Message]),
|
||||
cast_to=cast(Type[Optional[Message]], ResultWrapper[Message]),
|
||||
)
|
||||
|
||||
def delete(
|
||||
|
|
@ -195,21 +195,12 @@ class MessageResource(SyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not request_identifier:
|
||||
raise ValueError(f"Expected a non-empty value for `request_identifier` but received {request_identifier!r}")
|
||||
return cast(
|
||||
MessageDeleteResponse,
|
||||
self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[MessageDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[MessageDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=MessageDeleteResponse,
|
||||
)
|
||||
|
||||
def get(
|
||||
|
|
@ -229,7 +220,7 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> MessageGetResponse:
|
||||
) -> Optional[MessageGetResponse]:
|
||||
"""
|
||||
List Request Messages
|
||||
|
||||
|
|
@ -280,9 +271,9 @@ class MessageResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[MessageGetResponse]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[MessageGetResponse]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[MessageGetResponse], ResultWrapper[MessageGetResponse]),
|
||||
cast_to=cast(Type[Optional[MessageGetResponse]], ResultWrapper[MessageGetResponse]),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -307,7 +298,7 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Message:
|
||||
) -> Optional[Message]:
|
||||
"""
|
||||
Creating a request adds the request into the Cloudforce One queue for analysis.
|
||||
In addition to the content, a short title, type, priority, and releasability
|
||||
|
|
@ -340,9 +331,9 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Message]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Message]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Message], ResultWrapper[Message]),
|
||||
cast_to=cast(Type[Optional[Message]], ResultWrapper[Message]),
|
||||
)
|
||||
|
||||
async def update(
|
||||
|
|
@ -362,7 +353,7 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Message:
|
||||
) -> Optional[Message]:
|
||||
"""
|
||||
Update a Request Message
|
||||
|
||||
|
|
@ -410,9 +401,9 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Message]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Message]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Message], ResultWrapper[Message]),
|
||||
cast_to=cast(Type[Optional[Message]], ResultWrapper[Message]),
|
||||
)
|
||||
|
||||
async def delete(
|
||||
|
|
@ -448,21 +439,12 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not request_identifier:
|
||||
raise ValueError(f"Expected a non-empty value for `request_identifier` but received {request_identifier!r}")
|
||||
return cast(
|
||||
MessageDeleteResponse,
|
||||
await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[MessageDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[MessageDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}/message/{message_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=MessageDeleteResponse,
|
||||
)
|
||||
|
||||
async def get(
|
||||
|
|
@ -482,7 +464,7 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> MessageGetResponse:
|
||||
) -> Optional[MessageGetResponse]:
|
||||
"""
|
||||
List Request Messages
|
||||
|
||||
|
|
@ -533,9 +515,9 @@ class AsyncMessageResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[MessageGetResponse]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[MessageGetResponse]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[MessageGetResponse], ResultWrapper[MessageGetResponse]),
|
||||
cast_to=cast(Type[Optional[MessageGetResponse]], ResultWrapper[MessageGetResponse]),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, List, Type, cast
|
||||
from typing import List, Type, Optional, cast
|
||||
from typing_extensions import Literal
|
||||
|
||||
import httpx
|
||||
|
|
@ -57,7 +57,7 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Priority:
|
||||
) -> Optional[Priority]:
|
||||
"""
|
||||
Create a New Priority Requirement
|
||||
|
||||
|
|
@ -98,9 +98,9 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Priority]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Priority]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Priority], ResultWrapper[Priority]),
|
||||
cast_to=cast(Type[Optional[Priority]], ResultWrapper[Priority]),
|
||||
)
|
||||
|
||||
def update(
|
||||
|
|
@ -118,7 +118,7 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Update a Priority Intelligence Requirement
|
||||
|
||||
|
|
@ -163,9 +163,9 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def delete(
|
||||
|
|
@ -200,21 +200,12 @@ class PriorityResource(SyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not priority_identifer:
|
||||
raise ValueError(f"Expected a non-empty value for `priority_identifer` but received {priority_identifer!r}")
|
||||
return cast(
|
||||
PriorityDeleteResponse,
|
||||
self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[PriorityDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[PriorityDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=PriorityDeleteResponse,
|
||||
)
|
||||
|
||||
def get(
|
||||
|
|
@ -228,7 +219,7 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Get a Priority Intelligence Requirement
|
||||
|
||||
|
|
@ -256,9 +247,9 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def quota(
|
||||
|
|
@ -271,7 +262,7 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Quota:
|
||||
) -> Optional[Quota]:
|
||||
"""
|
||||
Get Priority Intelligence Requirement Quota
|
||||
|
||||
|
|
@ -295,9 +286,9 @@ class PriorityResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Quota]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Quota]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Quota], ResultWrapper[Quota]),
|
||||
cast_to=cast(Type[Optional[Quota]], ResultWrapper[Quota]),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -324,7 +315,7 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Priority:
|
||||
) -> Optional[Priority]:
|
||||
"""
|
||||
Create a New Priority Requirement
|
||||
|
||||
|
|
@ -365,9 +356,9 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Priority]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Priority]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Priority], ResultWrapper[Priority]),
|
||||
cast_to=cast(Type[Optional[Priority]], ResultWrapper[Priority]),
|
||||
)
|
||||
|
||||
async def update(
|
||||
|
|
@ -385,7 +376,7 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Update a Priority Intelligence Requirement
|
||||
|
||||
|
|
@ -430,9 +421,9 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
async def delete(
|
||||
|
|
@ -467,21 +458,12 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not priority_identifer:
|
||||
raise ValueError(f"Expected a non-empty value for `priority_identifer` but received {priority_identifer!r}")
|
||||
return cast(
|
||||
PriorityDeleteResponse,
|
||||
await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[PriorityDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[PriorityDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/priority/{priority_identifer}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=PriorityDeleteResponse,
|
||||
)
|
||||
|
||||
async def get(
|
||||
|
|
@ -495,7 +477,7 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Get a Priority Intelligence Requirement
|
||||
|
||||
|
|
@ -523,9 +505,9 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
async def quota(
|
||||
|
|
@ -538,7 +520,7 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Quota:
|
||||
) -> Optional[Quota]:
|
||||
"""
|
||||
Get Priority Intelligence Requirement Quota
|
||||
|
||||
|
|
@ -562,9 +544,9 @@ class AsyncPriorityResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Quota]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Quota]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Quota], ResultWrapper[Quota]),
|
||||
cast_to=cast(Type[Optional[Quota]], ResultWrapper[Quota]),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any, Type, Union, cast
|
||||
from typing import Type, Union, Optional, cast
|
||||
from datetime import datetime
|
||||
from typing_extensions import Literal
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Creating a request adds the request into the Cloudforce One queue for analysis.
|
||||
In addition to the content, a short title, type, priority, and releasability
|
||||
|
|
@ -132,9 +132,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def update(
|
||||
|
|
@ -153,7 +153,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""Updating a request alters the request in the Cloudforce One queue.
|
||||
|
||||
This API may
|
||||
|
|
@ -204,9 +204,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def list(
|
||||
|
|
@ -323,21 +323,12 @@ class RequestsResource(SyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not request_identifier:
|
||||
raise ValueError(f"Expected a non-empty value for `request_identifier` but received {request_identifier!r}")
|
||||
return cast(
|
||||
RequestDeleteResponse,
|
||||
self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[RequestDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=RequestDeleteResponse,
|
||||
)
|
||||
|
||||
def constants(
|
||||
|
|
@ -350,7 +341,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> RequestConstants:
|
||||
) -> Optional[RequestConstants]:
|
||||
"""
|
||||
Get Request Priority, Status, and TLP constants
|
||||
|
||||
|
|
@ -374,9 +365,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestConstants]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[RequestConstants]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[RequestConstants], ResultWrapper[RequestConstants]),
|
||||
cast_to=cast(Type[Optional[RequestConstants]], ResultWrapper[RequestConstants]),
|
||||
)
|
||||
|
||||
def get(
|
||||
|
|
@ -390,7 +381,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Get a Request
|
||||
|
||||
|
|
@ -418,9 +409,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def quota(
|
||||
|
|
@ -433,7 +424,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Quota:
|
||||
) -> Optional[Quota]:
|
||||
"""
|
||||
Get Request Quota
|
||||
|
||||
|
|
@ -457,9 +448,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Quota]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Quota]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Quota], ResultWrapper[Quota]),
|
||||
cast_to=cast(Type[Optional[Quota]], ResultWrapper[Quota]),
|
||||
)
|
||||
|
||||
def types(
|
||||
|
|
@ -472,7 +463,7 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> RequestTypes:
|
||||
) -> Optional[RequestTypes]:
|
||||
"""
|
||||
Get Request Types
|
||||
|
||||
|
|
@ -496,9 +487,9 @@ class RequestsResource(SyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestTypes]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[RequestTypes]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[RequestTypes], ResultWrapper[RequestTypes]),
|
||||
cast_to=cast(Type[Optional[RequestTypes]], ResultWrapper[RequestTypes]),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -534,7 +525,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Creating a request adds the request into the Cloudforce One queue for analysis.
|
||||
In addition to the content, a short title, type, priority, and releasability
|
||||
|
|
@ -580,9 +571,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
async def update(
|
||||
|
|
@ -601,7 +592,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""Updating a request alters the request in the Cloudforce One queue.
|
||||
|
||||
This API may
|
||||
|
|
@ -652,9 +643,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
def list(
|
||||
|
|
@ -771,21 +762,12 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}")
|
||||
if not request_identifier:
|
||||
raise ValueError(f"Expected a non-empty value for `request_identifier` but received {request_identifier!r}")
|
||||
return cast(
|
||||
RequestDeleteResponse,
|
||||
await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestDeleteResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(
|
||||
Any, ResultWrapper[RequestDeleteResponse]
|
||||
), # Union types cannot be passed in as arguments in the type system
|
||||
return await self._delete(
|
||||
f"/accounts/{account_identifier}/cloudforce-one/requests/{request_identifier}",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
||||
),
|
||||
cast_to=RequestDeleteResponse,
|
||||
)
|
||||
|
||||
async def constants(
|
||||
|
|
@ -798,7 +780,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> RequestConstants:
|
||||
) -> Optional[RequestConstants]:
|
||||
"""
|
||||
Get Request Priority, Status, and TLP constants
|
||||
|
||||
|
|
@ -822,9 +804,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestConstants]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[RequestConstants]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[RequestConstants], ResultWrapper[RequestConstants]),
|
||||
cast_to=cast(Type[Optional[RequestConstants]], ResultWrapper[RequestConstants]),
|
||||
)
|
||||
|
||||
async def get(
|
||||
|
|
@ -838,7 +820,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Item:
|
||||
) -> Optional[Item]:
|
||||
"""
|
||||
Get a Request
|
||||
|
||||
|
|
@ -866,9 +848,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Item]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Item]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Item], ResultWrapper[Item]),
|
||||
cast_to=cast(Type[Optional[Item]], ResultWrapper[Item]),
|
||||
)
|
||||
|
||||
async def quota(
|
||||
|
|
@ -881,7 +863,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> Quota:
|
||||
) -> Optional[Quota]:
|
||||
"""
|
||||
Get Request Quota
|
||||
|
||||
|
|
@ -905,9 +887,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[Quota]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[Quota]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[Quota], ResultWrapper[Quota]),
|
||||
cast_to=cast(Type[Optional[Quota]], ResultWrapper[Quota]),
|
||||
)
|
||||
|
||||
async def types(
|
||||
|
|
@ -920,7 +902,7 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> RequestTypes:
|
||||
) -> Optional[RequestTypes]:
|
||||
"""
|
||||
Get Request Types
|
||||
|
||||
|
|
@ -944,9 +926,9 @@ class AsyncRequestsResource(AsyncAPIResource):
|
|||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
post_parser=ResultWrapper[RequestTypes]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[RequestTypes]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[RequestTypes], ResultWrapper[RequestTypes]),
|
||||
cast_to=cast(Type[Optional[RequestTypes]], ResultWrapper[RequestTypes]),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Type, cast
|
||||
from typing import Type, Optional, cast
|
||||
|
||||
import httpx
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ class WhoisResource(SyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> WhoisGetResponse:
|
||||
) -> Optional[WhoisGetResponse]:
|
||||
"""
|
||||
Get WHOIS Record
|
||||
|
||||
|
|
@ -74,9 +74,9 @@ class WhoisResource(SyncAPIResource):
|
|||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
query=maybe_transform({"domain": domain}, whois_get_params.WhoisGetParams),
|
||||
post_parser=ResultWrapper[WhoisGetResponse]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[WhoisGetResponse]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[WhoisGetResponse], ResultWrapper[WhoisGetResponse]),
|
||||
cast_to=cast(Type[Optional[WhoisGetResponse]], ResultWrapper[WhoisGetResponse]),
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -100,7 +100,7 @@ class AsyncWhoisResource(AsyncAPIResource):
|
|||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> WhoisGetResponse:
|
||||
) -> Optional[WhoisGetResponse]:
|
||||
"""
|
||||
Get WHOIS Record
|
||||
|
||||
|
|
@ -125,9 +125,9 @@ class AsyncWhoisResource(AsyncAPIResource):
|
|||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
query=await async_maybe_transform({"domain": domain}, whois_get_params.WhoisGetParams),
|
||||
post_parser=ResultWrapper[WhoisGetResponse]._unwrapper,
|
||||
post_parser=ResultWrapper[Optional[WhoisGetResponse]]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[WhoisGetResponse], ResultWrapper[WhoisGetResponse]),
|
||||
cast_to=cast(Type[Optional[WhoisGetResponse]], ResultWrapper[WhoisGetResponse]),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@ from .bgp import (
|
|||
BGPResourceWithStreamingResponse,
|
||||
AsyncBGPResourceWithStreamingResponse,
|
||||
)
|
||||
from .ips import (
|
||||
IPsResource,
|
||||
AsyncIPsResource,
|
||||
IPsResourceWithRawResponse,
|
||||
AsyncIPsResourceWithRawResponse,
|
||||
IPsResourceWithStreamingResponse,
|
||||
AsyncIPsResourceWithStreamingResponse,
|
||||
)
|
||||
from .top import (
|
||||
TopResource,
|
||||
AsyncTopResource,
|
||||
|
|
@ -66,6 +74,12 @@ __all__ = [
|
|||
"AsyncRoutesResourceWithRawResponse",
|
||||
"RoutesResourceWithStreamingResponse",
|
||||
"AsyncRoutesResourceWithStreamingResponse",
|
||||
"IPsResource",
|
||||
"AsyncIPsResource",
|
||||
"IPsResourceWithRawResponse",
|
||||
"AsyncIPsResourceWithRawResponse",
|
||||
"IPsResourceWithStreamingResponse",
|
||||
"AsyncIPsResourceWithStreamingResponse",
|
||||
"BGPResource",
|
||||
"AsyncBGPResource",
|
||||
"BGPResourceWithRawResponse",
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@ from typing_extensions import Literal
|
|||
|
||||
import httpx
|
||||
|
||||
from .ips import (
|
||||
IPsResource,
|
||||
AsyncIPsResource,
|
||||
IPsResourceWithRawResponse,
|
||||
AsyncIPsResourceWithRawResponse,
|
||||
IPsResourceWithStreamingResponse,
|
||||
AsyncIPsResourceWithStreamingResponse,
|
||||
)
|
||||
from .top import (
|
||||
TopResource,
|
||||
AsyncTopResource,
|
||||
|
|
@ -83,6 +91,10 @@ class BGPResource(SyncAPIResource):
|
|||
def routes(self) -> RoutesResource:
|
||||
return RoutesResource(self._client)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> IPsResource:
|
||||
return IPsResource(self._client)
|
||||
|
||||
@cached_property
|
||||
def with_raw_response(self) -> BGPResourceWithRawResponse:
|
||||
return BGPResourceWithRawResponse(self)
|
||||
|
|
@ -212,6 +224,10 @@ class AsyncBGPResource(AsyncAPIResource):
|
|||
def routes(self) -> AsyncRoutesResource:
|
||||
return AsyncRoutesResource(self._client)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> AsyncIPsResource:
|
||||
return AsyncIPsResource(self._client)
|
||||
|
||||
@cached_property
|
||||
def with_raw_response(self) -> AsyncBGPResourceWithRawResponse:
|
||||
return AsyncBGPResourceWithRawResponse(self)
|
||||
|
|
@ -348,6 +364,10 @@ class BGPResourceWithRawResponse:
|
|||
def routes(self) -> RoutesResourceWithRawResponse:
|
||||
return RoutesResourceWithRawResponse(self._bgp.routes)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> IPsResourceWithRawResponse:
|
||||
return IPsResourceWithRawResponse(self._bgp.ips)
|
||||
|
||||
|
||||
class AsyncBGPResourceWithRawResponse:
|
||||
def __init__(self, bgp: AsyncBGPResource) -> None:
|
||||
|
|
@ -373,6 +393,10 @@ class AsyncBGPResourceWithRawResponse:
|
|||
def routes(self) -> AsyncRoutesResourceWithRawResponse:
|
||||
return AsyncRoutesResourceWithRawResponse(self._bgp.routes)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> AsyncIPsResourceWithRawResponse:
|
||||
return AsyncIPsResourceWithRawResponse(self._bgp.ips)
|
||||
|
||||
|
||||
class BGPResourceWithStreamingResponse:
|
||||
def __init__(self, bgp: BGPResource) -> None:
|
||||
|
|
@ -398,6 +422,10 @@ class BGPResourceWithStreamingResponse:
|
|||
def routes(self) -> RoutesResourceWithStreamingResponse:
|
||||
return RoutesResourceWithStreamingResponse(self._bgp.routes)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> IPsResourceWithStreamingResponse:
|
||||
return IPsResourceWithStreamingResponse(self._bgp.ips)
|
||||
|
||||
|
||||
class AsyncBGPResourceWithStreamingResponse:
|
||||
def __init__(self, bgp: AsyncBGPResource) -> None:
|
||||
|
|
@ -422,3 +450,7 @@ class AsyncBGPResourceWithStreamingResponse:
|
|||
@cached_property
|
||||
def routes(self) -> AsyncRoutesResourceWithStreamingResponse:
|
||||
return AsyncRoutesResourceWithStreamingResponse(self._bgp.routes)
|
||||
|
||||
@cached_property
|
||||
def ips(self) -> AsyncIPsResourceWithStreamingResponse:
|
||||
return AsyncIPsResourceWithStreamingResponse(self._bgp.ips)
|
||||
|
|
|
|||
267
src/cloudflare/resources/radar/bgp/ips.py
Normal file
267
src/cloudflare/resources/radar/bgp/ips.py
Normal file
|
|
@ -0,0 +1,267 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import List, Type, Union, cast
|
||||
from datetime import datetime
|
||||
from typing_extensions import Literal
|
||||
|
||||
import httpx
|
||||
|
||||
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
||||
from ...._utils import (
|
||||
maybe_transform,
|
||||
async_maybe_transform,
|
||||
)
|
||||
from ...._compat import cached_property
|
||||
from ...._resource import SyncAPIResource, AsyncAPIResource
|
||||
from ...._response import (
|
||||
to_raw_response_wrapper,
|
||||
to_streamed_response_wrapper,
|
||||
async_to_raw_response_wrapper,
|
||||
async_to_streamed_response_wrapper,
|
||||
)
|
||||
from ...._wrappers import ResultWrapper
|
||||
from ...._base_client import (
|
||||
make_request_options,
|
||||
)
|
||||
from ....types.radar.bgp import ip_timeseries_params
|
||||
from ....types.radar.bgp.ip_timeseries_response import IPTimeseriesResponse
|
||||
|
||||
__all__ = ["IPsResource", "AsyncIPsResource"]
|
||||
|
||||
|
||||
class IPsResource(SyncAPIResource):
|
||||
@cached_property
|
||||
def with_raw_response(self) -> IPsResourceWithRawResponse:
|
||||
return IPsResourceWithRawResponse(self)
|
||||
|
||||
@cached_property
|
||||
def with_streaming_response(self) -> IPsResourceWithStreamingResponse:
|
||||
return IPsResourceWithStreamingResponse(self)
|
||||
|
||||
def timeseries(
|
||||
self,
|
||||
*,
|
||||
asn: str | NotGiven = NOT_GIVEN,
|
||||
date_end: Union[str, datetime] | NotGiven = NOT_GIVEN,
|
||||
date_range: Literal[
|
||||
"1d",
|
||||
"2d",
|
||||
"7d",
|
||||
"14d",
|
||||
"28d",
|
||||
"12w",
|
||||
"24w",
|
||||
"52w",
|
||||
"1dControl",
|
||||
"2dControl",
|
||||
"7dControl",
|
||||
"14dControl",
|
||||
"28dControl",
|
||||
"12wControl",
|
||||
"24wControl",
|
||||
]
|
||||
| NotGiven = NOT_GIVEN,
|
||||
date_start: Union[str, datetime] | NotGiven = NOT_GIVEN,
|
||||
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
|
||||
include_delay: bool | NotGiven = NOT_GIVEN,
|
||||
location: str | NotGiven = NOT_GIVEN,
|
||||
name: List[str] | NotGiven = NOT_GIVEN,
|
||||
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
||||
# The extra values given here take precedence over values defined on the client or passed to this method.
|
||||
extra_headers: Headers | None = None,
|
||||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> IPTimeseriesResponse:
|
||||
"""
|
||||
Gets time-series data for the announced IP space count, represented as the
|
||||
number of IPv4 /24s and IPv6 /48s, for a given ASN.
|
||||
|
||||
Args:
|
||||
asn: Comma separated list of ASNs.
|
||||
|
||||
date_end: End of the date range (inclusive).
|
||||
|
||||
date_range: Shorthand date ranges for the last X days - use when you don't need specific
|
||||
start and end dates.
|
||||
|
||||
date_start: Start of the date range (inclusive).
|
||||
|
||||
format: Format results are returned in.
|
||||
|
||||
include_delay: Include data delay meta information
|
||||
|
||||
location: Comma separated list of locations.
|
||||
|
||||
name: Array of names that will be used to name the series in responses.
|
||||
|
||||
extra_headers: Send extra headers
|
||||
|
||||
extra_query: Add additional query parameters to the request
|
||||
|
||||
extra_body: Add additional JSON properties to the request
|
||||
|
||||
timeout: Override the client-level default timeout for this request, in seconds
|
||||
"""
|
||||
return self._get(
|
||||
"/radar/bgp/ips/timeseries",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
query=maybe_transform(
|
||||
{
|
||||
"asn": asn,
|
||||
"date_end": date_end,
|
||||
"date_range": date_range,
|
||||
"date_start": date_start,
|
||||
"format": format,
|
||||
"include_delay": include_delay,
|
||||
"location": location,
|
||||
"name": name,
|
||||
},
|
||||
ip_timeseries_params.IPTimeseriesParams,
|
||||
),
|
||||
post_parser=ResultWrapper[IPTimeseriesResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[IPTimeseriesResponse], ResultWrapper[IPTimeseriesResponse]),
|
||||
)
|
||||
|
||||
|
||||
class AsyncIPsResource(AsyncAPIResource):
|
||||
@cached_property
|
||||
def with_raw_response(self) -> AsyncIPsResourceWithRawResponse:
|
||||
return AsyncIPsResourceWithRawResponse(self)
|
||||
|
||||
@cached_property
|
||||
def with_streaming_response(self) -> AsyncIPsResourceWithStreamingResponse:
|
||||
return AsyncIPsResourceWithStreamingResponse(self)
|
||||
|
||||
async def timeseries(
|
||||
self,
|
||||
*,
|
||||
asn: str | NotGiven = NOT_GIVEN,
|
||||
date_end: Union[str, datetime] | NotGiven = NOT_GIVEN,
|
||||
date_range: Literal[
|
||||
"1d",
|
||||
"2d",
|
||||
"7d",
|
||||
"14d",
|
||||
"28d",
|
||||
"12w",
|
||||
"24w",
|
||||
"52w",
|
||||
"1dControl",
|
||||
"2dControl",
|
||||
"7dControl",
|
||||
"14dControl",
|
||||
"28dControl",
|
||||
"12wControl",
|
||||
"24wControl",
|
||||
]
|
||||
| NotGiven = NOT_GIVEN,
|
||||
date_start: Union[str, datetime] | NotGiven = NOT_GIVEN,
|
||||
format: Literal["JSON", "CSV"] | NotGiven = NOT_GIVEN,
|
||||
include_delay: bool | NotGiven = NOT_GIVEN,
|
||||
location: str | NotGiven = NOT_GIVEN,
|
||||
name: List[str] | NotGiven = NOT_GIVEN,
|
||||
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
||||
# The extra values given here take precedence over values defined on the client or passed to this method.
|
||||
extra_headers: Headers | None = None,
|
||||
extra_query: Query | None = None,
|
||||
extra_body: Body | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> IPTimeseriesResponse:
|
||||
"""
|
||||
Gets time-series data for the announced IP space count, represented as the
|
||||
number of IPv4 /24s and IPv6 /48s, for a given ASN.
|
||||
|
||||
Args:
|
||||
asn: Comma separated list of ASNs.
|
||||
|
||||
date_end: End of the date range (inclusive).
|
||||
|
||||
date_range: Shorthand date ranges for the last X days - use when you don't need specific
|
||||
start and end dates.
|
||||
|
||||
date_start: Start of the date range (inclusive).
|
||||
|
||||
format: Format results are returned in.
|
||||
|
||||
include_delay: Include data delay meta information
|
||||
|
||||
location: Comma separated list of locations.
|
||||
|
||||
name: Array of names that will be used to name the series in responses.
|
||||
|
||||
extra_headers: Send extra headers
|
||||
|
||||
extra_query: Add additional query parameters to the request
|
||||
|
||||
extra_body: Add additional JSON properties to the request
|
||||
|
||||
timeout: Override the client-level default timeout for this request, in seconds
|
||||
"""
|
||||
return await self._get(
|
||||
"/radar/bgp/ips/timeseries",
|
||||
options=make_request_options(
|
||||
extra_headers=extra_headers,
|
||||
extra_query=extra_query,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout,
|
||||
query=await async_maybe_transform(
|
||||
{
|
||||
"asn": asn,
|
||||
"date_end": date_end,
|
||||
"date_range": date_range,
|
||||
"date_start": date_start,
|
||||
"format": format,
|
||||
"include_delay": include_delay,
|
||||
"location": location,
|
||||
"name": name,
|
||||
},
|
||||
ip_timeseries_params.IPTimeseriesParams,
|
||||
),
|
||||
post_parser=ResultWrapper[IPTimeseriesResponse]._unwrapper,
|
||||
),
|
||||
cast_to=cast(Type[IPTimeseriesResponse], ResultWrapper[IPTimeseriesResponse]),
|
||||
)
|
||||
|
||||
|
||||
class IPsResourceWithRawResponse:
|
||||
def __init__(self, ips: IPsResource) -> None:
|
||||
self._ips = ips
|
||||
|
||||
self.timeseries = to_raw_response_wrapper(
|
||||
ips.timeseries,
|
||||
)
|
||||
|
||||
|
||||
class AsyncIPsResourceWithRawResponse:
|
||||
def __init__(self, ips: AsyncIPsResource) -> None:
|
||||
self._ips = ips
|
||||
|
||||
self.timeseries = async_to_raw_response_wrapper(
|
||||
ips.timeseries,
|
||||
)
|
||||
|
||||
|
||||
class IPsResourceWithStreamingResponse:
|
||||
def __init__(self, ips: IPsResource) -> None:
|
||||
self._ips = ips
|
||||
|
||||
self.timeseries = to_streamed_response_wrapper(
|
||||
ips.timeseries,
|
||||
)
|
||||
|
||||
|
||||
class AsyncIPsResourceWithStreamingResponse:
|
||||
def __init__(self, ips: AsyncIPsResource) -> None:
|
||||
self._ips = ips
|
||||
|
||||
self.timeseries = async_to_streamed_response_wrapper(
|
||||
ips.timeseries,
|
||||
)
|
||||
|
|
@ -1,7 +1,18 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from typing import List, Union
|
||||
from typing import List
|
||||
from typing_extensions import Literal
|
||||
|
||||
from ..._models import BaseModel
|
||||
from ..shared.response_info import ResponseInfo
|
||||
|
||||
__all__ = ["RequestDeleteResponse"]
|
||||
|
||||
RequestDeleteResponse = Union[List[object], str, object]
|
||||
|
||||
class RequestDeleteResponse(BaseModel):
|
||||
errors: List[ResponseInfo]
|
||||
|
||||
messages: List[ResponseInfo]
|
||||
|
||||
success: Literal[True]
|
||||
"""Whether the API call was successful"""
|
||||
|
|
|
|||
|
|
@ -1,7 +1,18 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from typing import List, Union
|
||||
from typing import List
|
||||
from typing_extensions import Literal
|
||||
|
||||
from ...._models import BaseModel
|
||||
from ...shared.response_info import ResponseInfo
|
||||
|
||||
__all__ = ["MessageDeleteResponse"]
|
||||
|
||||
MessageDeleteResponse = Union[List[object], str, object]
|
||||
|
||||
class MessageDeleteResponse(BaseModel):
|
||||
errors: List[ResponseInfo]
|
||||
|
||||
messages: List[ResponseInfo]
|
||||
|
||||
success: Literal[True]
|
||||
"""Whether the API call was successful"""
|
||||
|
|
|
|||
|
|
@ -1,7 +1,18 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from typing import List, Union
|
||||
from typing import List
|
||||
from typing_extensions import Literal
|
||||
|
||||
from ...._models import BaseModel
|
||||
from ...shared.response_info import ResponseInfo
|
||||
|
||||
__all__ = ["PriorityDeleteResponse"]
|
||||
|
||||
PriorityDeleteResponse = Union[List[object], str, object]
|
||||
|
||||
class PriorityDeleteResponse(BaseModel):
|
||||
errors: List[ResponseInfo]
|
||||
|
||||
messages: List[ResponseInfo]
|
||||
|
||||
success: Literal[True]
|
||||
"""Whether the API call was successful"""
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ from .route_stats_params import RouteStatsParams as RouteStatsParams
|
|||
from .route_moas_response import RouteMoasResponse as RouteMoasResponse
|
||||
from .route_pfx2as_params import RoutePfx2asParams as RoutePfx2asParams
|
||||
from .top_prefixes_params import TopPrefixesParams as TopPrefixesParams
|
||||
from .ip_timeseries_params import IPTimeseriesParams as IPTimeseriesParams
|
||||
from .route_stats_response import RouteStatsResponse as RouteStatsResponse
|
||||
from .route_pfx2as_response import RoutePfx2asResponse as RoutePfx2asResponse
|
||||
from .top_prefixes_response import TopPrefixesResponse as TopPrefixesResponse
|
||||
from .ip_timeseries_response import IPTimeseriesResponse as IPTimeseriesResponse
|
||||
|
|
|
|||
59
src/cloudflare/types/radar/bgp/ip_timeseries_params.py
Normal file
59
src/cloudflare/types/radar/bgp/ip_timeseries_params.py
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import List, Union
|
||||
from datetime import datetime
|
||||
from typing_extensions import Literal, Annotated, TypedDict
|
||||
|
||||
from ...._utils import PropertyInfo
|
||||
|
||||
__all__ = ["IPTimeseriesParams"]
|
||||
|
||||
|
||||
class IPTimeseriesParams(TypedDict, total=False):
|
||||
asn: str
|
||||
"""Comma separated list of ASNs."""
|
||||
|
||||
date_end: Annotated[Union[str, datetime], PropertyInfo(alias="dateEnd", format="iso8601")]
|
||||
"""End of the date range (inclusive)."""
|
||||
|
||||
date_range: Annotated[
|
||||
Literal[
|
||||
"1d",
|
||||
"2d",
|
||||
"7d",
|
||||
"14d",
|
||||
"28d",
|
||||
"12w",
|
||||
"24w",
|
||||
"52w",
|
||||
"1dControl",
|
||||
"2dControl",
|
||||
"7dControl",
|
||||
"14dControl",
|
||||
"28dControl",
|
||||
"12wControl",
|
||||
"24wControl",
|
||||
],
|
||||
PropertyInfo(alias="dateRange"),
|
||||
]
|
||||
"""
|
||||
Shorthand date ranges for the last X days - use when you don't need specific
|
||||
start and end dates.
|
||||
"""
|
||||
|
||||
date_start: Annotated[Union[str, datetime], PropertyInfo(alias="dateStart", format="iso8601")]
|
||||
"""Start of the date range (inclusive)."""
|
||||
|
||||
format: Literal["JSON", "CSV"]
|
||||
"""Format results are returned in."""
|
||||
|
||||
include_delay: Annotated[bool, PropertyInfo(alias="includeDelay")]
|
||||
"""Include data delay meta information"""
|
||||
|
||||
location: str
|
||||
"""Comma separated list of locations."""
|
||||
|
||||
name: List[str]
|
||||
"""Array of names that will be used to name the series in responses."""
|
||||
46
src/cloudflare/types/radar/bgp/ip_timeseries_response.py
Normal file
46
src/cloudflare/types/radar/bgp/ip_timeseries_response.py
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from typing import List
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import Field as FieldInfo
|
||||
|
||||
from ...._models import BaseModel
|
||||
|
||||
__all__ = ["IPTimeseriesResponse", "Meta", "MetaDateRange", "Serie174", "SerieCn"]
|
||||
|
||||
|
||||
class MetaDateRange(BaseModel):
|
||||
end_time: datetime = FieldInfo(alias="endTime")
|
||||
"""Adjusted end of date range."""
|
||||
|
||||
start_time: datetime = FieldInfo(alias="startTime")
|
||||
"""Adjusted start of date range."""
|
||||
|
||||
|
||||
class Meta(BaseModel):
|
||||
date_range: List[MetaDateRange] = FieldInfo(alias="dateRange")
|
||||
|
||||
|
||||
class Serie174(BaseModel):
|
||||
ipv4: List[str]
|
||||
|
||||
ipv6: List[str]
|
||||
|
||||
timestamps: List[datetime]
|
||||
|
||||
|
||||
class SerieCn(BaseModel):
|
||||
ipv4: List[str]
|
||||
|
||||
ipv6: List[str]
|
||||
|
||||
timestamps: List[datetime]
|
||||
|
||||
|
||||
class IPTimeseriesResponse(BaseModel):
|
||||
meta: Meta
|
||||
|
||||
serie_174: Serie174
|
||||
|
||||
serie_cn: SerieCn
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Any, cast
|
||||
from typing import Any, Optional, cast
|
||||
|
||||
import pytest
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ class TestMessage:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_create_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -37,7 +37,7 @@ class TestMessage:
|
|||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
content="Can you elaborate on the type of DoS that occurred?",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -49,7 +49,7 @@ class TestMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -61,7 +61,7 @@ class TestMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ class TestMessage:
|
|||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
request_identifier="f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_update_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -100,7 +100,7 @@ class TestMessage:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -113,7 +113,7 @@ class TestMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -126,7 +126,7 @@ class TestMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ class TestMessage:
|
|||
page=0,
|
||||
per_page=10,
|
||||
)
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_get_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -221,7 +221,7 @@ class TestMessage:
|
|||
sort_by="created",
|
||||
sort_order="asc",
|
||||
)
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -235,7 +235,7 @@ class TestMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = response.parse()
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -249,7 +249,7 @@ class TestMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = response.parse()
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -281,7 +281,7 @@ class TestAsyncMessage:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -290,7 +290,7 @@ class TestAsyncMessage:
|
|||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
content="Can you elaborate on the type of DoS that occurred?",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -302,7 +302,7 @@ class TestAsyncMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = await response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -314,7 +314,7 @@ class TestAsyncMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = await response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -339,7 +339,7 @@ class TestAsyncMessage:
|
|||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
request_identifier="f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_update_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -353,7 +353,7 @@ class TestAsyncMessage:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -366,7 +366,7 @@ class TestAsyncMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = await response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -379,7 +379,7 @@ class TestAsyncMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = await response.parse()
|
||||
assert_matches_type(Message, message, path=["response"])
|
||||
assert_matches_type(Optional[Message], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -460,7 +460,7 @@ class TestAsyncMessage:
|
|||
page=0,
|
||||
per_page=10,
|
||||
)
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -474,7 +474,7 @@ class TestAsyncMessage:
|
|||
sort_by="created",
|
||||
sort_order="asc",
|
||||
)
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -488,7 +488,7 @@ class TestAsyncMessage:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
message = await response.parse()
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -502,7 +502,7 @@ class TestAsyncMessage:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
message = await response.parse()
|
||||
assert_matches_type(MessageGetResponse, message, path=["response"])
|
||||
assert_matches_type(Optional[MessageGetResponse], message, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Any, cast
|
||||
from typing import Any, Optional, cast
|
||||
|
||||
import pytest
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ class TestPriority:
|
|||
requirement="DoS attacks carried out by CVEs",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -45,7 +45,7 @@ class TestPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = response.parse()
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -60,7 +60,7 @@ class TestPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = response.parse()
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ class TestPriority:
|
|||
requirement="DoS attacks carried out by CVEs",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -101,7 +101,7 @@ class TestPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -117,7 +117,7 @@ class TestPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -197,7 +197,7 @@ class TestPriority:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -209,7 +209,7 @@ class TestPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -221,7 +221,7 @@ class TestPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -244,7 +244,7 @@ class TestPriority:
|
|||
priority = client.cloudforce_one.requests.priority.quota(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_quota(self, client: Cloudflare) -> None:
|
||||
|
|
@ -255,7 +255,7 @@ class TestPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = response.parse()
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_quota(self, client: Cloudflare) -> None:
|
||||
|
|
@ -266,7 +266,7 @@ class TestPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = response.parse()
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -290,7 +290,7 @@ class TestAsyncPriority:
|
|||
requirement="DoS attacks carried out by CVEs",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -305,7 +305,7 @@ class TestAsyncPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -320,7 +320,7 @@ class TestAsyncPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Priority, priority, path=["response"])
|
||||
assert_matches_type(Optional[Priority], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -345,7 +345,7 @@ class TestAsyncPriority:
|
|||
requirement="DoS attacks carried out by CVEs",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -361,7 +361,7 @@ class TestAsyncPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -377,7 +377,7 @@ class TestAsyncPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -457,7 +457,7 @@ class TestAsyncPriority:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -469,7 +469,7 @@ class TestAsyncPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -481,7 +481,7 @@ class TestAsyncPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Item, priority, path=["response"])
|
||||
assert_matches_type(Optional[Item], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -504,7 +504,7 @@ class TestAsyncPriority:
|
|||
priority = await async_client.cloudforce_one.requests.priority.quota(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_quota(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -515,7 +515,7 @@ class TestAsyncPriority:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_quota(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -526,7 +526,7 @@ class TestAsyncPriority:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
priority = await response.parse()
|
||||
assert_matches_type(Quota, priority, path=["response"])
|
||||
assert_matches_type(Optional[Quota], priority, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Any, cast
|
||||
from typing import Any, Optional, cast
|
||||
|
||||
import pytest
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ class TestRequests:
|
|||
request = client.cloudforce_one.requests.create(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_create_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -43,7 +43,7 @@ class TestRequests:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -54,7 +54,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_create(self, client: Cloudflare) -> None:
|
||||
|
|
@ -65,7 +65,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ class TestRequests:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_update_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -95,7 +95,7 @@ class TestRequests:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -107,7 +107,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_update(self, client: Cloudflare) -> None:
|
||||
|
|
@ -119,7 +119,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -253,7 +253,7 @@ class TestRequests:
|
|||
request = client.cloudforce_one.requests.constants(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_constants(self, client: Cloudflare) -> None:
|
||||
|
|
@ -264,7 +264,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_constants(self, client: Cloudflare) -> None:
|
||||
|
|
@ -275,7 +275,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ class TestRequests:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -304,7 +304,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -316,7 +316,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -339,7 +339,7 @@ class TestRequests:
|
|||
request = client.cloudforce_one.requests.quota(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_quota(self, client: Cloudflare) -> None:
|
||||
|
|
@ -350,7 +350,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_quota(self, client: Cloudflare) -> None:
|
||||
|
|
@ -361,7 +361,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -377,7 +377,7 @@ class TestRequests:
|
|||
request = client.cloudforce_one.requests.types(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_types(self, client: Cloudflare) -> None:
|
||||
|
|
@ -388,7 +388,7 @@ class TestRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = response.parse()
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_types(self, client: Cloudflare) -> None:
|
||||
|
|
@ -399,7 +399,7 @@ class TestRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = response.parse()
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -419,7 +419,7 @@ class TestAsyncRequests:
|
|||
request = await async_client.cloudforce_one.requests.create(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -431,7 +431,7 @@ class TestAsyncRequests:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -442,7 +442,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -453,7 +453,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -470,7 +470,7 @@ class TestAsyncRequests:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_update_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -483,7 +483,7 @@ class TestAsyncRequests:
|
|||
summary="DoS attack",
|
||||
tlp="clear",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -495,7 +495,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -507,7 +507,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -641,7 +641,7 @@ class TestAsyncRequests:
|
|||
request = await async_client.cloudforce_one.requests.constants(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_constants(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -652,7 +652,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_constants(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -663,7 +663,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(RequestConstants, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestConstants], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -680,7 +680,7 @@ class TestAsyncRequests:
|
|||
"f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
|
||||
account_identifier="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -692,7 +692,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -704,7 +704,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(Item, request, path=["response"])
|
||||
assert_matches_type(Optional[Item], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -727,7 +727,7 @@ class TestAsyncRequests:
|
|||
request = await async_client.cloudforce_one.requests.quota(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_quota(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -738,7 +738,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_quota(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -749,7 +749,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(Quota, request, path=["response"])
|
||||
assert_matches_type(Optional[Quota], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -765,7 +765,7 @@ class TestAsyncRequests:
|
|||
request = await async_client.cloudforce_one.requests.types(
|
||||
"023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_types(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -776,7 +776,7 @@ class TestAsyncRequests:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
request = await response.parse()
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_types(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -787,7 +787,7 @@ class TestAsyncRequests:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
request = await response.parse()
|
||||
assert_matches_type(RequestTypes, request, path=["response"])
|
||||
assert_matches_type(Optional[RequestTypes], request, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Any, cast
|
||||
from typing import Any, Optional, cast
|
||||
|
||||
import pytest
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ class TestWhois:
|
|||
whois = client.intel.whois.get(
|
||||
account_id="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_get_with_all_params(self, client: Cloudflare) -> None:
|
||||
|
|
@ -30,7 +30,7 @@ class TestWhois:
|
|||
account_id="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
domain="string",
|
||||
)
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -41,7 +41,7 @@ class TestWhois:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
whois = response.parse()
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_get(self, client: Cloudflare) -> None:
|
||||
|
|
@ -52,7 +52,7 @@ class TestWhois:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
whois = response.parse()
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ class TestAsyncWhois:
|
|||
whois = await async_client.intel.whois.get(
|
||||
account_id="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
)
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_get_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -80,7 +80,7 @@ class TestAsyncWhois:
|
|||
account_id="023e105f4ecef8ad9ca31a8372d0c353",
|
||||
domain="string",
|
||||
)
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -91,7 +91,7 @@ class TestAsyncWhois:
|
|||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
whois = await response.parse()
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
|
||||
|
|
@ -102,7 +102,7 @@ class TestAsyncWhois:
|
|||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
whois = await response.parse()
|
||||
assert_matches_type(WhoisGetResponse, whois, path=["response"])
|
||||
assert_matches_type(Optional[WhoisGetResponse], whois, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
|
|
|||
101
tests/api_resources/radar/bgp/test_ips.py
Normal file
101
tests/api_resources/radar/bgp/test_ips.py
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from typing import Any, cast
|
||||
|
||||
import pytest
|
||||
|
||||
from cloudflare import Cloudflare, AsyncCloudflare
|
||||
from tests.utils import assert_matches_type
|
||||
from cloudflare._utils import parse_datetime
|
||||
from cloudflare.types.radar.bgp import IPTimeseriesResponse
|
||||
|
||||
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
|
||||
|
||||
|
||||
class TestIPs:
|
||||
parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
|
||||
|
||||
@parametrize
|
||||
def test_method_timeseries(self, client: Cloudflare) -> None:
|
||||
ip = client.radar.bgp.ips.timeseries()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_method_timeseries_with_all_params(self, client: Cloudflare) -> None:
|
||||
ip = client.radar.bgp.ips.timeseries(
|
||||
asn="174,7922",
|
||||
date_end=parse_datetime("2023-09-01T11:41:33.782Z"),
|
||||
date_range="7d",
|
||||
date_start=parse_datetime("2023-09-01T11:41:33.782Z"),
|
||||
format="JSON",
|
||||
include_delay=True,
|
||||
location="US,CA",
|
||||
name=["string", "string", "string"],
|
||||
)
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_raw_response_timeseries(self, client: Cloudflare) -> None:
|
||||
response = client.radar.bgp.ips.with_raw_response.timeseries()
|
||||
|
||||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
ip = response.parse()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
def test_streaming_response_timeseries(self, client: Cloudflare) -> None:
|
||||
with client.radar.bgp.ips.with_streaming_response.timeseries() as response:
|
||||
assert not response.is_closed
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
ip = response.parse()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
|
||||
|
||||
class TestAsyncIPs:
|
||||
parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_timeseries(self, async_client: AsyncCloudflare) -> None:
|
||||
ip = await async_client.radar.bgp.ips.timeseries()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_method_timeseries_with_all_params(self, async_client: AsyncCloudflare) -> None:
|
||||
ip = await async_client.radar.bgp.ips.timeseries(
|
||||
asn="174,7922",
|
||||
date_end=parse_datetime("2023-09-01T11:41:33.782Z"),
|
||||
date_range="7d",
|
||||
date_start=parse_datetime("2023-09-01T11:41:33.782Z"),
|
||||
format="JSON",
|
||||
include_delay=True,
|
||||
location="US,CA",
|
||||
name=["string", "string", "string"],
|
||||
)
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_raw_response_timeseries(self, async_client: AsyncCloudflare) -> None:
|
||||
response = await async_client.radar.bgp.ips.with_raw_response.timeseries()
|
||||
|
||||
assert response.is_closed is True
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
ip = await response.parse()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
@parametrize
|
||||
async def test_streaming_response_timeseries(self, async_client: AsyncCloudflare) -> None:
|
||||
async with async_client.radar.bgp.ips.with_streaming_response.timeseries() as response:
|
||||
assert not response.is_closed
|
||||
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
||||
|
||||
ip = await response.parse()
|
||||
assert_matches_type(IPTimeseriesResponse, ip, path=["response"])
|
||||
|
||||
assert cast(Any, response.is_closed) is True
|
||||
Loading…
Add table
Reference in a new issue