From 3b17a90f6f2921330ff3f236ba395c5894e44287 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 9 Mar 2025 23:10:07 +0000
Subject: [PATCH] feat(dns): split account and zone DNS settings
---
.stats.yml | 2 +-
api.md | 24 -
src/cloudflare/resources/dns/__init__.py | 14 -
src/cloudflare/resources/dns/dns.py | 32 -
.../resources/dns/settings/__init__.py | 33 -
.../resources/dns/settings/settings.py | 102 ---
.../resources/dns/settings/zone/__init__.py | 33 -
.../resources/dns/settings/zone/views.py | 705 ------------------
.../resources/dns/settings/zone/zone.py | 102 ---
.../types/dns/settings/zone/__init__.py | 12 -
.../dns/settings/zone/view_create_params.py | 19 -
.../dns/settings/zone/view_create_response.py | 25 -
.../dns/settings/zone/view_delete_response.py | 12 -
.../dns/settings/zone/view_edit_params.py | 19 -
.../dns/settings/zone/view_edit_response.py | 25 -
.../dns/settings/zone/view_get_response.py | 25 -
.../dns/settings/zone/view_list_params.py | 53 --
.../dns/settings/zone/view_list_response.py | 25 -
tests/api_resources/dns/settings/__init__.py | 1 -
.../dns/settings/zone/__init__.py | 1 -
.../dns/settings/zone/test_views.py | 545 --------------
21 files changed, 1 insertion(+), 1808 deletions(-)
delete mode 100644 src/cloudflare/resources/dns/settings/__init__.py
delete mode 100644 src/cloudflare/resources/dns/settings/settings.py
delete mode 100644 src/cloudflare/resources/dns/settings/zone/__init__.py
delete mode 100644 src/cloudflare/resources/dns/settings/zone/views.py
delete mode 100644 src/cloudflare/resources/dns/settings/zone/zone.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/__init__.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_create_params.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_create_response.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_delete_response.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_edit_params.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_edit_response.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_get_response.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_list_params.py
delete mode 100644 src/cloudflare/types/dns/settings/zone/view_list_response.py
delete mode 100644 tests/api_resources/dns/settings/__init__.py
delete mode 100644 tests/api_resources/dns/settings/zone/__init__.py
delete mode 100644 tests/api_resources/dns/settings/zone/test_views.py
diff --git a/.stats.yml b/.stats.yml
index 663d2658c..e038dc39e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
-configured_endpoints: 1572
+configured_endpoints: 1567
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-49794d21f9c5b1d528a53fc9c10d5d9de6eed9bd412a262d1cad78fa453be1b4.yml
diff --git a/api.md b/api.md
index 9030280f6..fc1a5a520 100644
--- a/api.md
+++ b/api.md
@@ -1134,30 +1134,6 @@ Types:
from cloudflare.types.dns import DNSSetting
```
-### Zone
-
-#### Views
-
-Types:
-
-```python
-from cloudflare.types.dns.settings.zone import (
- ViewCreateResponse,
- ViewListResponse,
- ViewDeleteResponse,
- ViewEditResponse,
- ViewGetResponse,
-)
-```
-
-Methods:
-
-- client.dns.settings.zone.views.create(\*, account_id, \*\*params) -> Optional[ViewCreateResponse]
-- client.dns.settings.zone.views.list(\*, account_id, \*\*params) -> SyncV4PagePaginationArray[ViewListResponse]
-- client.dns.settings.zone.views.delete(view_id, \*, account_id) -> Optional[ViewDeleteResponse]
-- client.dns.settings.zone.views.edit(view_id, \*, account_id, \*\*params) -> Optional[ViewEditResponse]
-- client.dns.settings.zone.views.get(view_id, \*, account_id) -> Optional[ViewGetResponse]
-
## Analytics
### Reports
diff --git a/src/cloudflare/resources/dns/__init__.py b/src/cloudflare/resources/dns/__init__.py
index 58768dba9..41d02da33 100644
--- a/src/cloudflare/resources/dns/__init__.py
+++ b/src/cloudflare/resources/dns/__init__.py
@@ -24,14 +24,6 @@ from .records import (
RecordsResourceWithStreamingResponse,
AsyncRecordsResourceWithStreamingResponse,
)
-from .settings import (
- SettingsResource,
- AsyncSettingsResource,
- SettingsResourceWithRawResponse,
- AsyncSettingsResourceWithRawResponse,
- SettingsResourceWithStreamingResponse,
- AsyncSettingsResourceWithStreamingResponse,
-)
from .analytics import (
AnalyticsResource,
AsyncAnalyticsResource,
@@ -62,12 +54,6 @@ __all__ = [
"AsyncRecordsResourceWithRawResponse",
"RecordsResourceWithStreamingResponse",
"AsyncRecordsResourceWithStreamingResponse",
- "SettingsResource",
- "AsyncSettingsResource",
- "SettingsResourceWithRawResponse",
- "AsyncSettingsResourceWithRawResponse",
- "SettingsResourceWithStreamingResponse",
- "AsyncSettingsResourceWithStreamingResponse",
"AnalyticsResource",
"AsyncAnalyticsResource",
"AnalyticsResourceWithRawResponse",
diff --git a/src/cloudflare/resources/dns/dns.py b/src/cloudflare/resources/dns/dns.py
index a4c4157a4..314414174 100644
--- a/src/cloudflare/resources/dns/dns.py
+++ b/src/cloudflare/resources/dns/dns.py
@@ -20,14 +20,6 @@ from .records import (
)
from ..._compat import cached_property
from ..._resource import SyncAPIResource, AsyncAPIResource
-from .settings.settings import (
- SettingsResource,
- AsyncSettingsResource,
- SettingsResourceWithRawResponse,
- AsyncSettingsResourceWithRawResponse,
- SettingsResourceWithStreamingResponse,
- AsyncSettingsResourceWithStreamingResponse,
-)
from .analytics.analytics import (
AnalyticsResource,
AsyncAnalyticsResource,
@@ -57,10 +49,6 @@ class DNSResource(SyncAPIResource):
def records(self) -> RecordsResource:
return RecordsResource(self._client)
- @cached_property
- def settings(self) -> SettingsResource:
- return SettingsResource(self._client)
-
@cached_property
def analytics(self) -> AnalyticsResource:
return AnalyticsResource(self._client)
@@ -98,10 +86,6 @@ class AsyncDNSResource(AsyncAPIResource):
def records(self) -> AsyncRecordsResource:
return AsyncRecordsResource(self._client)
- @cached_property
- def settings(self) -> AsyncSettingsResource:
- return AsyncSettingsResource(self._client)
-
@cached_property
def analytics(self) -> AsyncAnalyticsResource:
return AsyncAnalyticsResource(self._client)
@@ -142,10 +126,6 @@ class DNSResourceWithRawResponse:
def records(self) -> RecordsResourceWithRawResponse:
return RecordsResourceWithRawResponse(self._dns.records)
- @cached_property
- def settings(self) -> SettingsResourceWithRawResponse:
- return SettingsResourceWithRawResponse(self._dns.settings)
-
@cached_property
def analytics(self) -> AnalyticsResourceWithRawResponse:
return AnalyticsResourceWithRawResponse(self._dns.analytics)
@@ -167,10 +147,6 @@ class AsyncDNSResourceWithRawResponse:
def records(self) -> AsyncRecordsResourceWithRawResponse:
return AsyncRecordsResourceWithRawResponse(self._dns.records)
- @cached_property
- def settings(self) -> AsyncSettingsResourceWithRawResponse:
- return AsyncSettingsResourceWithRawResponse(self._dns.settings)
-
@cached_property
def analytics(self) -> AsyncAnalyticsResourceWithRawResponse:
return AsyncAnalyticsResourceWithRawResponse(self._dns.analytics)
@@ -192,10 +168,6 @@ class DNSResourceWithStreamingResponse:
def records(self) -> RecordsResourceWithStreamingResponse:
return RecordsResourceWithStreamingResponse(self._dns.records)
- @cached_property
- def settings(self) -> SettingsResourceWithStreamingResponse:
- return SettingsResourceWithStreamingResponse(self._dns.settings)
-
@cached_property
def analytics(self) -> AnalyticsResourceWithStreamingResponse:
return AnalyticsResourceWithStreamingResponse(self._dns.analytics)
@@ -217,10 +189,6 @@ class AsyncDNSResourceWithStreamingResponse:
def records(self) -> AsyncRecordsResourceWithStreamingResponse:
return AsyncRecordsResourceWithStreamingResponse(self._dns.records)
- @cached_property
- def settings(self) -> AsyncSettingsResourceWithStreamingResponse:
- return AsyncSettingsResourceWithStreamingResponse(self._dns.settings)
-
@cached_property
def analytics(self) -> AsyncAnalyticsResourceWithStreamingResponse:
return AsyncAnalyticsResourceWithStreamingResponse(self._dns.analytics)
diff --git a/src/cloudflare/resources/dns/settings/__init__.py b/src/cloudflare/resources/dns/settings/__init__.py
deleted file mode 100644
index 0c7e0086a..000000000
--- a/src/cloudflare/resources/dns/settings/__init__.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from .zone import (
- ZoneResource,
- AsyncZoneResource,
- ZoneResourceWithRawResponse,
- AsyncZoneResourceWithRawResponse,
- ZoneResourceWithStreamingResponse,
- AsyncZoneResourceWithStreamingResponse,
-)
-from .settings import (
- SettingsResource,
- AsyncSettingsResource,
- SettingsResourceWithRawResponse,
- AsyncSettingsResourceWithRawResponse,
- SettingsResourceWithStreamingResponse,
- AsyncSettingsResourceWithStreamingResponse,
-)
-
-__all__ = [
- "ZoneResource",
- "AsyncZoneResource",
- "ZoneResourceWithRawResponse",
- "AsyncZoneResourceWithRawResponse",
- "ZoneResourceWithStreamingResponse",
- "AsyncZoneResourceWithStreamingResponse",
- "SettingsResource",
- "AsyncSettingsResource",
- "SettingsResourceWithRawResponse",
- "AsyncSettingsResourceWithRawResponse",
- "SettingsResourceWithStreamingResponse",
- "AsyncSettingsResourceWithStreamingResponse",
-]
diff --git a/src/cloudflare/resources/dns/settings/settings.py b/src/cloudflare/resources/dns/settings/settings.py
deleted file mode 100644
index b986eedf1..000000000
--- a/src/cloudflare/resources/dns/settings/settings.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from .zone.zone import (
- ZoneResource,
- AsyncZoneResource,
- ZoneResourceWithRawResponse,
- AsyncZoneResourceWithRawResponse,
- ZoneResourceWithStreamingResponse,
- AsyncZoneResourceWithStreamingResponse,
-)
-from ...._compat import cached_property
-from ...._resource import SyncAPIResource, AsyncAPIResource
-
-__all__ = ["SettingsResource", "AsyncSettingsResource"]
-
-
-class SettingsResource(SyncAPIResource):
- @cached_property
- def zone(self) -> ZoneResource:
- return ZoneResource(self._client)
-
- @cached_property
- def with_raw_response(self) -> SettingsResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return SettingsResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> SettingsResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return SettingsResourceWithStreamingResponse(self)
-
-
-class AsyncSettingsResource(AsyncAPIResource):
- @cached_property
- def zone(self) -> AsyncZoneResource:
- return AsyncZoneResource(self._client)
-
- @cached_property
- def with_raw_response(self) -> AsyncSettingsResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return AsyncSettingsResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> AsyncSettingsResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return AsyncSettingsResourceWithStreamingResponse(self)
-
-
-class SettingsResourceWithRawResponse:
- def __init__(self, settings: SettingsResource) -> None:
- self._settings = settings
-
- @cached_property
- def zone(self) -> ZoneResourceWithRawResponse:
- return ZoneResourceWithRawResponse(self._settings.zone)
-
-
-class AsyncSettingsResourceWithRawResponse:
- def __init__(self, settings: AsyncSettingsResource) -> None:
- self._settings = settings
-
- @cached_property
- def zone(self) -> AsyncZoneResourceWithRawResponse:
- return AsyncZoneResourceWithRawResponse(self._settings.zone)
-
-
-class SettingsResourceWithStreamingResponse:
- def __init__(self, settings: SettingsResource) -> None:
- self._settings = settings
-
- @cached_property
- def zone(self) -> ZoneResourceWithStreamingResponse:
- return ZoneResourceWithStreamingResponse(self._settings.zone)
-
-
-class AsyncSettingsResourceWithStreamingResponse:
- def __init__(self, settings: AsyncSettingsResource) -> None:
- self._settings = settings
-
- @cached_property
- def zone(self) -> AsyncZoneResourceWithStreamingResponse:
- return AsyncZoneResourceWithStreamingResponse(self._settings.zone)
diff --git a/src/cloudflare/resources/dns/settings/zone/__init__.py b/src/cloudflare/resources/dns/settings/zone/__init__.py
deleted file mode 100644
index 5e6c445cc..000000000
--- a/src/cloudflare/resources/dns/settings/zone/__init__.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from .zone import (
- ZoneResource,
- AsyncZoneResource,
- ZoneResourceWithRawResponse,
- AsyncZoneResourceWithRawResponse,
- ZoneResourceWithStreamingResponse,
- AsyncZoneResourceWithStreamingResponse,
-)
-from .views import (
- ViewsResource,
- AsyncViewsResource,
- ViewsResourceWithRawResponse,
- AsyncViewsResourceWithRawResponse,
- ViewsResourceWithStreamingResponse,
- AsyncViewsResourceWithStreamingResponse,
-)
-
-__all__ = [
- "ViewsResource",
- "AsyncViewsResource",
- "ViewsResourceWithRawResponse",
- "AsyncViewsResourceWithRawResponse",
- "ViewsResourceWithStreamingResponse",
- "AsyncViewsResourceWithStreamingResponse",
- "ZoneResource",
- "AsyncZoneResource",
- "ZoneResourceWithRawResponse",
- "AsyncZoneResourceWithRawResponse",
- "ZoneResourceWithStreamingResponse",
- "AsyncZoneResourceWithStreamingResponse",
-]
diff --git a/src/cloudflare/resources/dns/settings/zone/views.py b/src/cloudflare/resources/dns/settings/zone/views.py
deleted file mode 100644
index 4d488f744..000000000
--- a/src/cloudflare/resources/dns/settings/zone/views.py
+++ /dev/null
@@ -1,705 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import List, Type, Optional, cast
-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 .....pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
-from ....._base_client import AsyncPaginator, make_request_options
-from .....types.dns.settings.zone import view_edit_params, view_list_params, view_create_params
-from .....types.dns.settings.zone.view_get_response import ViewGetResponse
-from .....types.dns.settings.zone.view_edit_response import ViewEditResponse
-from .....types.dns.settings.zone.view_list_response import ViewListResponse
-from .....types.dns.settings.zone.view_create_response import ViewCreateResponse
-from .....types.dns.settings.zone.view_delete_response import ViewDeleteResponse
-
-__all__ = ["ViewsResource", "AsyncViewsResource"]
-
-
-class ViewsResource(SyncAPIResource):
- @cached_property
- def with_raw_response(self) -> ViewsResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return ViewsResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> ViewsResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return ViewsResourceWithStreamingResponse(self)
-
- def create(
- self,
- *,
- account_id: str,
- name: str,
- zones: List[str],
- # 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,
- ) -> Optional[ViewCreateResponse]:
- """
- Create Internal DNS View for an account
-
- Args:
- account_id: Identifier
-
- name: The name of the view.
-
- zones: The list of zones linked to this view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- return self._post(
- f"/accounts/{account_id}/dns_settings/views",
- body=maybe_transform(
- {
- "name": name,
- "zones": zones,
- },
- view_create_params.ViewCreateParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewCreateResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewCreateResponse]], ResultWrapper[ViewCreateResponse]),
- )
-
- def list(
- self,
- *,
- account_id: str,
- direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
- match: Literal["any", "all"] | NotGiven = NOT_GIVEN,
- name: view_list_params.Name | NotGiven = NOT_GIVEN,
- order: Literal["name", "created_on", "modified_on"] | NotGiven = NOT_GIVEN,
- page: float | NotGiven = NOT_GIVEN,
- per_page: float | NotGiven = NOT_GIVEN,
- zone_id: str | NotGiven = NOT_GIVEN,
- zone_name: 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,
- ) -> SyncV4PagePaginationArray[ViewListResponse]:
- """
- List DNS Internal Views for an Account
-
- Args:
- account_id: Identifier
-
- direction: Direction to order DNS views in.
-
- match: Whether to match all search requirements or at least one (any). If set to `all`,
- acts like a logical AND between filters. If set to `any`, acts like a logical OR
- instead.
-
- order: Field to order DNS views by.
-
- page: Page number of paginated results.
-
- per_page: Number of DNS views per page.
-
- zone_id: A zone ID that exists in the zones list for the view.
-
- zone_name: A zone name that exists in the zones list for the view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- return self._get_api_list(
- f"/accounts/{account_id}/dns_settings/views",
- page=SyncV4PagePaginationArray[ViewListResponse],
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform(
- {
- "direction": direction,
- "match": match,
- "name": name,
- "order": order,
- "page": page,
- "per_page": per_page,
- "zone_id": zone_id,
- "zone_name": zone_name,
- },
- view_list_params.ViewListParams,
- ),
- ),
- model=ViewListResponse,
- )
-
- def delete(
- self,
- view_id: str,
- *,
- account_id: str,
- # 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,
- ) -> Optional[ViewDeleteResponse]:
- """
- Delete an existing Internal DNS View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return self._delete(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewDeleteResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewDeleteResponse]], ResultWrapper[ViewDeleteResponse]),
- )
-
- def edit(
- self,
- view_id: str,
- *,
- account_id: str,
- name: str | NotGiven = NOT_GIVEN,
- zones: 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,
- ) -> Optional[ViewEditResponse]:
- """
- Update an existing Internal DNS View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- name: The name of the view.
-
- zones: The list of zones linked to this view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return self._patch(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- body=maybe_transform(
- {
- "name": name,
- "zones": zones,
- },
- view_edit_params.ViewEditParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewEditResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewEditResponse]], ResultWrapper[ViewEditResponse]),
- )
-
- def get(
- self,
- view_id: str,
- *,
- account_id: str,
- # 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,
- ) -> Optional[ViewGetResponse]:
- """
- Get DNS Internal View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return self._get(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewGetResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewGetResponse]], ResultWrapper[ViewGetResponse]),
- )
-
-
-class AsyncViewsResource(AsyncAPIResource):
- @cached_property
- def with_raw_response(self) -> AsyncViewsResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return AsyncViewsResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> AsyncViewsResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return AsyncViewsResourceWithStreamingResponse(self)
-
- async def create(
- self,
- *,
- account_id: str,
- name: str,
- zones: List[str],
- # 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,
- ) -> Optional[ViewCreateResponse]:
- """
- Create Internal DNS View for an account
-
- Args:
- account_id: Identifier
-
- name: The name of the view.
-
- zones: The list of zones linked to this view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- return await self._post(
- f"/accounts/{account_id}/dns_settings/views",
- body=await async_maybe_transform(
- {
- "name": name,
- "zones": zones,
- },
- view_create_params.ViewCreateParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewCreateResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewCreateResponse]], ResultWrapper[ViewCreateResponse]),
- )
-
- def list(
- self,
- *,
- account_id: str,
- direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN,
- match: Literal["any", "all"] | NotGiven = NOT_GIVEN,
- name: view_list_params.Name | NotGiven = NOT_GIVEN,
- order: Literal["name", "created_on", "modified_on"] | NotGiven = NOT_GIVEN,
- page: float | NotGiven = NOT_GIVEN,
- per_page: float | NotGiven = NOT_GIVEN,
- zone_id: str | NotGiven = NOT_GIVEN,
- zone_name: 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,
- ) -> AsyncPaginator[ViewListResponse, AsyncV4PagePaginationArray[ViewListResponse]]:
- """
- List DNS Internal Views for an Account
-
- Args:
- account_id: Identifier
-
- direction: Direction to order DNS views in.
-
- match: Whether to match all search requirements or at least one (any). If set to `all`,
- acts like a logical AND between filters. If set to `any`, acts like a logical OR
- instead.
-
- order: Field to order DNS views by.
-
- page: Page number of paginated results.
-
- per_page: Number of DNS views per page.
-
- zone_id: A zone ID that exists in the zones list for the view.
-
- zone_name: A zone name that exists in the zones list for the view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- return self._get_api_list(
- f"/accounts/{account_id}/dns_settings/views",
- page=AsyncV4PagePaginationArray[ViewListResponse],
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform(
- {
- "direction": direction,
- "match": match,
- "name": name,
- "order": order,
- "page": page,
- "per_page": per_page,
- "zone_id": zone_id,
- "zone_name": zone_name,
- },
- view_list_params.ViewListParams,
- ),
- ),
- model=ViewListResponse,
- )
-
- async def delete(
- self,
- view_id: str,
- *,
- account_id: str,
- # 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,
- ) -> Optional[ViewDeleteResponse]:
- """
- Delete an existing Internal DNS View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return await self._delete(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewDeleteResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewDeleteResponse]], ResultWrapper[ViewDeleteResponse]),
- )
-
- async def edit(
- self,
- view_id: str,
- *,
- account_id: str,
- name: str | NotGiven = NOT_GIVEN,
- zones: 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,
- ) -> Optional[ViewEditResponse]:
- """
- Update an existing Internal DNS View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- name: The name of the view.
-
- zones: The list of zones linked to this view.
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return await self._patch(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- body=await async_maybe_transform(
- {
- "name": name,
- "zones": zones,
- },
- view_edit_params.ViewEditParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewEditResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewEditResponse]], ResultWrapper[ViewEditResponse]),
- )
-
- async def get(
- self,
- view_id: str,
- *,
- account_id: str,
- # 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,
- ) -> Optional[ViewGetResponse]:
- """
- Get DNS Internal View
-
- Args:
- account_id: Identifier
-
- view_id: Identifier
-
- 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
- """
- if not account_id:
- raise ValueError(f"Expected a non-empty value for `account_id` but received {account_id!r}")
- if not view_id:
- raise ValueError(f"Expected a non-empty value for `view_id` but received {view_id!r}")
- return await self._get(
- f"/accounts/{account_id}/dns_settings/views/{view_id}",
- options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- post_parser=ResultWrapper[Optional[ViewGetResponse]]._unwrapper,
- ),
- cast_to=cast(Type[Optional[ViewGetResponse]], ResultWrapper[ViewGetResponse]),
- )
-
-
-class ViewsResourceWithRawResponse:
- def __init__(self, views: ViewsResource) -> None:
- self._views = views
-
- self.create = to_raw_response_wrapper(
- views.create,
- )
- self.list = to_raw_response_wrapper(
- views.list,
- )
- self.delete = to_raw_response_wrapper(
- views.delete,
- )
- self.edit = to_raw_response_wrapper(
- views.edit,
- )
- self.get = to_raw_response_wrapper(
- views.get,
- )
-
-
-class AsyncViewsResourceWithRawResponse:
- def __init__(self, views: AsyncViewsResource) -> None:
- self._views = views
-
- self.create = async_to_raw_response_wrapper(
- views.create,
- )
- self.list = async_to_raw_response_wrapper(
- views.list,
- )
- self.delete = async_to_raw_response_wrapper(
- views.delete,
- )
- self.edit = async_to_raw_response_wrapper(
- views.edit,
- )
- self.get = async_to_raw_response_wrapper(
- views.get,
- )
-
-
-class ViewsResourceWithStreamingResponse:
- def __init__(self, views: ViewsResource) -> None:
- self._views = views
-
- self.create = to_streamed_response_wrapper(
- views.create,
- )
- self.list = to_streamed_response_wrapper(
- views.list,
- )
- self.delete = to_streamed_response_wrapper(
- views.delete,
- )
- self.edit = to_streamed_response_wrapper(
- views.edit,
- )
- self.get = to_streamed_response_wrapper(
- views.get,
- )
-
-
-class AsyncViewsResourceWithStreamingResponse:
- def __init__(self, views: AsyncViewsResource) -> None:
- self._views = views
-
- self.create = async_to_streamed_response_wrapper(
- views.create,
- )
- self.list = async_to_streamed_response_wrapper(
- views.list,
- )
- self.delete = async_to_streamed_response_wrapper(
- views.delete,
- )
- self.edit = async_to_streamed_response_wrapper(
- views.edit,
- )
- self.get = async_to_streamed_response_wrapper(
- views.get,
- )
diff --git a/src/cloudflare/resources/dns/settings/zone/zone.py b/src/cloudflare/resources/dns/settings/zone/zone.py
deleted file mode 100644
index c1dbc3987..000000000
--- a/src/cloudflare/resources/dns/settings/zone/zone.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from .views import (
- ViewsResource,
- AsyncViewsResource,
- ViewsResourceWithRawResponse,
- AsyncViewsResourceWithRawResponse,
- ViewsResourceWithStreamingResponse,
- AsyncViewsResourceWithStreamingResponse,
-)
-from ....._compat import cached_property
-from ....._resource import SyncAPIResource, AsyncAPIResource
-
-__all__ = ["ZoneResource", "AsyncZoneResource"]
-
-
-class ZoneResource(SyncAPIResource):
- @cached_property
- def views(self) -> ViewsResource:
- return ViewsResource(self._client)
-
- @cached_property
- def with_raw_response(self) -> ZoneResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return ZoneResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> ZoneResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return ZoneResourceWithStreamingResponse(self)
-
-
-class AsyncZoneResource(AsyncAPIResource):
- @cached_property
- def views(self) -> AsyncViewsResource:
- return AsyncViewsResource(self._client)
-
- @cached_property
- def with_raw_response(self) -> AsyncZoneResourceWithRawResponse:
- """
- This property can be used as a prefix for any HTTP method call to return
- the raw response object instead of the parsed content.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#accessing-raw-response-data-eg-headers
- """
- return AsyncZoneResourceWithRawResponse(self)
-
- @cached_property
- def with_streaming_response(self) -> AsyncZoneResourceWithStreamingResponse:
- """
- An alternative to `.with_raw_response` that doesn't eagerly read the response body.
-
- For more information, see https://www.github.com/cloudflare/cloudflare-python#with_streaming_response
- """
- return AsyncZoneResourceWithStreamingResponse(self)
-
-
-class ZoneResourceWithRawResponse:
- def __init__(self, zone: ZoneResource) -> None:
- self._zone = zone
-
- @cached_property
- def views(self) -> ViewsResourceWithRawResponse:
- return ViewsResourceWithRawResponse(self._zone.views)
-
-
-class AsyncZoneResourceWithRawResponse:
- def __init__(self, zone: AsyncZoneResource) -> None:
- self._zone = zone
-
- @cached_property
- def views(self) -> AsyncViewsResourceWithRawResponse:
- return AsyncViewsResourceWithRawResponse(self._zone.views)
-
-
-class ZoneResourceWithStreamingResponse:
- def __init__(self, zone: ZoneResource) -> None:
- self._zone = zone
-
- @cached_property
- def views(self) -> ViewsResourceWithStreamingResponse:
- return ViewsResourceWithStreamingResponse(self._zone.views)
-
-
-class AsyncZoneResourceWithStreamingResponse:
- def __init__(self, zone: AsyncZoneResource) -> None:
- self._zone = zone
-
- @cached_property
- def views(self) -> AsyncViewsResourceWithStreamingResponse:
- return AsyncViewsResourceWithStreamingResponse(self._zone.views)
diff --git a/src/cloudflare/types/dns/settings/zone/__init__.py b/src/cloudflare/types/dns/settings/zone/__init__.py
deleted file mode 100644
index f0f5e0851..000000000
--- a/src/cloudflare/types/dns/settings/zone/__init__.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from .view_edit_params import ViewEditParams as ViewEditParams
-from .view_list_params import ViewListParams as ViewListParams
-from .view_get_response import ViewGetResponse as ViewGetResponse
-from .view_create_params import ViewCreateParams as ViewCreateParams
-from .view_edit_response import ViewEditResponse as ViewEditResponse
-from .view_list_response import ViewListResponse as ViewListResponse
-from .view_create_response import ViewCreateResponse as ViewCreateResponse
-from .view_delete_response import ViewDeleteResponse as ViewDeleteResponse
diff --git a/src/cloudflare/types/dns/settings/zone/view_create_params.py b/src/cloudflare/types/dns/settings/zone/view_create_params.py
deleted file mode 100644
index cd8bc0500..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_create_params.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import List
-from typing_extensions import Required, TypedDict
-
-__all__ = ["ViewCreateParams"]
-
-
-class ViewCreateParams(TypedDict, total=False):
- account_id: Required[str]
- """Identifier"""
-
- name: Required[str]
- """The name of the view."""
-
- zones: Required[List[str]]
- """The list of zones linked to this view."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_create_response.py b/src/cloudflare/types/dns/settings/zone/view_create_response.py
deleted file mode 100644
index 2c2579752..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_create_response.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List
-from datetime import datetime
-
-from ....._models import BaseModel
-
-__all__ = ["ViewCreateResponse"]
-
-
-class ViewCreateResponse(BaseModel):
- id: str
- """Identifier"""
-
- created_time: datetime
- """When the view was created."""
-
- modified_time: datetime
- """When the view was last modified."""
-
- name: str
- """The name of the view."""
-
- zones: List[str]
- """The list of zones linked to this view."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_delete_response.py b/src/cloudflare/types/dns/settings/zone/view_delete_response.py
deleted file mode 100644
index 9fd393280..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_delete_response.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import Optional
-
-from ....._models import BaseModel
-
-__all__ = ["ViewDeleteResponse"]
-
-
-class ViewDeleteResponse(BaseModel):
- id: Optional[str] = None
- """Identifier"""
diff --git a/src/cloudflare/types/dns/settings/zone/view_edit_params.py b/src/cloudflare/types/dns/settings/zone/view_edit_params.py
deleted file mode 100644
index 8cb359fdc..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_edit_params.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import List
-from typing_extensions import Required, TypedDict
-
-__all__ = ["ViewEditParams"]
-
-
-class ViewEditParams(TypedDict, total=False):
- account_id: Required[str]
- """Identifier"""
-
- name: str
- """The name of the view."""
-
- zones: List[str]
- """The list of zones linked to this view."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_edit_response.py b/src/cloudflare/types/dns/settings/zone/view_edit_response.py
deleted file mode 100644
index a54654ec5..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_edit_response.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List
-from datetime import datetime
-
-from ....._models import BaseModel
-
-__all__ = ["ViewEditResponse"]
-
-
-class ViewEditResponse(BaseModel):
- id: str
- """Identifier"""
-
- created_time: datetime
- """When the view was created."""
-
- modified_time: datetime
- """When the view was last modified."""
-
- name: str
- """The name of the view."""
-
- zones: List[str]
- """The list of zones linked to this view."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_get_response.py b/src/cloudflare/types/dns/settings/zone/view_get_response.py
deleted file mode 100644
index be423b7d8..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_get_response.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List
-from datetime import datetime
-
-from ....._models import BaseModel
-
-__all__ = ["ViewGetResponse"]
-
-
-class ViewGetResponse(BaseModel):
- id: str
- """Identifier"""
-
- created_time: datetime
- """When the view was created."""
-
- modified_time: datetime
- """When the view was last modified."""
-
- name: str
- """The name of the view."""
-
- zones: List[str]
- """The list of zones linked to this view."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_list_params.py b/src/cloudflare/types/dns/settings/zone/view_list_params.py
deleted file mode 100644
index 2ea7ca44a..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_list_params.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Literal, Required, TypedDict
-
-__all__ = ["ViewListParams", "Name"]
-
-
-class ViewListParams(TypedDict, total=False):
- account_id: Required[str]
- """Identifier"""
-
- direction: Literal["asc", "desc"]
- """Direction to order DNS views in."""
-
- match: Literal["any", "all"]
- """Whether to match all search requirements or at least one (any).
-
- If set to `all`, acts like a logical AND between filters. If set to `any`, acts
- like a logical OR instead.
- """
-
- name: Name
-
- order: Literal["name", "created_on", "modified_on"]
- """Field to order DNS views by."""
-
- page: float
- """Page number of paginated results."""
-
- per_page: float
- """Number of DNS views per page."""
-
- zone_id: str
- """A zone ID that exists in the zones list for the view."""
-
- zone_name: str
- """A zone name that exists in the zones list for the view."""
-
-
-class Name(TypedDict, total=False):
- contains: str
- """Substring of the DNS view name."""
-
- endswith: str
- """Suffix of the DNS view name."""
-
- exact: str
- """Exact value of the DNS view name."""
-
- startswith: str
- """Prefix of the DNS view name."""
diff --git a/src/cloudflare/types/dns/settings/zone/view_list_response.py b/src/cloudflare/types/dns/settings/zone/view_list_response.py
deleted file mode 100644
index 4f81f35d2..000000000
--- a/src/cloudflare/types/dns/settings/zone/view_list_response.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List
-from datetime import datetime
-
-from ....._models import BaseModel
-
-__all__ = ["ViewListResponse"]
-
-
-class ViewListResponse(BaseModel):
- id: str
- """Identifier"""
-
- created_time: datetime
- """When the view was created."""
-
- modified_time: datetime
- """When the view was last modified."""
-
- name: str
- """The name of the view."""
-
- zones: List[str]
- """The list of zones linked to this view."""
diff --git a/tests/api_resources/dns/settings/__init__.py b/tests/api_resources/dns/settings/__init__.py
deleted file mode 100644
index fd8019a9a..000000000
--- a/tests/api_resources/dns/settings/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
diff --git a/tests/api_resources/dns/settings/zone/__init__.py b/tests/api_resources/dns/settings/zone/__init__.py
deleted file mode 100644
index fd8019a9a..000000000
--- a/tests/api_resources/dns/settings/zone/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
diff --git a/tests/api_resources/dns/settings/zone/test_views.py b/tests/api_resources/dns/settings/zone/test_views.py
deleted file mode 100644
index 8f9a026e5..000000000
--- a/tests/api_resources/dns/settings/zone/test_views.py
+++ /dev/null
@@ -1,545 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-import os
-from typing import Any, Optional, cast
-
-import pytest
-
-from cloudflare import Cloudflare, AsyncCloudflare
-from tests.utils import assert_matches_type
-from cloudflare.pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray
-from cloudflare.types.dns.settings.zone import (
- ViewGetResponse,
- ViewEditResponse,
- ViewListResponse,
- ViewCreateResponse,
- ViewDeleteResponse,
-)
-
-base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
-
-
-class TestViews:
- parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
-
- @parametrize
- def test_method_create(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- @parametrize
- def test_raw_response_create(self, client: Cloudflare) -> None:
- response = client.dns.settings.zone.views.with_raw_response.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = response.parse()
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- @parametrize
- def test_streaming_response_create(self, client: Cloudflare) -> None:
- with client.dns.settings.zone.views.with_streaming_response.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = response.parse()
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_create(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.create(
- account_id="",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
-
- @parametrize
- def test_method_list(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(SyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- def test_method_list_with_all_params(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- direction="asc",
- match="any",
- name={
- "contains": "view",
- "endswith": "ew",
- "exact": "my view",
- "startswith": "my",
- },
- order="name",
- page=1,
- per_page=5,
- zone_id="ae29bea30e2e427ba9cd8d78b628177b",
- zone_name="www.example.com",
- )
- assert_matches_type(SyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- def test_raw_response_list(self, client: Cloudflare) -> None:
- response = client.dns.settings.zone.views.with_raw_response.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = response.parse()
- assert_matches_type(SyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- def test_streaming_response_list(self, client: Cloudflare) -> None:
- with client.dns.settings.zone.views.with_streaming_response.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = response.parse()
- assert_matches_type(SyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_list(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.list(
- account_id="",
- )
-
- @parametrize
- def test_method_delete(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- @parametrize
- def test_raw_response_delete(self, client: Cloudflare) -> None:
- response = client.dns.settings.zone.views.with_raw_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = response.parse()
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- @parametrize
- def test_streaming_response_delete(self, client: Cloudflare) -> None:
- with client.dns.settings.zone.views.with_streaming_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = response.parse()
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_delete(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.delete(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- @parametrize
- def test_method_edit(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- def test_method_edit_with_all_params(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- def test_raw_response_edit(self, client: Cloudflare) -> None:
- response = client.dns.settings.zone.views.with_raw_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = response.parse()
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- def test_streaming_response_edit(self, client: Cloudflare) -> None:
- with client.dns.settings.zone.views.with_streaming_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = response.parse()
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_edit(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.edit(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- @parametrize
- def test_method_get(self, client: Cloudflare) -> None:
- view = client.dns.settings.zone.views.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- @parametrize
- def test_raw_response_get(self, client: Cloudflare) -> None:
- response = client.dns.settings.zone.views.with_raw_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = response.parse()
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- @parametrize
- def test_streaming_response_get(self, client: Cloudflare) -> None:
- with client.dns.settings.zone.views.with_streaming_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = response.parse()
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- def test_path_params_get(self, client: Cloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- client.dns.settings.zone.views.with_raw_response.get(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
-
-class TestAsyncViews:
- parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"])
-
- @parametrize
- async def test_method_create(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- @parametrize
- async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.dns.settings.zone.views.with_raw_response.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = await response.parse()
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- @parametrize
- async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None:
- async with async_client.dns.settings.zone.views.with_streaming_response.create(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = await response.parse()
- assert_matches_type(Optional[ViewCreateResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_create(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.create(
- account_id="",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
-
- @parametrize
- async def test_method_list(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(AsyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- direction="asc",
- match="any",
- name={
- "contains": "view",
- "endswith": "ew",
- "exact": "my view",
- "startswith": "my",
- },
- order="name",
- page=1,
- per_page=5,
- zone_id="ae29bea30e2e427ba9cd8d78b628177b",
- zone_name="www.example.com",
- )
- assert_matches_type(AsyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.dns.settings.zone.views.with_raw_response.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = await response.parse()
- assert_matches_type(AsyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- @parametrize
- async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None:
- async with async_client.dns.settings.zone.views.with_streaming_response.list(
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = await response.parse()
- assert_matches_type(AsyncV4PagePaginationArray[ViewListResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_list(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.list(
- account_id="",
- )
-
- @parametrize
- async def test_method_delete(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- @parametrize
- async def test_raw_response_delete(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.dns.settings.zone.views.with_raw_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = await response.parse()
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- @parametrize
- async def test_streaming_response_delete(self, async_client: AsyncCloudflare) -> None:
- async with async_client.dns.settings.zone.views.with_streaming_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = await response.parse()
- assert_matches_type(Optional[ViewDeleteResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.delete(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.delete(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- @parametrize
- async def test_method_edit(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- name="my view",
- zones=["372e67954025e0ba6aaa6d586b9e0b59"],
- )
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.dns.settings.zone.views.with_raw_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = await response.parse()
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- @parametrize
- async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None:
- async with async_client.dns.settings.zone.views.with_streaming_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = await response.parse()
- assert_matches_type(Optional[ViewEditResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.edit(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.edit(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- @parametrize
- async def test_method_get(self, async_client: AsyncCloudflare) -> None:
- view = await async_client.dns.settings.zone.views.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- @parametrize
- async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None:
- response = await async_client.dns.settings.zone.views.with_raw_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- view = await response.parse()
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- @parametrize
- async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None:
- async with async_client.dns.settings.zone.views.with_streaming_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- view = await response.parse()
- assert_matches_type(Optional[ViewGetResponse], view, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
- @parametrize
- async def test_path_params_get(self, async_client: AsyncCloudflare) -> None:
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `account_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.get(
- view_id="023e105f4ecef8ad9ca31a8372d0c353",
- account_id="",
- )
-
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `view_id` but received ''"):
- await async_client.dns.settings.zone.views.with_raw_response.get(
- view_id="",
- account_id="023e105f4ecef8ad9ca31a8372d0c353",
- )