diff --git a/.stats.yml b/.stats.yml index 71e1621688b..0818ecbb822 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1 +1 @@ -configured_endpoints: 1274 +configured_endpoints: 1251 diff --git a/api.md b/api.md index 01ea5b1c810..1dae49277f8 100644 --- a/api.md +++ b/api.md @@ -147,23 +147,6 @@ Methods: - client.user.billing.profile.get() -> UnnamedSchemaRef9444735ca60712dbcf8afd832eb5716a -## Firewall - -### AccessRules - -Types: - -```python -from cloudflare.types.user.firewall import FirewallRule, AccessRuleDeleteResponse -``` - -Methods: - -- client.user.firewall.access_rules.create(\*\*params) -> FirewallRule -- client.user.firewall.access_rules.list(\*\*params) -> SyncV4PagePaginationArray[FirewallRule] -- client.user.firewall.access_rules.delete(identifier, \*\*params) -> AccessRuleDeleteResponse -- client.user.firewall.access_rules.edit(identifier, \*\*params) -> FirewallRule - ## Invites Types: @@ -178,87 +161,6 @@ Methods: - client.user.invites.edit(invite_id, \*\*params) -> UnnamedSchemaRef9444735ca60712dbcf8afd832eb5716a - client.user.invites.get(invite_id) -> UnnamedSchemaRef9444735ca60712dbcf8afd832eb5716a -## LoadBalancing - -### Monitors - -Types: - -```python -from cloudflare.types.user.load_balancing import ( - MonitorCreateResponse, - MonitorUpdateResponse, - MonitorListResponse, - MonitorDeleteResponse, - MonitorEditResponse, - MonitorGetResponse, - MonitorPreviewResponse, - MonitorReferencesResponse, -) -``` - -Methods: - -- client.user.load_balancing.monitors.create(\*\*params) -> MonitorCreateResponse -- client.user.load_balancing.monitors.update(monitor_id, \*\*params) -> MonitorUpdateResponse -- client.user.load_balancing.monitors.list() -> SyncSinglePage[MonitorListResponse] -- client.user.load_balancing.monitors.delete(monitor_id, \*\*params) -> MonitorDeleteResponse -- client.user.load_balancing.monitors.edit(monitor_id, \*\*params) -> MonitorEditResponse -- client.user.load_balancing.monitors.get(monitor_id) -> MonitorGetResponse -- client.user.load_balancing.monitors.preview(monitor_id, \*\*params) -> MonitorPreviewResponse -- client.user.load_balancing.monitors.references(monitor_id) -> Optional - -### Pools - -Types: - -```python -from cloudflare.types.user.load_balancing import ( - PoolDeleteResponse, - PoolHealthResponse, - PoolPreviewResponse, - PoolReferencesResponse, -) -``` - -Methods: - -- client.user.load_balancing.pools.create(\*\*params) -> Pool -- client.user.load_balancing.pools.update(pool_id, \*\*params) -> Pool -- client.user.load_balancing.pools.list(\*\*params) -> SyncSinglePage[Pool] -- client.user.load_balancing.pools.delete(pool_id, \*\*params) -> PoolDeleteResponse -- client.user.load_balancing.pools.edit(pool_id, \*\*params) -> Pool -- client.user.load_balancing.pools.get(pool_id) -> Pool -- client.user.load_balancing.pools.health(pool_id) -> PoolHealthResponse -- client.user.load_balancing.pools.preview(pool_id, \*\*params) -> PoolPreviewResponse -- client.user.load_balancing.pools.references(pool_id) -> Optional - -### Preview - -Types: - -```python -from cloudflare.types.user.load_balancing import PreviewGetResponse -``` - -Methods: - -- client.user.load_balancing.preview.get(preview_id) -> PreviewGetResponse - -### Analytics - -Types: - -```python -from cloudflare.types.user.load_balancing import Analytics -``` - -#### Events - -Methods: - -- client.user.load_balancing.analytics.events.list(\*\*params) -> SyncSinglePage[Analytics] - ## Organizations Types: @@ -294,7 +196,7 @@ Types: ```python from cloudflare.types.user import ( - CIDRListItem, + CIDRList, Policy, TokenCreateResponse, TokenListResponse, @@ -317,7 +219,7 @@ Methods: Types: ```python -from cloudflare.types.user.tokens import Permission, PermissionItem, PermissionGroupListResponse +from cloudflare.types.user.tokens import Permission, PermissionGroupListResponse ``` Methods: @@ -1088,10 +990,10 @@ Types: from cloudflare.types import ( AdaptiveRouting, CheckRegion, - DefaultPoolsItem, + DefaultPools, FilterOptions, Header, - HostItem, + Host, LoadBalancer, LoadShedding, LocationStrategy, @@ -1099,7 +1001,7 @@ from cloudflare.types import ( Origin, OriginSteering, RandomSteering, - RulesItem, + Rules, SessionAffinityAttributes, LoadBalancerDeleteResponse, ) @@ -1333,7 +1235,7 @@ Types: ```python from cloudflare.types.ssl import ( - HostItem, + Host, CertificatePackListResponse, CertificatePackDeleteResponse, CertificatePackEditResponse, @@ -1491,7 +1393,7 @@ Types: ```python from cloudflare.types.certificate_authorities import ( - HostnameAssociationItem, + HostnameAssociation, TLSHostnameAssociation, HostnameAssociationUpdateResponse, HostnameAssociationGetResponse, @@ -1633,7 +1535,7 @@ from cloudflare.types.dns import ( NSRecord, PTRRecord, Record, - RecordTagsItem, + RecordTags, SMIMEARecord, SRVRecord, SSHFPRecord, @@ -1698,7 +1600,7 @@ Types: from cloudflare.types.dns import ( AttackMitigation, Firewall, - FirewallIPsItem, + FirewallIPs, UpstreamIPs, FirewallDeleteResponse, ) @@ -1843,7 +1745,7 @@ from cloudflare.types.firewall import ( Lockdown, LockdownCIDRConfiguration, LockdownIPConfiguration, - URLsItem, + URLs, LockdownDeleteResponse, ) ``` @@ -1862,7 +1764,7 @@ Types: ```python from cloudflare.types.firewall import ( - ProductsItem, + Products, Rule, DeletedFilter, RuleCreateResponse, @@ -2449,7 +2351,7 @@ Types: ```python from cloudflare.types import ( - AdditionalRoutesItem, + AdditionalRoutes, CookieAttributes, Query, WaitingRoom, @@ -2608,7 +2510,7 @@ Types: ```python from cloudflare.types.web3.hostnames.ipfs_universal_paths.content_lists import ( - ContentListItem, + ContentList, UnnamedSchemaRef5e618833803e286db9ee7c73727f8b86, EntryListResponse, EntryDeleteResponse, @@ -2617,11 +2519,11 @@ from cloudflare.types.web3.hostnames.ipfs_universal_paths.content_lists import ( Methods: -- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.create(identifier, \*, zone_identifier, \*\*params) -> ContentListItem -- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.update(content_list_entry_identifier, \*, zone_identifier, identifier, \*\*params) -> ContentListItem +- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.create(identifier, \*, zone_identifier, \*\*params) -> ContentList +- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.update(content_list_entry_identifier, \*, zone_identifier, identifier, \*\*params) -> ContentList - client.web3.hostnames.ipfs_universal_paths.content_lists.entries.list(identifier, \*, zone_identifier) -> Optional - client.web3.hostnames.ipfs_universal_paths.content_lists.entries.delete(content_list_entry_identifier, \*, zone_identifier, identifier, \*\*params) -> Optional -- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.get(content_list_entry_identifier, \*, zone_identifier, identifier) -> ContentListItem +- client.web3.hostnames.ipfs_universal_paths.content_lists.entries.get(content_list_entry_identifier, \*, zone_identifier, identifier) -> ContentList # Workers @@ -2695,7 +2597,6 @@ Types: ```python from cloudflare.types.workers.scripts import ( ConsumerScript, - ConsumerScriptItem, TailCreateResponse, TailDeleteResponse, TailGetResponse, @@ -3158,7 +3059,7 @@ Methods: Types: ```python -from cloudflare.types.spectrum.analytics import DimensionItem +from cloudflare.types.spectrum.analytics import Dimension ``` #### Bytimes @@ -3710,12 +3611,12 @@ Methods: Types: ```python -from cloudflare.types.intel import SinkholeItem +from cloudflare.types.intel import Sinkhole ``` Methods: -- client.intel.sinkholes.list(\*, account_id) -> SyncSinglePage[SinkholeItem] +- client.intel.sinkholes.list(\*, account_id) -> SyncSinglePage[Sinkhole] ## AttackSurfaceReport @@ -4188,7 +4089,7 @@ Methods: Types: ```python -from cloudflare.types.request_tracers import Trace, TraceItem, TraceCreateResponse +from cloudflare.types.request_tracers import Trace, TraceCreateResponse ``` Methods: @@ -4282,7 +4183,7 @@ Methods: Types: ```python -from cloudflare.types import AllowedOriginsItem, Video +from cloudflare.types import AllowedOrigins, Video ``` Methods: @@ -4874,7 +4775,7 @@ Types: from cloudflare.types.zero_trust.devices import ( DevicePostureRule, Input, - MatchItem, + Match, UnnamedSchemaRef34ef0ad73a63c3f76ed170adca181930, UnnamedSchemaRef41885dd46b9e0294254c49305a273681, UnnamedSchemaRef9e35ef84511131488ae286ce78ac4b27, @@ -5109,7 +5010,7 @@ Types: ```python from cloudflare.types.zero_trust.access import ( - AssociatedHostnamesItem, + AssociatedHostnames, Certificate, CertificateDeleteResponse, ) @@ -5735,7 +5636,7 @@ Methods: Types: ```python -from cloudflare.types.zero_trust.gateway.lists import ListsItem, ItemListResponse +from cloudflare.types.zero_trust.gateway.lists import Lists, ItemListResponse ``` Methods: @@ -5784,7 +5685,7 @@ Types: ```python from cloudflare.types.zero_trust.gateway import ( - GatewayIPsItem, + GatewayIPs, ProxyEndpoint, UnnamedSchemaRef4753ee81779d0e57189420079abab61e, ) @@ -5883,14 +5784,14 @@ Methods: Types: ```python -from cloudflare.types.challenges import Widget, WidgetDomain, WidgetDomainItem +from cloudflare.types.challenges import Widget, WidgetDomain, WidgetListResponse ``` Methods: - client.challenges.widgets.create(\*, account_id, \*\*params) -> Optional - client.challenges.widgets.update(sitekey, \*, account_id, \*\*params) -> Optional -- client.challenges.widgets.list(\*, account_id, \*\*params) -> SyncV4PagePaginationArray[WidgetDomain] +- client.challenges.widgets.list(\*, account_id, \*\*params) -> SyncV4PagePaginationArray[WidgetListResponse] - client.challenges.widgets.delete(sitekey, \*, account_id) -> Optional - client.challenges.widgets.get(sitekey, \*, account_id) -> Optional - client.challenges.widgets.rotate_secret(sitekey, \*, account_id, \*\*params) -> Optional @@ -7271,7 +7172,7 @@ Types: ```python from cloudflare.types.cloudforce_one import ( Item, - ListItem, + List, Quota, RequestConstants, RequestTypes, @@ -7283,7 +7184,7 @@ Methods: - client.cloudforce_one.requests.create(account_identifier, \*\*params) -> Item - client.cloudforce_one.requests.update(request_identifier, \*, account_identifier, \*\*params) -> Item -- client.cloudforce_one.requests.list(account_identifier, \*\*params) -> SyncV4PagePaginationArray[ListItem] +- client.cloudforce_one.requests.list(account_identifier, \*\*params) -> SyncV4PagePaginationArray[List] - client.cloudforce_one.requests.delete(request_identifier, \*, account_identifier) -> RequestDeleteResponse - client.cloudforce_one.requests.constants(account_identifier) -> RequestConstants - client.cloudforce_one.requests.get(request_identifier, \*, account_identifier) -> Item @@ -7315,7 +7216,7 @@ Types: ```python from cloudflare.types.cloudforce_one.requests import ( - LabelItem, + Label, Priority, PriorityEdit, PriorityDeleteResponse, diff --git a/src/cloudflare/resources/certificate_authorities/hostname_associations.py b/src/cloudflare/resources/certificate_authorities/hostname_associations.py index 74eedadc7fa..4bf2ed1d862 100644 --- a/src/cloudflare/resources/certificate_authorities/hostname_associations.py +++ b/src/cloudflare/resources/certificate_authorities/hostname_associations.py @@ -24,7 +24,7 @@ make_request_options, ) from ...types.certificate_authorities import ( - HostnameAssociationItem, + HostnameAssociation, HostnameAssociationGetResponse, HostnameAssociationUpdateResponse, hostname_association_get_params, @@ -47,7 +47,7 @@ def update( self, *, zone_id: str, - hostnames: List[HostnameAssociationItem] | NotGiven = NOT_GIVEN, + hostnames: List[HostnameAssociation] | NotGiven = NOT_GIVEN, mtls_certificate_id: 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. @@ -157,7 +157,7 @@ async def update( self, *, zone_id: str, - hostnames: List[HostnameAssociationItem] | NotGiven = NOT_GIVEN, + hostnames: List[HostnameAssociation] | NotGiven = NOT_GIVEN, mtls_certificate_id: 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. diff --git a/src/cloudflare/resources/challenges/widgets.py b/src/cloudflare/resources/challenges/widgets.py index 812bd140148..8ee88458139 100644 --- a/src/cloudflare/resources/challenges/widgets.py +++ b/src/cloudflare/resources/challenges/widgets.py @@ -29,7 +29,7 @@ from ...types.challenges import ( Widget, WidgetDomain, - WidgetDomainItem, + WidgetListResponse, widget_list_params, widget_create_params, widget_update_params, @@ -52,7 +52,7 @@ def create( self, *, account_id: str, - domains: List[WidgetDomainItem], + domains: List[WidgetDomain], mode: Literal["non-interactive", "invisible", "managed"], name: str, direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN, @@ -148,7 +148,7 @@ def update( sitekey: str, *, account_id: str, - domains: List[WidgetDomainItem], + domains: List[WidgetDomain], mode: Literal["non-interactive", "invisible", "managed"], name: str, bot_fight_mode: bool | NotGiven = NOT_GIVEN, @@ -232,7 +232,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> SyncV4PagePaginationArray[WidgetDomain]: + ) -> SyncV4PagePaginationArray[WidgetListResponse]: """ Lists all turnstile widgets of an account. @@ -259,7 +259,7 @@ def list( 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}/challenges/widgets", - page=SyncV4PagePaginationArray[WidgetDomain], + page=SyncV4PagePaginationArray[WidgetListResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -275,7 +275,7 @@ def list( widget_list_params.WidgetListParams, ), ), - model=WidgetDomain, + model=WidgetListResponse, ) def delete( @@ -436,7 +436,7 @@ async def create( self, *, account_id: str, - domains: List[WidgetDomainItem], + domains: List[WidgetDomain], mode: Literal["non-interactive", "invisible", "managed"], name: str, direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN, @@ -532,7 +532,7 @@ async def update( sitekey: str, *, account_id: str, - domains: List[WidgetDomainItem], + domains: List[WidgetDomain], mode: Literal["non-interactive", "invisible", "managed"], name: str, bot_fight_mode: bool | NotGiven = NOT_GIVEN, @@ -616,7 +616,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> AsyncPaginator[WidgetDomain, AsyncV4PagePaginationArray[WidgetDomain]]: + ) -> AsyncPaginator[WidgetListResponse, AsyncV4PagePaginationArray[WidgetListResponse]]: """ Lists all turnstile widgets of an account. @@ -643,7 +643,7 @@ def list( 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}/challenges/widgets", - page=AsyncV4PagePaginationArray[WidgetDomain], + page=AsyncV4PagePaginationArray[WidgetListResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -659,7 +659,7 @@ def list( widget_list_params.WidgetListParams, ), ), - model=WidgetDomain, + model=WidgetListResponse, ) async def delete( diff --git a/src/cloudflare/resources/cloudforce_one/requests/priority.py b/src/cloudflare/resources/cloudforce_one/requests/priority.py index 6b6e9abf29d..209716abb58 100644 --- a/src/cloudflare/resources/cloudforce_one/requests/priority.py +++ b/src/cloudflare/resources/cloudforce_one/requests/priority.py @@ -26,8 +26,8 @@ ) from ....types.cloudforce_one import Item, Quota from ....types.cloudforce_one.requests import ( + Label, Priority, - LabelItem, PriorityDeleteResponse, priority_create_params, priority_update_params, @@ -49,7 +49,7 @@ def create( self, account_identifier: str, *, - labels: List[LabelItem], + labels: List[Label], priority: int, requirement: str, tlp: Literal["clear", "amber", "amber-strict", "green", "red"], @@ -110,7 +110,7 @@ def update( priority_identifer: str, *, account_identifier: str, - labels: List[LabelItem], + labels: List[Label], priority: int, requirement: str, tlp: Literal["clear", "amber", "amber-strict", "green", "red"], @@ -316,7 +316,7 @@ async def create( self, account_identifier: str, *, - labels: List[LabelItem], + labels: List[Label], priority: int, requirement: str, tlp: Literal["clear", "amber", "amber-strict", "green", "red"], @@ -377,7 +377,7 @@ async def update( priority_identifer: str, *, account_identifier: str, - labels: List[LabelItem], + labels: List[Label], priority: int, requirement: str, tlp: Literal["clear", "amber", "amber-strict", "green", "red"], diff --git a/src/cloudflare/resources/cloudforce_one/requests/requests.py b/src/cloudflare/resources/cloudforce_one/requests/requests.py index 24c4d97b9d3..57a6d479fcd 100644 --- a/src/cloudflare/resources/cloudforce_one/requests/requests.py +++ b/src/cloudflare/resources/cloudforce_one/requests/requests.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Any, Type, Union, cast +from typing import Any, List, Type, Union, cast from datetime import datetime from typing_extensions import Literal @@ -45,8 +45,8 @@ ) from ....types.cloudforce_one import ( Item, + List, Quota, - ListItem, RequestTypes, RequestConstants, RequestDeleteResponse, @@ -233,7 +233,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> SyncV4PagePaginationArray[ListItem]: + ) -> SyncV4PagePaginationArray[List]: """ List Requests @@ -272,7 +272,7 @@ def list( raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}") return self._get_api_list( f"/accounts/{account_identifier}/cloudforce-one/requests", - page=SyncV4PagePaginationArray[ListItem], + page=SyncV4PagePaginationArray[List], body=maybe_transform( { "page": page, @@ -291,7 +291,7 @@ def list( options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=ListItem, + model=List, method="post", ) @@ -681,7 +681,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> AsyncPaginator[ListItem, AsyncV4PagePaginationArray[ListItem]]: + ) -> AsyncPaginator[List, AsyncV4PagePaginationArray[List]]: """ List Requests @@ -720,7 +720,7 @@ def list( raise ValueError(f"Expected a non-empty value for `account_identifier` but received {account_identifier!r}") return self._get_api_list( f"/accounts/{account_identifier}/cloudforce-one/requests", - page=AsyncV4PagePaginationArray[ListItem], + page=AsyncV4PagePaginationArray[List], body=maybe_transform( { "page": page, @@ -739,7 +739,7 @@ def list( options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=ListItem, + model=List, method="post", ) diff --git a/src/cloudflare/resources/dns/firewall/firewall.py b/src/cloudflare/resources/dns/firewall/firewall.py index 3c89f1fec4b..0604ab60147 100644 --- a/src/cloudflare/resources/dns/firewall/firewall.py +++ b/src/cloudflare/resources/dns/firewall/firewall.py @@ -30,8 +30,8 @@ from ...._wrappers import ResultWrapper from ....types.dns import ( Firewall, + FirewallIPsParam, UpstreamIPsParam, - FirewallIPsItemParam, AttackMitigationParam, FirewallDeleteResponse, firewall_edit_params, @@ -250,7 +250,7 @@ def edit( *, account_id: str, deprecate_any_requests: bool, - dns_firewall_ips: List[FirewallIPsItemParam], + dns_firewall_ips: List[FirewallIPsParam], ecs_fallback: bool, maximum_cache_ttl: float, minimum_cache_ttl: float, @@ -581,7 +581,7 @@ async def edit( *, account_id: str, deprecate_any_requests: bool, - dns_firewall_ips: List[FirewallIPsItemParam], + dns_firewall_ips: List[FirewallIPsParam], ecs_fallback: bool, maximum_cache_ttl: float, minimum_cache_ttl: float, diff --git a/src/cloudflare/resources/dns/records.py b/src/cloudflare/resources/dns/records.py index 7a3a6141e4e..85563882d8f 100644 --- a/src/cloudflare/resources/dns/records.py +++ b/src/cloudflare/resources/dns/records.py @@ -25,7 +25,7 @@ from ...types.dns import ( Record, TTLParam, - RecordTagsItem, + RecordTags, RecordScanResponse, RecordDeleteResponse, RecordImportResponse, @@ -65,7 +65,7 @@ def create( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -125,7 +125,7 @@ def create( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -184,7 +184,7 @@ def create( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -240,7 +240,7 @@ def create( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -297,7 +297,7 @@ def create( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -356,7 +356,7 @@ def create( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -412,7 +412,7 @@ def create( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -468,7 +468,7 @@ def create( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -524,7 +524,7 @@ def create( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -581,7 +581,7 @@ def create( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -640,7 +640,7 @@ def create( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -696,7 +696,7 @@ def create( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -752,7 +752,7 @@ def create( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -808,7 +808,7 @@ def create( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -864,7 +864,7 @@ def create( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -922,7 +922,7 @@ def create( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -978,7 +978,7 @@ def create( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1034,7 +1034,7 @@ def create( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1090,7 +1090,7 @@ def create( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1147,7 +1147,7 @@ def create( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1247,7 +1247,7 @@ def create( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_create_params.CAARecordData | record_create_params.CERTRecordData @@ -1313,7 +1313,7 @@ def update( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1375,7 +1375,7 @@ def update( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1436,7 +1436,7 @@ def update( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1494,7 +1494,7 @@ def update( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1553,7 +1553,7 @@ def update( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1614,7 +1614,7 @@ def update( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1672,7 +1672,7 @@ def update( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1730,7 +1730,7 @@ def update( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1788,7 +1788,7 @@ def update( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1847,7 +1847,7 @@ def update( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1908,7 +1908,7 @@ def update( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -1966,7 +1966,7 @@ def update( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2024,7 +2024,7 @@ def update( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2082,7 +2082,7 @@ def update( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2140,7 +2140,7 @@ def update( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2200,7 +2200,7 @@ def update( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2258,7 +2258,7 @@ def update( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2316,7 +2316,7 @@ def update( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2374,7 +2374,7 @@ def update( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2433,7 +2433,7 @@ def update( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2535,7 +2535,7 @@ def update( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_update_params.CAARecordData | record_update_params.CERTRecordData @@ -2774,7 +2774,7 @@ def edit( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2836,7 +2836,7 @@ def edit( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2897,7 +2897,7 @@ def edit( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -2955,7 +2955,7 @@ def edit( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3014,7 +3014,7 @@ def edit( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3075,7 +3075,7 @@ def edit( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3133,7 +3133,7 @@ def edit( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3191,7 +3191,7 @@ def edit( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3249,7 +3249,7 @@ def edit( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3308,7 +3308,7 @@ def edit( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3369,7 +3369,7 @@ def edit( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3427,7 +3427,7 @@ def edit( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3485,7 +3485,7 @@ def edit( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3543,7 +3543,7 @@ def edit( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3601,7 +3601,7 @@ def edit( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3661,7 +3661,7 @@ def edit( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3719,7 +3719,7 @@ def edit( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3777,7 +3777,7 @@ def edit( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3835,7 +3835,7 @@ def edit( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3894,7 +3894,7 @@ def edit( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -3996,7 +3996,7 @@ def edit( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_edit_params.CAARecordData | record_edit_params.CERTRecordData @@ -4271,7 +4271,7 @@ async def create( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4331,7 +4331,7 @@ async def create( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4390,7 +4390,7 @@ async def create( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4446,7 +4446,7 @@ async def create( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4503,7 +4503,7 @@ async def create( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4562,7 +4562,7 @@ async def create( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4618,7 +4618,7 @@ async def create( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4674,7 +4674,7 @@ async def create( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4730,7 +4730,7 @@ async def create( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4787,7 +4787,7 @@ async def create( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4846,7 +4846,7 @@ async def create( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4902,7 +4902,7 @@ async def create( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -4958,7 +4958,7 @@ async def create( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5014,7 +5014,7 @@ async def create( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5070,7 +5070,7 @@ async def create( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5128,7 +5128,7 @@ async def create( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5184,7 +5184,7 @@ async def create( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5240,7 +5240,7 @@ async def create( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5296,7 +5296,7 @@ async def create( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5353,7 +5353,7 @@ async def create( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5453,7 +5453,7 @@ async def create( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_create_params.CAARecordData | record_create_params.CERTRecordData @@ -5519,7 +5519,7 @@ async def update( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5581,7 +5581,7 @@ async def update( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5642,7 +5642,7 @@ async def update( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5700,7 +5700,7 @@ async def update( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5759,7 +5759,7 @@ async def update( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5820,7 +5820,7 @@ async def update( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5878,7 +5878,7 @@ async def update( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5936,7 +5936,7 @@ async def update( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -5994,7 +5994,7 @@ async def update( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6053,7 +6053,7 @@ async def update( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6114,7 +6114,7 @@ async def update( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6172,7 +6172,7 @@ async def update( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6230,7 +6230,7 @@ async def update( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6288,7 +6288,7 @@ async def update( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6346,7 +6346,7 @@ async def update( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6406,7 +6406,7 @@ async def update( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6464,7 +6464,7 @@ async def update( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6522,7 +6522,7 @@ async def update( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6580,7 +6580,7 @@ async def update( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6639,7 +6639,7 @@ async def update( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -6741,7 +6741,7 @@ async def update( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_update_params.CAARecordData | record_update_params.CERTRecordData @@ -6980,7 +6980,7 @@ async def edit( type: Literal["A"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7042,7 +7042,7 @@ async def edit( type: Literal["AAAA"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7103,7 +7103,7 @@ async def edit( name: str, type: Literal["CAA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7161,7 +7161,7 @@ async def edit( name: str, type: Literal["CERT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7220,7 +7220,7 @@ async def edit( type: Literal["CNAME"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7281,7 +7281,7 @@ async def edit( name: str, type: Literal["DNSKEY"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7339,7 +7339,7 @@ async def edit( name: str, type: Literal["DS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7397,7 +7397,7 @@ async def edit( name: str, type: Literal["HTTPS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7455,7 +7455,7 @@ async def edit( name: str, type: Literal["LOC"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7514,7 +7514,7 @@ async def edit( priority: float, type: Literal["MX"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7575,7 +7575,7 @@ async def edit( name: str, type: Literal["NAPTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7633,7 +7633,7 @@ async def edit( name: str, type: Literal["NS"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7691,7 +7691,7 @@ async def edit( name: str, type: Literal["PTR"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7749,7 +7749,7 @@ async def edit( name: str, type: Literal["SMIMEA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7807,7 +7807,7 @@ async def edit( name: str, type: Literal["SRV"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7867,7 +7867,7 @@ async def edit( name: str, type: Literal["SSHFP"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7925,7 +7925,7 @@ async def edit( name: str, type: Literal["SVCB"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -7983,7 +7983,7 @@ async def edit( name: str, type: Literal["TLSA"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -8041,7 +8041,7 @@ async def edit( name: str, type: Literal["TXT"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -8100,7 +8100,7 @@ async def edit( priority: float, type: Literal["URI"], comment: str | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | 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. @@ -8202,7 +8202,7 @@ async def edit( | Literal["URI"], comment: str | NotGiven = NOT_GIVEN, proxied: bool | NotGiven = NOT_GIVEN, - tags: List[RecordTagsItem] | NotGiven = NOT_GIVEN, + tags: List[RecordTags] | NotGiven = NOT_GIVEN, ttl: TTLParam | NotGiven = NOT_GIVEN, data: record_edit_params.CAARecordData | record_edit_params.CERTRecordData diff --git a/src/cloudflare/resources/intel/sinkholes.py b/src/cloudflare/resources/intel/sinkholes.py index 37298291a02..55d0f5faa9b 100644 --- a/src/cloudflare/resources/intel/sinkholes.py +++ b/src/cloudflare/resources/intel/sinkholes.py @@ -14,7 +14,7 @@ async_to_streamed_response_wrapper, ) from ...pagination import SyncSinglePage, AsyncSinglePage -from ...types.intel import SinkholeItem +from ...types.intel import Sinkhole from ..._base_client import ( AsyncPaginator, make_request_options, @@ -42,7 +42,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> SyncSinglePage[SinkholeItem]: + ) -> SyncSinglePage[Sinkhole]: """ List sinkholes owned by this account @@ -61,11 +61,11 @@ def list( 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}/intel/sinkholes", - page=SyncSinglePage[SinkholeItem], + page=SyncSinglePage[Sinkhole], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=SinkholeItem, + model=Sinkhole, ) @@ -88,7 +88,7 @@ def list( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> AsyncPaginator[SinkholeItem, AsyncSinglePage[SinkholeItem]]: + ) -> AsyncPaginator[Sinkhole, AsyncSinglePage[Sinkhole]]: """ List sinkholes owned by this account @@ -107,11 +107,11 @@ def list( 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}/intel/sinkholes", - page=AsyncSinglePage[SinkholeItem], + page=AsyncSinglePage[Sinkhole], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=SinkholeItem, + model=Sinkhole, ) diff --git a/src/cloudflare/resources/load_balancers/load_balancers.py b/src/cloudflare/resources/load_balancers/load_balancers.py index 28c2ea92183..9e31221e05d 100644 --- a/src/cloudflare/resources/load_balancers/load_balancers.py +++ b/src/cloudflare/resources/load_balancers/load_balancers.py @@ -16,9 +16,9 @@ AsyncPoolsWithStreamingResponse, ) from ...types import ( + RulesParam, + DefaultPools, LoadBalancer, - RulesItemParam, - DefaultPoolsItem, RandomSteeringParam, AdaptiveRoutingParam, LocationStrategyParam, @@ -119,7 +119,7 @@ def create( self, *, zone_id: str, - default_pools: List[DefaultPoolsItem], + default_pools: List[DefaultPools], fallback_pool: object, name: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, @@ -130,7 +130,7 @@ def create( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, @@ -318,7 +318,7 @@ def update( load_balancer_id: str, *, zone_id: str, - default_pools: List[DefaultPoolsItem], + default_pools: List[DefaultPools], fallback_pool: object, name: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, @@ -330,7 +330,7 @@ def update( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, @@ -601,7 +601,7 @@ def edit( zone_id: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, country_pools: object | NotGiven = NOT_GIVEN, - default_pools: List[DefaultPoolsItem] | NotGiven = NOT_GIVEN, + default_pools: List[DefaultPools] | NotGiven = NOT_GIVEN, description: str | NotGiven = NOT_GIVEN, enabled: bool | NotGiven = NOT_GIVEN, fallback_pool: object | NotGiven = NOT_GIVEN, @@ -611,7 +611,7 @@ def edit( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, @@ -873,7 +873,7 @@ async def create( self, *, zone_id: str, - default_pools: List[DefaultPoolsItem], + default_pools: List[DefaultPools], fallback_pool: object, name: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, @@ -884,7 +884,7 @@ async def create( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, @@ -1072,7 +1072,7 @@ async def update( load_balancer_id: str, *, zone_id: str, - default_pools: List[DefaultPoolsItem], + default_pools: List[DefaultPools], fallback_pool: object, name: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, @@ -1084,7 +1084,7 @@ async def update( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, @@ -1355,7 +1355,7 @@ async def edit( zone_id: str, adaptive_routing: AdaptiveRoutingParam | NotGiven = NOT_GIVEN, country_pools: object | NotGiven = NOT_GIVEN, - default_pools: List[DefaultPoolsItem] | NotGiven = NOT_GIVEN, + default_pools: List[DefaultPools] | NotGiven = NOT_GIVEN, description: str | NotGiven = NOT_GIVEN, enabled: bool | NotGiven = NOT_GIVEN, fallback_pool: object | NotGiven = NOT_GIVEN, @@ -1365,7 +1365,7 @@ async def edit( proxied: bool | NotGiven = NOT_GIVEN, random_steering: RandomSteeringParam | NotGiven = NOT_GIVEN, region_pools: object | NotGiven = NOT_GIVEN, - rules: Iterable[RulesItemParam] | NotGiven = NOT_GIVEN, + rules: Iterable[RulesParam] | NotGiven = NOT_GIVEN, session_affinity: Literal["none", "cookie", "ip_cookie", "header", '""'] | NotGiven = NOT_GIVEN, session_affinity_attributes: SessionAffinityAttributesParam | NotGiven = NOT_GIVEN, session_affinity_ttl: float | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/spectrum/analytics/events/bytimes.py b/src/cloudflare/resources/spectrum/analytics/events/bytimes.py index 3297aac4dd4..8387222ec31 100644 --- a/src/cloudflare/resources/spectrum/analytics/events/bytimes.py +++ b/src/cloudflare/resources/spectrum/analytics/events/bytimes.py @@ -25,7 +25,7 @@ from ....._base_client import ( make_request_options, ) -from .....types.spectrum.analytics import DimensionItem +from .....types.spectrum.analytics import Dimension from .....types.spectrum.analytics.events import BytimeGetResponse, bytime_get_params __all__ = ["Bytimes", "AsyncBytimes"] @@ -44,7 +44,7 @@ def get( self, zone: str, *, - dimensions: List[DimensionItem] | NotGiven = NOT_GIVEN, + dimensions: List[Dimension] | NotGiven = NOT_GIVEN, filters: str | NotGiven = NOT_GIVEN, metrics: List[ Literal[ @@ -173,7 +173,7 @@ async def get( self, zone: str, *, - dimensions: List[DimensionItem] | NotGiven = NOT_GIVEN, + dimensions: List[Dimension] | NotGiven = NOT_GIVEN, filters: str | NotGiven = NOT_GIVEN, metrics: List[ Literal[ diff --git a/src/cloudflare/resources/spectrum/analytics/events/summaries.py b/src/cloudflare/resources/spectrum/analytics/events/summaries.py index 12b862c5633..4786ba4fad0 100644 --- a/src/cloudflare/resources/spectrum/analytics/events/summaries.py +++ b/src/cloudflare/resources/spectrum/analytics/events/summaries.py @@ -25,7 +25,7 @@ from ....._base_client import ( make_request_options, ) -from .....types.spectrum.analytics import DimensionItem +from .....types.spectrum.analytics import Dimension from .....types.spectrum.analytics.events import SummaryGetResponse, summary_get_params __all__ = ["Summaries", "AsyncSummaries"] @@ -44,7 +44,7 @@ def get( self, zone: str, *, - dimensions: List[DimensionItem] | NotGiven = NOT_GIVEN, + dimensions: List[Dimension] | NotGiven = NOT_GIVEN, filters: str | NotGiven = NOT_GIVEN, metrics: List[ Literal[ @@ -168,7 +168,7 @@ async def get( self, zone: str, *, - dimensions: List[DimensionItem] | NotGiven = NOT_GIVEN, + dimensions: List[Dimension] | NotGiven = NOT_GIVEN, filters: str | NotGiven = NOT_GIVEN, metrics: List[ Literal[ diff --git a/src/cloudflare/resources/ssl/certificate_packs/order.py b/src/cloudflare/resources/ssl/certificate_packs/order.py index 9ab85077244..f025d39dba7 100644 --- a/src/cloudflare/resources/ssl/certificate_packs/order.py +++ b/src/cloudflare/resources/ssl/certificate_packs/order.py @@ -21,7 +21,7 @@ async_to_streamed_response_wrapper, ) from ...._wrappers import ResultWrapper -from ....types.ssl import HostItem +from ....types.ssl import Host from ...._base_client import ( make_request_options, ) @@ -44,7 +44,7 @@ def create( *, zone_id: str, certificate_authority: Literal["google", "lets_encrypt"], - hosts: List[HostItem], + hosts: List[Host], type: Literal["advanced"], validation_method: Literal["txt", "http", "email"], validity_days: Literal[14, 30, 90, 365], @@ -126,7 +126,7 @@ async def create( *, zone_id: str, certificate_authority: Literal["google", "lets_encrypt"], - hosts: List[HostItem], + hosts: List[Host], type: Literal["advanced"], validation_method: Literal["txt", "http", "email"], validity_days: Literal[14, 30, 90, 365], diff --git a/src/cloudflare/resources/stream/clip.py b/src/cloudflare/resources/stream/clip.py index fa5e3aac14e..9a280ecf14e 100644 --- a/src/cloudflare/resources/stream/clip.py +++ b/src/cloudflare/resources/stream/clip.py @@ -6,7 +6,7 @@ import httpx -from ...types import AllowedOriginsItem +from ...types import AllowedOrigins from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven from ..._utils import ( maybe_transform, @@ -45,7 +45,7 @@ def create( clipped_from_video_uid: str, end_time_seconds: int, start_time_seconds: int, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, max_duration_seconds: int | NotGiven = NOT_GIVEN, require_signed_urls: bool | NotGiven = NOT_GIVEN, @@ -142,7 +142,7 @@ async def create( clipped_from_video_uid: str, end_time_seconds: int, start_time_seconds: int, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, max_duration_seconds: int | NotGiven = NOT_GIVEN, require_signed_urls: bool | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/stream/copy.py b/src/cloudflare/resources/stream/copy.py index 9e9fc8e2a02..78932d9fa9a 100644 --- a/src/cloudflare/resources/stream/copy.py +++ b/src/cloudflare/resources/stream/copy.py @@ -7,7 +7,7 @@ import httpx -from ...types import Video, AllowedOriginsItem +from ...types import Video, AllowedOrigins from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven from ..._utils import ( maybe_transform, @@ -44,7 +44,7 @@ def create( *, account_id: str, url: str, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, meta: object | NotGiven = NOT_GIVEN, require_signed_urls: bool | NotGiven = NOT_GIVEN, @@ -139,7 +139,7 @@ async def create( *, account_id: str, url: str, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, meta: object | NotGiven = NOT_GIVEN, require_signed_urls: bool | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/stream/direct_upload.py b/src/cloudflare/resources/stream/direct_upload.py index 293e1f20977..30dcf4c4d72 100644 --- a/src/cloudflare/resources/stream/direct_upload.py +++ b/src/cloudflare/resources/stream/direct_upload.py @@ -7,7 +7,7 @@ import httpx -from ...types import AllowedOriginsItem +from ...types import AllowedOrigins from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven from ..._utils import ( maybe_transform, @@ -44,7 +44,7 @@ def create( *, account_id: str, max_duration_seconds: int, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, expiry: Union[str, datetime] | NotGiven = NOT_GIVEN, meta: object | NotGiven = NOT_GIVEN, @@ -144,7 +144,7 @@ async def create( *, account_id: str, max_duration_seconds: int, - allowed_origins: List[AllowedOriginsItem] | NotGiven = NOT_GIVEN, + allowed_origins: List[AllowedOrigins] | NotGiven = NOT_GIVEN, creator: str | NotGiven = NOT_GIVEN, expiry: Union[str, datetime] | NotGiven = NOT_GIVEN, meta: object | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/user/__init__.py b/src/cloudflare/resources/user/__init__.py index 1cb95227682..ff166570765 100644 --- a/src/cloudflare/resources/user/__init__.py +++ b/src/cloudflare/resources/user/__init__.py @@ -32,14 +32,6 @@ InvitesWithStreamingResponse, AsyncInvitesWithStreamingResponse, ) -from .firewall import ( - Firewall, - AsyncFirewall, - FirewallWithRawResponse, - AsyncFirewallWithRawResponse, - FirewallWithStreamingResponse, - AsyncFirewallWithStreamingResponse, -) from .audit_logs import ( AuditLogs, AsyncAuditLogs, @@ -64,14 +56,6 @@ SubscriptionsWithStreamingResponse, AsyncSubscriptionsWithStreamingResponse, ) -from .load_balancing import ( - LoadBalancing, - AsyncLoadBalancing, - LoadBalancingWithRawResponse, - AsyncLoadBalancingWithRawResponse, - LoadBalancingWithStreamingResponse, - AsyncLoadBalancingWithStreamingResponse, -) __all__ = [ "AuditLogs", @@ -86,24 +70,12 @@ "AsyncBillingWithRawResponse", "BillingWithStreamingResponse", "AsyncBillingWithStreamingResponse", - "Firewall", - "AsyncFirewall", - "FirewallWithRawResponse", - "AsyncFirewallWithRawResponse", - "FirewallWithStreamingResponse", - "AsyncFirewallWithStreamingResponse", "Invites", "AsyncInvites", "InvitesWithRawResponse", "AsyncInvitesWithRawResponse", "InvitesWithStreamingResponse", "AsyncInvitesWithStreamingResponse", - "LoadBalancing", - "AsyncLoadBalancing", - "LoadBalancingWithRawResponse", - "AsyncLoadBalancingWithRawResponse", - "LoadBalancingWithStreamingResponse", - "AsyncLoadBalancingWithStreamingResponse", "Organizations", "AsyncOrganizations", "OrganizationsWithRawResponse", diff --git a/src/cloudflare/resources/user/firewall/__init__.py b/src/cloudflare/resources/user/firewall/__init__.py deleted file mode 100644 index 4a73d054bf4..00000000000 --- a/src/cloudflare/resources/user/firewall/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from .firewall import ( - Firewall, - AsyncFirewall, - FirewallWithRawResponse, - AsyncFirewallWithRawResponse, - FirewallWithStreamingResponse, - AsyncFirewallWithStreamingResponse, -) -from .access_rules import ( - AccessRules, - AsyncAccessRules, - AccessRulesWithRawResponse, - AsyncAccessRulesWithRawResponse, - AccessRulesWithStreamingResponse, - AsyncAccessRulesWithStreamingResponse, -) - -__all__ = [ - "AccessRules", - "AsyncAccessRules", - "AccessRulesWithRawResponse", - "AsyncAccessRulesWithRawResponse", - "AccessRulesWithStreamingResponse", - "AsyncAccessRulesWithStreamingResponse", - "Firewall", - "AsyncFirewall", - "FirewallWithRawResponse", - "AsyncFirewallWithRawResponse", - "FirewallWithStreamingResponse", - "AsyncFirewallWithStreamingResponse", -] diff --git a/src/cloudflare/resources/user/firewall/access_rules.py b/src/cloudflare/resources/user/firewall/access_rules.py deleted file mode 100644 index 710da81dfe0..00000000000 --- a/src/cloudflare/resources/user/firewall/access_rules.py +++ /dev/null @@ -1,554 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Type, 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.user.firewall import ( - FirewallRule, - AccessRuleDeleteResponse, - access_rule_edit_params, - access_rule_list_params, - access_rule_create_params, - access_rule_delete_params, -) - -__all__ = ["AccessRules", "AsyncAccessRules"] - - -class AccessRules(SyncAPIResource): - @cached_property - def with_raw_response(self) -> AccessRulesWithRawResponse: - return AccessRulesWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AccessRulesWithStreamingResponse: - return AccessRulesWithStreamingResponse(self) - - def create( - self, - *, - configuration: access_rule_create_params.Configuration, - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"], - notes: 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, - ) -> FirewallRule: - """ - Creates a new IP Access rule for all zones owned by the current user. - - Note: To create an IP Access rule that applies to a specific zone, refer to the - [IP Access rules for a zone](#ip-access-rules-for-a-zone) endpoints. - - Args: - configuration: The rule configuration. - - mode: The action to apply to a matched request. - - notes: An informative summary of the rule, typically used as a reminder or explanation. - - 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._post( - "/user/firewall/access_rules/rules", - body=maybe_transform( - { - "configuration": configuration, - "mode": mode, - "notes": notes, - }, - access_rule_create_params.AccessRuleCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[FirewallRule], ResultWrapper[FirewallRule]), - ) - - def list( - self, - *, - direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN, - egs_pagination: access_rule_list_params.EgsPagination | NotGiven = NOT_GIVEN, - filters: access_rule_list_params.Filters | NotGiven = NOT_GIVEN, - order: Literal["configuration.target", "configuration.value", "mode"] | NotGiven = NOT_GIVEN, - page: float | NotGiven = NOT_GIVEN, - per_page: float | 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[FirewallRule]: - """Fetches IP Access rules of the user. - - You can filter the results using several - optional parameters. - - Args: - direction: The direction used to sort returned rules. - - order: The field used to sort returned rules. - - page: Requested page within paginated list of results. - - per_page: Maximum number of results requested. - - 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_api_list( - "/user/firewall/access_rules/rules", - page=SyncV4PagePaginationArray[FirewallRule], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "direction": direction, - "egs_pagination": egs_pagination, - "filters": filters, - "order": order, - "page": page, - "per_page": per_page, - }, - access_rule_list_params.AccessRuleListParams, - ), - ), - model=FirewallRule, - ) - - def delete( - self, - identifier: str, - *, - body: object, - # 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, - ) -> AccessRuleDeleteResponse: - """ - Deletes an IP Access rule at the user level. - - Note: Deleting a user-level rule will affect all zones owned by the user. - - Args: - identifier: The unique identifier of the IP Access rule. - - 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 identifier: - raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}") - return self._delete( - f"/user/firewall/access_rules/rules/{identifier}", - body=maybe_transform(body, access_rule_delete_params.AccessRuleDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[AccessRuleDeleteResponse], ResultWrapper[AccessRuleDeleteResponse]), - ) - - def edit( - self, - identifier: str, - *, - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"] | NotGiven = NOT_GIVEN, - notes: 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, - ) -> FirewallRule: - """Updates an IP Access rule defined at the user level. - - You can only update the - rule action (`mode` parameter) and notes. - - Args: - identifier: The unique identifier of the IP Access rule. - - mode: The action to apply to a matched request. - - notes: An informative summary of the rule, typically used as a reminder or explanation. - - 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 identifier: - raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}") - return self._patch( - f"/user/firewall/access_rules/rules/{identifier}", - body=maybe_transform( - { - "mode": mode, - "notes": notes, - }, - access_rule_edit_params.AccessRuleEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[FirewallRule], ResultWrapper[FirewallRule]), - ) - - -class AsyncAccessRules(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncAccessRulesWithRawResponse: - return AsyncAccessRulesWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncAccessRulesWithStreamingResponse: - return AsyncAccessRulesWithStreamingResponse(self) - - async def create( - self, - *, - configuration: access_rule_create_params.Configuration, - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"], - notes: 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, - ) -> FirewallRule: - """ - Creates a new IP Access rule for all zones owned by the current user. - - Note: To create an IP Access rule that applies to a specific zone, refer to the - [IP Access rules for a zone](#ip-access-rules-for-a-zone) endpoints. - - Args: - configuration: The rule configuration. - - mode: The action to apply to a matched request. - - notes: An informative summary of the rule, typically used as a reminder or explanation. - - 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._post( - "/user/firewall/access_rules/rules", - body=await async_maybe_transform( - { - "configuration": configuration, - "mode": mode, - "notes": notes, - }, - access_rule_create_params.AccessRuleCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[FirewallRule], ResultWrapper[FirewallRule]), - ) - - def list( - self, - *, - direction: Literal["asc", "desc"] | NotGiven = NOT_GIVEN, - egs_pagination: access_rule_list_params.EgsPagination | NotGiven = NOT_GIVEN, - filters: access_rule_list_params.Filters | NotGiven = NOT_GIVEN, - order: Literal["configuration.target", "configuration.value", "mode"] | NotGiven = NOT_GIVEN, - page: float | NotGiven = NOT_GIVEN, - per_page: float | 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[FirewallRule, AsyncV4PagePaginationArray[FirewallRule]]: - """Fetches IP Access rules of the user. - - You can filter the results using several - optional parameters. - - Args: - direction: The direction used to sort returned rules. - - order: The field used to sort returned rules. - - page: Requested page within paginated list of results. - - per_page: Maximum number of results requested. - - 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_api_list( - "/user/firewall/access_rules/rules", - page=AsyncV4PagePaginationArray[FirewallRule], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "direction": direction, - "egs_pagination": egs_pagination, - "filters": filters, - "order": order, - "page": page, - "per_page": per_page, - }, - access_rule_list_params.AccessRuleListParams, - ), - ), - model=FirewallRule, - ) - - async def delete( - self, - identifier: str, - *, - body: object, - # 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, - ) -> AccessRuleDeleteResponse: - """ - Deletes an IP Access rule at the user level. - - Note: Deleting a user-level rule will affect all zones owned by the user. - - Args: - identifier: The unique identifier of the IP Access rule. - - 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 identifier: - raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}") - return await self._delete( - f"/user/firewall/access_rules/rules/{identifier}", - body=await async_maybe_transform(body, access_rule_delete_params.AccessRuleDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[AccessRuleDeleteResponse], ResultWrapper[AccessRuleDeleteResponse]), - ) - - async def edit( - self, - identifier: str, - *, - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"] | NotGiven = NOT_GIVEN, - notes: 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, - ) -> FirewallRule: - """Updates an IP Access rule defined at the user level. - - You can only update the - rule action (`mode` parameter) and notes. - - Args: - identifier: The unique identifier of the IP Access rule. - - mode: The action to apply to a matched request. - - notes: An informative summary of the rule, typically used as a reminder or explanation. - - 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 identifier: - raise ValueError(f"Expected a non-empty value for `identifier` but received {identifier!r}") - return await self._patch( - f"/user/firewall/access_rules/rules/{identifier}", - body=await async_maybe_transform( - { - "mode": mode, - "notes": notes, - }, - access_rule_edit_params.AccessRuleEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[FirewallRule], ResultWrapper[FirewallRule]), - ) - - -class AccessRulesWithRawResponse: - def __init__(self, access_rules: AccessRules) -> None: - self._access_rules = access_rules - - self.create = to_raw_response_wrapper( - access_rules.create, - ) - self.list = to_raw_response_wrapper( - access_rules.list, - ) - self.delete = to_raw_response_wrapper( - access_rules.delete, - ) - self.edit = to_raw_response_wrapper( - access_rules.edit, - ) - - -class AsyncAccessRulesWithRawResponse: - def __init__(self, access_rules: AsyncAccessRules) -> None: - self._access_rules = access_rules - - self.create = async_to_raw_response_wrapper( - access_rules.create, - ) - self.list = async_to_raw_response_wrapper( - access_rules.list, - ) - self.delete = async_to_raw_response_wrapper( - access_rules.delete, - ) - self.edit = async_to_raw_response_wrapper( - access_rules.edit, - ) - - -class AccessRulesWithStreamingResponse: - def __init__(self, access_rules: AccessRules) -> None: - self._access_rules = access_rules - - self.create = to_streamed_response_wrapper( - access_rules.create, - ) - self.list = to_streamed_response_wrapper( - access_rules.list, - ) - self.delete = to_streamed_response_wrapper( - access_rules.delete, - ) - self.edit = to_streamed_response_wrapper( - access_rules.edit, - ) - - -class AsyncAccessRulesWithStreamingResponse: - def __init__(self, access_rules: AsyncAccessRules) -> None: - self._access_rules = access_rules - - self.create = async_to_streamed_response_wrapper( - access_rules.create, - ) - self.list = async_to_streamed_response_wrapper( - access_rules.list, - ) - self.delete = async_to_streamed_response_wrapper( - access_rules.delete, - ) - self.edit = async_to_streamed_response_wrapper( - access_rules.edit, - ) diff --git a/src/cloudflare/resources/user/firewall/firewall.py b/src/cloudflare/resources/user/firewall/firewall.py deleted file mode 100644 index bd55802d7d9..00000000000 --- a/src/cloudflare/resources/user/firewall/firewall.py +++ /dev/null @@ -1,80 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from ...._compat import cached_property -from ...._resource import SyncAPIResource, AsyncAPIResource -from .access_rules import ( - AccessRules, - AsyncAccessRules, - AccessRulesWithRawResponse, - AsyncAccessRulesWithRawResponse, - AccessRulesWithStreamingResponse, - AsyncAccessRulesWithStreamingResponse, -) - -__all__ = ["Firewall", "AsyncFirewall"] - - -class Firewall(SyncAPIResource): - @cached_property - def access_rules(self) -> AccessRules: - return AccessRules(self._client) - - @cached_property - def with_raw_response(self) -> FirewallWithRawResponse: - return FirewallWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> FirewallWithStreamingResponse: - return FirewallWithStreamingResponse(self) - - -class AsyncFirewall(AsyncAPIResource): - @cached_property - def access_rules(self) -> AsyncAccessRules: - return AsyncAccessRules(self._client) - - @cached_property - def with_raw_response(self) -> AsyncFirewallWithRawResponse: - return AsyncFirewallWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncFirewallWithStreamingResponse: - return AsyncFirewallWithStreamingResponse(self) - - -class FirewallWithRawResponse: - def __init__(self, firewall: Firewall) -> None: - self._firewall = firewall - - @cached_property - def access_rules(self) -> AccessRulesWithRawResponse: - return AccessRulesWithRawResponse(self._firewall.access_rules) - - -class AsyncFirewallWithRawResponse: - def __init__(self, firewall: AsyncFirewall) -> None: - self._firewall = firewall - - @cached_property - def access_rules(self) -> AsyncAccessRulesWithRawResponse: - return AsyncAccessRulesWithRawResponse(self._firewall.access_rules) - - -class FirewallWithStreamingResponse: - def __init__(self, firewall: Firewall) -> None: - self._firewall = firewall - - @cached_property - def access_rules(self) -> AccessRulesWithStreamingResponse: - return AccessRulesWithStreamingResponse(self._firewall.access_rules) - - -class AsyncFirewallWithStreamingResponse: - def __init__(self, firewall: AsyncFirewall) -> None: - self._firewall = firewall - - @cached_property - def access_rules(self) -> AsyncAccessRulesWithStreamingResponse: - return AsyncAccessRulesWithStreamingResponse(self._firewall.access_rules) diff --git a/src/cloudflare/resources/user/load_balancing/__init__.py b/src/cloudflare/resources/user/load_balancing/__init__.py deleted file mode 100644 index 6b715b8da6a..00000000000 --- a/src/cloudflare/resources/user/load_balancing/__init__.py +++ /dev/null @@ -1,75 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from .pools import ( - Pools, - AsyncPools, - PoolsWithRawResponse, - AsyncPoolsWithRawResponse, - PoolsWithStreamingResponse, - AsyncPoolsWithStreamingResponse, -) -from .preview import ( - Preview, - AsyncPreview, - PreviewWithRawResponse, - AsyncPreviewWithRawResponse, - PreviewWithStreamingResponse, - AsyncPreviewWithStreamingResponse, -) -from .monitors import ( - Monitors, - AsyncMonitors, - MonitorsWithRawResponse, - AsyncMonitorsWithRawResponse, - MonitorsWithStreamingResponse, - AsyncMonitorsWithStreamingResponse, -) -from .analytics import ( - Analytics, - AsyncAnalytics, - AnalyticsWithRawResponse, - AsyncAnalyticsWithRawResponse, - AnalyticsWithStreamingResponse, - AsyncAnalyticsWithStreamingResponse, -) -from .load_balancing import ( - LoadBalancing, - AsyncLoadBalancing, - LoadBalancingWithRawResponse, - AsyncLoadBalancingWithRawResponse, - LoadBalancingWithStreamingResponse, - AsyncLoadBalancingWithStreamingResponse, -) - -__all__ = [ - "Monitors", - "AsyncMonitors", - "MonitorsWithRawResponse", - "AsyncMonitorsWithRawResponse", - "MonitorsWithStreamingResponse", - "AsyncMonitorsWithStreamingResponse", - "Pools", - "AsyncPools", - "PoolsWithRawResponse", - "AsyncPoolsWithRawResponse", - "PoolsWithStreamingResponse", - "AsyncPoolsWithStreamingResponse", - "Preview", - "AsyncPreview", - "PreviewWithRawResponse", - "AsyncPreviewWithRawResponse", - "PreviewWithStreamingResponse", - "AsyncPreviewWithStreamingResponse", - "Analytics", - "AsyncAnalytics", - "AnalyticsWithRawResponse", - "AsyncAnalyticsWithRawResponse", - "AnalyticsWithStreamingResponse", - "AsyncAnalyticsWithStreamingResponse", - "LoadBalancing", - "AsyncLoadBalancing", - "LoadBalancingWithRawResponse", - "AsyncLoadBalancingWithRawResponse", - "LoadBalancingWithStreamingResponse", - "AsyncLoadBalancingWithStreamingResponse", -] diff --git a/src/cloudflare/resources/user/load_balancing/analytics/__init__.py b/src/cloudflare/resources/user/load_balancing/analytics/__init__.py deleted file mode 100644 index 134a224e199..00000000000 --- a/src/cloudflare/resources/user/load_balancing/analytics/__init__.py +++ /dev/null @@ -1,33 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from .events import ( - Events, - AsyncEvents, - EventsWithRawResponse, - AsyncEventsWithRawResponse, - EventsWithStreamingResponse, - AsyncEventsWithStreamingResponse, -) -from .analytics import ( - Analytics, - AsyncAnalytics, - AnalyticsWithRawResponse, - AsyncAnalyticsWithRawResponse, - AnalyticsWithStreamingResponse, - AsyncAnalyticsWithStreamingResponse, -) - -__all__ = [ - "Events", - "AsyncEvents", - "EventsWithRawResponse", - "AsyncEventsWithRawResponse", - "EventsWithStreamingResponse", - "AsyncEventsWithStreamingResponse", - "Analytics", - "AsyncAnalytics", - "AnalyticsWithRawResponse", - "AsyncAnalyticsWithRawResponse", - "AnalyticsWithStreamingResponse", - "AsyncAnalyticsWithStreamingResponse", -] diff --git a/src/cloudflare/resources/user/load_balancing/analytics/analytics.py b/src/cloudflare/resources/user/load_balancing/analytics/analytics.py deleted file mode 100644 index 40f4c537773..00000000000 --- a/src/cloudflare/resources/user/load_balancing/analytics/analytics.py +++ /dev/null @@ -1,80 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from .events import ( - Events, - AsyncEvents, - EventsWithRawResponse, - AsyncEventsWithRawResponse, - EventsWithStreamingResponse, - AsyncEventsWithStreamingResponse, -) -from ....._compat import cached_property -from ....._resource import SyncAPIResource, AsyncAPIResource - -__all__ = ["Analytics", "AsyncAnalytics"] - - -class Analytics(SyncAPIResource): - @cached_property - def events(self) -> Events: - return Events(self._client) - - @cached_property - def with_raw_response(self) -> AnalyticsWithRawResponse: - return AnalyticsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AnalyticsWithStreamingResponse: - return AnalyticsWithStreamingResponse(self) - - -class AsyncAnalytics(AsyncAPIResource): - @cached_property - def events(self) -> AsyncEvents: - return AsyncEvents(self._client) - - @cached_property - def with_raw_response(self) -> AsyncAnalyticsWithRawResponse: - return AsyncAnalyticsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncAnalyticsWithStreamingResponse: - return AsyncAnalyticsWithStreamingResponse(self) - - -class AnalyticsWithRawResponse: - def __init__(self, analytics: Analytics) -> None: - self._analytics = analytics - - @cached_property - def events(self) -> EventsWithRawResponse: - return EventsWithRawResponse(self._analytics.events) - - -class AsyncAnalyticsWithRawResponse: - def __init__(self, analytics: AsyncAnalytics) -> None: - self._analytics = analytics - - @cached_property - def events(self) -> AsyncEventsWithRawResponse: - return AsyncEventsWithRawResponse(self._analytics.events) - - -class AnalyticsWithStreamingResponse: - def __init__(self, analytics: Analytics) -> None: - self._analytics = analytics - - @cached_property - def events(self) -> EventsWithStreamingResponse: - return EventsWithStreamingResponse(self._analytics.events) - - -class AsyncAnalyticsWithStreamingResponse: - def __init__(self, analytics: AsyncAnalytics) -> None: - self._analytics = analytics - - @cached_property - def events(self) -> AsyncEventsWithStreamingResponse: - return AsyncEventsWithStreamingResponse(self._analytics.events) diff --git a/src/cloudflare/resources/user/load_balancing/analytics/events.py b/src/cloudflare/resources/user/load_balancing/analytics/events.py deleted file mode 100644 index 75cc328e305..00000000000 --- a/src/cloudflare/resources/user/load_balancing/analytics/events.py +++ /dev/null @@ -1,218 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from datetime import datetime - -import httpx - -from ....._types import NOT_GIVEN, Body, Query, Headers, NotGiven -from ....._utils import 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 .....pagination import SyncSinglePage, AsyncSinglePage -from ....._base_client import ( - AsyncPaginator, - make_request_options, -) -from .....types.user.load_balancing import Analytics -from .....types.user.load_balancing.analytics import event_list_params - -__all__ = ["Events", "AsyncEvents"] - - -class Events(SyncAPIResource): - @cached_property - def with_raw_response(self) -> EventsWithRawResponse: - return EventsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> EventsWithStreamingResponse: - return EventsWithStreamingResponse(self) - - def list( - self, - *, - origin_healthy: bool | NotGiven = NOT_GIVEN, - origin_name: str | NotGiven = NOT_GIVEN, - pool_healthy: bool | NotGiven = NOT_GIVEN, - pool_id: str | NotGiven = NOT_GIVEN, - pool_name: str | NotGiven = NOT_GIVEN, - since: Union[str, datetime] | NotGiven = NOT_GIVEN, - until: Union[str, datetime] | 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, - ) -> SyncSinglePage[Analytics]: - """ - List origin health changes. - - Args: - origin_healthy: If true, filter events where the origin status is healthy. If false, filter - events where the origin status is unhealthy. - - origin_name: The name for the origin to filter. - - pool_healthy: If true, filter events where the pool status is healthy. If false, filter events - where the pool status is unhealthy. - - pool_name: The name for the pool to filter. - - since: Start date and time of requesting data period in the ISO8601 format. - - until: End date and time of requesting data period in the ISO8601 format. - - 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_api_list( - "/user/load_balancing_analytics/events", - page=SyncSinglePage[Analytics], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "origin_healthy": origin_healthy, - "origin_name": origin_name, - "pool_healthy": pool_healthy, - "pool_id": pool_id, - "pool_name": pool_name, - "since": since, - "until": until, - }, - event_list_params.EventListParams, - ), - ), - model=Analytics, - ) - - -class AsyncEvents(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncEventsWithRawResponse: - return AsyncEventsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncEventsWithStreamingResponse: - return AsyncEventsWithStreamingResponse(self) - - def list( - self, - *, - origin_healthy: bool | NotGiven = NOT_GIVEN, - origin_name: str | NotGiven = NOT_GIVEN, - pool_healthy: bool | NotGiven = NOT_GIVEN, - pool_id: str | NotGiven = NOT_GIVEN, - pool_name: str | NotGiven = NOT_GIVEN, - since: Union[str, datetime] | NotGiven = NOT_GIVEN, - until: Union[str, datetime] | 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[Analytics, AsyncSinglePage[Analytics]]: - """ - List origin health changes. - - Args: - origin_healthy: If true, filter events where the origin status is healthy. If false, filter - events where the origin status is unhealthy. - - origin_name: The name for the origin to filter. - - pool_healthy: If true, filter events where the pool status is healthy. If false, filter events - where the pool status is unhealthy. - - pool_name: The name for the pool to filter. - - since: Start date and time of requesting data period in the ISO8601 format. - - until: End date and time of requesting data period in the ISO8601 format. - - 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_api_list( - "/user/load_balancing_analytics/events", - page=AsyncSinglePage[Analytics], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "origin_healthy": origin_healthy, - "origin_name": origin_name, - "pool_healthy": pool_healthy, - "pool_id": pool_id, - "pool_name": pool_name, - "since": since, - "until": until, - }, - event_list_params.EventListParams, - ), - ), - model=Analytics, - ) - - -class EventsWithRawResponse: - def __init__(self, events: Events) -> None: - self._events = events - - self.list = to_raw_response_wrapper( - events.list, - ) - - -class AsyncEventsWithRawResponse: - def __init__(self, events: AsyncEvents) -> None: - self._events = events - - self.list = async_to_raw_response_wrapper( - events.list, - ) - - -class EventsWithStreamingResponse: - def __init__(self, events: Events) -> None: - self._events = events - - self.list = to_streamed_response_wrapper( - events.list, - ) - - -class AsyncEventsWithStreamingResponse: - def __init__(self, events: AsyncEvents) -> None: - self._events = events - - self.list = async_to_streamed_response_wrapper( - events.list, - ) diff --git a/src/cloudflare/resources/user/load_balancing/load_balancing.py b/src/cloudflare/resources/user/load_balancing/load_balancing.py deleted file mode 100644 index 04b7e0d19ba..00000000000 --- a/src/cloudflare/resources/user/load_balancing/load_balancing.py +++ /dev/null @@ -1,177 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from .pools import ( - Pools, - AsyncPools, - PoolsWithRawResponse, - AsyncPoolsWithRawResponse, - PoolsWithStreamingResponse, - AsyncPoolsWithStreamingResponse, -) -from .preview import ( - Preview, - AsyncPreview, - PreviewWithRawResponse, - AsyncPreviewWithRawResponse, - PreviewWithStreamingResponse, - AsyncPreviewWithStreamingResponse, -) -from .monitors import ( - Monitors, - AsyncMonitors, - MonitorsWithRawResponse, - AsyncMonitorsWithRawResponse, - MonitorsWithStreamingResponse, - AsyncMonitorsWithStreamingResponse, -) -from .analytics import ( - Analytics, - AsyncAnalytics, - AnalyticsWithRawResponse, - AsyncAnalyticsWithRawResponse, - AnalyticsWithStreamingResponse, - AsyncAnalyticsWithStreamingResponse, -) -from ...._compat import cached_property -from ...._resource import SyncAPIResource, AsyncAPIResource -from .analytics.analytics import Analytics, AsyncAnalytics - -__all__ = ["LoadBalancing", "AsyncLoadBalancing"] - - -class LoadBalancing(SyncAPIResource): - @cached_property - def monitors(self) -> Monitors: - return Monitors(self._client) - - @cached_property - def pools(self) -> Pools: - return Pools(self._client) - - @cached_property - def preview(self) -> Preview: - return Preview(self._client) - - @cached_property - def analytics(self) -> Analytics: - return Analytics(self._client) - - @cached_property - def with_raw_response(self) -> LoadBalancingWithRawResponse: - return LoadBalancingWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> LoadBalancingWithStreamingResponse: - return LoadBalancingWithStreamingResponse(self) - - -class AsyncLoadBalancing(AsyncAPIResource): - @cached_property - def monitors(self) -> AsyncMonitors: - return AsyncMonitors(self._client) - - @cached_property - def pools(self) -> AsyncPools: - return AsyncPools(self._client) - - @cached_property - def preview(self) -> AsyncPreview: - return AsyncPreview(self._client) - - @cached_property - def analytics(self) -> AsyncAnalytics: - return AsyncAnalytics(self._client) - - @cached_property - def with_raw_response(self) -> AsyncLoadBalancingWithRawResponse: - return AsyncLoadBalancingWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncLoadBalancingWithStreamingResponse: - return AsyncLoadBalancingWithStreamingResponse(self) - - -class LoadBalancingWithRawResponse: - def __init__(self, load_balancing: LoadBalancing) -> None: - self._load_balancing = load_balancing - - @cached_property - def monitors(self) -> MonitorsWithRawResponse: - return MonitorsWithRawResponse(self._load_balancing.monitors) - - @cached_property - def pools(self) -> PoolsWithRawResponse: - return PoolsWithRawResponse(self._load_balancing.pools) - - @cached_property - def preview(self) -> PreviewWithRawResponse: - return PreviewWithRawResponse(self._load_balancing.preview) - - @cached_property - def analytics(self) -> AnalyticsWithRawResponse: - return AnalyticsWithRawResponse(self._load_balancing.analytics) - - -class AsyncLoadBalancingWithRawResponse: - def __init__(self, load_balancing: AsyncLoadBalancing) -> None: - self._load_balancing = load_balancing - - @cached_property - def monitors(self) -> AsyncMonitorsWithRawResponse: - return AsyncMonitorsWithRawResponse(self._load_balancing.monitors) - - @cached_property - def pools(self) -> AsyncPoolsWithRawResponse: - return AsyncPoolsWithRawResponse(self._load_balancing.pools) - - @cached_property - def preview(self) -> AsyncPreviewWithRawResponse: - return AsyncPreviewWithRawResponse(self._load_balancing.preview) - - @cached_property - def analytics(self) -> AsyncAnalyticsWithRawResponse: - return AsyncAnalyticsWithRawResponse(self._load_balancing.analytics) - - -class LoadBalancingWithStreamingResponse: - def __init__(self, load_balancing: LoadBalancing) -> None: - self._load_balancing = load_balancing - - @cached_property - def monitors(self) -> MonitorsWithStreamingResponse: - return MonitorsWithStreamingResponse(self._load_balancing.monitors) - - @cached_property - def pools(self) -> PoolsWithStreamingResponse: - return PoolsWithStreamingResponse(self._load_balancing.pools) - - @cached_property - def preview(self) -> PreviewWithStreamingResponse: - return PreviewWithStreamingResponse(self._load_balancing.preview) - - @cached_property - def analytics(self) -> AnalyticsWithStreamingResponse: - return AnalyticsWithStreamingResponse(self._load_balancing.analytics) - - -class AsyncLoadBalancingWithStreamingResponse: - def __init__(self, load_balancing: AsyncLoadBalancing) -> None: - self._load_balancing = load_balancing - - @cached_property - def monitors(self) -> AsyncMonitorsWithStreamingResponse: - return AsyncMonitorsWithStreamingResponse(self._load_balancing.monitors) - - @cached_property - def pools(self) -> AsyncPoolsWithStreamingResponse: - return AsyncPoolsWithStreamingResponse(self._load_balancing.pools) - - @cached_property - def preview(self) -> AsyncPreviewWithStreamingResponse: - return AsyncPreviewWithStreamingResponse(self._load_balancing.preview) - - @cached_property - def analytics(self) -> AsyncAnalyticsWithStreamingResponse: - return AsyncAnalyticsWithStreamingResponse(self._load_balancing.analytics) diff --git a/src/cloudflare/resources/user/load_balancing/monitors.py b/src/cloudflare/resources/user/load_balancing/monitors.py deleted file mode 100644 index bfb0ef30268..00000000000 --- a/src/cloudflare/resources/user/load_balancing/monitors.py +++ /dev/null @@ -1,1433 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import 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 SyncSinglePage, AsyncSinglePage -from ...._base_client import ( - AsyncPaginator, - make_request_options, -) -from ....types.user.load_balancing import ( - MonitorGetResponse, - MonitorEditResponse, - MonitorListResponse, - MonitorCreateResponse, - MonitorDeleteResponse, - MonitorUpdateResponse, - MonitorPreviewResponse, - MonitorReferencesResponse, - monitor_edit_params, - monitor_create_params, - monitor_delete_params, - monitor_update_params, - monitor_preview_params, -) - -__all__ = ["Monitors", "AsyncMonitors"] - - -class Monitors(SyncAPIResource): - @cached_property - def with_raw_response(self) -> MonitorsWithRawResponse: - return MonitorsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> MonitorsWithStreamingResponse: - return MonitorsWithStreamingResponse(self) - - def create( - self, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorCreateResponse: - """ - Create a configured monitor. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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._post( - "/user/load_balancers/monitors", - body=maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_create_params.MonitorCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorCreateResponse], ResultWrapper[MonitorCreateResponse]), - ) - - def update( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorUpdateResponse: - """ - Modify a configured monitor. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._put( - f"/user/load_balancers/monitors/{monitor_id}", - body=maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_update_params.MonitorUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorUpdateResponse], ResultWrapper[MonitorUpdateResponse]), - ) - - def list( - self, - *, - # 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, - ) -> SyncSinglePage[MonitorListResponse]: - """List configured monitors for a user.""" - return self._get_api_list( - "/user/load_balancers/monitors", - page=SyncSinglePage[MonitorListResponse], - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - model=MonitorListResponse, - ) - - def delete( - self, - monitor_id: str, - *, - body: object, - # 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, - ) -> MonitorDeleteResponse: - """ - Delete a configured monitor. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._delete( - f"/user/load_balancers/monitors/{monitor_id}", - body=maybe_transform(body, monitor_delete_params.MonitorDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorDeleteResponse], ResultWrapper[MonitorDeleteResponse]), - ) - - def edit( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorEditResponse: - """ - Apply changes to an existing monitor, overwriting the supplied properties. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._patch( - f"/user/load_balancers/monitors/{monitor_id}", - body=maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_edit_params.MonitorEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorEditResponse], ResultWrapper[MonitorEditResponse]), - ) - - def get( - self, - monitor_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, - ) -> MonitorGetResponse: - """ - List a single configured monitor for a user. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._get( - f"/user/load_balancers/monitors/{monitor_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorGetResponse], ResultWrapper[MonitorGetResponse]), - ) - - def preview( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorPreviewResponse: - """Preview pools using the specified monitor with provided monitor details. - - The - returned preview_id can be used in the preview endpoint to retrieve the results. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._post( - f"/user/load_balancers/monitors/{monitor_id}/preview", - body=maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_preview_params.MonitorPreviewParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorPreviewResponse], ResultWrapper[MonitorPreviewResponse]), - ) - - def references( - self, - monitor_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[MonitorReferencesResponse]: - """ - Get the list of resources that reference the provided monitor. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return self._get( - f"/user/load_balancers/monitors/{monitor_id}/references", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Optional[MonitorReferencesResponse]], ResultWrapper[MonitorReferencesResponse]), - ) - - -class AsyncMonitors(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncMonitorsWithRawResponse: - return AsyncMonitorsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncMonitorsWithStreamingResponse: - return AsyncMonitorsWithStreamingResponse(self) - - async def create( - self, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorCreateResponse: - """ - Create a configured monitor. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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._post( - "/user/load_balancers/monitors", - body=await async_maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_create_params.MonitorCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorCreateResponse], ResultWrapper[MonitorCreateResponse]), - ) - - async def update( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorUpdateResponse: - """ - Modify a configured monitor. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._put( - f"/user/load_balancers/monitors/{monitor_id}", - body=await async_maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_update_params.MonitorUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorUpdateResponse], ResultWrapper[MonitorUpdateResponse]), - ) - - def list( - self, - *, - # 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[MonitorListResponse, AsyncSinglePage[MonitorListResponse]]: - """List configured monitors for a user.""" - return self._get_api_list( - "/user/load_balancers/monitors", - page=AsyncSinglePage[MonitorListResponse], - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - model=MonitorListResponse, - ) - - async def delete( - self, - monitor_id: str, - *, - body: object, - # 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, - ) -> MonitorDeleteResponse: - """ - Delete a configured monitor. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._delete( - f"/user/load_balancers/monitors/{monitor_id}", - body=await async_maybe_transform(body, monitor_delete_params.MonitorDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorDeleteResponse], ResultWrapper[MonitorDeleteResponse]), - ) - - async def edit( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorEditResponse: - """ - Apply changes to an existing monitor, overwriting the supplied properties. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._patch( - f"/user/load_balancers/monitors/{monitor_id}", - body=await async_maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_edit_params.MonitorEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorEditResponse], ResultWrapper[MonitorEditResponse]), - ) - - async def get( - self, - monitor_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, - ) -> MonitorGetResponse: - """ - List a single configured monitor for a user. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._get( - f"/user/load_balancers/monitors/{monitor_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorGetResponse], ResultWrapper[MonitorGetResponse]), - ) - - async def preview( - self, - monitor_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> MonitorPreviewResponse: - """Preview pools using the specified monitor with provided monitor details. - - The - returned preview_id can be used in the preview endpoint to retrieve the results. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._post( - f"/user/load_balancers/monitors/{monitor_id}/preview", - body=await async_maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - monitor_preview_params.MonitorPreviewParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[MonitorPreviewResponse], ResultWrapper[MonitorPreviewResponse]), - ) - - async def references( - self, - monitor_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[MonitorReferencesResponse]: - """ - Get the list of resources that reference the provided monitor. - - Args: - 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 monitor_id: - raise ValueError(f"Expected a non-empty value for `monitor_id` but received {monitor_id!r}") - return await self._get( - f"/user/load_balancers/monitors/{monitor_id}/references", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Optional[MonitorReferencesResponse]], ResultWrapper[MonitorReferencesResponse]), - ) - - -class MonitorsWithRawResponse: - def __init__(self, monitors: Monitors) -> None: - self._monitors = monitors - - self.create = to_raw_response_wrapper( - monitors.create, - ) - self.update = to_raw_response_wrapper( - monitors.update, - ) - self.list = to_raw_response_wrapper( - monitors.list, - ) - self.delete = to_raw_response_wrapper( - monitors.delete, - ) - self.edit = to_raw_response_wrapper( - monitors.edit, - ) - self.get = to_raw_response_wrapper( - monitors.get, - ) - self.preview = to_raw_response_wrapper( - monitors.preview, - ) - self.references = to_raw_response_wrapper( - monitors.references, - ) - - -class AsyncMonitorsWithRawResponse: - def __init__(self, monitors: AsyncMonitors) -> None: - self._monitors = monitors - - self.create = async_to_raw_response_wrapper( - monitors.create, - ) - self.update = async_to_raw_response_wrapper( - monitors.update, - ) - self.list = async_to_raw_response_wrapper( - monitors.list, - ) - self.delete = async_to_raw_response_wrapper( - monitors.delete, - ) - self.edit = async_to_raw_response_wrapper( - monitors.edit, - ) - self.get = async_to_raw_response_wrapper( - monitors.get, - ) - self.preview = async_to_raw_response_wrapper( - monitors.preview, - ) - self.references = async_to_raw_response_wrapper( - monitors.references, - ) - - -class MonitorsWithStreamingResponse: - def __init__(self, monitors: Monitors) -> None: - self._monitors = monitors - - self.create = to_streamed_response_wrapper( - monitors.create, - ) - self.update = to_streamed_response_wrapper( - monitors.update, - ) - self.list = to_streamed_response_wrapper( - monitors.list, - ) - self.delete = to_streamed_response_wrapper( - monitors.delete, - ) - self.edit = to_streamed_response_wrapper( - monitors.edit, - ) - self.get = to_streamed_response_wrapper( - monitors.get, - ) - self.preview = to_streamed_response_wrapper( - monitors.preview, - ) - self.references = to_streamed_response_wrapper( - monitors.references, - ) - - -class AsyncMonitorsWithStreamingResponse: - def __init__(self, monitors: AsyncMonitors) -> None: - self._monitors = monitors - - self.create = async_to_streamed_response_wrapper( - monitors.create, - ) - self.update = async_to_streamed_response_wrapper( - monitors.update, - ) - self.list = async_to_streamed_response_wrapper( - monitors.list, - ) - self.delete = async_to_streamed_response_wrapper( - monitors.delete, - ) - self.edit = async_to_streamed_response_wrapper( - monitors.edit, - ) - self.get = async_to_streamed_response_wrapper( - monitors.get, - ) - self.preview = async_to_streamed_response_wrapper( - monitors.preview, - ) - self.references = async_to_streamed_response_wrapper( - monitors.references, - ) diff --git a/src/cloudflare/resources/user/load_balancing/pools.py b/src/cloudflare/resources/user/load_balancing/pools.py deleted file mode 100644 index 3d9fa86e418..00000000000 --- a/src/cloudflare/resources/user/load_balancing/pools.py +++ /dev/null @@ -1,1498 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Any, List, Type, Iterable, Optional, cast -from typing_extensions import Literal - -import httpx - -from ....types import ( - CheckRegion, - OriginParam, - LoadSheddingParam, - OriginSteeringParam, - NotificationFilterParam, -) -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 SyncSinglePage, AsyncSinglePage -from ...._base_client import ( - AsyncPaginator, - make_request_options, -) -from ....types.load_balancers import Pool -from ....types.user.load_balancing import ( - PoolDeleteResponse, - PoolHealthResponse, - PoolPreviewResponse, - PoolReferencesResponse, - pool_edit_params, - pool_list_params, - pool_create_params, - pool_delete_params, - pool_update_params, - pool_preview_params, -) - -__all__ = ["Pools", "AsyncPools"] - - -class Pools(SyncAPIResource): - @cached_property - def with_raw_response(self) -> PoolsWithRawResponse: - return PoolsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> PoolsWithStreamingResponse: - return PoolsWithStreamingResponse(self) - - def create( - self, - *, - name: str, - origins: Iterable[OriginParam], - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | 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, - ) -> Pool: - """Create a new pool. - - Args: - name: A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and - underscores are allowed. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - 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._post( - "/user/load_balancers/pools", - body=maybe_transform( - { - "name": name, - "origins": origins, - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - }, - pool_create_params.PoolCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - def update( - self, - pool_id: str, - *, - name: str, - origins: Iterable[OriginParam], - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | 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, - ) -> Pool: - """Modify a configured pool. - - Args: - name: A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and - underscores are allowed. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._put( - f"/user/load_balancers/pools/{pool_id}", - body=maybe_transform( - { - "name": name, - "origins": origins, - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - }, - pool_update_params.PoolUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - def list( - self, - *, - monitor: object | 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, - ) -> SyncSinglePage[Pool]: - """ - List configured pools. - - Args: - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - 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_api_list( - "/user/load_balancers/pools", - page=SyncSinglePage[Pool], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform({"monitor": monitor}, pool_list_params.PoolListParams), - ), - model=Pool, - ) - - def delete( - self, - pool_id: str, - *, - body: object, - # 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, - ) -> PoolDeleteResponse: - """ - Delete a configured pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._delete( - f"/user/load_balancers/pools/{pool_id}", - body=maybe_transform(body, pool_delete_params.PoolDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PoolDeleteResponse], ResultWrapper[PoolDeleteResponse]), - ) - - def edit( - self, - pool_id: str, - *, - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - name: str | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | NotGiven = NOT_GIVEN, - origins: Iterable[OriginParam] | 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, - ) -> Pool: - """ - Apply changes to an existing pool, overwriting the supplied properties. - - Args: - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - name: A short name (tag) for the pool. Only alphanumeric characters, hyphens, and - underscores are allowed. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._patch( - f"/user/load_balancers/pools/{pool_id}", - body=maybe_transform( - { - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "name": name, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - "origins": origins, - }, - pool_edit_params.PoolEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - def get( - self, - pool_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, - ) -> Pool: - """ - Fetch a single configured pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._get( - f"/user/load_balancers/pools/{pool_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - def health( - self, - pool_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, - ) -> PoolHealthResponse: - """ - Fetch the latest pool health status for a single pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return cast( - PoolHealthResponse, - self._get( - f"/user/load_balancers/pools/{pool_id}/health", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast( - Any, ResultWrapper[PoolHealthResponse] - ), # Union types cannot be passed in as arguments in the type system - ), - ) - - def preview( - self, - pool_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> PoolPreviewResponse: - """Preview pool health using provided monitor details. - - The returned preview_id can - be used in the preview endpoint to retrieve the results. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._post( - f"/user/load_balancers/pools/{pool_id}/preview", - body=maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - pool_preview_params.PoolPreviewParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PoolPreviewResponse], ResultWrapper[PoolPreviewResponse]), - ) - - def references( - self, - pool_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[PoolReferencesResponse]: - """ - Get the list of resources that reference the provided pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return self._get( - f"/user/load_balancers/pools/{pool_id}/references", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Optional[PoolReferencesResponse]], ResultWrapper[PoolReferencesResponse]), - ) - - -class AsyncPools(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncPoolsWithRawResponse: - return AsyncPoolsWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncPoolsWithStreamingResponse: - return AsyncPoolsWithStreamingResponse(self) - - async def create( - self, - *, - name: str, - origins: Iterable[OriginParam], - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | 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, - ) -> Pool: - """Create a new pool. - - Args: - name: A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and - underscores are allowed. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - 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._post( - "/user/load_balancers/pools", - body=await async_maybe_transform( - { - "name": name, - "origins": origins, - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - }, - pool_create_params.PoolCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - async def update( - self, - pool_id: str, - *, - name: str, - origins: Iterable[OriginParam], - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | 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, - ) -> Pool: - """Modify a configured pool. - - Args: - name: A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and - underscores are allowed. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._put( - f"/user/load_balancers/pools/{pool_id}", - body=await async_maybe_transform( - { - "name": name, - "origins": origins, - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - }, - pool_update_params.PoolUpdateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - def list( - self, - *, - monitor: object | 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[Pool, AsyncSinglePage[Pool]]: - """ - List configured pools. - - Args: - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - 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_api_list( - "/user/load_balancers/pools", - page=AsyncSinglePage[Pool], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform({"monitor": monitor}, pool_list_params.PoolListParams), - ), - model=Pool, - ) - - async def delete( - self, - pool_id: str, - *, - body: object, - # 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, - ) -> PoolDeleteResponse: - """ - Delete a configured pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._delete( - f"/user/load_balancers/pools/{pool_id}", - body=await async_maybe_transform(body, pool_delete_params.PoolDeleteParams), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PoolDeleteResponse], ResultWrapper[PoolDeleteResponse]), - ) - - async def edit( - self, - pool_id: str, - *, - check_regions: Optional[List[CheckRegion]] | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - enabled: bool | NotGiven = NOT_GIVEN, - latitude: float | NotGiven = NOT_GIVEN, - load_shedding: LoadSheddingParam | NotGiven = NOT_GIVEN, - longitude: float | NotGiven = NOT_GIVEN, - minimum_origins: int | NotGiven = NOT_GIVEN, - monitor: object | NotGiven = NOT_GIVEN, - name: str | NotGiven = NOT_GIVEN, - notification_email: str | NotGiven = NOT_GIVEN, - notification_filter: Optional[NotificationFilterParam] | NotGiven = NOT_GIVEN, - origin_steering: OriginSteeringParam | NotGiven = NOT_GIVEN, - origins: Iterable[OriginParam] | 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, - ) -> Pool: - """ - Apply changes to an existing pool, overwriting the supplied properties. - - Args: - check_regions: A list of regions from which to run health checks. Null means every Cloudflare - data center. - - description: A human-readable description of the pool. - - enabled: Whether to enable (the default) or disable this pool. Disabled pools will not - receive traffic and are excluded from health checks. Disabling a pool will cause - any load balancers using it to failover to the next pool (if any). - - latitude: The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - - load_shedding: Configures load shedding policies and percentages for the pool. - - longitude: The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - - minimum_origins: The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - - monitor: The ID of the Monitor to use for checking the health of origins within this - pool. - - name: A short name (tag) for the pool. Only alphanumeric characters, hyphens, and - underscores are allowed. - - notification_email: This field is now deprecated. It has been moved to Cloudflare's Centralized - Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - - notification_filter: Filter pool and origin health notifications by resource type or health status. - Use null to reset. - - origin_steering: Configures origin steering for the pool. Controls how origins are selected for - new sessions and traffic without session affinity. - - origins: The list of origins within this pool. Traffic directed at this pool is balanced - across all currently healthy origins, provided the pool itself is healthy. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._patch( - f"/user/load_balancers/pools/{pool_id}", - body=await async_maybe_transform( - { - "check_regions": check_regions, - "description": description, - "enabled": enabled, - "latitude": latitude, - "load_shedding": load_shedding, - "longitude": longitude, - "minimum_origins": minimum_origins, - "monitor": monitor, - "name": name, - "notification_email": notification_email, - "notification_filter": notification_filter, - "origin_steering": origin_steering, - "origins": origins, - }, - pool_edit_params.PoolEditParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - async def get( - self, - pool_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, - ) -> Pool: - """ - Fetch a single configured pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._get( - f"/user/load_balancers/pools/{pool_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Pool], ResultWrapper[Pool]), - ) - - async def health( - self, - pool_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, - ) -> PoolHealthResponse: - """ - Fetch the latest pool health status for a single pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return cast( - PoolHealthResponse, - await self._get( - f"/user/load_balancers/pools/{pool_id}/health", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast( - Any, ResultWrapper[PoolHealthResponse] - ), # Union types cannot be passed in as arguments in the type system - ), - ) - - async def preview( - self, - pool_id: str, - *, - expected_codes: str, - allow_insecure: bool | NotGiven = NOT_GIVEN, - consecutive_down: int | NotGiven = NOT_GIVEN, - consecutive_up: int | NotGiven = NOT_GIVEN, - description: str | NotGiven = NOT_GIVEN, - expected_body: str | NotGiven = NOT_GIVEN, - follow_redirects: bool | NotGiven = NOT_GIVEN, - header: object | NotGiven = NOT_GIVEN, - interval: int | NotGiven = NOT_GIVEN, - method: str | NotGiven = NOT_GIVEN, - path: str | NotGiven = NOT_GIVEN, - port: int | NotGiven = NOT_GIVEN, - probe_zone: str | NotGiven = NOT_GIVEN, - retries: int | NotGiven = NOT_GIVEN, - load_balancer_monitor_timeout: int | NotGiven = NOT_GIVEN, - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] | 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, - ) -> PoolPreviewResponse: - """Preview pool health using provided monitor details. - - The returned preview_id can - be used in the preview endpoint to retrieve the results. - - Args: - expected_codes: The expected HTTP response code or code range of the health check. This - parameter is only valid for HTTP and HTTPS monitors. - - allow_insecure: Do not validate the certificate when monitor use HTTPS. This parameter is - currently only valid for HTTP and HTTPS monitors. - - consecutive_down: To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - - consecutive_up: To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - - description: Object description. - - expected_body: A case-insensitive sub-string to look for in the response body. If this string - is not found, the origin will be marked as unhealthy. This parameter is only - valid for HTTP and HTTPS monitors. - - follow_redirects: Follow redirects if returned by the origin. This parameter is only valid for - HTTP and HTTPS monitors. - - header: The HTTP request headers to send in the health check. It is recommended you set - a Host header by default. The User-Agent header cannot be overridden. This - parameter is only valid for HTTP and HTTPS monitors. - - interval: The interval between each health check. Shorter intervals may improve failover - time, but will increase load on the origins as we check from multiple locations. - - method: The method to use for the health check. This defaults to 'GET' for HTTP/HTTPS - based checks and 'connection_established' for TCP based health checks. - - path: The endpoint path you want to conduct a health check against. This parameter is - only valid for HTTP and HTTPS monitors. - - port: The port number to connect to for the health check. Required for TCP, UDP, and - SMTP checks. HTTP and HTTPS checks should only define the port when using a - non-standard port (HTTP: default 80, HTTPS: default 443). - - probe_zone: Assign this monitor to emulate the specified zone while probing. This parameter - is only valid for HTTP and HTTPS monitors. - - retries: The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - - load_balancer_monitor_timeout: The timeout (in seconds) before marking the health check as failed. - - type: The protocol to use for the health check. Currently supported protocols are - 'HTTP','HTTPS', 'TCP', 'ICMP-PING', 'UDP-ICMP', and 'SMTP'. - - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._post( - f"/user/load_balancers/pools/{pool_id}/preview", - body=await async_maybe_transform( - { - "expected_codes": expected_codes, - "allow_insecure": allow_insecure, - "consecutive_down": consecutive_down, - "consecutive_up": consecutive_up, - "description": description, - "expected_body": expected_body, - "follow_redirects": follow_redirects, - "header": header, - "interval": interval, - "method": method, - "path": path, - "port": port, - "probe_zone": probe_zone, - "retries": retries, - "timeout": load_balancer_monitor_timeout, - "type": type, - }, - pool_preview_params.PoolPreviewParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PoolPreviewResponse], ResultWrapper[PoolPreviewResponse]), - ) - - async def references( - self, - pool_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[PoolReferencesResponse]: - """ - Get the list of resources that reference the provided pool. - - Args: - 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 pool_id: - raise ValueError(f"Expected a non-empty value for `pool_id` but received {pool_id!r}") - return await self._get( - f"/user/load_balancers/pools/{pool_id}/references", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[Optional[PoolReferencesResponse]], ResultWrapper[PoolReferencesResponse]), - ) - - -class PoolsWithRawResponse: - def __init__(self, pools: Pools) -> None: - self._pools = pools - - self.create = to_raw_response_wrapper( - pools.create, - ) - self.update = to_raw_response_wrapper( - pools.update, - ) - self.list = to_raw_response_wrapper( - pools.list, - ) - self.delete = to_raw_response_wrapper( - pools.delete, - ) - self.edit = to_raw_response_wrapper( - pools.edit, - ) - self.get = to_raw_response_wrapper( - pools.get, - ) - self.health = to_raw_response_wrapper( - pools.health, - ) - self.preview = to_raw_response_wrapper( - pools.preview, - ) - self.references = to_raw_response_wrapper( - pools.references, - ) - - -class AsyncPoolsWithRawResponse: - def __init__(self, pools: AsyncPools) -> None: - self._pools = pools - - self.create = async_to_raw_response_wrapper( - pools.create, - ) - self.update = async_to_raw_response_wrapper( - pools.update, - ) - self.list = async_to_raw_response_wrapper( - pools.list, - ) - self.delete = async_to_raw_response_wrapper( - pools.delete, - ) - self.edit = async_to_raw_response_wrapper( - pools.edit, - ) - self.get = async_to_raw_response_wrapper( - pools.get, - ) - self.health = async_to_raw_response_wrapper( - pools.health, - ) - self.preview = async_to_raw_response_wrapper( - pools.preview, - ) - self.references = async_to_raw_response_wrapper( - pools.references, - ) - - -class PoolsWithStreamingResponse: - def __init__(self, pools: Pools) -> None: - self._pools = pools - - self.create = to_streamed_response_wrapper( - pools.create, - ) - self.update = to_streamed_response_wrapper( - pools.update, - ) - self.list = to_streamed_response_wrapper( - pools.list, - ) - self.delete = to_streamed_response_wrapper( - pools.delete, - ) - self.edit = to_streamed_response_wrapper( - pools.edit, - ) - self.get = to_streamed_response_wrapper( - pools.get, - ) - self.health = to_streamed_response_wrapper( - pools.health, - ) - self.preview = to_streamed_response_wrapper( - pools.preview, - ) - self.references = to_streamed_response_wrapper( - pools.references, - ) - - -class AsyncPoolsWithStreamingResponse: - def __init__(self, pools: AsyncPools) -> None: - self._pools = pools - - self.create = async_to_streamed_response_wrapper( - pools.create, - ) - self.update = async_to_streamed_response_wrapper( - pools.update, - ) - self.list = async_to_streamed_response_wrapper( - pools.list, - ) - self.delete = async_to_streamed_response_wrapper( - pools.delete, - ) - self.edit = async_to_streamed_response_wrapper( - pools.edit, - ) - self.get = async_to_streamed_response_wrapper( - pools.get, - ) - self.health = async_to_streamed_response_wrapper( - pools.health, - ) - self.preview = async_to_streamed_response_wrapper( - pools.preview, - ) - self.references = async_to_streamed_response_wrapper( - pools.references, - ) diff --git a/src/cloudflare/resources/user/load_balancing/preview.py b/src/cloudflare/resources/user/load_balancing/preview.py deleted file mode 100644 index d07b0937420..00000000000 --- a/src/cloudflare/resources/user/load_balancing/preview.py +++ /dev/null @@ -1,154 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Type, cast - -import httpx - -from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven -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.user.load_balancing import PreviewGetResponse - -__all__ = ["Preview", "AsyncPreview"] - - -class Preview(SyncAPIResource): - @cached_property - def with_raw_response(self) -> PreviewWithRawResponse: - return PreviewWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> PreviewWithStreamingResponse: - return PreviewWithStreamingResponse(self) - - def get( - self, - preview_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, - ) -> PreviewGetResponse: - """ - Get the result of a previous preview operation using the provided preview_id. - - Args: - 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 preview_id: - raise ValueError(f"Expected a non-empty value for `preview_id` but received {preview_id!r}") - return self._get( - f"/user/load_balancers/preview/{preview_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PreviewGetResponse], ResultWrapper[PreviewGetResponse]), - ) - - -class AsyncPreview(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncPreviewWithRawResponse: - return AsyncPreviewWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncPreviewWithStreamingResponse: - return AsyncPreviewWithStreamingResponse(self) - - async def get( - self, - preview_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, - ) -> PreviewGetResponse: - """ - Get the result of a previous preview operation using the provided preview_id. - - Args: - 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 preview_id: - raise ValueError(f"Expected a non-empty value for `preview_id` but received {preview_id!r}") - return await self._get( - f"/user/load_balancers/preview/{preview_id}", - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - post_parser=ResultWrapper._unwrapper, - ), - cast_to=cast(Type[PreviewGetResponse], ResultWrapper[PreviewGetResponse]), - ) - - -class PreviewWithRawResponse: - def __init__(self, preview: Preview) -> None: - self._preview = preview - - self.get = to_raw_response_wrapper( - preview.get, - ) - - -class AsyncPreviewWithRawResponse: - def __init__(self, preview: AsyncPreview) -> None: - self._preview = preview - - self.get = async_to_raw_response_wrapper( - preview.get, - ) - - -class PreviewWithStreamingResponse: - def __init__(self, preview: Preview) -> None: - self._preview = preview - - self.get = to_streamed_response_wrapper( - preview.get, - ) - - -class AsyncPreviewWithStreamingResponse: - def __init__(self, preview: AsyncPreview) -> None: - self._preview = preview - - self.get = async_to_streamed_response_wrapper( - preview.get, - ) diff --git a/src/cloudflare/resources/user/user.py b/src/cloudflare/resources/user/user.py index cc4e39f3a45..a795872fc7d 100644 --- a/src/cloudflare/resources/user/user.py +++ b/src/cloudflare/resources/user/user.py @@ -36,14 +36,6 @@ maybe_transform, async_maybe_transform, ) -from .firewall import ( - Firewall, - AsyncFirewall, - FirewallWithRawResponse, - AsyncFirewallWithRawResponse, - FirewallWithStreamingResponse, - AsyncFirewallWithStreamingResponse, -) from ..._compat import cached_property from .audit_logs import ( AuditLogs, @@ -82,17 +74,7 @@ make_request_options, ) from ...types.shared import UnnamedSchemaRef9444735ca60712dbcf8afd832eb5716a -from .load_balancing import ( - LoadBalancing, - AsyncLoadBalancing, - LoadBalancingWithRawResponse, - AsyncLoadBalancingWithRawResponse, - LoadBalancingWithStreamingResponse, - AsyncLoadBalancingWithStreamingResponse, -) from .billing.billing import Billing, AsyncBilling -from .firewall.firewall import Firewall, AsyncFirewall -from .load_balancing.load_balancing import LoadBalancing, AsyncLoadBalancing __all__ = ["User", "AsyncUser"] @@ -106,18 +88,10 @@ def audit_logs(self) -> AuditLogs: def billing(self) -> Billing: return Billing(self._client) - @cached_property - def firewall(self) -> Firewall: - return Firewall(self._client) - @cached_property def invites(self) -> Invites: return Invites(self._client) - @cached_property - def load_balancing(self) -> LoadBalancing: - return LoadBalancing(self._client) - @cached_property def organizations(self) -> Organizations: return Organizations(self._client) @@ -240,18 +214,10 @@ def audit_logs(self) -> AsyncAuditLogs: def billing(self) -> AsyncBilling: return AsyncBilling(self._client) - @cached_property - def firewall(self) -> AsyncFirewall: - return AsyncFirewall(self._client) - @cached_property def invites(self) -> AsyncInvites: return AsyncInvites(self._client) - @cached_property - def load_balancing(self) -> AsyncLoadBalancing: - return AsyncLoadBalancing(self._client) - @cached_property def organizations(self) -> AsyncOrganizations: return AsyncOrganizations(self._client) @@ -384,18 +350,10 @@ def audit_logs(self) -> AuditLogsWithRawResponse: def billing(self) -> BillingWithRawResponse: return BillingWithRawResponse(self._user.billing) - @cached_property - def firewall(self) -> FirewallWithRawResponse: - return FirewallWithRawResponse(self._user.firewall) - @cached_property def invites(self) -> InvitesWithRawResponse: return InvitesWithRawResponse(self._user.invites) - @cached_property - def load_balancing(self) -> LoadBalancingWithRawResponse: - return LoadBalancingWithRawResponse(self._user.load_balancing) - @cached_property def organizations(self) -> OrganizationsWithRawResponse: return OrganizationsWithRawResponse(self._user.organizations) @@ -428,18 +386,10 @@ def audit_logs(self) -> AsyncAuditLogsWithRawResponse: def billing(self) -> AsyncBillingWithRawResponse: return AsyncBillingWithRawResponse(self._user.billing) - @cached_property - def firewall(self) -> AsyncFirewallWithRawResponse: - return AsyncFirewallWithRawResponse(self._user.firewall) - @cached_property def invites(self) -> AsyncInvitesWithRawResponse: return AsyncInvitesWithRawResponse(self._user.invites) - @cached_property - def load_balancing(self) -> AsyncLoadBalancingWithRawResponse: - return AsyncLoadBalancingWithRawResponse(self._user.load_balancing) - @cached_property def organizations(self) -> AsyncOrganizationsWithRawResponse: return AsyncOrganizationsWithRawResponse(self._user.organizations) @@ -472,18 +422,10 @@ def audit_logs(self) -> AuditLogsWithStreamingResponse: def billing(self) -> BillingWithStreamingResponse: return BillingWithStreamingResponse(self._user.billing) - @cached_property - def firewall(self) -> FirewallWithStreamingResponse: - return FirewallWithStreamingResponse(self._user.firewall) - @cached_property def invites(self) -> InvitesWithStreamingResponse: return InvitesWithStreamingResponse(self._user.invites) - @cached_property - def load_balancing(self) -> LoadBalancingWithStreamingResponse: - return LoadBalancingWithStreamingResponse(self._user.load_balancing) - @cached_property def organizations(self) -> OrganizationsWithStreamingResponse: return OrganizationsWithStreamingResponse(self._user.organizations) @@ -516,18 +458,10 @@ def audit_logs(self) -> AsyncAuditLogsWithStreamingResponse: def billing(self) -> AsyncBillingWithStreamingResponse: return AsyncBillingWithStreamingResponse(self._user.billing) - @cached_property - def firewall(self) -> AsyncFirewallWithStreamingResponse: - return AsyncFirewallWithStreamingResponse(self._user.firewall) - @cached_property def invites(self) -> AsyncInvitesWithStreamingResponse: return AsyncInvitesWithStreamingResponse(self._user.invites) - @cached_property - def load_balancing(self) -> AsyncLoadBalancingWithStreamingResponse: - return AsyncLoadBalancingWithStreamingResponse(self._user.load_balancing) - @cached_property def organizations(self) -> AsyncOrganizationsWithStreamingResponse: return AsyncOrganizationsWithStreamingResponse(self._user.organizations) diff --git a/src/cloudflare/resources/waiting_rooms/waiting_rooms.py b/src/cloudflare/resources/waiting_rooms/waiting_rooms.py index bbd70f4d183..5c6ecff5ade 100644 --- a/src/cloudflare/resources/waiting_rooms/waiting_rooms.py +++ b/src/cloudflare/resources/waiting_rooms/waiting_rooms.py @@ -33,8 +33,8 @@ ) from ...types import ( WaitingRoom, + AdditionalRoutesParam, CookieAttributesParam, - AdditionalRoutesItemParam, WaitingRoomDeleteResponse, waiting_room_edit_params, waiting_room_create_params, @@ -118,7 +118,7 @@ def create( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, @@ -474,7 +474,7 @@ def update( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, @@ -912,7 +912,7 @@ def edit( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, @@ -1341,7 +1341,7 @@ async def create( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, @@ -1697,7 +1697,7 @@ async def update( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, @@ -2135,7 +2135,7 @@ async def edit( name: str, new_users_per_minute: int, total_active_users: int, - additional_routes: Iterable[AdditionalRoutesItemParam] | NotGiven = NOT_GIVEN, + additional_routes: Iterable[AdditionalRoutesParam] | NotGiven = NOT_GIVEN, cookie_attributes: CookieAttributesParam | NotGiven = NOT_GIVEN, cookie_suffix: str | NotGiven = NOT_GIVEN, custom_page_html: str | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/content_lists.py b/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/content_lists.py index 8215d3b8b4a..b5ffc189018 100644 --- a/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/content_lists.py +++ b/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/content_lists.py @@ -33,7 +33,7 @@ make_request_options, ) from ......types.web3.hostnames.ipfs_universal_paths import ContentList, content_list_update_params -from ......types.web3.hostnames.ipfs_universal_paths.content_lists import ContentListItemParam +from ......types.web3.hostnames.ipfs_universal_paths.content_lists import ContentListParam __all__ = ["ContentLists", "AsyncContentLists"] @@ -57,7 +57,7 @@ def update( *, zone_identifier: str, action: Literal["block"], - entries: Iterable[ContentListItemParam], + entries: Iterable[ContentListParam], # 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, @@ -172,7 +172,7 @@ async def update( *, zone_identifier: str, action: Literal["block"], - entries: Iterable[ContentListItemParam], + entries: Iterable[ContentListParam], # 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, diff --git a/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/entries.py b/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/entries.py index 1e2dbcf3a67..bf8ab01eef3 100644 --- a/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/entries.py +++ b/src/cloudflare/resources/web3/hostnames/ipfs_universal_paths/content_lists/entries.py @@ -25,7 +25,7 @@ make_request_options, ) from ......types.web3.hostnames.ipfs_universal_paths.content_lists import ( - ContentListItem, + ContentList, EntryListResponse, EntryDeleteResponse, entry_create_params, @@ -59,7 +59,7 @@ def create( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ Create IPFS Universal Path Gateway Content List Entry @@ -103,7 +103,7 @@ def create( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) def update( @@ -121,7 +121,7 @@ def update( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ Edit IPFS Universal Path Gateway Content List Entry @@ -171,7 +171,7 @@ def update( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) def list( @@ -283,7 +283,7 @@ def get( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ IPFS Universal Path Gateway Content List Entry Details @@ -319,7 +319,7 @@ def get( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) @@ -346,7 +346,7 @@ async def create( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ Create IPFS Universal Path Gateway Content List Entry @@ -390,7 +390,7 @@ async def create( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) async def update( @@ -408,7 +408,7 @@ async def update( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ Edit IPFS Universal Path Gateway Content List Entry @@ -458,7 +458,7 @@ async def update( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) async def list( @@ -570,7 +570,7 @@ async def get( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ContentListItem: + ) -> ContentList: """ IPFS Universal Path Gateway Content List Entry Details @@ -606,7 +606,7 @@ async def get( timeout=timeout, post_parser=ResultWrapper._unwrapper, ), - cast_to=cast(Type[ContentListItem], ResultWrapper[ContentListItem]), + cast_to=cast(Type[ContentList], ResultWrapper[ContentList]), ) diff --git a/src/cloudflare/resources/workers/scripts/settings.py b/src/cloudflare/resources/workers/scripts/settings.py index 0649f917b3d..c8bdf7e6908 100644 --- a/src/cloudflare/resources/workers/scripts/settings.py +++ b/src/cloudflare/resources/workers/scripts/settings.py @@ -24,7 +24,7 @@ make_request_options, ) from ....types.workers import ScriptSetting -from ....types.workers.scripts import ConsumerScriptItemParam, setting_edit_params +from ....types.workers.scripts import ConsumerScriptParam, setting_edit_params __all__ = ["Settings", "AsyncSettings"] @@ -44,7 +44,7 @@ def edit( *, account_id: str, logpush: bool | NotGiven = NOT_GIVEN, - tail_consumers: Iterable[ConsumerScriptItemParam] | NotGiven = NOT_GIVEN, + tail_consumers: Iterable[ConsumerScriptParam] | 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, @@ -159,7 +159,7 @@ async def edit( *, account_id: str, logpush: bool | NotGiven = NOT_GIVEN, - tail_consumers: Iterable[ConsumerScriptItemParam] | NotGiven = NOT_GIVEN, + tail_consumers: Iterable[ConsumerScriptParam] | 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, diff --git a/src/cloudflare/resources/zero_trust/access/certificates/certificates.py b/src/cloudflare/resources/zero_trust/access/certificates/certificates.py index a146d138cb5..2beb3649a5f 100644 --- a/src/cloudflare/resources/zero_trust/access/certificates/certificates.py +++ b/src/cloudflare/resources/zero_trust/access/certificates/certificates.py @@ -35,7 +35,7 @@ ) from .....types.zero_trust.access import ( Certificate, - AssociatedHostnamesItem, + AssociatedHostnames, CertificateDeleteResponse, certificate_create_params, certificate_update_params, @@ -64,7 +64,7 @@ def create( name: str, account_id: str | NotGiven = NOT_GIVEN, zone_id: str | NotGiven = NOT_GIVEN, - associated_hostnames: List[AssociatedHostnamesItem] | NotGiven = NOT_GIVEN, + associated_hostnames: List[AssociatedHostnames] | 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, @@ -133,7 +133,7 @@ def update( self, uuid: str, *, - associated_hostnames: List[AssociatedHostnamesItem], + associated_hostnames: List[AssociatedHostnames], account_id: str | NotGiven = NOT_GIVEN, zone_id: str | NotGiven = NOT_GIVEN, name: str | NotGiven = NOT_GIVEN, @@ -395,7 +395,7 @@ async def create( name: str, account_id: str | NotGiven = NOT_GIVEN, zone_id: str | NotGiven = NOT_GIVEN, - associated_hostnames: List[AssociatedHostnamesItem] | NotGiven = NOT_GIVEN, + associated_hostnames: List[AssociatedHostnames] | 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, @@ -464,7 +464,7 @@ async def update( self, uuid: str, *, - associated_hostnames: List[AssociatedHostnamesItem], + associated_hostnames: List[AssociatedHostnames], account_id: str | NotGiven = NOT_GIVEN, zone_id: str | NotGiven = NOT_GIVEN, name: str | NotGiven = NOT_GIVEN, diff --git a/src/cloudflare/resources/zero_trust/devices/posture/posture.py b/src/cloudflare/resources/zero_trust/devices/posture/posture.py index bf6d3735174..268fac7b5ec 100644 --- a/src/cloudflare/resources/zero_trust/devices/posture/posture.py +++ b/src/cloudflare/resources/zero_trust/devices/posture/posture.py @@ -36,7 +36,7 @@ ) from .....types.zero_trust.devices import ( InputParam, - MatchItemParam, + MatchParam, DevicePostureRule, PostureDeleteResponse, posture_create_params, @@ -89,7 +89,7 @@ def create( description: str | NotGiven = NOT_GIVEN, expiration: str | NotGiven = NOT_GIVEN, input: InputParam | NotGiven = NOT_GIVEN, - match: Iterable[MatchItemParam] | NotGiven = NOT_GIVEN, + match: Iterable[MatchParam] | NotGiven = NOT_GIVEN, schedule: 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. @@ -182,7 +182,7 @@ def update( description: str | NotGiven = NOT_GIVEN, expiration: str | NotGiven = NOT_GIVEN, input: InputParam | NotGiven = NOT_GIVEN, - match: Iterable[MatchItemParam] | NotGiven = NOT_GIVEN, + match: Iterable[MatchParam] | NotGiven = NOT_GIVEN, schedule: 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. @@ -412,7 +412,7 @@ async def create( description: str | NotGiven = NOT_GIVEN, expiration: str | NotGiven = NOT_GIVEN, input: InputParam | NotGiven = NOT_GIVEN, - match: Iterable[MatchItemParam] | NotGiven = NOT_GIVEN, + match: Iterable[MatchParam] | NotGiven = NOT_GIVEN, schedule: 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. @@ -505,7 +505,7 @@ async def update( description: str | NotGiven = NOT_GIVEN, expiration: str | NotGiven = NOT_GIVEN, input: InputParam | NotGiven = NOT_GIVEN, - match: Iterable[MatchItemParam] | NotGiven = NOT_GIVEN, + match: Iterable[MatchParam] | NotGiven = NOT_GIVEN, schedule: 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. diff --git a/src/cloudflare/resources/zero_trust/gateway/lists/lists.py b/src/cloudflare/resources/zero_trust/gateway/lists/lists.py index 22937f9f47b..e8fb6f5b36c 100644 --- a/src/cloudflare/resources/zero_trust/gateway/lists/lists.py +++ b/src/cloudflare/resources/zero_trust/gateway/lists/lists.py @@ -43,7 +43,7 @@ list_delete_params, list_update_params, ) -from .....types.zero_trust.gateway.lists import ListsItemParam +from .....types.zero_trust.gateway.lists import ListsParam __all__ = ["Lists", "AsyncLists"] @@ -68,7 +68,7 @@ def create( name: str, type: Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"], description: str | NotGiven = NOT_GIVEN, - items: Iterable[ListsItemParam] | NotGiven = NOT_GIVEN, + items: Iterable[ListsParam] | 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, @@ -262,7 +262,7 @@ def edit( list_id: str, *, account_id: str, - append: Iterable[ListsItemParam] | NotGiven = NOT_GIVEN, + append: Iterable[ListsParam] | NotGiven = NOT_GIVEN, remove: 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. @@ -375,7 +375,7 @@ async def create( name: str, type: Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"], description: str | NotGiven = NOT_GIVEN, - items: Iterable[ListsItemParam] | NotGiven = NOT_GIVEN, + items: Iterable[ListsParam] | 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, @@ -569,7 +569,7 @@ async def edit( list_id: str, *, account_id: str, - append: Iterable[ListsItemParam] | NotGiven = NOT_GIVEN, + append: Iterable[ListsParam] | NotGiven = NOT_GIVEN, remove: 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. diff --git a/src/cloudflare/resources/zero_trust/gateway/proxy_endpoints.py b/src/cloudflare/resources/zero_trust/gateway/proxy_endpoints.py index 6eccf082188..2d96320db1a 100644 --- a/src/cloudflare/resources/zero_trust/gateway/proxy_endpoints.py +++ b/src/cloudflare/resources/zero_trust/gateway/proxy_endpoints.py @@ -27,8 +27,8 @@ ) from ....types.shared import UnnamedSchemaRef9444735ca60712dbcf8afd832eb5716a from ....types.zero_trust.gateway import ( + GatewayIPs, ProxyEndpoint, - GatewayIPsItem, proxy_endpoint_edit_params, proxy_endpoint_create_params, proxy_endpoint_delete_params, @@ -50,7 +50,7 @@ def create( self, *, account_id: str, - ips: List[GatewayIPsItem], + ips: List[GatewayIPs], name: 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. @@ -182,7 +182,7 @@ def edit( proxy_endpoint_id: str, *, account_id: str, - ips: List[GatewayIPsItem] | NotGiven = NOT_GIVEN, + ips: List[GatewayIPs] | NotGiven = NOT_GIVEN, 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. @@ -284,7 +284,7 @@ async def create( self, *, account_id: str, - ips: List[GatewayIPsItem], + ips: List[GatewayIPs], name: 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. @@ -416,7 +416,7 @@ async def edit( proxy_endpoint_id: str, *, account_id: str, - ips: List[GatewayIPsItem] | NotGiven = NOT_GIVEN, + ips: List[GatewayIPs] | NotGiven = NOT_GIVEN, 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. diff --git a/src/cloudflare/types/__init__.py b/src/cloudflare/types/__init__.py index d236f5c7e53..a0ff7c36e3b 100644 --- a/src/cloudflare/types/__init__.py +++ b/src/cloudflare/types/__init__.py @@ -5,10 +5,12 @@ from .d1 import D1 as D1 from .dns import DNS as DNS from .ips import IPs as IPs +from .host import Host as Host from .info import Info as Info from .pcap import PCAP as PCAP from .zone import Zone as Zone from .route import Route as Route +from .rules import Rules as Rules from .trend import Trend as Trend from .video import Video as Video from .action import Action as Action @@ -46,7 +48,6 @@ from .calls_app import CallsApp as CallsApp from .component import Component as Component from .dns_param import DNSParam as DNSParam -from .host_item import HostItem as HostItem from .page_rule import PageRule as PageRule from .rate_plan import RatePlan as RatePlan from .skip_rule import SkipRule as SkipRule @@ -57,11 +58,11 @@ from .origin_dns import OriginDNS as OriginDNS from .r2_binding import R2Binding as R2Binding from .rate_limit import RateLimit as RateLimit -from .rules_item import RulesItem as RulesItem from .healthcheck import Healthcheck as Healthcheck from .jdcloud_ips import JDCloudIPs as JDCloudIPs from .origin_port import OriginPort as OriginPort from .route_param import RouteParam as RouteParam +from .rules_param import RulesParam as RulesParam from .check_region import CheckRegion as CheckRegion from .execute_rule import ExecuteRule as ExecuteRule from .filter_param import FilterParam as FilterParam @@ -73,6 +74,7 @@ from .tunnel_param import TunnelParam as TunnelParam from .waiting_room import WaitingRoom as WaitingRoom from .configuration import Configuration as Configuration +from .default_pools import DefaultPools as DefaultPools from .load_balancer import LoadBalancer as LoadBalancer from .load_shedding import LoadShedding as LoadShedding from .request_model import RequestModel as RequestModel @@ -83,6 +85,7 @@ from .labeled_region import LabeledRegion as LabeledRegion from .log_rule_param import LogRuleParam as LogRuleParam from .warp_connector import WARPConnector as WARPConnector +from .allowed_origins import AllowedOrigins as AllowedOrigins from .custom_hostname import CustomHostname as CustomHostname from .origin_steering import OriginSteering as OriginSteering from .random_steering import RandomSteering as RandomSteering @@ -94,10 +97,10 @@ from .ip_list_response import IPListResponse as IPListResponse from .mtls_certificate import MTLSCertificate as MTLSCertificate from .origin_dns_param import OriginDNSParam as OriginDNSParam -from .rules_item_param import RulesItemParam as RulesItemParam from .user_edit_params import UserEditParams as UserEditParams from .zone_edit_params import ZoneEditParams as ZoneEditParams from .zone_list_params import ZoneListParams as ZoneListParams +from .additional_routes import AdditionalRoutes as AdditionalRoutes from .cookie_attributes import CookieAttributes as CookieAttributes from .custom_nameserver import CustomNameserver as CustomNameserver from .health_check_type import HealthCheckType as HealthCheckType @@ -112,7 +115,6 @@ from .call_update_params import CallUpdateParams as CallUpdateParams from .client_certificate import ClientCertificate as ClientCertificate from .custom_certificate import CustomCertificate as CustomCertificate -from .default_pools_item import DefaultPoolsItem as DefaultPoolsItem from .dnssec_edit_params import DNSSECEditParams as DNSSECEditParams from .execute_rule_param import ExecuteRuleParam as ExecuteRuleParam from .filter_list_params import FilterListParams as FilterListParams @@ -136,7 +138,6 @@ from .queue_update_params import QueueUpdateParams as QueueUpdateParams from .request_model_param import RequestModelParam as RequestModelParam from .speed_delete_params import SpeedDeleteParams as SpeedDeleteParams -from .allowed_origins_item import AllowedOriginsItem as AllowedOriginsItem from .cache_purge_response import CachePurgeResponse as CachePurgeResponse from .dnssec_delete_params import DNSSECDeleteParams as DNSSECDeleteParams from .filter_create_params import FilterCreateParams as FilterCreateParams @@ -167,7 +168,6 @@ from .snippet_update_params import SnippetUpdateParams as SnippetUpdateParams from .speed_delete_response import SpeedDeleteResponse as SpeedDeleteResponse from .adaptive_routing_param import AdaptiveRoutingParam as AdaptiveRoutingParam -from .additional_routes_item import AdditionalRoutesItem as AdditionalRoutesItem from .dnssec_delete_response import DNSSECDeleteResponse as DNSSECDeleteResponse from .durable_object_binding import DurableObjectBinding as DurableObjectBinding from .filter_create_response import FilterCreateResponse as FilterCreateResponse @@ -180,6 +180,7 @@ from .rate_limit_edit_params import RateLimitEditParams as RateLimitEditParams from .rate_limit_list_params import RateLimitListParams as RateLimitListParams from .rate_plan_get_response import RatePlanGetResponse as RatePlanGetResponse +from .additional_routes_param import AdditionalRoutesParam as AdditionalRoutesParam from .audit_log_list_response import AuditLogListResponse as AuditLogListResponse from .cookie_attributes_param import CookieAttributesParam as CookieAttributesParam from .healthcheck_edit_params import HealthcheckEditParams as HealthcheckEditParams @@ -230,7 +231,6 @@ from .page_shield_update_response import PageShieldUpdateResponse as PageShieldUpdateResponse from .session_affinity_attributes import SessionAffinityAttributes as SessionAffinityAttributes from .single_step_migration_param import SingleStepMigrationParam as SingleStepMigrationParam -from .additional_routes_item_param import AdditionalRoutesItemParam as AdditionalRoutesItemParam from .bot_fight_mode_configuration import BotFightModeConfiguration as BotFightModeConfiguration from .bot_management_update_params import BotManagementUpdateParams as BotManagementUpdateParams from .email_routing_disable_params import EmailRoutingDisableParams as EmailRoutingDisableParams diff --git a/src/cloudflare/types/accounts/member.py b/src/cloudflare/types/accounts/member.py index 3aee13498fb..101555dd229 100644 --- a/src/cloudflare/types/accounts/member.py +++ b/src/cloudflare/types/accounts/member.py @@ -3,9 +3,35 @@ from typing import List, Optional from ..._models import BaseModel -from ..user.tokens import Permission +from .permission_grant import PermissionGrant -__all__ = ["Member", "Role", "User"] +__all__ = ["Member", "Role", "RolePermissions", "User"] + + +class RolePermissions(BaseModel): + analytics: Optional[PermissionGrant] = None + + billing: Optional[PermissionGrant] = None + + cache_purge: Optional[PermissionGrant] = None + + dns: Optional[PermissionGrant] = None + + dns_records: Optional[PermissionGrant] = None + + lb: Optional[PermissionGrant] = None + + logs: Optional[PermissionGrant] = None + + organization: Optional[PermissionGrant] = None + + ssl: Optional[PermissionGrant] = None + + waf: Optional[PermissionGrant] = None + + zone_settings: Optional[PermissionGrant] = None + + zones: Optional[PermissionGrant] = None class Role(BaseModel): @@ -18,7 +44,7 @@ class Role(BaseModel): name: str """Role name.""" - permissions: Permission + permissions: RolePermissions class User(BaseModel): diff --git a/src/cloudflare/types/accounts/member_with_invite_code.py b/src/cloudflare/types/accounts/member_with_invite_code.py index d37fdb980b3..deb20533c23 100644 --- a/src/cloudflare/types/accounts/member_with_invite_code.py +++ b/src/cloudflare/types/accounts/member_with_invite_code.py @@ -3,9 +3,35 @@ from typing import List, Optional from ..._models import BaseModel -from ..user.tokens import Permission +from .permission_grant import PermissionGrant -__all__ = ["MemberWithInviteCode", "Role", "User"] +__all__ = ["MemberWithInviteCode", "Role", "RolePermissions", "User"] + + +class RolePermissions(BaseModel): + analytics: Optional[PermissionGrant] = None + + billing: Optional[PermissionGrant] = None + + cache_purge: Optional[PermissionGrant] = None + + dns: Optional[PermissionGrant] = None + + dns_records: Optional[PermissionGrant] = None + + lb: Optional[PermissionGrant] = None + + logs: Optional[PermissionGrant] = None + + organization: Optional[PermissionGrant] = None + + ssl: Optional[PermissionGrant] = None + + waf: Optional[PermissionGrant] = None + + zone_settings: Optional[PermissionGrant] = None + + zones: Optional[PermissionGrant] = None class Role(BaseModel): @@ -18,7 +44,7 @@ class Role(BaseModel): name: str """Role name.""" - permissions: Permission + permissions: RolePermissions class User(BaseModel): diff --git a/src/cloudflare/types/accounts/role.py b/src/cloudflare/types/accounts/role.py index 110550db3a8..189c867a5ef 100644 --- a/src/cloudflare/types/accounts/role.py +++ b/src/cloudflare/types/accounts/role.py @@ -3,7 +3,7 @@ from typing import List from ..._models import BaseModel -from ..user.tokens import PermissionItem +from ..user.tokens import Permission __all__ = ["Role"] @@ -18,5 +18,5 @@ class Role(BaseModel): name: str """Role Name.""" - permissions: List[PermissionItem] + permissions: List[Permission] """Access permissions for this User.""" diff --git a/src/cloudflare/types/additional_routes_item.py b/src/cloudflare/types/additional_routes.py similarity index 91% rename from src/cloudflare/types/additional_routes_item.py rename to src/cloudflare/types/additional_routes.py index 20f89b02c2e..f8a1decaed7 100644 --- a/src/cloudflare/types/additional_routes_item.py +++ b/src/cloudflare/types/additional_routes.py @@ -4,10 +4,10 @@ from .._models import BaseModel -__all__ = ["AdditionalRoutesItem"] +__all__ = ["AdditionalRoutes"] -class AdditionalRoutesItem(BaseModel): +class AdditionalRoutes(BaseModel): host: Optional[str] = None """The hostname to which this waiting room will be applied (no wildcards). diff --git a/src/cloudflare/types/additional_routes_item_param.py b/src/cloudflare/types/additional_routes_param.py similarity index 88% rename from src/cloudflare/types/additional_routes_item_param.py rename to src/cloudflare/types/additional_routes_param.py index 3338aee9bfc..15e87927ff3 100644 --- a/src/cloudflare/types/additional_routes_item_param.py +++ b/src/cloudflare/types/additional_routes_param.py @@ -4,10 +4,10 @@ from typing_extensions import TypedDict -__all__ = ["AdditionalRoutesItemParam"] +__all__ = ["AdditionalRoutesParam"] -class AdditionalRoutesItemParam(TypedDict, total=False): +class AdditionalRoutesParam(TypedDict, total=False): host: str """The hostname to which this waiting room will be applied (no wildcards). diff --git a/src/cloudflare/types/dns/record_tags_item.py b/src/cloudflare/types/allowed_origins.py similarity index 64% rename from src/cloudflare/types/dns/record_tags_item.py rename to src/cloudflare/types/allowed_origins.py index faf62397593..d18558e3958 100644 --- a/src/cloudflare/types/dns/record_tags_item.py +++ b/src/cloudflare/types/allowed_origins.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["RecordTagsItem"] +__all__ = ["AllowedOrigins"] -RecordTagsItem = str +AllowedOrigins = str diff --git a/src/cloudflare/types/certificate_authorities/__init__.py b/src/cloudflare/types/certificate_authorities/__init__.py index 7efe48f1557..d16d318f276 100644 --- a/src/cloudflare/types/certificate_authorities/__init__.py +++ b/src/cloudflare/types/certificate_authorities/__init__.py @@ -2,7 +2,7 @@ from __future__ import annotations -from .hostname_association_item import HostnameAssociationItem as HostnameAssociationItem +from .hostname_association import HostnameAssociation as HostnameAssociation from .hostname_association_get_params import HostnameAssociationGetParams as HostnameAssociationGetParams from .hostname_association_get_response import HostnameAssociationGetResponse as HostnameAssociationGetResponse from .hostname_association_update_params import HostnameAssociationUpdateParams as HostnameAssociationUpdateParams diff --git a/src/cloudflare/types/allowed_origins_item.py b/src/cloudflare/types/certificate_authorities/hostname_association.py similarity index 59% rename from src/cloudflare/types/allowed_origins_item.py rename to src/cloudflare/types/certificate_authorities/hostname_association.py index 3fd719211f6..971951cd3e0 100644 --- a/src/cloudflare/types/allowed_origins_item.py +++ b/src/cloudflare/types/certificate_authorities/hostname_association.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["AllowedOriginsItem"] +__all__ = ["HostnameAssociation"] -AllowedOriginsItem = str +HostnameAssociation = str diff --git a/src/cloudflare/types/certificate_authorities/hostname_association_get_response.py b/src/cloudflare/types/certificate_authorities/hostname_association_get_response.py index f966e735f09..1a034b6e5d6 100644 --- a/src/cloudflare/types/certificate_authorities/hostname_association_get_response.py +++ b/src/cloudflare/types/certificate_authorities/hostname_association_get_response.py @@ -3,10 +3,10 @@ from typing import List, Optional from ..._models import BaseModel -from .hostname_association_item import HostnameAssociationItem +from .hostname_association import HostnameAssociation __all__ = ["HostnameAssociationGetResponse"] class HostnameAssociationGetResponse(BaseModel): - hostnames: Optional[List[HostnameAssociationItem]] = None + hostnames: Optional[List[HostnameAssociation]] = None diff --git a/src/cloudflare/types/certificate_authorities/hostname_association_item.py b/src/cloudflare/types/certificate_authorities/hostname_association_item.py deleted file mode 100644 index ef20010b249..00000000000 --- a/src/cloudflare/types/certificate_authorities/hostname_association_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["HostnameAssociationItem"] - -HostnameAssociationItem = str diff --git a/src/cloudflare/types/certificate_authorities/hostname_association_update_params.py b/src/cloudflare/types/certificate_authorities/hostname_association_update_params.py index 38b31a37d29..cc9377d392a 100644 --- a/src/cloudflare/types/certificate_authorities/hostname_association_update_params.py +++ b/src/cloudflare/types/certificate_authorities/hostname_association_update_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Required, TypedDict -from .hostname_association_item import HostnameAssociationItem +from .hostname_association import HostnameAssociation __all__ = ["HostnameAssociationUpdateParams"] @@ -14,7 +14,7 @@ class HostnameAssociationUpdateParams(TypedDict, total=False): zone_id: Required[str] """Identifier""" - hostnames: List[HostnameAssociationItem] + hostnames: List[HostnameAssociation] mtls_certificate_id: str """ diff --git a/src/cloudflare/types/certificate_authorities/hostname_association_update_response.py b/src/cloudflare/types/certificate_authorities/hostname_association_update_response.py index d030b1d419e..cb9dad7daf5 100644 --- a/src/cloudflare/types/certificate_authorities/hostname_association_update_response.py +++ b/src/cloudflare/types/certificate_authorities/hostname_association_update_response.py @@ -3,10 +3,10 @@ from typing import List, Optional from ..._models import BaseModel -from .hostname_association_item import HostnameAssociationItem +from .hostname_association import HostnameAssociation __all__ = ["HostnameAssociationUpdateResponse"] class HostnameAssociationUpdateResponse(BaseModel): - hostnames: Optional[List[HostnameAssociationItem]] = None + hostnames: Optional[List[HostnameAssociation]] = None diff --git a/src/cloudflare/types/challenges/__init__.py b/src/cloudflare/types/challenges/__init__.py index 86f54101327..1fcf6a7582b 100644 --- a/src/cloudflare/types/challenges/__init__.py +++ b/src/cloudflare/types/challenges/__init__.py @@ -4,8 +4,8 @@ from .widget import Widget as Widget from .widget_domain import WidgetDomain as WidgetDomain -from .widget_domain_item import WidgetDomainItem as WidgetDomainItem from .widget_list_params import WidgetListParams as WidgetListParams from .widget_create_params import WidgetCreateParams as WidgetCreateParams +from .widget_list_response import WidgetListResponse as WidgetListResponse from .widget_update_params import WidgetUpdateParams as WidgetUpdateParams from .widget_rotate_secret_params import WidgetRotateSecretParams as WidgetRotateSecretParams diff --git a/src/cloudflare/types/challenges/widget.py b/src/cloudflare/types/challenges/widget.py index 06a4a3ace0f..2666b31af83 100644 --- a/src/cloudflare/types/challenges/widget.py +++ b/src/cloudflare/types/challenges/widget.py @@ -5,7 +5,7 @@ from typing_extensions import Literal from ..._models import BaseModel -from .widget_domain_item import WidgetDomainItem +from .widget_domain import WidgetDomain __all__ = ["Widget"] @@ -26,7 +26,7 @@ class Widget(BaseModel): created_on: datetime """When the widget was created.""" - domains: List[WidgetDomainItem] + domains: List[WidgetDomain] mode: Literal["non-interactive", "invisible", "managed"] """Widget Mode""" diff --git a/src/cloudflare/types/challenges/widget_create_params.py b/src/cloudflare/types/challenges/widget_create_params.py index 6b2f52b0c22..12d0b058c19 100644 --- a/src/cloudflare/types/challenges/widget_create_params.py +++ b/src/cloudflare/types/challenges/widget_create_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Literal, Required, TypedDict -from .widget_domain_item import WidgetDomainItem +from .widget_domain import WidgetDomain __all__ = ["WidgetCreateParams"] @@ -14,7 +14,7 @@ class WidgetCreateParams(TypedDict, total=False): account_id: Required[str] """Identifier""" - domains: Required[List[WidgetDomainItem]] + domains: Required[List[WidgetDomain]] mode: Required[Literal["non-interactive", "invisible", "managed"]] """Widget Mode""" diff --git a/src/cloudflare/types/challenges/widget_domain.py b/src/cloudflare/types/challenges/widget_domain.py index 05629ba488d..20d73b3d548 100644 --- a/src/cloudflare/types/challenges/widget_domain.py +++ b/src/cloudflare/types/challenges/widget_domain.py @@ -1,51 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List -from datetime import datetime -from typing_extensions import Literal - -from ..._models import BaseModel -from .widget_domain_item import WidgetDomainItem __all__ = ["WidgetDomain"] - -class WidgetDomain(BaseModel): - bot_fight_mode: bool - """ - If bot_fight_mode is set to `true`, Cloudflare issues computationally expensive - challenges in response to malicious bots (ENT only). - """ - - clearance_level: Literal["no_clearance", "jschallenge", "managed", "interactive"] - """ - If Turnstile is embedded on a Cloudflare site and the widget should grant - challenge clearance, this setting can determine the clearance level to be set - """ - - created_on: datetime - """When the widget was created.""" - - domains: List[WidgetDomainItem] - - mode: Literal["non-interactive", "invisible", "managed"] - """Widget Mode""" - - modified_on: datetime - """When the widget was modified.""" - - name: str - """Human readable widget name. - - Not unique. Cloudflare suggests that you set this to a meaningful string to make - it easier to identify your widget, and where it is used. - """ - - offlabel: bool - """Do not show any Cloudflare branding on the widget (ENT only).""" - - region: Literal["world"] - """Region where this widget can be used.""" - - sitekey: str - """Widget item identifier tag.""" +WidgetDomain = str diff --git a/src/cloudflare/types/challenges/widget_domain_item.py b/src/cloudflare/types/challenges/widget_domain_item.py deleted file mode 100644 index 19cc3c7d52c..00000000000 --- a/src/cloudflare/types/challenges/widget_domain_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["WidgetDomainItem"] - -WidgetDomainItem = str diff --git a/src/cloudflare/types/challenges/widget_list_response.py b/src/cloudflare/types/challenges/widget_list_response.py new file mode 100644 index 00000000000..0dabcb0bc91 --- /dev/null +++ b/src/cloudflare/types/challenges/widget_list_response.py @@ -0,0 +1,51 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import List +from datetime import datetime +from typing_extensions import Literal + +from ..._models import BaseModel +from .widget_domain import WidgetDomain + +__all__ = ["WidgetListResponse"] + + +class WidgetListResponse(BaseModel): + bot_fight_mode: bool + """ + If bot_fight_mode is set to `true`, Cloudflare issues computationally expensive + challenges in response to malicious bots (ENT only). + """ + + clearance_level: Literal["no_clearance", "jschallenge", "managed", "interactive"] + """ + If Turnstile is embedded on a Cloudflare site and the widget should grant + challenge clearance, this setting can determine the clearance level to be set + """ + + created_on: datetime + """When the widget was created.""" + + domains: List[WidgetDomain] + + mode: Literal["non-interactive", "invisible", "managed"] + """Widget Mode""" + + modified_on: datetime + """When the widget was modified.""" + + name: str + """Human readable widget name. + + Not unique. Cloudflare suggests that you set this to a meaningful string to make + it easier to identify your widget, and where it is used. + """ + + offlabel: bool + """Do not show any Cloudflare branding on the widget (ENT only).""" + + region: Literal["world"] + """Region where this widget can be used.""" + + sitekey: str + """Widget item identifier tag.""" diff --git a/src/cloudflare/types/challenges/widget_update_params.py b/src/cloudflare/types/challenges/widget_update_params.py index a26b5aa309f..748121528bf 100644 --- a/src/cloudflare/types/challenges/widget_update_params.py +++ b/src/cloudflare/types/challenges/widget_update_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Literal, Required, TypedDict -from .widget_domain_item import WidgetDomainItem +from .widget_domain import WidgetDomain __all__ = ["WidgetUpdateParams"] @@ -14,7 +14,7 @@ class WidgetUpdateParams(TypedDict, total=False): account_id: Required[str] """Identifier""" - domains: Required[List[WidgetDomainItem]] + domains: Required[List[WidgetDomain]] mode: Required[Literal["non-interactive", "invisible", "managed"]] """Widget Mode""" diff --git a/src/cloudflare/types/cloudforce_one/__init__.py b/src/cloudflare/types/cloudforce_one/__init__.py index f069202d49b..e6480808e34 100644 --- a/src/cloudflare/types/cloudforce_one/__init__.py +++ b/src/cloudflare/types/cloudforce_one/__init__.py @@ -3,8 +3,8 @@ from __future__ import annotations from .item import Item as Item +from .list import List as List from .quota import Quota as Quota -from .list_item import ListItem as ListItem from .request_types import RequestTypes as RequestTypes from .request_constants import RequestConstants as RequestConstants from .request_list_params import RequestListParams as RequestListParams diff --git a/src/cloudflare/types/cloudforce_one/list_item.py b/src/cloudflare/types/cloudforce_one/list.py similarity index 93% rename from src/cloudflare/types/cloudforce_one/list_item.py rename to src/cloudflare/types/cloudforce_one/list.py index 99703584af8..b4ef3feaf7c 100644 --- a/src/cloudflare/types/cloudforce_one/list_item.py +++ b/src/cloudflare/types/cloudforce_one/list.py @@ -1,15 +1,15 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import Optional +from typing import List, Optional from datetime import datetime from typing_extensions import Literal from ..._models import BaseModel -__all__ = ["ListItem"] +__all__ = ["List"] -class ListItem(BaseModel): +class List(BaseModel): id: str """UUID""" diff --git a/src/cloudflare/types/cloudforce_one/requests/__init__.py b/src/cloudflare/types/cloudforce_one/requests/__init__.py index 0c6cb2b6d3a..29b61ceae98 100644 --- a/src/cloudflare/types/cloudforce_one/requests/__init__.py +++ b/src/cloudflare/types/cloudforce_one/requests/__init__.py @@ -2,9 +2,9 @@ from __future__ import annotations +from .label import Label as Label from .message import Message as Message from .priority import Priority as Priority -from .label_item import LabelItem as LabelItem from .message_get_params import MessageGetParams as MessageGetParams from .message_get_response import MessageGetResponse as MessageGetResponse from .message_create_params import MessageCreateParams as MessageCreateParams diff --git a/src/cloudflare/types/host_item.py b/src/cloudflare/types/cloudforce_one/requests/label.py similarity index 70% rename from src/cloudflare/types/host_item.py rename to src/cloudflare/types/cloudforce_one/requests/label.py index c6a0a188002..589cb02b053 100644 --- a/src/cloudflare/types/host_item.py +++ b/src/cloudflare/types/cloudforce_one/requests/label.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["HostItem"] +__all__ = ["Label"] -HostItem = str +Label = str diff --git a/src/cloudflare/types/cloudforce_one/requests/priority.py b/src/cloudflare/types/cloudforce_one/requests/priority.py index 4fb3e719e81..a374ce96aa1 100644 --- a/src/cloudflare/types/cloudforce_one/requests/priority.py +++ b/src/cloudflare/types/cloudforce_one/requests/priority.py @@ -4,8 +4,8 @@ from datetime import datetime from typing_extensions import Literal +from .label import Label from ...._models import BaseModel -from .label_item import LabelItem __all__ = ["Priority"] @@ -17,7 +17,7 @@ class Priority(BaseModel): created: datetime """Priority creation time""" - labels: List[LabelItem] + labels: List[Label] """List of labels""" priority: int diff --git a/src/cloudflare/types/cloudforce_one/requests/priority_create_params.py b/src/cloudflare/types/cloudforce_one/requests/priority_create_params.py index 71b6e46fabc..155ad36b0c4 100644 --- a/src/cloudflare/types/cloudforce_one/requests/priority_create_params.py +++ b/src/cloudflare/types/cloudforce_one/requests/priority_create_params.py @@ -5,13 +5,13 @@ from typing import List from typing_extensions import Literal, Required, TypedDict -from .label_item import LabelItem +from .label import Label __all__ = ["PriorityCreateParams"] class PriorityCreateParams(TypedDict, total=False): - labels: Required[List[LabelItem]] + labels: Required[List[Label]] """List of labels""" priority: Required[int] diff --git a/src/cloudflare/types/cloudforce_one/requests/priority_update_params.py b/src/cloudflare/types/cloudforce_one/requests/priority_update_params.py index 0f4ddd03f01..248b24319ce 100644 --- a/src/cloudflare/types/cloudforce_one/requests/priority_update_params.py +++ b/src/cloudflare/types/cloudforce_one/requests/priority_update_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Literal, Required, TypedDict -from .label_item import LabelItem +from .label import Label __all__ = ["PriorityUpdateParams"] @@ -14,7 +14,7 @@ class PriorityUpdateParams(TypedDict, total=False): account_identifier: Required[str] """Identifier""" - labels: Required[List[LabelItem]] + labels: Required[List[Label]] """List of labels""" priority: Required[int] diff --git a/src/cloudflare/types/default_pools.py b/src/cloudflare/types/default_pools.py new file mode 100644 index 00000000000..80afa57bd13 --- /dev/null +++ b/src/cloudflare/types/default_pools.py @@ -0,0 +1,6 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +__all__ = ["DefaultPools"] + +DefaultPools = str diff --git a/src/cloudflare/types/dns/__init__.py b/src/cloudflare/types/dns/__init__.py index 6ffc186eddb..1c19db22c62 100644 --- a/src/cloudflare/types/dns/__init__.py +++ b/src/cloudflare/types/dns/__init__.py @@ -18,18 +18,19 @@ from .uri_record import URIRecord as URIRecord from .aaaa_record import AAAARecord as AAAARecord from .cert_record import CERTRecord as CERTRecord +from .record_tags import RecordTags as RecordTags from .svcb_record import SVCBRecord as SVCBRecord from .tlsa_record import TLSARecord as TLSARecord from .cname_record import CNAMERecord as CNAMERecord +from .firewall_ips import FirewallIPs as FirewallIPs from .https_record import HTTPSRecord as HTTPSRecord from .naptr_record import NAPTRRecord as NAPTRRecord from .sshfp_record import SSHFPRecord as SSHFPRecord from .upstream_ips import UpstreamIPs as UpstreamIPs from .dnskey_record import DNSKEYRecord as DNSKEYRecord from .smimea_record import SMIMEARecord as SMIMEARecord -from .record_tags_item import RecordTagsItem as RecordTagsItem from .attack_mitigation import AttackMitigation as AttackMitigation -from .firewall_ips_item import FirewallIPsItem as FirewallIPsItem +from .firewall_ips_param import FirewallIPsParam as FirewallIPsParam from .record_edit_params import RecordEditParams as RecordEditParams from .record_list_params import RecordListParams as RecordListParams from .record_scan_params import RecordScanParams as RecordScanParams @@ -47,7 +48,6 @@ from .record_export_response import RecordExportResponse as RecordExportResponse from .record_import_response import RecordImportResponse as RecordImportResponse from .attack_mitigation_param import AttackMitigationParam as AttackMitigationParam -from .firewall_ips_item_param import FirewallIPsItemParam as FirewallIPsItemParam from .firewall_delete_response import FirewallDeleteResponse as FirewallDeleteResponse from .unnamed_schema_ref_2f895e023ae55b55d2f5925449b819cd import ( UnnamedSchemaRef2f895e023ae55b55d2f5925449b819cd as UnnamedSchemaRef2f895e023ae55b55d2f5925449b819cd, diff --git a/src/cloudflare/types/dns/a_record.py b/src/cloudflare/types/dns/a_record.py index 0e9c70d175c..b7b29da1ba2 100644 --- a/src/cloudflare/types/dns/a_record.py +++ b/src/cloudflare/types/dns/a_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["ARecord"] @@ -55,7 +55,7 @@ class ARecord(BaseModel): Cloudflare. """ - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/aaaa_record.py b/src/cloudflare/types/dns/aaaa_record.py index 8fbd7c41acf..37e28a6663a 100644 --- a/src/cloudflare/types/dns/aaaa_record.py +++ b/src/cloudflare/types/dns/aaaa_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["AAAARecord"] @@ -55,7 +55,7 @@ class AAAARecord(BaseModel): Cloudflare. """ - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/caa_record.py b/src/cloudflare/types/dns/caa_record.py index 78bd2086a5b..9729f5f88f3 100644 --- a/src/cloudflare/types/dns/caa_record.py +++ b/src/cloudflare/types/dns/caa_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["CAARecord", "Data"] @@ -63,7 +63,7 @@ class CAARecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/cert_record.py b/src/cloudflare/types/dns/cert_record.py index 969866ac8dc..a2f737a1b35 100644 --- a/src/cloudflare/types/dns/cert_record.py +++ b/src/cloudflare/types/dns/cert_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["CERTRecord", "Data"] @@ -66,7 +66,7 @@ class CERTRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/cname_record.py b/src/cloudflare/types/dns/cname_record.py index 0ec12580416..099bdbd3490 100644 --- a/src/cloudflare/types/dns/cname_record.py +++ b/src/cloudflare/types/dns/cname_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["CNAMERecord"] @@ -55,7 +55,7 @@ class CNAMERecord(BaseModel): Cloudflare. """ - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/dnskey_record.py b/src/cloudflare/types/dns/dnskey_record.py index f7e8e7c495c..1acf9d29571 100644 --- a/src/cloudflare/types/dns/dnskey_record.py +++ b/src/cloudflare/types/dns/dnskey_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["DNSKEYRecord", "Data"] @@ -66,7 +66,7 @@ class DNSKEYRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/ds_record.py b/src/cloudflare/types/dns/ds_record.py index 69302b27198..a24d5b535e1 100644 --- a/src/cloudflare/types/dns/ds_record.py +++ b/src/cloudflare/types/dns/ds_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["DSRecord", "Data"] @@ -66,7 +66,7 @@ class DSRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/firewall/firewall.py b/src/cloudflare/types/dns/firewall/firewall.py index 0890d2fa6ee..8e35b4399da 100644 --- a/src/cloudflare/types/dns/firewall/firewall.py +++ b/src/cloudflare/types/dns/firewall/firewall.py @@ -4,9 +4,9 @@ from datetime import datetime from ...._models import BaseModel +from ..firewall_ips import FirewallIPs from ..upstream_ips import UpstreamIPs from ..attack_mitigation import AttackMitigation -from ..firewall_ips_item import FirewallIPsItem __all__ = ["Firewall"] @@ -18,7 +18,7 @@ class Firewall(BaseModel): deprecate_any_requests: bool """Deprecate the response to ANY requests.""" - dns_firewall_ips: List[FirewallIPsItem] + dns_firewall_ips: List[FirewallIPs] ecs_fallback: bool """Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.""" diff --git a/src/cloudflare/types/dns/firewall_edit_params.py b/src/cloudflare/types/dns/firewall_edit_params.py index b91fcf5a904..723e2c19cfe 100644 --- a/src/cloudflare/types/dns/firewall_edit_params.py +++ b/src/cloudflare/types/dns/firewall_edit_params.py @@ -5,9 +5,9 @@ from typing import List, Optional from typing_extensions import Required, TypedDict +from .firewall_ips_param import FirewallIPsParam from .upstream_ips_param import UpstreamIPsParam from .attack_mitigation_param import AttackMitigationParam -from .firewall_ips_item_param import FirewallIPsItemParam __all__ = ["FirewallEditParams"] @@ -19,7 +19,7 @@ class FirewallEditParams(TypedDict, total=False): deprecate_any_requests: Required[bool] """Deprecate the response to ANY requests.""" - dns_firewall_ips: Required[List[FirewallIPsItemParam]] + dns_firewall_ips: Required[List[FirewallIPsParam]] ecs_fallback: Required[bool] """Forward client IP (resolver) subnet if no EDNS Client Subnet is sent.""" diff --git a/src/cloudflare/types/dns/firewall_ips_item.py b/src/cloudflare/types/dns/firewall_ips.py similarity index 64% rename from src/cloudflare/types/dns/firewall_ips_item.py rename to src/cloudflare/types/dns/firewall_ips.py index 8032b8895bc..ec1ec7a1fc3 100644 --- a/src/cloudflare/types/dns/firewall_ips_item.py +++ b/src/cloudflare/types/dns/firewall_ips.py @@ -2,6 +2,6 @@ from typing import Union -__all__ = ["FirewallIPsItem"] +__all__ = ["FirewallIPs"] -FirewallIPsItem = Union[str, str] +FirewallIPs = Union[str, str] diff --git a/src/cloudflare/types/dns/firewall_ips_item_param.py b/src/cloudflare/types/dns/firewall_ips_param.py similarity index 66% rename from src/cloudflare/types/dns/firewall_ips_item_param.py rename to src/cloudflare/types/dns/firewall_ips_param.py index 25d44595bd1..9a199cf8505 100644 --- a/src/cloudflare/types/dns/firewall_ips_item_param.py +++ b/src/cloudflare/types/dns/firewall_ips_param.py @@ -4,6 +4,6 @@ from typing import Union -__all__ = ["FirewallIPsItemParam"] +__all__ = ["FirewallIPsParam"] -FirewallIPsItemParam = Union[str, str] +FirewallIPsParam = Union[str, str] diff --git a/src/cloudflare/types/dns/https_record.py b/src/cloudflare/types/dns/https_record.py index 0e253e95093..65175876b7c 100644 --- a/src/cloudflare/types/dns/https_record.py +++ b/src/cloudflare/types/dns/https_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["HTTPSRecord", "Data"] @@ -63,7 +63,7 @@ class HTTPSRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/loc_record.py b/src/cloudflare/types/dns/loc_record.py index 847bde1d396..071e0c5b467 100644 --- a/src/cloudflare/types/dns/loc_record.py +++ b/src/cloudflare/types/dns/loc_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["LOCRecord", "Data"] @@ -90,7 +90,7 @@ class LOCRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/mx_record.py b/src/cloudflare/types/dns/mx_record.py index 4914d226458..447e3da682d 100644 --- a/src/cloudflare/types/dns/mx_record.py +++ b/src/cloudflare/types/dns/mx_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["MXRecord"] @@ -55,7 +55,7 @@ class MXRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/naptr_record.py b/src/cloudflare/types/dns/naptr_record.py index 1b5c7f29e5c..8b94e2292b0 100644 --- a/src/cloudflare/types/dns/naptr_record.py +++ b/src/cloudflare/types/dns/naptr_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["NAPTRRecord", "Data"] @@ -72,7 +72,7 @@ class NAPTRRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/ns_record.py b/src/cloudflare/types/dns/ns_record.py index 52ab440654f..68c4539ac7a 100644 --- a/src/cloudflare/types/dns/ns_record.py +++ b/src/cloudflare/types/dns/ns_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["NSRecord"] @@ -49,7 +49,7 @@ class NSRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/ptr_record.py b/src/cloudflare/types/dns/ptr_record.py index 49778bfc7ae..f056154eee6 100644 --- a/src/cloudflare/types/dns/ptr_record.py +++ b/src/cloudflare/types/dns/ptr_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["PTRRecord"] @@ -49,7 +49,7 @@ class PTRRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/record_create_params.py b/src/cloudflare/types/dns/record_create_params.py index 14f1e8784fb..f348ac97659 100644 --- a/src/cloudflare/types/dns/record_create_params.py +++ b/src/cloudflare/types/dns/record_create_params.py @@ -6,7 +6,7 @@ from typing_extensions import Literal, Required, TypedDict from .ttl_param import TTLParam -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags __all__ = [ "RecordCreateParams", @@ -71,7 +71,7 @@ class ARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -107,7 +107,7 @@ class AAAARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -137,7 +137,7 @@ class CAARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -178,7 +178,7 @@ class CERTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -228,7 +228,7 @@ class CNAMERecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -258,7 +258,7 @@ class DNSKEYRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -302,7 +302,7 @@ class DSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -346,7 +346,7 @@ class HTTPSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -387,7 +387,7 @@ class LOCRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -461,7 +461,7 @@ class MXRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -491,7 +491,7 @@ class NAPTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -541,7 +541,7 @@ class NSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -571,7 +571,7 @@ class PTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -601,7 +601,7 @@ class SMIMEARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -649,7 +649,7 @@ class SRVRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -718,7 +718,7 @@ class SSHFPRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -759,7 +759,7 @@ class SVCBRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -800,7 +800,7 @@ class TLSARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -844,7 +844,7 @@ class TXTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -880,7 +880,7 @@ class URIRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam diff --git a/src/cloudflare/types/dns/record_edit_params.py b/src/cloudflare/types/dns/record_edit_params.py index d1964075fb1..709779e9ce1 100644 --- a/src/cloudflare/types/dns/record_edit_params.py +++ b/src/cloudflare/types/dns/record_edit_params.py @@ -6,7 +6,7 @@ from typing_extensions import Literal, Required, TypedDict from .ttl_param import TTLParam -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags __all__ = [ "RecordEditParams", @@ -71,7 +71,7 @@ class ARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -107,7 +107,7 @@ class AAAARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -137,7 +137,7 @@ class CAARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -178,7 +178,7 @@ class CERTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -228,7 +228,7 @@ class CNAMERecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -258,7 +258,7 @@ class DNSKEYRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -302,7 +302,7 @@ class DSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -346,7 +346,7 @@ class HTTPSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -387,7 +387,7 @@ class LOCRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -461,7 +461,7 @@ class MXRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -491,7 +491,7 @@ class NAPTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -541,7 +541,7 @@ class NSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -571,7 +571,7 @@ class PTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -601,7 +601,7 @@ class SMIMEARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -649,7 +649,7 @@ class SRVRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -718,7 +718,7 @@ class SSHFPRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -759,7 +759,7 @@ class SVCBRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -800,7 +800,7 @@ class TLSARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -844,7 +844,7 @@ class TXTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -880,7 +880,7 @@ class URIRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam diff --git a/src/cloudflare/types/firewall/urls_item.py b/src/cloudflare/types/dns/record_tags.py similarity index 67% rename from src/cloudflare/types/firewall/urls_item.py rename to src/cloudflare/types/dns/record_tags.py index 21c1dceedb4..202ad9b305e 100644 --- a/src/cloudflare/types/firewall/urls_item.py +++ b/src/cloudflare/types/dns/record_tags.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["URLsItem"] +__all__ = ["RecordTags"] -URLsItem = str +RecordTags = str diff --git a/src/cloudflare/types/dns/record_update_params.py b/src/cloudflare/types/dns/record_update_params.py index e6024b23a29..9cb23c89af2 100644 --- a/src/cloudflare/types/dns/record_update_params.py +++ b/src/cloudflare/types/dns/record_update_params.py @@ -6,7 +6,7 @@ from typing_extensions import Literal, Required, TypedDict from .ttl_param import TTLParam -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags __all__ = [ "RecordUpdateParams", @@ -71,7 +71,7 @@ class ARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -107,7 +107,7 @@ class AAAARecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -137,7 +137,7 @@ class CAARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -178,7 +178,7 @@ class CERTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -228,7 +228,7 @@ class CNAMERecord(TypedDict, total=False): Cloudflare. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -258,7 +258,7 @@ class DNSKEYRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -302,7 +302,7 @@ class DSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -346,7 +346,7 @@ class HTTPSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -387,7 +387,7 @@ class LOCRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -461,7 +461,7 @@ class MXRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -491,7 +491,7 @@ class NAPTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -541,7 +541,7 @@ class NSRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -571,7 +571,7 @@ class PTRRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -601,7 +601,7 @@ class SMIMEARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -649,7 +649,7 @@ class SRVRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -718,7 +718,7 @@ class SSHFPRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -759,7 +759,7 @@ class SVCBRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -800,7 +800,7 @@ class TLSARecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -844,7 +844,7 @@ class TXTRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam @@ -880,7 +880,7 @@ class URIRecord(TypedDict, total=False): This field has no effect on DNS responses. """ - tags: List[RecordTagsItem] + tags: List[RecordTags] """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: TTLParam diff --git a/src/cloudflare/types/dns/smimea_record.py b/src/cloudflare/types/dns/smimea_record.py index 91ffb1df024..32cb6a90a11 100644 --- a/src/cloudflare/types/dns/smimea_record.py +++ b/src/cloudflare/types/dns/smimea_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["SMIMEARecord", "Data"] @@ -66,7 +66,7 @@ class SMIMEARecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/srv_record.py b/src/cloudflare/types/dns/srv_record.py index 4b26735fae6..c0f9c21a03f 100644 --- a/src/cloudflare/types/dns/srv_record.py +++ b/src/cloudflare/types/dns/srv_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["SRVRecord", "Data"] @@ -98,7 +98,7 @@ class SRVRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/sshfp_record.py b/src/cloudflare/types/dns/sshfp_record.py index c4ed036e016..45ce49bc768 100644 --- a/src/cloudflare/types/dns/sshfp_record.py +++ b/src/cloudflare/types/dns/sshfp_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["SSHFPRecord", "Data"] @@ -63,7 +63,7 @@ class SSHFPRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/svcb_record.py b/src/cloudflare/types/dns/svcb_record.py index 41a7ee70628..299c46d8534 100644 --- a/src/cloudflare/types/dns/svcb_record.py +++ b/src/cloudflare/types/dns/svcb_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["SVCBRecord", "Data"] @@ -63,7 +63,7 @@ class SVCBRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/tlsa_record.py b/src/cloudflare/types/dns/tlsa_record.py index dc37a64bca1..6c9c4ff9844 100644 --- a/src/cloudflare/types/dns/tlsa_record.py +++ b/src/cloudflare/types/dns/tlsa_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["TLSARecord", "Data"] @@ -66,7 +66,7 @@ class TLSARecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/txt_record.py b/src/cloudflare/types/dns/txt_record.py index ce0ab434044..b4a96e69b55 100644 --- a/src/cloudflare/types/dns/txt_record.py +++ b/src/cloudflare/types/dns/txt_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["TXTRecord"] @@ -49,7 +49,7 @@ class TXTRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/dns/uri_record.py b/src/cloudflare/types/dns/uri_record.py index b55d0ee1dba..c23dd6d4f37 100644 --- a/src/cloudflare/types/dns/uri_record.py +++ b/src/cloudflare/types/dns/uri_record.py @@ -6,7 +6,7 @@ from .ttl import TTL from ..._models import BaseModel -from .record_tags_item import RecordTagsItem +from .record_tags import RecordTags from .unnamed_schema_ref_1391721bdb8938d5420a8bc738a44deb import UnnamedSchemaRef1391721bdb8938d5420a8bc738a44deb __all__ = ["URIRecord", "Data"] @@ -66,7 +66,7 @@ class URIRecord(BaseModel): proxiable: Optional[bool] = None """Whether the record can be proxied by Cloudflare or not.""" - tags: Optional[List[RecordTagsItem]] = None + tags: Optional[List[RecordTags]] = None """Custom tags for the DNS record. This field has no effect on DNS responses.""" ttl: Optional[TTL] = None diff --git a/src/cloudflare/types/firewall/__init__.py b/src/cloudflare/types/firewall/__init__.py index c9b9ba89262..3d4a4996dc9 100644 --- a/src/cloudflare/types/firewall/__init__.py +++ b/src/cloudflare/types/firewall/__init__.py @@ -3,16 +3,14 @@ from __future__ import annotations from .rule import Rule as Rule +from .urls import URLs as URLs from .lockdown import Lockdown as Lockdown -from .urls_item import URLsItem as URLsItem +from .products import Products as Products from .configuration import Configuration as Configuration -from .products_item import ProductsItem as ProductsItem from .deleted_filter import DeletedFilter as DeletedFilter from .rule_get_params import RuleGetParams as RuleGetParams from .rule_edit_params import RuleEditParams as RuleEditParams from .rule_list_params import RuleListParams as RuleListParams -from .asn_configuration import ASNConfiguration as ASNConfiguration -from .ipv6_configuration import IPV6Configuration as IPV6Configuration from .rule_create_params import RuleCreateParams as RuleCreateParams from .rule_delete_params import RuleDeleteParams as RuleDeleteParams from .rule_edit_response import RuleEditResponse as RuleEditResponse @@ -21,7 +19,6 @@ from .ua_rule_list_params import UARuleListParams as UARuleListParams from .lockdown_list_params import LockdownListParams as LockdownListParams from .rule_create_response import RuleCreateResponse as RuleCreateResponse -from .country_configuration import CountryConfiguration as CountryConfiguration from .ua_rule_create_params import UARuleCreateParams as UARuleCreateParams from .ua_rule_delete_params import UARuleDeleteParams as UARuleDeleteParams from .ua_rule_list_response import UARuleListResponse as UARuleListResponse @@ -41,7 +38,5 @@ from .access_rule_delete_response import AccessRuleDeleteResponse as AccessRuleDeleteResponse from .country_configuration_param import CountryConfigurationParam as CountryConfigurationParam from .lockdown_cidr_configuration import LockdownCIDRConfiguration as LockdownCIDRConfiguration -from .access_rule_ip_configuration import AccessRuleIPConfiguration as AccessRuleIPConfiguration -from .access_rule_cidr_configuration import AccessRuleCIDRConfiguration as AccessRuleCIDRConfiguration from .access_rule_ip_configuration_param import AccessRuleIPConfigurationParam as AccessRuleIPConfigurationParam from .access_rule_cidr_configuration_param import AccessRuleCIDRConfigurationParam as AccessRuleCIDRConfigurationParam diff --git a/src/cloudflare/types/firewall/access_rule_cidr_configuration.py b/src/cloudflare/types/firewall/access_rule_cidr_configuration.py deleted file mode 100644 index 7a88829b272..00000000000 --- a/src/cloudflare/types/firewall/access_rule_cidr_configuration.py +++ /dev/null @@ -1,24 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from typing_extensions import Literal - -from ..._models import BaseModel - -__all__ = ["AccessRuleCIDRConfiguration"] - - -class AccessRuleCIDRConfiguration(BaseModel): - target: Optional[Literal["ip_range"]] = None - """The configuration target. - - You must set the target to `ip_range` when specifying an IP address range in the - rule. - """ - - value: Optional[str] = None - """The IP address range to match. - - You can only use prefix lengths `/16` and `/24` for IPv4 ranges, and prefix - lengths `/32`, `/48`, and `/64` for IPv6 ranges. - """ diff --git a/src/cloudflare/types/firewall/access_rule_ip_configuration.py b/src/cloudflare/types/firewall/access_rule_ip_configuration.py deleted file mode 100644 index bb5ced460e5..00000000000 --- a/src/cloudflare/types/firewall/access_rule_ip_configuration.py +++ /dev/null @@ -1,22 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from typing_extensions import Literal - -from ..._models import BaseModel - -__all__ = ["AccessRuleIPConfiguration"] - - -class AccessRuleIPConfiguration(BaseModel): - target: Optional[Literal["ip"]] = None - """The configuration target. - - You must set the target to `ip` when specifying an IP address in the rule. - """ - - value: Optional[str] = None - """The IP address to match. - - This address will be compared to the IP address of incoming requests. - """ diff --git a/src/cloudflare/types/firewall/asn_configuration.py b/src/cloudflare/types/firewall/asn_configuration.py deleted file mode 100644 index 6681a67e6b1..00000000000 --- a/src/cloudflare/types/firewall/asn_configuration.py +++ /dev/null @@ -1,20 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from typing_extensions import Literal - -from ..._models import BaseModel - -__all__ = ["ASNConfiguration"] - - -class ASNConfiguration(BaseModel): - target: Optional[Literal["asn"]] = None - """The configuration target. - - You must set the target to `asn` when specifying an Autonomous System Number - (ASN) in the rule. - """ - - value: Optional[str] = None - """The AS number to match.""" diff --git a/src/cloudflare/types/firewall/country_configuration.py b/src/cloudflare/types/firewall/country_configuration.py deleted file mode 100644 index 6fa7ec43fac..00000000000 --- a/src/cloudflare/types/firewall/country_configuration.py +++ /dev/null @@ -1,23 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from typing_extensions import Literal - -from ..._models import BaseModel - -__all__ = ["CountryConfiguration"] - - -class CountryConfiguration(BaseModel): - target: Optional[Literal["country"]] = None - """The configuration target. - - You must set the target to `country` when specifying a country code in the rule. - """ - - value: Optional[str] = None - """The two-letter ISO-3166-1 alpha-2 code to match. - - For more information, refer to - [IP Access rules: Parameters](https://developers.cloudflare.com/waf/tools/ip-access-rules/parameters/#country). - """ diff --git a/src/cloudflare/types/firewall/ipv6_configuration.py b/src/cloudflare/types/firewall/ipv6_configuration.py deleted file mode 100644 index 3bf40ed6bc2..00000000000 --- a/src/cloudflare/types/firewall/ipv6_configuration.py +++ /dev/null @@ -1,19 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from typing_extensions import Literal - -from ..._models import BaseModel - -__all__ = ["IPV6Configuration"] - - -class IPV6Configuration(BaseModel): - target: Optional[Literal["ip6"]] = None - """The configuration target. - - You must set the target to `ip6` when specifying an IPv6 address in the rule. - """ - - value: Optional[str] = None - """The IPv6 address to match.""" diff --git a/src/cloudflare/types/firewall/lockdown.py b/src/cloudflare/types/firewall/lockdown.py index 2298b87f9b9..b8f42613b70 100644 --- a/src/cloudflare/types/firewall/lockdown.py +++ b/src/cloudflare/types/firewall/lockdown.py @@ -3,8 +3,8 @@ from typing import List from datetime import datetime +from .urls import URLs from ..._models import BaseModel -from .urls_item import URLsItem from .configuration import Configuration __all__ = ["Lockdown"] @@ -33,7 +33,7 @@ class Lockdown(BaseModel): paused: bool """When true, indicates that the rule is currently paused.""" - urls: List[URLsItem] + urls: List[URLs] """The URLs to include in the rule definition. You can use wildcards. Each entered URL will be escaped before use, which means diff --git a/src/cloudflare/types/firewall/products.py b/src/cloudflare/types/firewall/products.py new file mode 100644 index 00000000000..0dc537616f5 --- /dev/null +++ b/src/cloudflare/types/firewall/products.py @@ -0,0 +1,7 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing_extensions import Literal + +__all__ = ["Products"] + +Products = Literal["zoneLockdown", "uaBlock", "bic", "hot", "securityLevel", "rateLimit", "waf"] diff --git a/src/cloudflare/types/firewall/products_item.py b/src/cloudflare/types/firewall/products_item.py deleted file mode 100644 index 15349aeb56c..00000000000 --- a/src/cloudflare/types/firewall/products_item.py +++ /dev/null @@ -1,7 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing_extensions import Literal - -__all__ = ["ProductsItem"] - -ProductsItem = Literal["zoneLockdown", "uaBlock", "bic", "hot", "securityLevel", "rateLimit", "waf"] diff --git a/src/cloudflare/types/firewall/rule.py b/src/cloudflare/types/firewall/rule.py index 0c78f6a7f64..0e1466dd9ac 100644 --- a/src/cloudflare/types/firewall/rule.py +++ b/src/cloudflare/types/firewall/rule.py @@ -4,8 +4,8 @@ from . import filter from ..action import Action +from .products import Products from ..._models import BaseModel -from .products_item import ProductsItem from .deleted_filter import DeletedFilter __all__ = ["Rule", "Filter"] @@ -39,7 +39,7 @@ class Rule(BaseModel): processed before rules without a priority. """ - products: Optional[List[ProductsItem]] = None + products: Optional[List[Products]] = None ref: Optional[str] = None """A short reference tag. Allows you to select related firewall rules.""" diff --git a/tests/api_resources/user/load_balancing/__init__.py b/src/cloudflare/types/firewall/urls.py similarity index 72% rename from tests/api_resources/user/load_balancing/__init__.py rename to src/cloudflare/types/firewall/urls.py index fd8019a9a1a..dff15d0b9a6 100644 --- a/tests/api_resources/user/load_balancing/__init__.py +++ b/src/cloudflare/types/firewall/urls.py @@ -1 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +__all__ = ["URLs"] + +URLs = str diff --git a/src/cloudflare/types/firewall/waf/__init__.py b/src/cloudflare/types/firewall/waf/__init__.py index a70b3b14f6e..7f001fa49d4 100644 --- a/src/cloudflare/types/firewall/waf/__init__.py +++ b/src/cloudflare/types/firewall/waf/__init__.py @@ -5,6 +5,7 @@ from .urls import URLs as URLs from .rules import Rules as Rules from .override import Override as Override +from .rules_param import RulesParam as RulesParam from .rewrite_action import RewriteAction as RewriteAction from .package_list_params import PackageListParams as PackageListParams from .override_list_params import OverrideListParams as OverrideListParams diff --git a/src/cloudflare/types/firewall/waf/rules_param.py b/src/cloudflare/types/firewall/waf/rules_param.py new file mode 100644 index 00000000000..bc58e616739 --- /dev/null +++ b/src/cloudflare/types/firewall/waf/rules_param.py @@ -0,0 +1,10 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Dict +from typing_extensions import Literal + +__all__ = ["RulesParam"] + +RulesParam = Dict[str, Literal["challenge", "block", "simulate", "disable", "default"]] diff --git a/src/cloudflare/types/header.py b/src/cloudflare/types/header.py index fa9e47fe388..215fc4846cb 100644 --- a/src/cloudflare/types/header.py +++ b/src/cloudflare/types/header.py @@ -4,14 +4,14 @@ from pydantic import Field as FieldInfo +from .host import Host from .._models import BaseModel -from .host_item import HostItem __all__ = ["Header"] class Header(BaseModel): - host: Optional[List[HostItem]] = FieldInfo(alias="Host", default=None) + host: Optional[List[Host]] = FieldInfo(alias="Host", default=None) """The 'Host' header allows to override the hostname set in the HTTP request. Current support is 1 'Host' header override per origin. diff --git a/src/cloudflare/types/header_param.py b/src/cloudflare/types/header_param.py index b8dcca61a5a..f51faaa43c2 100644 --- a/src/cloudflare/types/header_param.py +++ b/src/cloudflare/types/header_param.py @@ -5,14 +5,14 @@ from typing import List from typing_extensions import Annotated, TypedDict +from .host import Host from .._utils import PropertyInfo -from .host_item import HostItem __all__ = ["HeaderParam"] class HeaderParam(TypedDict, total=False): - host: Annotated[List[HostItem], PropertyInfo(alias="Host")] + host: Annotated[List[Host], PropertyInfo(alias="Host")] """The 'Host' header allows to override the hostname set in the HTTP request. Current support is 1 'Host' header override per origin. diff --git a/tests/api_resources/user/load_balancing/analytics/__init__.py b/src/cloudflare/types/host.py similarity index 72% rename from tests/api_resources/user/load_balancing/analytics/__init__.py rename to src/cloudflare/types/host.py index fd8019a9a1a..f5b05acf1c6 100644 --- a/tests/api_resources/user/load_balancing/analytics/__init__.py +++ b/src/cloudflare/types/host.py @@ -1 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +__all__ = ["Host"] + +Host = str diff --git a/src/cloudflare/types/intel/__init__.py b/src/cloudflare/types/intel/__init__.py index 2cb97e70899..dec9c730145 100644 --- a/src/cloudflare/types/intel/__init__.py +++ b/src/cloudflare/types/intel/__init__.py @@ -8,9 +8,9 @@ from .whois import Whois as Whois from .domain import Domain as Domain from .ip_list import IPList as IPList +from .sinkhole import Sinkhole as Sinkhole from .dns_param import DNSParam as DNSParam from .ip_get_params import IPGetParams as IPGetParams -from .sinkhole_item import SinkholeItem as SinkholeItem from .domain_history import DomainHistory as DomainHistory from .dns_list_params import DNSListParams as DNSListParams from .ip_get_response import IPGetResponse as IPGetResponse diff --git a/src/cloudflare/types/intel/sinkhole_item.py b/src/cloudflare/types/intel/sinkhole.py similarity index 93% rename from src/cloudflare/types/intel/sinkhole_item.py rename to src/cloudflare/types/intel/sinkhole.py index 94eccecb8ff..fe3d459e780 100644 --- a/src/cloudflare/types/intel/sinkhole_item.py +++ b/src/cloudflare/types/intel/sinkhole.py @@ -5,10 +5,10 @@ from ..._models import BaseModel -__all__ = ["SinkholeItem"] +__all__ = ["Sinkhole"] -class SinkholeItem(BaseModel): +class Sinkhole(BaseModel): id: Optional[int] = None """The unique identifier for the sinkhole""" diff --git a/src/cloudflare/types/load_balancer.py b/src/cloudflare/types/load_balancer.py index e91d343495b..7f6b1bac1c9 100644 --- a/src/cloudflare/types/load_balancer.py +++ b/src/cloudflare/types/load_balancer.py @@ -4,12 +4,12 @@ from datetime import datetime from typing_extensions import Literal +from .rules import Rules from .._models import BaseModel -from .rules_item import RulesItem +from .default_pools import DefaultPools from .random_steering import RandomSteering from .adaptive_routing import AdaptiveRouting from .location_strategy import LocationStrategy -from .default_pools_item import DefaultPoolsItem from .session_affinity_attributes import SessionAffinityAttributes __all__ = ["LoadBalancer"] @@ -38,7 +38,7 @@ class LoadBalancer(BaseModel): created_on: Optional[datetime] = None - default_pools: Optional[List[DefaultPoolsItem]] = None + default_pools: Optional[List[DefaultPools]] = None """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -98,7 +98,7 @@ class LoadBalancer(BaseModel): back to using default_pools. """ - rules: Optional[List[RulesItem]] = None + rules: Optional[List[Rules]] = None """ BETA Field Not General Access: A list of rules for this load balancer to execute. diff --git a/src/cloudflare/types/load_balancer_create_params.py b/src/cloudflare/types/load_balancer_create_params.py index e37a99ea61e..173adfbeb31 100644 --- a/src/cloudflare/types/load_balancer_create_params.py +++ b/src/cloudflare/types/load_balancer_create_params.py @@ -5,8 +5,8 @@ from typing import List, Iterable from typing_extensions import Literal, Required, TypedDict -from .rules_item_param import RulesItemParam -from .default_pools_item import DefaultPoolsItem +from .rules_param import RulesParam +from .default_pools import DefaultPools from .random_steering_param import RandomSteeringParam from .adaptive_routing_param import AdaptiveRoutingParam from .location_strategy_param import LocationStrategyParam @@ -18,7 +18,7 @@ class LoadBalancerCreateParams(TypedDict, total=False): zone_id: Required[str] - default_pools: Required[List[DefaultPoolsItem]] + default_pools: Required[List[DefaultPools]] """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -91,7 +91,7 @@ class LoadBalancerCreateParams(TypedDict, total=False): back to using default_pools. """ - rules: Iterable[RulesItemParam] + rules: Iterable[RulesParam] """ BETA Field Not General Access: A list of rules for this load balancer to execute. diff --git a/src/cloudflare/types/load_balancer_edit_params.py b/src/cloudflare/types/load_balancer_edit_params.py index 3dec31cdb3d..5848c3bf5ea 100644 --- a/src/cloudflare/types/load_balancer_edit_params.py +++ b/src/cloudflare/types/load_balancer_edit_params.py @@ -5,8 +5,8 @@ from typing import List, Iterable from typing_extensions import Literal, Required, TypedDict -from .rules_item_param import RulesItemParam -from .default_pools_item import DefaultPoolsItem +from .rules_param import RulesParam +from .default_pools import DefaultPools from .random_steering_param import RandomSteeringParam from .adaptive_routing_param import AdaptiveRoutingParam from .location_strategy_param import LocationStrategyParam @@ -36,7 +36,7 @@ class LoadBalancerEditParams(TypedDict, total=False): default_pools. """ - default_pools: List[DefaultPoolsItem] + default_pools: List[DefaultPools] """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -94,7 +94,7 @@ class LoadBalancerEditParams(TypedDict, total=False): back to using default_pools. """ - rules: Iterable[RulesItemParam] + rules: Iterable[RulesParam] """ BETA Field Not General Access: A list of rules for this load balancer to execute. diff --git a/src/cloudflare/types/load_balancer_update_params.py b/src/cloudflare/types/load_balancer_update_params.py index 375898b2dfe..1c8db91d1c4 100644 --- a/src/cloudflare/types/load_balancer_update_params.py +++ b/src/cloudflare/types/load_balancer_update_params.py @@ -5,8 +5,8 @@ from typing import List, Iterable from typing_extensions import Literal, Required, TypedDict -from .rules_item_param import RulesItemParam -from .default_pools_item import DefaultPoolsItem +from .rules_param import RulesParam +from .default_pools import DefaultPools from .random_steering_param import RandomSteeringParam from .adaptive_routing_param import AdaptiveRoutingParam from .location_strategy_param import LocationStrategyParam @@ -18,7 +18,7 @@ class LoadBalancerUpdateParams(TypedDict, total=False): zone_id: Required[str] - default_pools: Required[List[DefaultPoolsItem]] + default_pools: Required[List[DefaultPools]] """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -94,7 +94,7 @@ class LoadBalancerUpdateParams(TypedDict, total=False): back to using default_pools. """ - rules: Iterable[RulesItemParam] + rules: Iterable[RulesParam] """ BETA Field Not General Access: A list of rules for this load balancer to execute. diff --git a/src/cloudflare/types/membership.py b/src/cloudflare/types/membership.py index 3c8187de120..c55ba0db3bb 100644 --- a/src/cloudflare/types/membership.py +++ b/src/cloudflare/types/membership.py @@ -5,10 +5,35 @@ from .account import Account from .._models import BaseModel -from .accounts import MemberRoles -from .user.tokens import Permission +from .accounts import MemberRoles, PermissionGrant -__all__ = ["Membership"] +__all__ = ["Membership", "Permissions"] + + +class Permissions(BaseModel): + analytics: Optional[PermissionGrant] = None + + billing: Optional[PermissionGrant] = None + + cache_purge: Optional[PermissionGrant] = None + + dns: Optional[PermissionGrant] = None + + dns_records: Optional[PermissionGrant] = None + + lb: Optional[PermissionGrant] = None + + logs: Optional[PermissionGrant] = None + + organization: Optional[PermissionGrant] = None + + ssl: Optional[PermissionGrant] = None + + waf: Optional[PermissionGrant] = None + + zone_settings: Optional[PermissionGrant] = None + + zones: Optional[PermissionGrant] = None class Membership(BaseModel): @@ -27,7 +52,7 @@ class Membership(BaseModel): code: Optional[str] = None """The unique activation code for the account membership.""" - permissions: Optional[Permission] = None + permissions: Optional[Permissions] = None """All access permissions for the user at the account.""" roles: Optional[MemberRoles] = None diff --git a/src/cloudflare/types/request_tracers/__init__.py b/src/cloudflare/types/request_tracers/__init__.py index 40a59470259..a1d489d78fa 100644 --- a/src/cloudflare/types/request_tracers/__init__.py +++ b/src/cloudflare/types/request_tracers/__init__.py @@ -3,6 +3,5 @@ from __future__ import annotations from .trace import Trace as Trace -from .trace_item import TraceItem as TraceItem from .trace_create_params import TraceCreateParams as TraceCreateParams from .trace_create_response import TraceCreateResponse as TraceCreateResponse diff --git a/src/cloudflare/types/request_tracers/trace.py b/src/cloudflare/types/request_tracers/trace.py index 4687762c7f8..32e14ff128c 100644 --- a/src/cloudflare/types/request_tracers/trace.py +++ b/src/cloudflare/types/request_tracers/trace.py @@ -2,10 +2,48 @@ from __future__ import annotations -from typing import List +from typing import List, Optional -__all__ = ["Trace"] +from ..._compat import PYDANTIC_V2 +from ..._models import BaseModel -Trace = List["TraceItem"] +__all__ = ["Trace", "TraceItem"] -from .trace_item import TraceItem + +class TraceItem(BaseModel): + action: Optional[str] = None + """If step type is rule, then action performed by this rule""" + + action_parameters: Optional[object] = None + """If step type is rule, then action parameters of this rule as JSON""" + + description: Optional[str] = None + """If step type is rule or ruleset, the description of this entity""" + + expression: Optional[str] = None + """If step type is rule, then expression used to match for this rule""" + + kind: Optional[str] = None + """If step type is ruleset, then kind of this ruleset""" + + matched: Optional[bool] = None + """Whether tracing step affected tracing request/response""" + + name: Optional[str] = None + """If step type is ruleset, then name of this ruleset""" + + step_name: Optional[str] = None + """Tracing step identifying name""" + + trace: Optional[Trace] = None + + type: Optional[str] = None + """Tracing step type""" + + +Trace = List[TraceItem] + +if PYDANTIC_V2: + TraceItem.model_rebuild() +else: + TraceItem.update_forward_refs() # type: ignore diff --git a/src/cloudflare/types/request_tracers/trace_item.py b/src/cloudflare/types/request_tracers/trace_item.py deleted file mode 100644 index 2830764115e..00000000000 --- a/src/cloudflare/types/request_tracers/trace_item.py +++ /dev/null @@ -1,49 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Optional - -from ..._compat import PYDANTIC_V2 -from ..._models import BaseModel - -__all__ = ["TraceItem"] - - -class TraceItem(BaseModel): - action: Optional[str] = None - """If step type is rule, then action performed by this rule""" - - action_parameters: Optional[object] = None - """If step type is rule, then action parameters of this rule as JSON""" - - description: Optional[str] = None - """If step type is rule or ruleset, the description of this entity""" - - expression: Optional[str] = None - """If step type is rule, then expression used to match for this rule""" - - kind: Optional[str] = None - """If step type is ruleset, then kind of this ruleset""" - - matched: Optional[bool] = None - """Whether tracing step affected tracing request/response""" - - name: Optional[str] = None - """If step type is ruleset, then name of this ruleset""" - - step_name: Optional[str] = None - """Tracing step identifying name""" - - trace: Optional["Trace"] = None - - type: Optional[str] = None - """Tracing step type""" - - -from .trace import Trace - -if PYDANTIC_V2: - TraceItem.model_rebuild() -else: - TraceItem.update_forward_refs() # type: ignore diff --git a/src/cloudflare/types/rules_item.py b/src/cloudflare/types/rules.py similarity index 97% rename from src/cloudflare/types/rules_item.py rename to src/cloudflare/types/rules.py index 7e35e3d935d..90272a78b56 100644 --- a/src/cloudflare/types/rules_item.py +++ b/src/cloudflare/types/rules.py @@ -4,13 +4,13 @@ from typing_extensions import Literal from .._models import BaseModel +from .default_pools import DefaultPools from .random_steering import RandomSteering from .adaptive_routing import AdaptiveRouting from .location_strategy import LocationStrategy -from .default_pools_item import DefaultPoolsItem from .session_affinity_attributes import SessionAffinityAttributes -__all__ = ["RulesItem", "FixedResponse", "Overrides"] +__all__ = ["Rules", "FixedResponse", "Overrides"] class FixedResponse(BaseModel): @@ -46,7 +46,7 @@ class Overrides(BaseModel): default_pools. """ - default_pools: Optional[List[DefaultPoolsItem]] = None + default_pools: Optional[List[DefaultPools]] = None """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -175,7 +175,7 @@ class Overrides(BaseModel): """ -class RulesItem(BaseModel): +class Rules(BaseModel): condition: Optional[str] = None """The condition expressions to evaluate. diff --git a/src/cloudflare/types/rules_item_param.py b/src/cloudflare/types/rules_param.py similarity index 97% rename from src/cloudflare/types/rules_item_param.py rename to src/cloudflare/types/rules_param.py index dc647281167..f74b2e39bcc 100644 --- a/src/cloudflare/types/rules_item_param.py +++ b/src/cloudflare/types/rules_param.py @@ -5,13 +5,13 @@ from typing import List from typing_extensions import Literal, TypedDict -from .default_pools_item import DefaultPoolsItem +from .default_pools import DefaultPools from .random_steering_param import RandomSteeringParam from .adaptive_routing_param import AdaptiveRoutingParam from .location_strategy_param import LocationStrategyParam from .session_affinity_attributes_param import SessionAffinityAttributesParam -__all__ = ["RulesItemParam", "FixedResponse", "Overrides"] +__all__ = ["RulesParam", "FixedResponse", "Overrides"] class FixedResponse(TypedDict, total=False): @@ -47,7 +47,7 @@ class Overrides(TypedDict, total=False): default_pools. """ - default_pools: List[DefaultPoolsItem] + default_pools: List[DefaultPools] """A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured @@ -167,7 +167,7 @@ class Overrides(TypedDict, total=False): """ -class RulesItemParam(TypedDict, total=False): +class RulesParam(TypedDict, total=False): condition: str """The condition expressions to evaluate. diff --git a/src/cloudflare/types/spectrum/analytics/__init__.py b/src/cloudflare/types/spectrum/analytics/__init__.py index 7ac5b6175be..1ffcad41306 100644 --- a/src/cloudflare/types/spectrum/analytics/__init__.py +++ b/src/cloudflare/types/spectrum/analytics/__init__.py @@ -2,4 +2,4 @@ from __future__ import annotations -from .dimension_item import DimensionItem as DimensionItem +from .dimension import Dimension as Dimension diff --git a/src/cloudflare/types/spectrum/analytics/dimension_item.py b/src/cloudflare/types/spectrum/analytics/dimension.py similarity index 57% rename from src/cloudflare/types/spectrum/analytics/dimension_item.py rename to src/cloudflare/types/spectrum/analytics/dimension.py index 6cb07f429cf..0b53b87214b 100644 --- a/src/cloudflare/types/spectrum/analytics/dimension_item.py +++ b/src/cloudflare/types/spectrum/analytics/dimension.py @@ -2,6 +2,6 @@ from typing_extensions import Literal -__all__ = ["DimensionItem"] +__all__ = ["Dimension"] -DimensionItem = Literal["event", "appID", "coloName", "ipVersion"] +Dimension = Literal["event", "appID", "coloName", "ipVersion"] diff --git a/src/cloudflare/types/spectrum/analytics/events/bytime_get_params.py b/src/cloudflare/types/spectrum/analytics/events/bytime_get_params.py index 6e404625314..2f9fde1b5a1 100644 --- a/src/cloudflare/types/spectrum/analytics/events/bytime_get_params.py +++ b/src/cloudflare/types/spectrum/analytics/events/bytime_get_params.py @@ -7,13 +7,13 @@ from typing_extensions import Literal, Annotated, TypedDict from ....._utils import PropertyInfo -from ..dimension_item import DimensionItem +from ..dimension import Dimension __all__ = ["BytimeGetParams"] class BytimeGetParams(TypedDict, total=False): - dimensions: List[DimensionItem] + dimensions: List[Dimension] """Can be used to break down the data by given attributes. Options are: | Dimension | Name | Example | diff --git a/src/cloudflare/types/spectrum/analytics/events/summary_get_params.py b/src/cloudflare/types/spectrum/analytics/events/summary_get_params.py index 5f360a59c32..0fc955c44fb 100644 --- a/src/cloudflare/types/spectrum/analytics/events/summary_get_params.py +++ b/src/cloudflare/types/spectrum/analytics/events/summary_get_params.py @@ -7,13 +7,13 @@ from typing_extensions import Literal, Annotated, TypedDict from ....._utils import PropertyInfo -from ..dimension_item import DimensionItem +from ..dimension import Dimension __all__ = ["SummaryGetParams"] class SummaryGetParams(TypedDict, total=False): - dimensions: List[DimensionItem] + dimensions: List[Dimension] """Can be used to break down the data by given attributes. Options are: | Dimension | Name | Example | diff --git a/src/cloudflare/types/ssl/__init__.py b/src/cloudflare/types/ssl/__init__.py index 664a28d76c8..fbc549559f6 100644 --- a/src/cloudflare/types/ssl/__init__.py +++ b/src/cloudflare/types/ssl/__init__.py @@ -2,7 +2,7 @@ from __future__ import annotations -from .host_item import HostItem as HostItem +from .host import Host as Host from .verification import Verification as Verification from .analyze_create_params import AnalyzeCreateParams as AnalyzeCreateParams from .verification_get_params import VerificationGetParams as VerificationGetParams diff --git a/src/cloudflare/types/ssl/certificate_pack_edit_response.py b/src/cloudflare/types/ssl/certificate_pack_edit_response.py index 1c484d2fa2e..2b9475f83c5 100644 --- a/src/cloudflare/types/ssl/certificate_pack_edit_response.py +++ b/src/cloudflare/types/ssl/certificate_pack_edit_response.py @@ -3,8 +3,8 @@ from typing import List, Optional from typing_extensions import Literal +from .host import Host from ..._models import BaseModel -from .host_item import HostItem __all__ = ["CertificatePackEditResponse"] @@ -26,7 +26,7 @@ class CertificatePackEditResponse(BaseModel): This will add sni.cloudflaressl.com as the Common Name if set true. """ - hosts: Optional[List[HostItem]] = None + hosts: Optional[List[Host]] = None """Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be diff --git a/src/cloudflare/types/ssl/certificate_packs/order_create_params.py b/src/cloudflare/types/ssl/certificate_packs/order_create_params.py index 2ffbea17c53..103bd5658af 100644 --- a/src/cloudflare/types/ssl/certificate_packs/order_create_params.py +++ b/src/cloudflare/types/ssl/certificate_packs/order_create_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Literal, Required, TypedDict -from ..host_item import HostItem +from ..host import Host __all__ = ["OrderCreateParams"] @@ -21,7 +21,7 @@ class OrderCreateParams(TypedDict, total=False): [see this page for more details.](https://developers.cloudflare.com/ssl/reference/certificate-authorities) """ - hosts: Required[List[HostItem]] + hosts: Required[List[Host]] """Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be diff --git a/src/cloudflare/types/ssl/certificate_packs/order_create_response.py b/src/cloudflare/types/ssl/certificate_packs/order_create_response.py index f663f78d544..e0c4d08946a 100644 --- a/src/cloudflare/types/ssl/certificate_packs/order_create_response.py +++ b/src/cloudflare/types/ssl/certificate_packs/order_create_response.py @@ -3,8 +3,8 @@ from typing import List, Optional from typing_extensions import Literal +from ..host import Host from ...._models import BaseModel -from ..host_item import HostItem __all__ = ["OrderCreateResponse"] @@ -26,7 +26,7 @@ class OrderCreateResponse(BaseModel): This will add sni.cloudflaressl.com as the Common Name if set true. """ - hosts: Optional[List[HostItem]] = None + hosts: Optional[List[Host]] = None """Comma separated list of valid host names for the certificate packs. Must contain the zone apex, may not contain more than 50 hosts, and may not be diff --git a/tests/api_resources/user/firewall/__init__.py b/src/cloudflare/types/ssl/host.py similarity index 72% rename from tests/api_resources/user/firewall/__init__.py rename to src/cloudflare/types/ssl/host.py index fd8019a9a1a..f5b05acf1c6 100644 --- a/tests/api_resources/user/firewall/__init__.py +++ b/src/cloudflare/types/ssl/host.py @@ -1 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +__all__ = ["Host"] + +Host = str diff --git a/src/cloudflare/types/stream/clip.py b/src/cloudflare/types/stream/clip.py index ec82d0e9eea..72a56372a76 100644 --- a/src/cloudflare/types/stream/clip.py +++ b/src/cloudflare/types/stream/clip.py @@ -7,7 +7,7 @@ from pydantic import Field as FieldInfo from ..._models import BaseModel -from ..allowed_origins_item import AllowedOriginsItem +from ..allowed_origins import AllowedOrigins __all__ = ["Clip", "Playback", "Watermark"] @@ -26,7 +26,7 @@ class Watermark(BaseModel): class Clip(BaseModel): - allowed_origins: Optional[List[AllowedOriginsItem]] = FieldInfo(alias="allowedOrigins", default=None) + allowed_origins: Optional[List[AllowedOrigins]] = FieldInfo(alias="allowedOrigins", default=None) """Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. diff --git a/src/cloudflare/types/stream/clip_create_params.py b/src/cloudflare/types/stream/clip_create_params.py index 04a3f99713e..3c39f3ee70e 100644 --- a/src/cloudflare/types/stream/clip_create_params.py +++ b/src/cloudflare/types/stream/clip_create_params.py @@ -6,7 +6,7 @@ from typing_extensions import Required, Annotated, TypedDict from ..._utils import PropertyInfo -from ..allowed_origins_item import AllowedOriginsItem +from ..allowed_origins import AllowedOrigins __all__ = ["ClipCreateParams", "Watermark"] @@ -24,7 +24,7 @@ class ClipCreateParams(TypedDict, total=False): start_time_seconds: Required[Annotated[int, PropertyInfo(alias="startTimeSeconds")]] """Specifies the start time for the video clip in seconds.""" - allowed_origins: Annotated[List[AllowedOriginsItem], PropertyInfo(alias="allowedOrigins")] + allowed_origins: Annotated[List[AllowedOrigins], PropertyInfo(alias="allowedOrigins")] """Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. diff --git a/src/cloudflare/types/stream/copy_create_params.py b/src/cloudflare/types/stream/copy_create_params.py index 7851cf8680f..97fe1539146 100644 --- a/src/cloudflare/types/stream/copy_create_params.py +++ b/src/cloudflare/types/stream/copy_create_params.py @@ -7,7 +7,7 @@ from typing_extensions import Required, Annotated, TypedDict from ..._utils import PropertyInfo -from ..allowed_origins_item import AllowedOriginsItem +from ..allowed_origins import AllowedOrigins __all__ = ["CopyCreateParams", "Watermark"] @@ -24,7 +24,7 @@ class CopyCreateParams(TypedDict, total=False): with a `content-range` header that includes the size of the file. """ - allowed_origins: Annotated[List[AllowedOriginsItem], PropertyInfo(alias="allowedOrigins")] + allowed_origins: Annotated[List[AllowedOrigins], PropertyInfo(alias="allowedOrigins")] """Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. diff --git a/src/cloudflare/types/stream/direct_upload_create_params.py b/src/cloudflare/types/stream/direct_upload_create_params.py index 8d18be5e888..1e02931e73f 100644 --- a/src/cloudflare/types/stream/direct_upload_create_params.py +++ b/src/cloudflare/types/stream/direct_upload_create_params.py @@ -7,7 +7,7 @@ from typing_extensions import Required, Annotated, TypedDict from ..._utils import PropertyInfo -from ..allowed_origins_item import AllowedOriginsItem +from ..allowed_origins import AllowedOrigins __all__ = ["DirectUploadCreateParams", "Watermark"] @@ -24,7 +24,7 @@ class DirectUploadCreateParams(TypedDict, total=False): means the value is unknown. """ - allowed_origins: Annotated[List[AllowedOriginsItem], PropertyInfo(alias="allowedOrigins")] + allowed_origins: Annotated[List[AllowedOrigins], PropertyInfo(alias="allowedOrigins")] """Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. diff --git a/src/cloudflare/types/user/__init__.py b/src/cloudflare/types/user/__init__.py index 0244395a013..bcb4c010762 100644 --- a/src/cloudflare/types/user/__init__.py +++ b/src/cloudflare/types/user/__init__.py @@ -4,10 +4,10 @@ from .invite import Invite as Invite from .policy import Policy as Policy +from .cidr_list import CIDRList as CIDRList from .organization import Organization as Organization from .policy_param import PolicyParam as PolicyParam from .subscription import Subscription as Subscription -from .cidr_list_item import CIDRListItem as CIDRListItem from .token_list_params import TokenListParams as TokenListParams from .invite_edit_params import InviteEditParams as InviteEditParams from .token_create_params import TokenCreateParams as TokenCreateParams diff --git a/src/cloudflare/types/ssl/host_item.py b/src/cloudflare/types/user/cidr_list.py similarity index 70% rename from src/cloudflare/types/ssl/host_item.py rename to src/cloudflare/types/user/cidr_list.py index c6a0a188002..f0adf1151fe 100644 --- a/src/cloudflare/types/ssl/host_item.py +++ b/src/cloudflare/types/user/cidr_list.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["HostItem"] +__all__ = ["CIDRList"] -HostItem = str +CIDRList = str diff --git a/src/cloudflare/types/user/cidr_list_item.py b/src/cloudflare/types/user/cidr_list_item.py deleted file mode 100644 index b4c2961b43f..00000000000 --- a/src/cloudflare/types/user/cidr_list_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["CIDRListItem"] - -CIDRListItem = str diff --git a/src/cloudflare/types/user/firewall/__init__.py b/src/cloudflare/types/user/firewall/__init__.py deleted file mode 100644 index 5723f059778..00000000000 --- a/src/cloudflare/types/user/firewall/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from .firewall_rule import FirewallRule as FirewallRule -from .access_rule_edit_params import AccessRuleEditParams as AccessRuleEditParams -from .access_rule_list_params import AccessRuleListParams as AccessRuleListParams -from .access_rule_create_params import AccessRuleCreateParams as AccessRuleCreateParams -from .access_rule_delete_params import AccessRuleDeleteParams as AccessRuleDeleteParams -from .access_rule_delete_response import AccessRuleDeleteResponse as AccessRuleDeleteResponse diff --git a/src/cloudflare/types/user/firewall/access_rule_create_params.py b/src/cloudflare/types/user/firewall/access_rule_create_params.py deleted file mode 100644 index b78d6dab8a0..00000000000 --- a/src/cloudflare/types/user/firewall/access_rule_create_params.py +++ /dev/null @@ -1,38 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from typing_extensions import Literal, Required, TypedDict - -from ...firewall import ( - ASNConfigurationParam, - IPV6ConfigurationParam, - CountryConfigurationParam, - AccessRuleIPConfigurationParam, - AccessRuleCIDRConfigurationParam, -) - -__all__ = ["AccessRuleCreateParams", "Configuration"] - - -class AccessRuleCreateParams(TypedDict, total=False): - configuration: Required[Configuration] - """The rule configuration.""" - - mode: Required[Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"]] - """The action to apply to a matched request.""" - - notes: str - """ - An informative summary of the rule, typically used as a reminder or explanation. - """ - - -Configuration = Union[ - AccessRuleIPConfigurationParam, - IPV6ConfigurationParam, - AccessRuleCIDRConfigurationParam, - ASNConfigurationParam, - CountryConfigurationParam, -] diff --git a/src/cloudflare/types/user/firewall/access_rule_delete_params.py b/src/cloudflare/types/user/firewall/access_rule_delete_params.py deleted file mode 100644 index e51b0124f46..00000000000 --- a/src/cloudflare/types/user/firewall/access_rule_delete_params.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Required, TypedDict - -__all__ = ["AccessRuleDeleteParams"] - - -class AccessRuleDeleteParams(TypedDict, total=False): - body: Required[object] diff --git a/src/cloudflare/types/user/firewall/access_rule_delete_response.py b/src/cloudflare/types/user/firewall/access_rule_delete_response.py deleted file mode 100644 index 562531b8891..00000000000 --- a/src/cloudflare/types/user/firewall/access_rule_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__ = ["AccessRuleDeleteResponse"] - - -class AccessRuleDeleteResponse(BaseModel): - id: Optional[str] = None - """The unique identifier of the IP Access rule.""" diff --git a/src/cloudflare/types/user/firewall/access_rule_edit_params.py b/src/cloudflare/types/user/firewall/access_rule_edit_params.py deleted file mode 100644 index 474b77feee1..00000000000 --- a/src/cloudflare/types/user/firewall/access_rule_edit_params.py +++ /dev/null @@ -1,17 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Literal, TypedDict - -__all__ = ["AccessRuleEditParams"] - - -class AccessRuleEditParams(TypedDict, total=False): - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"] - """The action to apply to a matched request.""" - - notes: str - """ - An informative summary of the rule, typically used as a reminder or explanation. - """ diff --git a/src/cloudflare/types/user/firewall/access_rule_list_params.py b/src/cloudflare/types/user/firewall/access_rule_list_params.py deleted file mode 100644 index e43846189d7..00000000000 --- a/src/cloudflare/types/user/firewall/access_rule_list_params.py +++ /dev/null @@ -1,74 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Literal, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["AccessRuleListParams", "EgsPagination", "EgsPaginationJson", "Filters"] - - -class AccessRuleListParams(TypedDict, total=False): - direction: Literal["asc", "desc"] - """The direction used to sort returned rules.""" - - egs_pagination: Annotated[EgsPagination, PropertyInfo(alias="egs-pagination")] - - filters: Filters - - order: Literal["configuration.target", "configuration.value", "mode"] - """The field used to sort returned rules.""" - - page: float - """Requested page within paginated list of results.""" - - per_page: float - """Maximum number of results requested.""" - - -class EgsPaginationJson(TypedDict, total=False): - page: float - """The page number of paginated results.""" - - per_page: float - """The maximum number of results per page. - - You can only set the value to `1` or to a multiple of 5 such as `5`, `10`, `15`, - or `20`. - """ - - -class EgsPagination(TypedDict, total=False): - json: EgsPaginationJson - - -class Filters(TypedDict, total=False): - configuration_target: Annotated[ - Literal["ip", "ip_range", "asn", "country"], PropertyInfo(alias="configuration.target") - ] - """The target to search in existing rules.""" - - configuration_value: Annotated[str, PropertyInfo(alias="configuration.value")] - """ - The target value to search for in existing rules: an IP address, an IP address - range, or a country code, depending on the provided `configuration.target`. - Notes: You can search for a single IPv4 address, an IP address range with a - subnet of '/16' or '/24', or a two-letter ISO-3166-1 alpha-2 country code. - """ - - match: Literal["any", "all"] - """When set to `all`, all the search requirements must match. - - When set to `any`, only one of the search requirements has to match. - """ - - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"] - """The action to apply to a matched request.""" - - notes: str - """ - The string to search for in the notes of existing IP Access rules. Notes: For - example, the string 'attack' would match IP Access rules with notes 'Attack - 26/02' and 'Attack 27/02'. The search is case insensitive. - """ diff --git a/src/cloudflare/types/user/firewall/firewall_rule.py b/src/cloudflare/types/user/firewall/firewall_rule.py deleted file mode 100644 index 855e80ca74c..00000000000 --- a/src/cloudflare/types/user/firewall/firewall_rule.py +++ /dev/null @@ -1,45 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import List, Union, Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel -from ...firewall import ( - ASNConfiguration, - IPV6Configuration, - CountryConfiguration, - AccessRuleIPConfiguration, - AccessRuleCIDRConfiguration, -) - -__all__ = ["FirewallRule", "Configuration"] - -Configuration = Union[ - AccessRuleIPConfiguration, IPV6Configuration, AccessRuleCIDRConfiguration, ASNConfiguration, CountryConfiguration -] - - -class FirewallRule(BaseModel): - id: str - """The unique identifier of the IP Access rule.""" - - allowed_modes: List[Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"]] - """The available actions that a rule can apply to a matched request.""" - - configuration: Configuration - """The rule configuration.""" - - mode: Literal["block", "challenge", "whitelist", "js_challenge", "managed_challenge"] - """The action to apply to a matched request.""" - - created_on: Optional[datetime] = None - """The timestamp of when the rule was created.""" - - modified_on: Optional[datetime] = None - """The timestamp of when the rule was last modified.""" - - notes: Optional[str] = None - """ - An informative summary of the rule, typically used as a reminder or explanation. - """ diff --git a/src/cloudflare/types/user/load_balancing/__init__.py b/src/cloudflare/types/user/load_balancing/__init__.py deleted file mode 100644 index 1ff9c933d63..00000000000 --- a/src/cloudflare/types/user/load_balancing/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from .analytics import Analytics as Analytics -from .pool_edit_params import PoolEditParams as PoolEditParams -from .pool_list_params import PoolListParams as PoolListParams -from .pool_create_params import PoolCreateParams as PoolCreateParams -from .pool_delete_params import PoolDeleteParams as PoolDeleteParams -from .pool_update_params import PoolUpdateParams as PoolUpdateParams -from .monitor_edit_params import MonitorEditParams as MonitorEditParams -from .pool_preview_params import PoolPreviewParams as PoolPreviewParams -from .monitor_get_response import MonitorGetResponse as MonitorGetResponse -from .pool_delete_response import PoolDeleteResponse as PoolDeleteResponse -from .pool_health_response import PoolHealthResponse as PoolHealthResponse -from .preview_get_response import PreviewGetResponse as PreviewGetResponse -from .monitor_create_params import MonitorCreateParams as MonitorCreateParams -from .monitor_delete_params import MonitorDeleteParams as MonitorDeleteParams -from .monitor_edit_response import MonitorEditResponse as MonitorEditResponse -from .monitor_list_response import MonitorListResponse as MonitorListResponse -from .monitor_update_params import MonitorUpdateParams as MonitorUpdateParams -from .pool_preview_response import PoolPreviewResponse as PoolPreviewResponse -from .monitor_preview_params import MonitorPreviewParams as MonitorPreviewParams -from .monitor_create_response import MonitorCreateResponse as MonitorCreateResponse -from .monitor_delete_response import MonitorDeleteResponse as MonitorDeleteResponse -from .monitor_update_response import MonitorUpdateResponse as MonitorUpdateResponse -from .monitor_preview_response import MonitorPreviewResponse as MonitorPreviewResponse -from .pool_references_response import PoolReferencesResponse as PoolReferencesResponse -from .monitor_references_response import MonitorReferencesResponse as MonitorReferencesResponse diff --git a/src/cloudflare/types/user/load_balancing/analytics/__init__.py b/src/cloudflare/types/user/load_balancing/analytics/__init__.py deleted file mode 100644 index 6767325e064..00000000000 --- a/src/cloudflare/types/user/load_balancing/analytics/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from .analytics import Analytics as Analytics -from .event_list_params import EventListParams as EventListParams diff --git a/src/cloudflare/types/user/load_balancing/analytics/analytics.py b/src/cloudflare/types/user/load_balancing/analytics/analytics.py deleted file mode 100644 index 3fd256d3791..00000000000 --- a/src/cloudflare/types/user/load_balancing/analytics/analytics.py +++ /dev/null @@ -1,18 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import List, Optional -from datetime import datetime - -from ....._models import BaseModel - -__all__ = ["Analytics"] - - -class Analytics(BaseModel): - id: Optional[int] = None - - origins: Optional[List[object]] = None - - pool: Optional[object] = None - - timestamp: Optional[datetime] = None diff --git a/src/cloudflare/types/user/load_balancing/analytics/event_list_params.py b/src/cloudflare/types/user/load_balancing/analytics/event_list_params.py deleted file mode 100644 index cd27e66a9b6..00000000000 --- a/src/cloudflare/types/user/load_balancing/analytics/event_list_params.py +++ /dev/null @@ -1,39 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from datetime import datetime -from typing_extensions import Annotated, TypedDict - -from ....._utils import PropertyInfo - -__all__ = ["EventListParams"] - - -class EventListParams(TypedDict, total=False): - origin_healthy: bool - """If true, filter events where the origin status is healthy. - - If false, filter events where the origin status is unhealthy. - """ - - origin_name: str - """The name for the origin to filter.""" - - pool_healthy: bool - """If true, filter events where the pool status is healthy. - - If false, filter events where the pool status is unhealthy. - """ - - pool_id: str - - pool_name: str - """The name for the pool to filter.""" - - since: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """Start date and time of requesting data period in the ISO8601 format.""" - - until: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """End date and time of requesting data period in the ISO8601 format.""" diff --git a/src/cloudflare/types/user/load_balancing/monitor_create_params.py b/src/cloudflare/types/user/load_balancing/monitor_create_params.py deleted file mode 100644 index e111b9e8502..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_create_params.py +++ /dev/null @@ -1,107 +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, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["MonitorCreateParams"] - - -class MonitorCreateParams(TypedDict, total=False): - expected_codes: Required[str] - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - allow_insecure: bool - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: int - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: int - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - description: str - """Object description.""" - - expected_body: str - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: bool - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: object - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: int - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: str - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - path: str - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: int - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: str - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: int - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - load_balancer_monitor_timeout: Annotated[int, PropertyInfo(alias="timeout")] - """The timeout (in seconds) before marking the health check as failed.""" - - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_create_response.py b/src/cloudflare/types/user/load_balancing/monitor_create_response.py deleted file mode 100644 index e0635d6b875..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_create_response.py +++ /dev/null @@ -1,113 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorCreateResponse"] - - -class MonitorCreateResponse(BaseModel): - id: Optional[str] = None - - allow_insecure: Optional[bool] = None - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: Optional[int] = None - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: Optional[int] = None - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - created_on: Optional[datetime] = None - - description: Optional[str] = None - """Object description.""" - - expected_body: Optional[str] = None - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - expected_codes: Optional[str] = None - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: Optional[bool] = None - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: Optional[object] = None - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: Optional[int] = None - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: Optional[str] = None - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - modified_on: Optional[datetime] = None - - path: Optional[str] = None - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: Optional[int] = None - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: Optional[str] = None - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: Optional[int] = None - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - timeout: Optional[int] = None - """The timeout (in seconds) before marking the health check as failed.""" - - type: Optional[Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"]] = None - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_delete_params.py b/src/cloudflare/types/user/load_balancing/monitor_delete_params.py deleted file mode 100644 index 4485afe24b9..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_delete_params.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Required, TypedDict - -__all__ = ["MonitorDeleteParams"] - - -class MonitorDeleteParams(TypedDict, total=False): - body: Required[object] diff --git a/src/cloudflare/types/user/load_balancing/monitor_delete_response.py b/src/cloudflare/types/user/load_balancing/monitor_delete_response.py deleted file mode 100644 index d6859459202..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_delete_response.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional - -from ...._models import BaseModel - -__all__ = ["MonitorDeleteResponse"] - - -class MonitorDeleteResponse(BaseModel): - id: Optional[str] = None diff --git a/src/cloudflare/types/user/load_balancing/monitor_edit_params.py b/src/cloudflare/types/user/load_balancing/monitor_edit_params.py deleted file mode 100644 index ddea561e7f6..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_edit_params.py +++ /dev/null @@ -1,107 +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, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["MonitorEditParams"] - - -class MonitorEditParams(TypedDict, total=False): - expected_codes: Required[str] - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - allow_insecure: bool - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: int - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: int - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - description: str - """Object description.""" - - expected_body: str - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: bool - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: object - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: int - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: str - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - path: str - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: int - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: str - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: int - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - load_balancer_monitor_timeout: Annotated[int, PropertyInfo(alias="timeout")] - """The timeout (in seconds) before marking the health check as failed.""" - - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_edit_response.py b/src/cloudflare/types/user/load_balancing/monitor_edit_response.py deleted file mode 100644 index 756de508e00..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_edit_response.py +++ /dev/null @@ -1,113 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorEditResponse"] - - -class MonitorEditResponse(BaseModel): - id: Optional[str] = None - - allow_insecure: Optional[bool] = None - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: Optional[int] = None - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: Optional[int] = None - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - created_on: Optional[datetime] = None - - description: Optional[str] = None - """Object description.""" - - expected_body: Optional[str] = None - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - expected_codes: Optional[str] = None - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: Optional[bool] = None - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: Optional[object] = None - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: Optional[int] = None - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: Optional[str] = None - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - modified_on: Optional[datetime] = None - - path: Optional[str] = None - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: Optional[int] = None - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: Optional[str] = None - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: Optional[int] = None - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - timeout: Optional[int] = None - """The timeout (in seconds) before marking the health check as failed.""" - - type: Optional[Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"]] = None - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_get_response.py b/src/cloudflare/types/user/load_balancing/monitor_get_response.py deleted file mode 100644 index 71cda006b73..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_get_response.py +++ /dev/null @@ -1,113 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorGetResponse"] - - -class MonitorGetResponse(BaseModel): - id: Optional[str] = None - - allow_insecure: Optional[bool] = None - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: Optional[int] = None - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: Optional[int] = None - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - created_on: Optional[datetime] = None - - description: Optional[str] = None - """Object description.""" - - expected_body: Optional[str] = None - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - expected_codes: Optional[str] = None - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: Optional[bool] = None - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: Optional[object] = None - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: Optional[int] = None - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: Optional[str] = None - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - modified_on: Optional[datetime] = None - - path: Optional[str] = None - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: Optional[int] = None - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: Optional[str] = None - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: Optional[int] = None - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - timeout: Optional[int] = None - """The timeout (in seconds) before marking the health check as failed.""" - - type: Optional[Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"]] = None - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_list_response.py b/src/cloudflare/types/user/load_balancing/monitor_list_response.py deleted file mode 100644 index a580ccb4f68..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_list_response.py +++ /dev/null @@ -1,113 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorListResponse"] - - -class MonitorListResponse(BaseModel): - id: Optional[str] = None - - allow_insecure: Optional[bool] = None - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: Optional[int] = None - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: Optional[int] = None - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - created_on: Optional[datetime] = None - - description: Optional[str] = None - """Object description.""" - - expected_body: Optional[str] = None - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - expected_codes: Optional[str] = None - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: Optional[bool] = None - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: Optional[object] = None - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: Optional[int] = None - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: Optional[str] = None - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - modified_on: Optional[datetime] = None - - path: Optional[str] = None - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: Optional[int] = None - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: Optional[str] = None - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: Optional[int] = None - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - timeout: Optional[int] = None - """The timeout (in seconds) before marking the health check as failed.""" - - type: Optional[Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"]] = None - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_preview_params.py b/src/cloudflare/types/user/load_balancing/monitor_preview_params.py deleted file mode 100644 index 41b03b20c9d..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_preview_params.py +++ /dev/null @@ -1,107 +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, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["MonitorPreviewParams"] - - -class MonitorPreviewParams(TypedDict, total=False): - expected_codes: Required[str] - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - allow_insecure: bool - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: int - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: int - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - description: str - """Object description.""" - - expected_body: str - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: bool - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: object - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: int - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: str - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - path: str - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: int - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: str - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: int - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - load_balancer_monitor_timeout: Annotated[int, PropertyInfo(alias="timeout")] - """The timeout (in seconds) before marking the health check as failed.""" - - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_preview_response.py b/src/cloudflare/types/user/load_balancing/monitor_preview_response.py deleted file mode 100644 index fb8eac11116..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_preview_response.py +++ /dev/null @@ -1,14 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Dict, Optional - -from ...._models import BaseModel - -__all__ = ["MonitorPreviewResponse"] - - -class MonitorPreviewResponse(BaseModel): - pools: Optional[Dict[str, str]] = None - """Monitored pool IDs mapped to their respective names.""" - - preview_id: Optional[str] = None diff --git a/src/cloudflare/types/user/load_balancing/monitor_references_response.py b/src/cloudflare/types/user/load_balancing/monitor_references_response.py deleted file mode 100644 index 2abe92dc5ae..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_references_response.py +++ /dev/null @@ -1,21 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import List, Optional -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorReferencesResponse", "MonitorReferencesResponseItem"] - - -class MonitorReferencesResponseItem(BaseModel): - reference_type: Optional[Literal["*", "referral", "referrer"]] = None - - resource_id: Optional[str] = None - - resource_name: Optional[str] = None - - resource_type: Optional[str] = None - - -MonitorReferencesResponse = List[MonitorReferencesResponseItem] diff --git a/src/cloudflare/types/user/load_balancing/monitor_update_params.py b/src/cloudflare/types/user/load_balancing/monitor_update_params.py deleted file mode 100644 index cad53e542d7..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_update_params.py +++ /dev/null @@ -1,107 +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, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["MonitorUpdateParams"] - - -class MonitorUpdateParams(TypedDict, total=False): - expected_codes: Required[str] - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - allow_insecure: bool - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: int - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: int - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - description: str - """Object description.""" - - expected_body: str - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: bool - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: object - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: int - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: str - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - path: str - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: int - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: str - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: int - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - load_balancer_monitor_timeout: Annotated[int, PropertyInfo(alias="timeout")] - """The timeout (in seconds) before marking the health check as failed.""" - - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/monitor_update_response.py b/src/cloudflare/types/user/load_balancing/monitor_update_response.py deleted file mode 100644 index db59e3db72b..00000000000 --- a/src/cloudflare/types/user/load_balancing/monitor_update_response.py +++ /dev/null @@ -1,113 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["MonitorUpdateResponse"] - - -class MonitorUpdateResponse(BaseModel): - id: Optional[str] = None - - allow_insecure: Optional[bool] = None - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: Optional[int] = None - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: Optional[int] = None - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - created_on: Optional[datetime] = None - - description: Optional[str] = None - """Object description.""" - - expected_body: Optional[str] = None - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - expected_codes: Optional[str] = None - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: Optional[bool] = None - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: Optional[object] = None - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: Optional[int] = None - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: Optional[str] = None - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - modified_on: Optional[datetime] = None - - path: Optional[str] = None - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: Optional[int] = None - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: Optional[str] = None - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: Optional[int] = None - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - timeout: Optional[int] = None - """The timeout (in seconds) before marking the health check as failed.""" - - type: Optional[Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"]] = None - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/pool_create_params.py b/src/cloudflare/types/user/load_balancing/pool_create_params.py deleted file mode 100644 index a0c396a2c2c..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_create_params.py +++ /dev/null @@ -1,96 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import List, Iterable, Optional -from typing_extensions import Required, TypedDict - -from ...check_region import CheckRegion -from ...origin_param import OriginParam -from ...load_shedding_param import LoadSheddingParam -from ...origin_steering_param import OriginSteeringParam -from ...notification_filter_param import NotificationFilterParam - -__all__ = ["PoolCreateParams"] - - -class PoolCreateParams(TypedDict, total=False): - name: Required[str] - """A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and underscores are allowed. - """ - - origins: Required[Iterable[OriginParam]] - """The list of origins within this pool. - - Traffic directed at this pool is balanced across all currently healthy origins, - provided the pool itself is healthy. - """ - - check_regions: Optional[List[CheckRegion]] - """A list of regions from which to run health checks. - - Null means every Cloudflare data center. - """ - - description: str - """A human-readable description of the pool.""" - - enabled: bool - """Whether to enable (the default) or disable this pool. - - Disabled pools will not receive traffic and are excluded from health checks. - Disabling a pool will cause any load balancers using it to failover to the next - pool (if any). - """ - - latitude: float - """ - The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - """ - - load_shedding: LoadSheddingParam - """Configures load shedding policies and percentages for the pool.""" - - longitude: float - """ - The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - """ - - minimum_origins: int - """ - The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - """ - - monitor: object - """ - The ID of the Monitor to use for checking the health of origins within this - pool. - """ - - notification_email: str - """This field is now deprecated. - - It has been moved to Cloudflare's Centralized Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - """ - - notification_filter: Optional[NotificationFilterParam] - """Filter pool and origin health notifications by resource type or health status. - - Use null to reset. - """ - - origin_steering: OriginSteeringParam - """Configures origin steering for the pool. - - Controls how origins are selected for new sessions and traffic without session - affinity. - """ diff --git a/src/cloudflare/types/user/load_balancing/pool_delete_params.py b/src/cloudflare/types/user/load_balancing/pool_delete_params.py deleted file mode 100644 index 590d5d7feb7..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_delete_params.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import Required, TypedDict - -__all__ = ["PoolDeleteParams"] - - -class PoolDeleteParams(TypedDict, total=False): - body: Required[object] diff --git a/src/cloudflare/types/user/load_balancing/pool_delete_response.py b/src/cloudflare/types/user/load_balancing/pool_delete_response.py deleted file mode 100644 index a37b03d533d..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_delete_response.py +++ /dev/null @@ -1,11 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional - -from ...._models import BaseModel - -__all__ = ["PoolDeleteResponse"] - - -class PoolDeleteResponse(BaseModel): - id: Optional[str] = None diff --git a/src/cloudflare/types/user/load_balancing/pool_edit_params.py b/src/cloudflare/types/user/load_balancing/pool_edit_params.py deleted file mode 100644 index 68cf3f9eda0..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_edit_params.py +++ /dev/null @@ -1,96 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import List, Iterable, Optional -from typing_extensions import TypedDict - -from ...check_region import CheckRegion -from ...origin_param import OriginParam -from ...load_shedding_param import LoadSheddingParam -from ...origin_steering_param import OriginSteeringParam -from ...notification_filter_param import NotificationFilterParam - -__all__ = ["PoolEditParams"] - - -class PoolEditParams(TypedDict, total=False): - check_regions: Optional[List[CheckRegion]] - """A list of regions from which to run health checks. - - Null means every Cloudflare data center. - """ - - description: str - """A human-readable description of the pool.""" - - enabled: bool - """Whether to enable (the default) or disable this pool. - - Disabled pools will not receive traffic and are excluded from health checks. - Disabling a pool will cause any load balancers using it to failover to the next - pool (if any). - """ - - latitude: float - """ - The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - """ - - load_shedding: LoadSheddingParam - """Configures load shedding policies and percentages for the pool.""" - - longitude: float - """ - The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - """ - - minimum_origins: int - """ - The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - """ - - monitor: object - """ - The ID of the Monitor to use for checking the health of origins within this - pool. - """ - - name: str - """A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and underscores are allowed. - """ - - notification_email: str - """This field is now deprecated. - - It has been moved to Cloudflare's Centralized Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - """ - - notification_filter: Optional[NotificationFilterParam] - """Filter pool and origin health notifications by resource type or health status. - - Use null to reset. - """ - - origin_steering: OriginSteeringParam - """Configures origin steering for the pool. - - Controls how origins are selected for new sessions and traffic without session - affinity. - """ - - origins: Iterable[OriginParam] - """The list of origins within this pool. - - Traffic directed at this pool is balanced across all currently healthy origins, - provided the pool itself is healthy. - """ diff --git a/src/cloudflare/types/user/load_balancing/pool_health_response.py b/src/cloudflare/types/user/load_balancing/pool_health_response.py deleted file mode 100644 index a79512176b5..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_health_response.py +++ /dev/null @@ -1,7 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Union, Optional - -__all__ = ["PoolHealthResponse"] - -PoolHealthResponse = Union[Optional[str], Optional[object]] diff --git a/src/cloudflare/types/user/load_balancing/pool_list_params.py b/src/cloudflare/types/user/load_balancing/pool_list_params.py deleted file mode 100644 index 042d577c886..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_list_params.py +++ /dev/null @@ -1,15 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import TypedDict - -__all__ = ["PoolListParams"] - - -class PoolListParams(TypedDict, total=False): - monitor: object - """ - The ID of the Monitor to use for checking the health of origins within this - pool. - """ diff --git a/src/cloudflare/types/user/load_balancing/pool_preview_params.py b/src/cloudflare/types/user/load_balancing/pool_preview_params.py deleted file mode 100644 index dae827868c1..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_preview_params.py +++ /dev/null @@ -1,107 +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, Annotated, TypedDict - -from ...._utils import PropertyInfo - -__all__ = ["PoolPreviewParams"] - - -class PoolPreviewParams(TypedDict, total=False): - expected_codes: Required[str] - """The expected HTTP response code or code range of the health check. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - allow_insecure: bool - """Do not validate the certificate when monitor use HTTPS. - - This parameter is currently only valid for HTTP and HTTPS monitors. - """ - - consecutive_down: int - """ - To be marked unhealthy the monitored origin must fail this healthcheck N - consecutive times. - """ - - consecutive_up: int - """ - To be marked healthy the monitored origin must pass this healthcheck N - consecutive times. - """ - - description: str - """Object description.""" - - expected_body: str - """A case-insensitive sub-string to look for in the response body. - - If this string is not found, the origin will be marked as unhealthy. This - parameter is only valid for HTTP and HTTPS monitors. - """ - - follow_redirects: bool - """Follow redirects if returned by the origin. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - header: object - """The HTTP request headers to send in the health check. - - It is recommended you set a Host header by default. The User-Agent header cannot - be overridden. This parameter is only valid for HTTP and HTTPS monitors. - """ - - interval: int - """The interval between each health check. - - Shorter intervals may improve failover time, but will increase load on the - origins as we check from multiple locations. - """ - - method: str - """The method to use for the health check. - - This defaults to 'GET' for HTTP/HTTPS based checks and 'connection_established' - for TCP based health checks. - """ - - path: str - """The endpoint path you want to conduct a health check against. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - port: int - """The port number to connect to for the health check. - - Required for TCP, UDP, and SMTP checks. HTTP and HTTPS checks should only define - the port when using a non-standard port (HTTP: default 80, HTTPS: default 443). - """ - - probe_zone: str - """Assign this monitor to emulate the specified zone while probing. - - This parameter is only valid for HTTP and HTTPS monitors. - """ - - retries: int - """ - The number of retries to attempt in case of a timeout before marking the origin - as unhealthy. Retries are attempted immediately. - """ - - load_balancer_monitor_timeout: Annotated[int, PropertyInfo(alias="timeout")] - """The timeout (in seconds) before marking the health check as failed.""" - - type: Literal["http", "https", "tcp", "udp_icmp", "icmp_ping", "smtp"] - """The protocol to use for the health check. - - Currently supported protocols are 'HTTP','HTTPS', 'TCP', 'ICMP-PING', - 'UDP-ICMP', and 'SMTP'. - """ diff --git a/src/cloudflare/types/user/load_balancing/pool_preview_response.py b/src/cloudflare/types/user/load_balancing/pool_preview_response.py deleted file mode 100644 index 606edb5783a..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_preview_response.py +++ /dev/null @@ -1,14 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Dict, Optional - -from ...._models import BaseModel - -__all__ = ["PoolPreviewResponse"] - - -class PoolPreviewResponse(BaseModel): - pools: Optional[Dict[str, str]] = None - """Monitored pool IDs mapped to their respective names.""" - - preview_id: Optional[str] = None diff --git a/src/cloudflare/types/user/load_balancing/pool_references_response.py b/src/cloudflare/types/user/load_balancing/pool_references_response.py deleted file mode 100644 index 2dfacceb259..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_references_response.py +++ /dev/null @@ -1,21 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import List, Optional -from typing_extensions import Literal - -from ...._models import BaseModel - -__all__ = ["PoolReferencesResponse", "PoolReferencesResponseItem"] - - -class PoolReferencesResponseItem(BaseModel): - reference_type: Optional[Literal["*", "referral", "referrer"]] = None - - resource_id: Optional[str] = None - - resource_name: Optional[str] = None - - resource_type: Optional[str] = None - - -PoolReferencesResponse = List[PoolReferencesResponseItem] diff --git a/src/cloudflare/types/user/load_balancing/pool_update_params.py b/src/cloudflare/types/user/load_balancing/pool_update_params.py deleted file mode 100644 index 0ffbd0a79eb..00000000000 --- a/src/cloudflare/types/user/load_balancing/pool_update_params.py +++ /dev/null @@ -1,96 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import List, Iterable, Optional -from typing_extensions import Required, TypedDict - -from ...check_region import CheckRegion -from ...origin_param import OriginParam -from ...load_shedding_param import LoadSheddingParam -from ...origin_steering_param import OriginSteeringParam -from ...notification_filter_param import NotificationFilterParam - -__all__ = ["PoolUpdateParams"] - - -class PoolUpdateParams(TypedDict, total=False): - name: Required[str] - """A short name (tag) for the pool. - - Only alphanumeric characters, hyphens, and underscores are allowed. - """ - - origins: Required[Iterable[OriginParam]] - """The list of origins within this pool. - - Traffic directed at this pool is balanced across all currently healthy origins, - provided the pool itself is healthy. - """ - - check_regions: Optional[List[CheckRegion]] - """A list of regions from which to run health checks. - - Null means every Cloudflare data center. - """ - - description: str - """A human-readable description of the pool.""" - - enabled: bool - """Whether to enable (the default) or disable this pool. - - Disabled pools will not receive traffic and are excluded from health checks. - Disabling a pool will cause any load balancers using it to failover to the next - pool (if any). - """ - - latitude: float - """ - The latitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, longitude must also be set. - """ - - load_shedding: LoadSheddingParam - """Configures load shedding policies and percentages for the pool.""" - - longitude: float - """ - The longitude of the data center containing the origins used in this pool in - decimal degrees. If this is set, latitude must also be set. - """ - - minimum_origins: int - """ - The minimum number of origins that must be healthy for this pool to serve - traffic. If the number of healthy origins falls below this number, the pool will - be marked unhealthy and will failover to the next available pool. - """ - - monitor: object - """ - The ID of the Monitor to use for checking the health of origins within this - pool. - """ - - notification_email: str - """This field is now deprecated. - - It has been moved to Cloudflare's Centralized Notification service - https://developers.cloudflare.com/fundamentals/notifications/. The email address - to send health status notifications to. This can be an individual mailbox or a - mailing list. Multiple emails can be supplied as a comma delimited list. - """ - - notification_filter: Optional[NotificationFilterParam] - """Filter pool and origin health notifications by resource type or health status. - - Use null to reset. - """ - - origin_steering: OriginSteeringParam - """Configures origin steering for the pool. - - Controls how origins are selected for new sessions and traffic without session - affinity. - """ diff --git a/src/cloudflare/types/user/load_balancing/preview_get_response.py b/src/cloudflare/types/user/load_balancing/preview_get_response.py deleted file mode 100644 index aefa03cc917..00000000000 --- a/src/cloudflare/types/user/load_balancing/preview_get_response.py +++ /dev/null @@ -1,30 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Dict, List, Optional - -from ...._models import BaseModel - -__all__ = [ - "PreviewGetResponse", - "PreviewGetResponseItem", - "PreviewGetResponseItemOriginPreviewGetResponseItemOriginItem", -] - - -class PreviewGetResponseItemOriginPreviewGetResponseItemOriginItem(BaseModel): - failure_reason: Optional[str] = None - - healthy: Optional[bool] = None - - response_code: Optional[float] = None - - rtt: Optional[str] = None - - -class PreviewGetResponseItem(BaseModel): - healthy: Optional[bool] = None - - origins: Optional[List[Dict[str, PreviewGetResponseItemOriginPreviewGetResponseItemOriginItem]]] = None - - -PreviewGetResponse = Dict[str, PreviewGetResponseItem] diff --git a/src/cloudflare/types/user/organization.py b/src/cloudflare/types/user/organization.py index 5ad136e7c52..4e14c4e6549 100644 --- a/src/cloudflare/types/user/organization.py +++ b/src/cloudflare/types/user/organization.py @@ -3,7 +3,7 @@ from typing import List, Optional from typing_extensions import Literal -from .tokens import PermissionItem +from .tokens import Permission from ..._models import BaseModel __all__ = ["Organization"] @@ -16,7 +16,7 @@ class Organization(BaseModel): name: Optional[str] = None """Organization name.""" - permissions: Optional[List[PermissionItem]] = None + permissions: Optional[List[Permission]] = None """Access permissions for this User.""" roles: Optional[List[str]] = None diff --git a/src/cloudflare/types/user/token_create_params.py b/src/cloudflare/types/user/token_create_params.py index 95f658e91fd..4ab228c06c6 100644 --- a/src/cloudflare/types/user/token_create_params.py +++ b/src/cloudflare/types/user/token_create_params.py @@ -7,8 +7,8 @@ from typing_extensions import Required, Annotated, TypedDict from ..._utils import PropertyInfo +from .cidr_list import CIDRList from .policy_param import PolicyParam -from .cidr_list_item import CIDRListItem __all__ = ["TokenCreateParams", "Condition", "ConditionRequestIP"] @@ -35,14 +35,14 @@ class TokenCreateParams(TypedDict, total=False): _ConditionRequestIPReservedKeywords = TypedDict( "_ConditionRequestIPReservedKeywords", { - "in": List[CIDRListItem], + "in": List[CIDRList], }, total=False, ) class ConditionRequestIP(_ConditionRequestIPReservedKeywords, total=False): - not_in: List[CIDRListItem] + not_in: List[CIDRList] """List of IPv4/IPv6 CIDR addresses.""" diff --git a/src/cloudflare/types/user/token_update_params.py b/src/cloudflare/types/user/token_update_params.py index 402708cb53e..d564213465b 100644 --- a/src/cloudflare/types/user/token_update_params.py +++ b/src/cloudflare/types/user/token_update_params.py @@ -7,8 +7,8 @@ from typing_extensions import Literal, Required, Annotated, TypedDict from ..._utils import PropertyInfo +from .cidr_list import CIDRList from .policy_param import PolicyParam -from .cidr_list_item import CIDRListItem __all__ = ["TokenUpdateParams", "Condition", "ConditionRequestIP"] @@ -38,14 +38,14 @@ class TokenUpdateParams(TypedDict, total=False): _ConditionRequestIPReservedKeywords = TypedDict( "_ConditionRequestIPReservedKeywords", { - "in": List[CIDRListItem], + "in": List[CIDRList], }, total=False, ) class ConditionRequestIP(_ConditionRequestIPReservedKeywords, total=False): - not_in: List[CIDRListItem] + not_in: List[CIDRList] """List of IPv4/IPv6 CIDR addresses.""" diff --git a/src/cloudflare/types/user/tokens/__init__.py b/src/cloudflare/types/user/tokens/__init__.py index be8d7045793..109cc63943f 100644 --- a/src/cloudflare/types/user/tokens/__init__.py +++ b/src/cloudflare/types/user/tokens/__init__.py @@ -4,6 +4,4 @@ from .value import Value as Value from .permission import Permission as Permission -from .permission_item import PermissionItem as PermissionItem -from .permission_param import PermissionParam as PermissionParam from .value_update_params import ValueUpdateParams as ValueUpdateParams diff --git a/src/cloudflare/types/user/tokens/permission.py b/src/cloudflare/types/user/tokens/permission.py index 075bd9b5ed1..ccaf9fcdf5e 100644 --- a/src/cloudflare/types/user/tokens/permission.py +++ b/src/cloudflare/types/user/tokens/permission.py @@ -1,34 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import Optional - -from ...._models import BaseModel -from ...accounts import PermissionGrant __all__ = ["Permission"] - -class Permission(BaseModel): - analytics: Optional[PermissionGrant] = None - - billing: Optional[PermissionGrant] = None - - cache_purge: Optional[PermissionGrant] = None - - dns: Optional[PermissionGrant] = None - - dns_records: Optional[PermissionGrant] = None - - lb: Optional[PermissionGrant] = None - - logs: Optional[PermissionGrant] = None - - organization: Optional[PermissionGrant] = None - - ssl: Optional[PermissionGrant] = None - - waf: Optional[PermissionGrant] = None - - zone_settings: Optional[PermissionGrant] = None - - zones: Optional[PermissionGrant] = None +Permission = str diff --git a/src/cloudflare/types/user/tokens/permission_item.py b/src/cloudflare/types/user/tokens/permission_item.py deleted file mode 100644 index 924d72bfa9e..00000000000 --- a/src/cloudflare/types/user/tokens/permission_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["PermissionItem"] - -PermissionItem = str diff --git a/src/cloudflare/types/user/tokens/permission_param.py b/src/cloudflare/types/user/tokens/permission_param.py deleted file mode 100644 index a0e3bfd8925..00000000000 --- a/src/cloudflare/types/user/tokens/permission_param.py +++ /dev/null @@ -1,35 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing_extensions import TypedDict - -from ...accounts import PermissionGrantParam - -__all__ = ["PermissionParam"] - - -class PermissionParam(TypedDict, total=False): - analytics: PermissionGrantParam - - billing: PermissionGrantParam - - cache_purge: PermissionGrantParam - - dns: PermissionGrantParam - - dns_records: PermissionGrantParam - - lb: PermissionGrantParam - - logs: PermissionGrantParam - - organization: PermissionGrantParam - - ssl: PermissionGrantParam - - waf: PermissionGrantParam - - zone_settings: PermissionGrantParam - - zones: PermissionGrantParam diff --git a/src/cloudflare/types/video.py b/src/cloudflare/types/video.py index 2a04b40c33f..ac4559000ca 100644 --- a/src/cloudflare/types/video.py +++ b/src/cloudflare/types/video.py @@ -8,7 +8,7 @@ from .stream import Watermaks from .._models import BaseModel -from .allowed_origins_item import AllowedOriginsItem +from .allowed_origins import AllowedOrigins __all__ = ["Video", "Input", "Playback", "Status"] @@ -62,7 +62,7 @@ class Status(BaseModel): class Video(BaseModel): - allowed_origins: Optional[List[AllowedOriginsItem]] = FieldInfo(alias="allowedOrigins", default=None) + allowed_origins: Optional[List[AllowedOrigins]] = FieldInfo(alias="allowedOrigins", default=None) """Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. diff --git a/src/cloudflare/types/waiting_room.py b/src/cloudflare/types/waiting_room.py index dd9fd838b28..80b241aba67 100644 --- a/src/cloudflare/types/waiting_room.py +++ b/src/cloudflare/types/waiting_room.py @@ -5,8 +5,8 @@ from typing_extensions import Literal from .._models import BaseModel +from .additional_routes import AdditionalRoutes from .cookie_attributes import CookieAttributes -from .additional_routes_item import AdditionalRoutesItem __all__ = ["WaitingRoom"] @@ -14,7 +14,7 @@ class WaitingRoom(BaseModel): id: Optional[str] = None - additional_routes: Optional[List[AdditionalRoutesItem]] = None + additional_routes: Optional[List[AdditionalRoutes]] = None """Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be diff --git a/src/cloudflare/types/waiting_room_create_params.py b/src/cloudflare/types/waiting_room_create_params.py index c98e2e8cbda..a8c7ae9a694 100644 --- a/src/cloudflare/types/waiting_room_create_params.py +++ b/src/cloudflare/types/waiting_room_create_params.py @@ -5,8 +5,8 @@ from typing import Iterable from typing_extensions import Literal, Required, TypedDict +from .additional_routes_param import AdditionalRoutesParam from .cookie_attributes_param import CookieAttributesParam -from .additional_routes_item_param import AdditionalRoutesItemParam __all__ = ["WaitingRoomCreateParams"] @@ -46,7 +46,7 @@ class WaitingRoomCreateParams(TypedDict, total=False): around the world. """ - additional_routes: Iterable[AdditionalRoutesItemParam] + additional_routes: Iterable[AdditionalRoutesParam] """Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be diff --git a/src/cloudflare/types/waiting_room_edit_params.py b/src/cloudflare/types/waiting_room_edit_params.py index 0ac5b235dcd..c3cc4b662ca 100644 --- a/src/cloudflare/types/waiting_room_edit_params.py +++ b/src/cloudflare/types/waiting_room_edit_params.py @@ -5,8 +5,8 @@ from typing import Iterable from typing_extensions import Literal, Required, TypedDict +from .additional_routes_param import AdditionalRoutesParam from .cookie_attributes_param import CookieAttributesParam -from .additional_routes_item_param import AdditionalRoutesItemParam __all__ = ["WaitingRoomEditParams"] @@ -46,7 +46,7 @@ class WaitingRoomEditParams(TypedDict, total=False): around the world. """ - additional_routes: Iterable[AdditionalRoutesItemParam] + additional_routes: Iterable[AdditionalRoutesParam] """Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be diff --git a/src/cloudflare/types/waiting_room_update_params.py b/src/cloudflare/types/waiting_room_update_params.py index 24a0183f4f1..9f494bbcd82 100644 --- a/src/cloudflare/types/waiting_room_update_params.py +++ b/src/cloudflare/types/waiting_room_update_params.py @@ -5,8 +5,8 @@ from typing import Iterable from typing_extensions import Literal, Required, TypedDict +from .additional_routes_param import AdditionalRoutesParam from .cookie_attributes_param import CookieAttributesParam -from .additional_routes_item_param import AdditionalRoutesItemParam __all__ = ["WaitingRoomUpdateParams"] @@ -46,7 +46,7 @@ class WaitingRoomUpdateParams(TypedDict, total=False): around the world. """ - additional_routes: Iterable[AdditionalRoutesItemParam] + additional_routes: Iterable[AdditionalRoutesParam] """Only available for the Waiting Room Advanced subscription. Additional hostname and path combinations to which this waiting room will be diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/__init__.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/__init__.py index c97af8e9619..e50100454ca 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/__init__.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/__init__.py @@ -3,4 +3,5 @@ from __future__ import annotations from .content_list import ContentList as ContentList +from .content_list_param import ContentListParam as ContentListParam from .content_list_update_params import ContentListUpdateParams as ContentListUpdateParams diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_param.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_param.py new file mode 100644 index 00000000000..83f1222c862 --- /dev/null +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_param.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Literal, TypedDict + +__all__ = ["ContentListParam"] + + +class ContentListParam(TypedDict, total=False): + action: Literal["block"] + """Behavior of the content list.""" diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_update_params.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_update_params.py index 75195b864c7..2a8eeb8db64 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_update_params.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_list_update_params.py @@ -5,7 +5,7 @@ from typing import Iterable from typing_extensions import Literal, Required, TypedDict -from .content_lists import ContentListItemParam +from .content_lists import ContentListParam __all__ = ["ContentListUpdateParams"] @@ -17,5 +17,5 @@ class ContentListUpdateParams(TypedDict, total=False): action: Required[Literal["block"]] """Behavior of the content list.""" - entries: Required[Iterable[ContentListItemParam]] + entries: Required[Iterable[ContentListParam]] """Content list entries.""" diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/__init__.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/__init__.py index 781081f6147..4cdadf60ae7 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/__init__.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/__init__.py @@ -2,10 +2,10 @@ from __future__ import annotations -from .content_list_item import ContentListItem as ContentListItem +from .content_list import ContentList as ContentList +from .content_list_param import ContentListParam as ContentListParam from .entry_create_params import EntryCreateParams as EntryCreateParams from .entry_delete_params import EntryDeleteParams as EntryDeleteParams from .entry_list_response import EntryListResponse as EntryListResponse from .entry_update_params import EntryUpdateParams as EntryUpdateParams from .entry_delete_response import EntryDeleteResponse as EntryDeleteResponse -from .content_list_item_param import ContentListItemParam as ContentListItemParam diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list.py similarity index 91% rename from src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item.py rename to src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list.py index 1a9c89f76f2..94dffe4d9f6 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list.py @@ -6,10 +6,10 @@ from ......_models import BaseModel -__all__ = ["ContentListItem"] +__all__ = ["ContentList"] -class ContentListItem(BaseModel): +class ContentList(BaseModel): id: Optional[str] = None """Identifier""" diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item_param.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_param.py similarity index 82% rename from src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item_param.py rename to src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_param.py index a5b808d4ac6..f22f8f3ee13 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_item_param.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/content_list_param.py @@ -4,10 +4,10 @@ from typing_extensions import Literal, TypedDict -__all__ = ["ContentListItemParam"] +__all__ = ["ContentListParam"] -class ContentListItemParam(TypedDict, total=False): +class ContentListParam(TypedDict, total=False): content: str """CID or content path of content to block.""" diff --git a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/entry_list_response.py b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/entry_list_response.py index 17a8a282add..c8d62e8149a 100644 --- a/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/entry_list_response.py +++ b/src/cloudflare/types/web3/hostnames/ipfs_universal_paths/content_lists/entry_list_response.py @@ -3,11 +3,11 @@ from typing import List, Optional from ......_models import BaseModel -from .content_list_item import ContentListItem +from .content_list import ContentList __all__ = ["EntryListResponse"] class EntryListResponse(BaseModel): - entries: Optional[List[ContentListItem]] = None + entries: Optional[List[ContentList]] = None """Content list entries.""" diff --git a/src/cloudflare/types/workers/script.py b/src/cloudflare/types/workers/script.py index e49f44402ba..38b5900c4b9 100644 --- a/src/cloudflare/types/workers/script.py +++ b/src/cloudflare/types/workers/script.py @@ -3,7 +3,7 @@ from typing import List, Optional from datetime import datetime -from .scripts import ConsumerScriptItem +from .scripts import ConsumerScript from ..._models import BaseModel __all__ = ["Script"] @@ -31,7 +31,7 @@ class Script(BaseModel): placement_mode: Optional[str] = None """Specifies the placement mode for the Worker (e.g. 'smart').""" - tail_consumers: Optional[List[ConsumerScriptItem]] = None + tail_consumers: Optional[List[ConsumerScript]] = None """List of Workers that will consume logs from the attached Worker.""" usage_model: Optional[str] = None diff --git a/src/cloudflare/types/workers/script_setting.py b/src/cloudflare/types/workers/script_setting.py index 85ca6ac51fa..164cb6bc1ba 100644 --- a/src/cloudflare/types/workers/script_setting.py +++ b/src/cloudflare/types/workers/script_setting.py @@ -2,7 +2,7 @@ from typing import List, Optional -from .scripts import ConsumerScriptItem +from .scripts import ConsumerScript from ..._models import BaseModel __all__ = ["ScriptSetting"] @@ -12,5 +12,5 @@ class ScriptSetting(BaseModel): logpush: Optional[bool] = None """Whether Logpush is turned on for the Worker.""" - tail_consumers: Optional[List[ConsumerScriptItem]] = None + tail_consumers: Optional[List[ConsumerScript]] = None """List of Workers that will consume logs from the attached Worker.""" diff --git a/src/cloudflare/types/workers/script_setting_param.py b/src/cloudflare/types/workers/script_setting_param.py index 790a7cad8c4..0ffcee9ea57 100644 --- a/src/cloudflare/types/workers/script_setting_param.py +++ b/src/cloudflare/types/workers/script_setting_param.py @@ -5,7 +5,7 @@ from typing import Iterable from typing_extensions import TypedDict -from .scripts import ConsumerScriptItemParam +from .scripts import ConsumerScriptParam __all__ = ["ScriptSettingParam"] @@ -14,5 +14,5 @@ class ScriptSettingParam(TypedDict, total=False): logpush: bool """Whether Logpush is turned on for the Worker.""" - tail_consumers: Iterable[ConsumerScriptItemParam] + tail_consumers: Iterable[ConsumerScriptParam] """List of Workers that will consume logs from the attached Worker.""" diff --git a/src/cloudflare/types/workers/script_update_params.py b/src/cloudflare/types/workers/script_update_params.py index f5cc4959ec7..502f9da812e 100644 --- a/src/cloudflare/types/workers/script_update_params.py +++ b/src/cloudflare/types/workers/script_update_params.py @@ -5,7 +5,7 @@ from typing import List, Union, Iterable from typing_extensions import Literal, Required, Annotated, TypedDict -from .scripts import ConsumerScriptItemParam +from .scripts import ConsumerScriptParam from ..._types import FileTypes from ..._utils import PropertyInfo from ..stepped_migration_param import SteppedMigrationParam @@ -87,7 +87,7 @@ class Variant0Metadata(TypedDict, total=False): tags: List[str] """List of strings to use as tags for this Worker""" - tail_consumers: Iterable[ConsumerScriptItemParam] + tail_consumers: Iterable[ConsumerScriptParam] """List of Workers that will consume logs from the attached Worker.""" usage_model: Literal["bundled", "unbound"] diff --git a/src/cloudflare/types/workers/scripts/__init__.py b/src/cloudflare/types/workers/scripts/__init__.py index f9ca689a984..8cf9b7cd452 100644 --- a/src/cloudflare/types/workers/scripts/__init__.py +++ b/src/cloudflare/types/workers/scripts/__init__.py @@ -3,15 +3,16 @@ from __future__ import annotations from .deployment import Deployment as Deployment +from .consumer_script import ConsumerScript as ConsumerScript from .deployment_param import DeploymentParam as DeploymentParam from .tail_get_response import TailGetResponse as TailGetResponse from .tail_create_params import TailCreateParams as TailCreateParams from .tail_delete_params import TailDeleteParams as TailDeleteParams from .setting_edit_params import SettingEditParams as SettingEditParams -from .consumer_script_item import ConsumerScriptItem as ConsumerScriptItem from .tail_create_response import TailCreateResponse as TailCreateResponse from .tail_delete_response import TailDeleteResponse as TailDeleteResponse from .version_get_response import VersionGetResponse as VersionGetResponse +from .consumer_script_param import ConsumerScriptParam as ConsumerScriptParam from .content_update_params import ContentUpdateParams as ContentUpdateParams from .schedule_get_response import ScheduleGetResponse as ScheduleGetResponse from .version_create_params import VersionCreateParams as VersionCreateParams @@ -21,7 +22,6 @@ from .version_create_response import VersionCreateResponse as VersionCreateResponse from .deployment_create_params import DeploymentCreateParams as DeploymentCreateParams from .schedule_update_response import ScheduleUpdateResponse as ScheduleUpdateResponse -from .consumer_script_item_param import ConsumerScriptItemParam as ConsumerScriptItemParam from .deployment_create_response import DeploymentCreateResponse as DeploymentCreateResponse from .unnamed_schema_ref_c8302c265937f9d6f96fd69644e56b26 import ( UnnamedSchemaRefC8302c265937f9d6f96fd69644e56b26 as UnnamedSchemaRefC8302c265937f9d6f96fd69644e56b26, diff --git a/src/cloudflare/types/workers/scripts/consumer_script_item.py b/src/cloudflare/types/workers/scripts/consumer_script.py similarity index 85% rename from src/cloudflare/types/workers/scripts/consumer_script_item.py rename to src/cloudflare/types/workers/scripts/consumer_script.py index 0ad5dc53f56..6d933e952fc 100644 --- a/src/cloudflare/types/workers/scripts/consumer_script_item.py +++ b/src/cloudflare/types/workers/scripts/consumer_script.py @@ -4,10 +4,10 @@ from ...._models import BaseModel -__all__ = ["ConsumerScriptItem"] +__all__ = ["ConsumerScript"] -class ConsumerScriptItem(BaseModel): +class ConsumerScript(BaseModel): service: str """Name of Worker that is to be the consumer.""" diff --git a/src/cloudflare/types/workers/scripts/consumer_script_item_param.py b/src/cloudflare/types/workers/scripts/consumer_script_param.py similarity index 81% rename from src/cloudflare/types/workers/scripts/consumer_script_item_param.py rename to src/cloudflare/types/workers/scripts/consumer_script_param.py index 8ad0a20af42..2d7996c8449 100644 --- a/src/cloudflare/types/workers/scripts/consumer_script_item_param.py +++ b/src/cloudflare/types/workers/scripts/consumer_script_param.py @@ -4,10 +4,10 @@ from typing_extensions import Required, TypedDict -__all__ = ["ConsumerScriptItemParam"] +__all__ = ["ConsumerScriptParam"] -class ConsumerScriptItemParam(TypedDict, total=False): +class ConsumerScriptParam(TypedDict, total=False): service: Required[str] """Name of Worker that is to be the consumer.""" diff --git a/src/cloudflare/types/workers/scripts/setting_edit_params.py b/src/cloudflare/types/workers/scripts/setting_edit_params.py index 0911829f7e2..760ce3ac226 100644 --- a/src/cloudflare/types/workers/scripts/setting_edit_params.py +++ b/src/cloudflare/types/workers/scripts/setting_edit_params.py @@ -5,7 +5,7 @@ from typing import Iterable from typing_extensions import Required, TypedDict -from .consumer_script_item_param import ConsumerScriptItemParam +from .consumer_script_param import ConsumerScriptParam __all__ = ["SettingEditParams"] @@ -17,5 +17,5 @@ class SettingEditParams(TypedDict, total=False): logpush: bool """Whether Logpush is turned on for the Worker.""" - tail_consumers: Iterable[ConsumerScriptItemParam] + tail_consumers: Iterable[ConsumerScriptParam] """List of Workers that will consume logs from the attached Worker.""" diff --git a/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/script_update_params.py b/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/script_update_params.py index a1abe16c98e..4d37d169a81 100644 --- a/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/script_update_params.py +++ b/src/cloudflare/types/workers_for_platforms/dispatch/namespaces/script_update_params.py @@ -7,7 +7,7 @@ from ....._types import FileTypes from ....._utils import PropertyInfo -from ....workers.scripts import ConsumerScriptItemParam +from ....workers.scripts import ConsumerScriptParam from ....stepped_migration_param import SteppedMigrationParam from ....single_step_migration_param import SingleStepMigrationParam from ....placement_configuration_param import PlacementConfigurationParam @@ -82,7 +82,7 @@ class Variant0Metadata(TypedDict, total=False): tags: List[str] """List of strings to use as tags for this Worker""" - tail_consumers: Iterable[ConsumerScriptItemParam] + tail_consumers: Iterable[ConsumerScriptParam] """List of Workers that will consume logs from the attached Worker.""" usage_model: Literal["bundled", "unbound"] diff --git a/src/cloudflare/types/zero_trust/access/__init__.py b/src/cloudflare/types/zero_trust/access/__init__.py index f6c6ddc318a..2a3e6bf33ed 100644 --- a/src/cloudflare/types/zero_trust/access/__init__.py +++ b/src/cloudflare/types/zero_trust/access/__init__.py @@ -29,6 +29,7 @@ from .key_update_response import KeyUpdateResponse as KeyUpdateResponse from .saml_saas_app_param import SAMLSaasAppParam as SAMLSaasAppParam from .tag_delete_response import TagDeleteResponse as TagDeleteResponse +from .associated_hostnames import AssociatedHostnames as AssociatedHostnames from .self_hosted_domainsh import SelfHostedDomainsh as SelfHostedDomainsh from .group_delete_response import GroupDeleteResponse as GroupDeleteResponse from .bookmark_create_params import BookmarkCreateParams as BookmarkCreateParams @@ -38,7 +39,6 @@ from .custom_page_without_html import CustomPageWithoutHTML as CustomPageWithoutHTML from .application_create_params import ApplicationCreateParams as ApplicationCreateParams from .application_update_params import ApplicationUpdateParams as ApplicationUpdateParams -from .associated_hostnames_item import AssociatedHostnamesItem as AssociatedHostnamesItem from .certificate_create_params import CertificateCreateParams as CertificateCreateParams from .certificate_update_params import CertificateUpdateParams as CertificateUpdateParams from .custom_page_create_params import CustomPageCreateParams as CustomPageCreateParams diff --git a/src/cloudflare/types/default_pools_item.py b/src/cloudflare/types/zero_trust/access/associated_hostnames.py similarity index 59% rename from src/cloudflare/types/default_pools_item.py rename to src/cloudflare/types/zero_trust/access/associated_hostnames.py index 0a4ec155b7a..2a772cfdd0f 100644 --- a/src/cloudflare/types/default_pools_item.py +++ b/src/cloudflare/types/zero_trust/access/associated_hostnames.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["DefaultPoolsItem"] +__all__ = ["AssociatedHostnames"] -DefaultPoolsItem = str +AssociatedHostnames = str diff --git a/src/cloudflare/types/zero_trust/access/associated_hostnames_item.py b/src/cloudflare/types/zero_trust/access/associated_hostnames_item.py deleted file mode 100644 index 2f028b6f72c..00000000000 --- a/src/cloudflare/types/zero_trust/access/associated_hostnames_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["AssociatedHostnamesItem"] - -AssociatedHostnamesItem = str diff --git a/src/cloudflare/types/zero_trust/access/certificate.py b/src/cloudflare/types/zero_trust/access/certificate.py index aa76fc9628d..6c05b85be1e 100644 --- a/src/cloudflare/types/zero_trust/access/certificate.py +++ b/src/cloudflare/types/zero_trust/access/certificate.py @@ -4,7 +4,7 @@ from datetime import datetime from ...._models import BaseModel -from .associated_hostnames_item import AssociatedHostnamesItem +from .associated_hostnames import AssociatedHostnames __all__ = ["Certificate"] @@ -13,7 +13,7 @@ class Certificate(BaseModel): id: Optional[str] = None """The ID of the application that will use this certificate.""" - associated_hostnames: Optional[List[AssociatedHostnamesItem]] = None + associated_hostnames: Optional[List[AssociatedHostnames]] = None """The hostnames of the applications that will use this certificate.""" created_at: Optional[datetime] = None diff --git a/src/cloudflare/types/zero_trust/access/certificate_create_params.py b/src/cloudflare/types/zero_trust/access/certificate_create_params.py index 23fb7957c1c..d98ff4df949 100644 --- a/src/cloudflare/types/zero_trust/access/certificate_create_params.py +++ b/src/cloudflare/types/zero_trust/access/certificate_create_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Required, TypedDict -from .associated_hostnames_item import AssociatedHostnamesItem +from .associated_hostnames import AssociatedHostnames __all__ = ["CertificateCreateParams"] @@ -23,5 +23,5 @@ class CertificateCreateParams(TypedDict, total=False): zone_id: str """The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.""" - associated_hostnames: List[AssociatedHostnamesItem] + associated_hostnames: List[AssociatedHostnames] """The hostnames of the applications that will use this certificate.""" diff --git a/src/cloudflare/types/zero_trust/access/certificate_update_params.py b/src/cloudflare/types/zero_trust/access/certificate_update_params.py index 0dcef4fec1a..e546c333f21 100644 --- a/src/cloudflare/types/zero_trust/access/certificate_update_params.py +++ b/src/cloudflare/types/zero_trust/access/certificate_update_params.py @@ -5,13 +5,13 @@ from typing import List from typing_extensions import Required, TypedDict -from .associated_hostnames_item import AssociatedHostnamesItem +from .associated_hostnames import AssociatedHostnames __all__ = ["CertificateUpdateParams"] class CertificateUpdateParams(TypedDict, total=False): - associated_hostnames: Required[List[AssociatedHostnamesItem]] + associated_hostnames: Required[List[AssociatedHostnames]] """The hostnames of the applications that will use this certificate.""" account_id: str diff --git a/src/cloudflare/types/zero_trust/devices/__init__.py b/src/cloudflare/types/zero_trust/devices/__init__.py index a9843c04ccb..fd475f9516f 100644 --- a/src/cloudflare/types/zero_trust/devices/__init__.py +++ b/src/cloudflare/types/zero_trust/devices/__init__.py @@ -3,14 +3,14 @@ from __future__ import annotations from .input import Input as Input +from .match import Match as Match from .network import Network as Network -from .match_item import MatchItem as MatchItem from .input_param import InputParam as InputParam +from .match_param import MatchParam as MatchParam from .schema_data import SchemaData as SchemaData from .schema_http import SchemaHTTP as SchemaHTTP from .device_settings import DeviceSettings as DeviceSettings from .settings_policy import SettingsPolicy as SettingsPolicy -from .match_item_param import MatchItemParam as MatchItemParam from .schema_data_param import SchemaDataParam as SchemaDataParam from .policy_edit_params import PolicyEditParams as PolicyEditParams from .device_posture_rule import DevicePostureRule as DevicePostureRule diff --git a/src/cloudflare/types/zero_trust/devices/device_posture_rule.py b/src/cloudflare/types/zero_trust/devices/device_posture_rule.py index 5dc214a5a5b..10b79163706 100644 --- a/src/cloudflare/types/zero_trust/devices/device_posture_rule.py +++ b/src/cloudflare/types/zero_trust/devices/device_posture_rule.py @@ -4,8 +4,8 @@ from typing_extensions import Literal from .input import Input +from .match import Match from ...._models import BaseModel -from .match_item import MatchItem __all__ = ["DevicePostureRule"] @@ -27,7 +27,7 @@ class DevicePostureRule(BaseModel): input: Optional[Input] = None """The value to be checked against.""" - match: Optional[List[MatchItem]] = None + match: Optional[List[Match]] = None """The conditions that the client must match to run the rule.""" name: Optional[str] = None diff --git a/src/cloudflare/types/zero_trust/devices/match_item.py b/src/cloudflare/types/zero_trust/devices/match.py similarity index 84% rename from src/cloudflare/types/zero_trust/devices/match_item.py rename to src/cloudflare/types/zero_trust/devices/match.py index 253e2986337..e1eecd9a3f0 100644 --- a/src/cloudflare/types/zero_trust/devices/match_item.py +++ b/src/cloudflare/types/zero_trust/devices/match.py @@ -5,8 +5,8 @@ from ...._models import BaseModel -__all__ = ["MatchItem"] +__all__ = ["Match"] -class MatchItem(BaseModel): +class Match(BaseModel): platform: Optional[Literal["windows", "mac", "linux", "android", "ios"]] = None diff --git a/src/cloudflare/types/zero_trust/devices/match_item_param.py b/src/cloudflare/types/zero_trust/devices/match_param.py similarity index 76% rename from src/cloudflare/types/zero_trust/devices/match_item_param.py rename to src/cloudflare/types/zero_trust/devices/match_param.py index 6016df77fc2..406c0c86448 100644 --- a/src/cloudflare/types/zero_trust/devices/match_item_param.py +++ b/src/cloudflare/types/zero_trust/devices/match_param.py @@ -4,8 +4,8 @@ from typing_extensions import Literal, TypedDict -__all__ = ["MatchItemParam"] +__all__ = ["MatchParam"] -class MatchItemParam(TypedDict, total=False): +class MatchParam(TypedDict, total=False): platform: Literal["windows", "mac", "linux", "android", "ios"] diff --git a/src/cloudflare/types/zero_trust/devices/posture_create_params.py b/src/cloudflare/types/zero_trust/devices/posture_create_params.py index d002b6a3cd4..286e4842e1f 100644 --- a/src/cloudflare/types/zero_trust/devices/posture_create_params.py +++ b/src/cloudflare/types/zero_trust/devices/posture_create_params.py @@ -6,7 +6,7 @@ from typing_extensions import Literal, Required, TypedDict from .input_param import InputParam -from .match_item_param import MatchItemParam +from .match_param import MatchParam __all__ = ["PostureCreateParams"] @@ -55,7 +55,7 @@ class PostureCreateParams(TypedDict, total=False): input: InputParam """The value to be checked against.""" - match: Iterable[MatchItemParam] + match: Iterable[MatchParam] """The conditions that the client must match to run the rule.""" schedule: str diff --git a/src/cloudflare/types/zero_trust/devices/posture_update_params.py b/src/cloudflare/types/zero_trust/devices/posture_update_params.py index 673fcfe112a..2ae7c1816e0 100644 --- a/src/cloudflare/types/zero_trust/devices/posture_update_params.py +++ b/src/cloudflare/types/zero_trust/devices/posture_update_params.py @@ -6,7 +6,7 @@ from typing_extensions import Literal, Required, TypedDict from .input_param import InputParam -from .match_item_param import MatchItemParam +from .match_param import MatchParam __all__ = ["PostureUpdateParams"] @@ -55,7 +55,7 @@ class PostureUpdateParams(TypedDict, total=False): input: InputParam """The value to be checked against.""" - match: Iterable[MatchItemParam] + match: Iterable[MatchParam] """The conditions that the client must match to run the rule.""" schedule: str diff --git a/src/cloudflare/types/zero_trust/gateway/__init__.py b/src/cloudflare/types/zero_trust/gateway/__init__.py index 8df6681c10f..8d12771dc62 100644 --- a/src/cloudflare/types/zero_trust/gateway/__init__.py +++ b/src/cloudflare/types/zero_trust/gateway/__init__.py @@ -8,6 +8,8 @@ from .category import Category as Category from .location import Location as Location from .schedule import Schedule as Schedule +from .gateway_ips import GatewayIPs as GatewayIPs +from .lists_param import ListsParam as ListsParam from .rule_setting import RuleSetting as RuleSetting from .tls_settings import TLSSettings as TLSSettings from .fips_settings import FipsSettings as FipsSettings @@ -15,7 +17,6 @@ from .proxy_endpoint import ProxyEndpoint as ProxyEndpoint from .schedule_param import ScheduleParam as ScheduleParam from .logging_setting import LoggingSetting as LoggingSetting -from .gateway_ips_item import GatewayIPsItem as GatewayIPsItem from .gateway_settings import GatewaySettings as GatewaySettings from .list_edit_params import ListEditParams as ListEditParams from .location_network import LocationNetwork as LocationNetwork diff --git a/src/cloudflare/types/cloudforce_one/requests/label_item.py b/src/cloudflare/types/zero_trust/gateway/gateway_ips.py similarity index 67% rename from src/cloudflare/types/cloudforce_one/requests/label_item.py rename to src/cloudflare/types/zero_trust/gateway/gateway_ips.py index 99a073e7d4e..269847dd2ef 100644 --- a/src/cloudflare/types/cloudforce_one/requests/label_item.py +++ b/src/cloudflare/types/zero_trust/gateway/gateway_ips.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -__all__ = ["LabelItem"] +__all__ = ["GatewayIPs"] -LabelItem = str +GatewayIPs = str diff --git a/src/cloudflare/types/zero_trust/gateway/gateway_ips_item.py b/src/cloudflare/types/zero_trust/gateway/gateway_ips_item.py deleted file mode 100644 index 872b10571d0..00000000000 --- a/src/cloudflare/types/zero_trust/gateway/gateway_ips_item.py +++ /dev/null @@ -1,6 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - - -__all__ = ["GatewayIPsItem"] - -GatewayIPsItem = str diff --git a/src/cloudflare/types/zero_trust/gateway/list_create_params.py b/src/cloudflare/types/zero_trust/gateway/list_create_params.py index eda030cfb1f..fe48a509727 100644 --- a/src/cloudflare/types/zero_trust/gateway/list_create_params.py +++ b/src/cloudflare/types/zero_trust/gateway/list_create_params.py @@ -5,7 +5,7 @@ from typing import Iterable from typing_extensions import Literal, Required, TypedDict -from .lists import ListsItemParam +from .lists import ListsParam __all__ = ["ListCreateParams"] @@ -22,5 +22,5 @@ class ListCreateParams(TypedDict, total=False): description: str """The description of the list.""" - items: Iterable[ListsItemParam] + items: Iterable[ListsParam] """The items in the list.""" diff --git a/src/cloudflare/types/zero_trust/gateway/list_create_response.py b/src/cloudflare/types/zero_trust/gateway/list_create_response.py index 547cb80ae0d..c358d016faa 100644 --- a/src/cloudflare/types/zero_trust/gateway/list_create_response.py +++ b/src/cloudflare/types/zero_trust/gateway/list_create_response.py @@ -4,7 +4,7 @@ from datetime import datetime from typing_extensions import Literal -from .lists import ListsItem +from .lists import Lists from ...._models import BaseModel __all__ = ["ListCreateResponse"] @@ -19,7 +19,7 @@ class ListCreateResponse(BaseModel): description: Optional[str] = None """The description of the list.""" - items: Optional[List[ListsItem]] = None + items: Optional[List[Lists]] = None """The items in the list.""" name: Optional[str] = None diff --git a/src/cloudflare/types/zero_trust/gateway/list_edit_params.py b/src/cloudflare/types/zero_trust/gateway/list_edit_params.py index ab526e35d4e..503c12eba55 100644 --- a/src/cloudflare/types/zero_trust/gateway/list_edit_params.py +++ b/src/cloudflare/types/zero_trust/gateway/list_edit_params.py @@ -5,7 +5,7 @@ from typing import List, Iterable from typing_extensions import Required, TypedDict -from .lists import ListsItemParam +from .lists import ListsParam __all__ = ["ListEditParams"] @@ -13,7 +13,7 @@ class ListEditParams(TypedDict, total=False): account_id: Required[str] - append: Iterable[ListsItemParam] + append: Iterable[ListsParam] """The items in the list.""" remove: List[str] diff --git a/src/cloudflare/types/zero_trust/gateway/lists/__init__.py b/src/cloudflare/types/zero_trust/gateway/lists/__init__.py index e0863c2f3b9..4c4a22bf733 100644 --- a/src/cloudflare/types/zero_trust/gateway/lists/__init__.py +++ b/src/cloudflare/types/zero_trust/gateway/lists/__init__.py @@ -3,6 +3,5 @@ from __future__ import annotations from .lists import Lists as Lists -from .lists_item import ListsItem as ListsItem -from .lists_item_param import ListsItemParam as ListsItemParam +from .lists_param import ListsParam as ListsParam from .item_list_response import ItemListResponse as ItemListResponse diff --git a/src/cloudflare/types/zero_trust/gateway/lists/item_list_response.py b/src/cloudflare/types/zero_trust/gateway/lists/item_list_response.py index bff8275ac07..da1e753659c 100644 --- a/src/cloudflare/types/zero_trust/gateway/lists/item_list_response.py +++ b/src/cloudflare/types/zero_trust/gateway/lists/item_list_response.py @@ -2,8 +2,8 @@ from typing import List -from .lists_item import ListsItem +from .lists import Lists __all__ = ["ItemListResponse"] -ItemListResponse = List[ListsItem] +ItemListResponse = List[Lists] diff --git a/src/cloudflare/types/zero_trust/gateway/lists/lists.py b/src/cloudflare/types/zero_trust/gateway/lists/lists.py index a8ef4ef652b..021a9710ba7 100644 --- a/src/cloudflare/types/zero_trust/gateway/lists/lists.py +++ b/src/cloudflare/types/zero_trust/gateway/lists/lists.py @@ -2,7 +2,6 @@ from typing import Optional from datetime import datetime -from typing_extensions import Literal from ....._models import BaseModel @@ -10,21 +9,7 @@ class Lists(BaseModel): - id: Optional[str] = None - """API Resource UUID tag.""" - - count: Optional[float] = None - """The number of items in the list.""" - created_at: Optional[datetime] = None - description: Optional[str] = None - """The description of the list.""" - - name: Optional[str] = None - """The name of the list.""" - - type: Optional[Literal["SERIAL", "URL", "DOMAIN", "EMAIL", "IP"]] = None - """The type of list.""" - - updated_at: Optional[datetime] = None + value: Optional[str] = None + """The value of the item in a list.""" diff --git a/src/cloudflare/types/zero_trust/gateway/lists/lists_item.py b/src/cloudflare/types/zero_trust/gateway/lists/lists_item.py deleted file mode 100644 index c728db9d908..00000000000 --- a/src/cloudflare/types/zero_trust/gateway/lists/lists_item.py +++ /dev/null @@ -1,15 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import datetime - -from ....._models import BaseModel - -__all__ = ["ListsItem"] - - -class ListsItem(BaseModel): - created_at: Optional[datetime] = None - - value: Optional[str] = None - """The value of the item in a list.""" diff --git a/src/cloudflare/types/zero_trust/gateway/lists/lists_item_param.py b/src/cloudflare/types/zero_trust/gateway/lists/lists_param.py similarity index 74% rename from src/cloudflare/types/zero_trust/gateway/lists/lists_item_param.py rename to src/cloudflare/types/zero_trust/gateway/lists/lists_param.py index 79f7bbdf898..5b31db9adf0 100644 --- a/src/cloudflare/types/zero_trust/gateway/lists/lists_item_param.py +++ b/src/cloudflare/types/zero_trust/gateway/lists/lists_param.py @@ -4,9 +4,9 @@ from typing_extensions import TypedDict -__all__ = ["ListsItemParam"] +__all__ = ["ListsParam"] -class ListsItemParam(TypedDict, total=False): +class ListsParam(TypedDict, total=False): value: str """The value of the item in a list.""" diff --git a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint.py b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint.py index 400b190861b..8366853ea4e 100644 --- a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint.py +++ b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint.py @@ -4,7 +4,7 @@ from datetime import datetime from ...._models import BaseModel -from .gateway_ips_item import GatewayIPsItem +from .gateway_ips import GatewayIPs __all__ = ["ProxyEndpoint"] @@ -14,7 +14,7 @@ class ProxyEndpoint(BaseModel): created_at: Optional[datetime] = None - ips: Optional[List[GatewayIPsItem]] = None + ips: Optional[List[GatewayIPs]] = None """A list of CIDRs to restrict ingress connections.""" name: Optional[str] = None diff --git a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_create_params.py b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_create_params.py index a62e005e6ba..d7c6c6674e8 100644 --- a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_create_params.py +++ b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_create_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Required, TypedDict -from .gateway_ips_item import GatewayIPsItem +from .gateway_ips import GatewayIPs __all__ = ["ProxyEndpointCreateParams"] @@ -13,7 +13,7 @@ class ProxyEndpointCreateParams(TypedDict, total=False): account_id: Required[str] - ips: Required[List[GatewayIPsItem]] + ips: Required[List[GatewayIPs]] """A list of CIDRs to restrict ingress connections.""" name: Required[str] diff --git a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_edit_params.py b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_edit_params.py index 235df810a63..9110c0529bb 100644 --- a/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_edit_params.py +++ b/src/cloudflare/types/zero_trust/gateway/proxy_endpoint_edit_params.py @@ -5,7 +5,7 @@ from typing import List from typing_extensions import Required, TypedDict -from .gateway_ips_item import GatewayIPsItem +from .gateway_ips import GatewayIPs __all__ = ["ProxyEndpointEditParams"] @@ -13,7 +13,7 @@ class ProxyEndpointEditParams(TypedDict, total=False): account_id: Required[str] - ips: List[GatewayIPsItem] + ips: List[GatewayIPs] """A list of CIDRs to restrict ingress connections.""" name: str diff --git a/tests/api_resources/challenges/test_widgets.py b/tests/api_resources/challenges/test_widgets.py index ed9bb81dabb..976f29aaf82 100644 --- a/tests/api_resources/challenges/test_widgets.py +++ b/tests/api_resources/challenges/test_widgets.py @@ -12,7 +12,7 @@ from cloudflare.pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray from cloudflare.types.challenges import ( Widget, - WidgetDomain, + WidgetListResponse, ) base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -182,7 +182,7 @@ def test_method_list(self, client: Cloudflare) -> None: widget = client.challenges.widgets.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(SyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -194,7 +194,7 @@ def test_method_list_with_all_params(self, client: Cloudflare) -> None: page=1, per_page=5, ) - assert_matches_type(SyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -206,7 +206,7 @@ def test_raw_response_list(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" widget = response.parse() - assert_matches_type(SyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -218,7 +218,7 @@ def test_streaming_response_list(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" widget = response.parse() - assert_matches_type(SyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) assert cast(Any, response.is_closed) is True @@ -561,7 +561,7 @@ async def test_method_list(self, async_client: AsyncCloudflare) -> None: widget = await async_client.challenges.widgets.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(AsyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -573,7 +573,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) page=1, per_page=5, ) - assert_matches_type(AsyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -585,7 +585,7 @@ async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" widget = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) @pytest.mark.skip() @parametrize @@ -597,7 +597,7 @@ async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> N assert response.http_request.headers.get("X-Stainless-Lang") == "python" widget = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[WidgetDomain], widget, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[WidgetListResponse], widget, path=["response"]) assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/cloudforce_one/test_requests.py b/tests/api_resources/cloudforce_one/test_requests.py index ef62fc92095..0fc716ae7e9 100644 --- a/tests/api_resources/cloudforce_one/test_requests.py +++ b/tests/api_resources/cloudforce_one/test_requests.py @@ -13,8 +13,8 @@ from cloudflare.pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray from cloudflare.types.cloudforce_one import ( Item, + List, Quota, - ListItem, RequestTypes, RequestConstants, RequestDeleteResponse, @@ -155,7 +155,7 @@ def test_method_list(self, client: Cloudflare) -> None: page=0, per_page=10, ) - assert_matches_type(SyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -173,7 +173,7 @@ def test_method_list_with_all_params(self, client: Cloudflare) -> None: sort_order="asc", status="open", ) - assert_matches_type(SyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -187,7 +187,7 @@ def test_raw_response_list(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" request = response.parse() - assert_matches_type(SyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -201,7 +201,7 @@ def test_streaming_response_list(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" request = response.parse() - assert_matches_type(SyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(SyncV4PagePaginationArray[List], request, path=["response"]) assert cast(Any, response.is_closed) is True @@ -578,7 +578,7 @@ async def test_method_list(self, async_client: AsyncCloudflare) -> None: page=0, per_page=10, ) - assert_matches_type(AsyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -596,7 +596,7 @@ async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) sort_order="asc", status="open", ) - assert_matches_type(AsyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -610,7 +610,7 @@ async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" request = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[List], request, path=["response"]) @pytest.mark.skip() @parametrize @@ -624,7 +624,7 @@ async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> N assert response.http_request.headers.get("X-Stainless-Lang") == "python" request = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[ListItem], request, path=["response"]) + assert_matches_type(AsyncV4PagePaginationArray[List], request, path=["response"]) assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/intel/test_sinkholes.py b/tests/api_resources/intel/test_sinkholes.py index 966a6ee1fa3..9c3ac5abb15 100644 --- a/tests/api_resources/intel/test_sinkholes.py +++ b/tests/api_resources/intel/test_sinkholes.py @@ -10,7 +10,7 @@ from cloudflare import Cloudflare, AsyncCloudflare from tests.utils import assert_matches_type from cloudflare.pagination import SyncSinglePage, AsyncSinglePage -from cloudflare.types.intel import SinkholeItem +from cloudflare.types.intel import Sinkhole base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -24,7 +24,7 @@ def test_method_list(self, client: Cloudflare) -> None: sinkhole = client.intel.sinkholes.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(SyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(SyncSinglePage[Sinkhole], sinkhole, path=["response"]) @pytest.mark.skip() @parametrize @@ -36,7 +36,7 @@ def test_raw_response_list(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" sinkhole = response.parse() - assert_matches_type(SyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(SyncSinglePage[Sinkhole], sinkhole, path=["response"]) @pytest.mark.skip() @parametrize @@ -48,7 +48,7 @@ def test_streaming_response_list(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" sinkhole = response.parse() - assert_matches_type(SyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(SyncSinglePage[Sinkhole], sinkhole, path=["response"]) assert cast(Any, response.is_closed) is True @@ -70,7 +70,7 @@ async def test_method_list(self, async_client: AsyncCloudflare) -> None: sinkhole = await async_client.intel.sinkholes.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(AsyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(AsyncSinglePage[Sinkhole], sinkhole, path=["response"]) @pytest.mark.skip() @parametrize @@ -82,7 +82,7 @@ async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" sinkhole = await response.parse() - assert_matches_type(AsyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(AsyncSinglePage[Sinkhole], sinkhole, path=["response"]) @pytest.mark.skip() @parametrize @@ -94,7 +94,7 @@ async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> N assert response.http_request.headers.get("X-Stainless-Lang") == "python" sinkhole = await response.parse() - assert_matches_type(AsyncSinglePage[SinkholeItem], sinkhole, path=["response"]) + assert_matches_type(AsyncSinglePage[Sinkhole], sinkhole, path=["response"]) assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/user/firewall/test_access_rules.py b/tests/api_resources/user/firewall/test_access_rules.py deleted file mode 100644 index c3ae74a72c7..00000000000 --- a/tests/api_resources/user/firewall/test_access_rules.py +++ /dev/null @@ -1,426 +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, cast - -import pytest - -from cloudflare import Cloudflare, AsyncCloudflare -from tests.utils import assert_matches_type -from cloudflare.pagination import SyncV4PagePaginationArray, AsyncV4PagePaginationArray -from cloudflare.types.user.firewall import ( - FirewallRule, - AccessRuleDeleteResponse, -) - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestAccessRules: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - def test_method_create(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.create( - configuration={}, - mode="challenge", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_create_with_all_params(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.create( - configuration={ - "target": "ip", - "value": "198.51.100.4", - }, - mode="challenge", - notes="This rule is enabled because of an event that occurred on date X.", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_create(self, client: Cloudflare) -> None: - response = client.user.firewall.access_rules.with_raw_response.create( - configuration={}, - mode="challenge", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_create(self, client: Cloudflare) -> None: - with client.user.firewall.access_rules.with_streaming_response.create( - configuration={}, - mode="challenge", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_list(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.list() - assert_matches_type(SyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_list_with_all_params(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.list( - direction="desc", - egs_pagination={ - "json": { - "page": 1, - "per_page": 1, - } - }, - filters={ - "configuration_target": "ip", - "configuration_value": "198.51.100.4", - "match": "any", - "mode": "challenge", - "notes": "my note", - }, - order="mode", - page=1, - per_page=20, - ) - assert_matches_type(SyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_list(self, client: Cloudflare) -> None: - response = client.user.firewall.access_rules.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = response.parse() - assert_matches_type(SyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_list(self, client: Cloudflare) -> None: - with client.user.firewall.access_rules.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = response.parse() - assert_matches_type(SyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_delete(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_delete(self, client: Cloudflare) -> None: - response = client.user.firewall.access_rules.with_raw_response.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = response.parse() - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_delete(self, client: Cloudflare) -> None: - with client.user.firewall.access_rules.with_streaming_response.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = response.parse() - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_delete(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"): - client.user.firewall.access_rules.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - def test_method_edit(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_edit_with_all_params(self, client: Cloudflare) -> None: - access_rule = client.user.firewall.access_rules.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - mode="challenge", - notes="This rule is enabled because of an event that occurred on date X.", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_edit(self, client: Cloudflare) -> None: - response = client.user.firewall.access_rules.with_raw_response.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_edit(self, client: Cloudflare) -> None: - with client.user.firewall.access_rules.with_streaming_response.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_edit(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"): - client.user.firewall.access_rules.with_raw_response.edit( - "", - ) - - -class TestAsyncAccessRules: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.create( - configuration={}, - mode="challenge", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.create( - configuration={ - "target": "ip", - "value": "198.51.100.4", - }, - mode="challenge", - notes="This rule is enabled because of an event that occurred on date X.", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.firewall.access_rules.with_raw_response.create( - configuration={}, - mode="challenge", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = await response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.firewall.access_rules.with_streaming_response.create( - configuration={}, - mode="challenge", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = await response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_list(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.list() - assert_matches_type(AsyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.list( - direction="desc", - egs_pagination={ - "json": { - "page": 1, - "per_page": 1, - } - }, - filters={ - "configuration_target": "ip", - "configuration_value": "198.51.100.4", - "match": "any", - "mode": "challenge", - "notes": "my note", - }, - order="mode", - page=1, - per_page=20, - ) - assert_matches_type(AsyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.firewall.access_rules.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.firewall.access_rules.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = await response.parse() - assert_matches_type(AsyncV4PagePaginationArray[FirewallRule], access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_delete(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_delete(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.firewall.access_rules.with_raw_response.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = await response.parse() - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_delete(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.firewall.access_rules.with_streaming_response.delete( - "92f17202ed8bd63d69a66b86a49a8f6b", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = await response.parse() - assert_matches_type(AccessRuleDeleteResponse, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"): - await async_client.user.firewall.access_rules.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - async def test_method_edit(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None: - access_rule = await async_client.user.firewall.access_rules.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - mode="challenge", - notes="This rule is enabled because of an event that occurred on date X.", - ) - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.firewall.access_rules.with_raw_response.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - access_rule = await response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.firewall.access_rules.with_streaming_response.edit( - "92f17202ed8bd63d69a66b86a49a8f6b", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - access_rule = await response.parse() - assert_matches_type(FirewallRule, access_rule, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `identifier` but received ''"): - await async_client.user.firewall.access_rules.with_raw_response.edit( - "", - ) diff --git a/tests/api_resources/user/load_balancing/analytics/test_events.py b/tests/api_resources/user/load_balancing/analytics/test_events.py deleted file mode 100644 index fe06038b050..00000000000 --- a/tests/api_resources/user/load_balancing/analytics/test_events.py +++ /dev/null @@ -1,108 +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, cast - -import pytest - -from cloudflare import Cloudflare, AsyncCloudflare -from tests.utils import assert_matches_type -from cloudflare._utils import parse_datetime -from cloudflare.pagination import SyncSinglePage, AsyncSinglePage -from cloudflare.types.user.load_balancing import Analytics - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestEvents: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - def test_method_list(self, client: Cloudflare) -> None: - event = client.user.load_balancing.analytics.events.list() - assert_matches_type(SyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_list_with_all_params(self, client: Cloudflare) -> None: - event = client.user.load_balancing.analytics.events.list( - origin_healthy=True, - origin_name="primary-dc-1", - pool_healthy=True, - pool_id="17b5962d775c646f3f9725cbc7a53df4", - pool_name="primary-dc", - since=parse_datetime("2016-11-11T12:00:00Z"), - until=parse_datetime("2016-11-11T13:00:00Z"), - ) - assert_matches_type(SyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_list(self, client: Cloudflare) -> None: - response = client.user.load_balancing.analytics.events.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - event = response.parse() - assert_matches_type(SyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_list(self, client: Cloudflare) -> None: - with client.user.load_balancing.analytics.events.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - event = response.parse() - assert_matches_type(SyncSinglePage[Analytics], event, path=["response"]) - - assert cast(Any, response.is_closed) is True - - -class TestAsyncEvents: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - async def test_method_list(self, async_client: AsyncCloudflare) -> None: - event = await async_client.user.load_balancing.analytics.events.list() - assert_matches_type(AsyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None: - event = await async_client.user.load_balancing.analytics.events.list( - origin_healthy=True, - origin_name="primary-dc-1", - pool_healthy=True, - pool_id="17b5962d775c646f3f9725cbc7a53df4", - pool_name="primary-dc", - since=parse_datetime("2016-11-11T12:00:00Z"), - until=parse_datetime("2016-11-11T13:00:00Z"), - ) - assert_matches_type(AsyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.analytics.events.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - event = await response.parse() - assert_matches_type(AsyncSinglePage[Analytics], event, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.analytics.events.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - event = await response.parse() - assert_matches_type(AsyncSinglePage[Analytics], event, path=["response"]) - - assert cast(Any, response.is_closed) is True diff --git a/tests/api_resources/user/load_balancing/test_monitors.py b/tests/api_resources/user/load_balancing/test_monitors.py deleted file mode 100644 index 6e3dfae90be..00000000000 --- a/tests/api_resources/user/load_balancing/test_monitors.py +++ /dev/null @@ -1,906 +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 SyncSinglePage, AsyncSinglePage -from cloudflare.types.user.load_balancing import ( - MonitorGetResponse, - MonitorEditResponse, - MonitorListResponse, - MonitorCreateResponse, - MonitorDeleteResponse, - MonitorUpdateResponse, - MonitorPreviewResponse, - MonitorReferencesResponse, -) - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestMonitors: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - def test_method_create(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.create( - expected_codes="2xx", - ) - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_create_with_all_params(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.create( - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_create(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.create( - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_create(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.create( - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_update(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_update_with_all_params(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_update(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_update(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_update(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.update( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - def test_method_list(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.list() - assert_matches_type(SyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_list(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(SyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_list(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(SyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_delete(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_delete(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_delete(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_delete(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - def test_method_edit(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_edit_with_all_params(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_edit(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_edit(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_edit(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.edit( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - def test_method_get(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_get(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_get(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_get(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.get( - "", - ) - - @pytest.mark.skip() - @parametrize - def test_method_preview(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_preview_with_all_params(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_preview(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_preview(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_preview(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.preview( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - def test_method_references(self, client: Cloudflare) -> None: - monitor = client.user.load_balancing.monitors.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_references(self, client: Cloudflare) -> None: - response = client.user.load_balancing.monitors.with_raw_response.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = response.parse() - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_references(self, client: Cloudflare) -> None: - with client.user.load_balancing.monitors.with_streaming_response.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = response.parse() - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_references(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - client.user.load_balancing.monitors.with_raw_response.references( - "", - ) - - -class TestAsyncMonitors: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.create( - expected_codes="2xx", - ) - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.create( - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.create( - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.create( - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorCreateResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_update(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_update_with_all_params(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.update( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorUpdateResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_update(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.update( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_list(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.list() - assert_matches_type(AsyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(AsyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(AsyncSinglePage[MonitorListResponse], monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_delete(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_delete(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_delete(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.delete( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorDeleteResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - async def test_method_edit(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.edit( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorEditResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.edit( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_get(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorGetResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_get(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.get( - "", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_preview(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_preview_with_all_params(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_preview(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_preview(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.preview( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(MonitorPreviewResponse, monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_preview(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.preview( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_references(self, async_client: AsyncCloudflare) -> None: - monitor = await async_client.user.load_balancing.monitors.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_references(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.monitors.with_raw_response.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - monitor = await response.parse() - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_references(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.monitors.with_streaming_response.references( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - monitor = await response.parse() - assert_matches_type(Optional[MonitorReferencesResponse], monitor, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_references(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `monitor_id` but received ''"): - await async_client.user.load_balancing.monitors.with_raw_response.references( - "", - ) diff --git a/tests/api_resources/user/load_balancing/test_pools.py b/tests/api_resources/user/load_balancing/test_pools.py deleted file mode 100644 index 355643b6f9d..00000000000 --- a/tests/api_resources/user/load_balancing/test_pools.py +++ /dev/null @@ -1,1207 +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 SyncSinglePage, AsyncSinglePage -from cloudflare.types.load_balancers import Pool -from cloudflare.types.user.load_balancing import ( - PoolDeleteResponse, - PoolHealthResponse, - PoolPreviewResponse, - PoolReferencesResponse, -) - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestPools: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - def test_method_create(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_create_with_all_params(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.create( - name="primary-dc-1", - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_create(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_create(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_update(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_update_with_all_params(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_update(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_update(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_update(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.update( - "", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - @pytest.mark.skip() - @parametrize - def test_method_list(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.list() - assert_matches_type(SyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_list_with_all_params(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.list( - monitor={}, - ) - assert_matches_type(SyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_list(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(SyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_list(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(SyncSinglePage[Pool], pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_method_delete(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_delete(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_delete(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_delete(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - def test_method_edit(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_edit_with_all_params(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.edit( - "17b5962d775c646f3f9725cbc7a53df4", - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - name="primary-dc-1", - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_edit(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_edit(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_edit(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.edit( - "", - ) - - @pytest.mark.skip() - @parametrize - def test_method_get(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_get(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_get(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_get(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.get( - "", - ) - - @pytest.mark.skip() - @parametrize - def test_method_health(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_health(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_health(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_health(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.health( - "", - ) - - @pytest.mark.skip() - @parametrize - def test_method_preview(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_method_preview_with_all_params(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_preview(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_preview(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_preview(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.preview( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - def test_method_references(self, client: Cloudflare) -> None: - pool = client.user.load_balancing.pools.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_references(self, client: Cloudflare) -> None: - response = client.user.load_balancing.pools.with_raw_response.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = response.parse() - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_references(self, client: Cloudflare) -> None: - with client.user.load_balancing.pools.with_streaming_response.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = response.parse() - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_references(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - client.user.load_balancing.pools.with_raw_response.references( - "", - ) - - -class TestAsyncPools: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_create_with_all_params(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.create( - name="primary-dc-1", - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.create( - name="primary-dc-1", - origins=[{}, {}, {}], - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_update(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_update_with_all_params(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.update( - "17b5962d775c646f3f9725cbc7a53df4", - name="primary-dc-1", - origins=[{}, {}, {}], - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_update(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.update( - "", - name="primary-dc-1", - origins=[{}, {}, {}], - ) - - @pytest.mark.skip() - @parametrize - async def test_method_list(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.list() - assert_matches_type(AsyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_list_with_all_params(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.list( - monitor={}, - ) - assert_matches_type(AsyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_list(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(AsyncSinglePage[Pool], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_list(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(AsyncSinglePage[Pool], pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_method_delete(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_delete(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_delete(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.delete( - "17b5962d775c646f3f9725cbc7a53df4", - body={}, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(PoolDeleteResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_delete(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.delete( - "", - body={}, - ) - - @pytest.mark.skip() - @parametrize - async def test_method_edit(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_edit_with_all_params(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.edit( - "17b5962d775c646f3f9725cbc7a53df4", - check_regions=["WEU", "ENAM"], - description="Primary data center - Provider XYZ", - enabled=False, - latitude=0, - load_shedding={ - "default_percent": 0, - "default_policy": "random", - "session_percent": 0, - "session_policy": "hash", - }, - longitude=0, - minimum_origins=0, - monitor={}, - name="primary-dc-1", - notification_email="someone@example.com,sometwo@example.com", - notification_filter={ - "origin": { - "disable": True, - "healthy": True, - }, - "pool": { - "disable": True, - "healthy": False, - }, - }, - origin_steering={"policy": "random"}, - origins=[ - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - { - "address": "0.0.0.0", - "enabled": True, - "header": {"host": ["example.com", "example.com", "example.com"]}, - "name": "app-server-1", - "virtual_network_id": "a5624d4e-044a-4ff0-b3e1-e2465353d4b4", - "weight": 0.6, - }, - ], - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_edit(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_edit(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.edit( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_edit(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.edit( - "", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_get(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.get( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(Pool, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_get(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.get( - "", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_health(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_health(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_health(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.health( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(PoolHealthResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_health(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.health( - "", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_preview(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_method_preview_with_all_params(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - allow_insecure=True, - consecutive_down=0, - consecutive_up=0, - description="Login page monitor", - expected_body="alive", - follow_redirects=True, - header={ - "Host": ["example.com"], - "X-App-ID": ["abc123"], - }, - interval=0, - method="GET", - path="/health", - port=0, - probe_zone="example.com", - retries=0, - load_balancer_monitor_timeout=0, - type="https", - ) - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_preview(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_preview(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.preview( - "17b5962d775c646f3f9725cbc7a53df4", - expected_codes="2xx", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(PoolPreviewResponse, pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_preview(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.preview( - "", - expected_codes="2xx", - ) - - @pytest.mark.skip() - @parametrize - async def test_method_references(self, async_client: AsyncCloudflare) -> None: - pool = await async_client.user.load_balancing.pools.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_references(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.pools.with_raw_response.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - pool = await response.parse() - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_references(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.pools.with_streaming_response.references( - "17b5962d775c646f3f9725cbc7a53df4", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - pool = await response.parse() - assert_matches_type(Optional[PoolReferencesResponse], pool, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_references(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `pool_id` but received ''"): - await async_client.user.load_balancing.pools.with_raw_response.references( - "", - ) diff --git a/tests/api_resources/user/load_balancing/test_preview.py b/tests/api_resources/user/load_balancing/test_preview.py deleted file mode 100644 index 7c2533be309..00000000000 --- a/tests/api_resources/user/load_balancing/test_preview.py +++ /dev/null @@ -1,106 +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, cast - -import pytest - -from cloudflare import Cloudflare, AsyncCloudflare -from tests.utils import assert_matches_type -from cloudflare.types.user.load_balancing import PreviewGetResponse - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestPreview: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - def test_method_get(self, client: Cloudflare) -> None: - preview = client.user.load_balancing.preview.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_raw_response_get(self, client: Cloudflare) -> None: - response = client.user.load_balancing.preview.with_raw_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - preview = response.parse() - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - @pytest.mark.skip() - @parametrize - def test_streaming_response_get(self, client: Cloudflare) -> None: - with client.user.load_balancing.preview.with_streaming_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - preview = response.parse() - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - def test_path_params_get(self, client: Cloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `preview_id` but received ''"): - client.user.load_balancing.preview.with_raw_response.get( - "", - ) - - -class TestAsyncPreview: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @pytest.mark.skip() - @parametrize - async def test_method_get(self, async_client: AsyncCloudflare) -> None: - preview = await async_client.user.load_balancing.preview.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None: - response = await async_client.user.load_balancing.preview.with_raw_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - preview = await response.parse() - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - @pytest.mark.skip() - @parametrize - async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> None: - async with async_client.user.load_balancing.preview.with_streaming_response.get( - "f1aba936b94213e5b8dca0c0dbf1f9cc", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - preview = await response.parse() - assert_matches_type(PreviewGetResponse, preview, path=["response"]) - - assert cast(Any, response.is_closed) is True - - @pytest.mark.skip() - @parametrize - async def test_path_params_get(self, async_client: AsyncCloudflare) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `preview_id` but received ''"): - await async_client.user.load_balancing.preview.with_raw_response.get( - "", - ) diff --git a/tests/api_resources/web3/hostnames/ipfs_universal_paths/content_lists/test_entries.py b/tests/api_resources/web3/hostnames/ipfs_universal_paths/content_lists/test_entries.py index aa2c97c07fb..80096cfb912 100644 --- a/tests/api_resources/web3/hostnames/ipfs_universal_paths/content_lists/test_entries.py +++ b/tests/api_resources/web3/hostnames/ipfs_universal_paths/content_lists/test_entries.py @@ -10,7 +10,7 @@ from cloudflare import Cloudflare, AsyncCloudflare from tests.utils import assert_matches_type from cloudflare.types.web3.hostnames.ipfs_universal_paths.content_lists import ( - ContentListItem, + ContentList, EntryListResponse, EntryDeleteResponse, ) @@ -30,7 +30,7 @@ def test_method_create(self, client: Cloudflare) -> None: content="QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB", type="cid", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -42,7 +42,7 @@ def test_method_create_with_all_params(self, client: Cloudflare) -> None: type="cid", description="this is my content list entry", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -57,7 +57,7 @@ def test_raw_response_create(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -72,7 +72,7 @@ def test_streaming_response_create(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True @@ -105,7 +105,7 @@ def test_method_update(self, client: Cloudflare) -> None: content="QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB", type="cid", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -118,7 +118,7 @@ def test_method_update_with_all_params(self, client: Cloudflare) -> None: type="cid", description="this is my content list entry", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -134,7 +134,7 @@ def test_raw_response_update(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -150,7 +150,7 @@ def test_streaming_response_update(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True @@ -318,7 +318,7 @@ def test_method_get(self, client: Cloudflare) -> None: zone_identifier="023e105f4ecef8ad9ca31a8372d0c353", identifier="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -332,7 +332,7 @@ def test_raw_response_get(self, client: Cloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -346,7 +346,7 @@ def test_streaming_response_get(self, client: Cloudflare) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True @@ -389,7 +389,7 @@ async def test_method_create(self, async_client: AsyncCloudflare) -> None: content="QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB", type="cid", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -401,7 +401,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncCloudflare type="cid", description="this is my content list entry", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -418,7 +418,7 @@ async def test_raw_response_create(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -433,7 +433,7 @@ async def test_streaming_response_create(self, async_client: AsyncCloudflare) -> assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True @@ -466,7 +466,7 @@ async def test_method_update(self, async_client: AsyncCloudflare) -> None: content="QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB", type="cid", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -479,7 +479,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncCloudflare type="cid", description="this is my content list entry", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -497,7 +497,7 @@ async def test_raw_response_update(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -513,7 +513,7 @@ async def test_streaming_response_update(self, async_client: AsyncCloudflare) -> assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True @@ -683,7 +683,7 @@ async def test_method_get(self, async_client: AsyncCloudflare) -> None: zone_identifier="023e105f4ecef8ad9ca31a8372d0c353", identifier="023e105f4ecef8ad9ca31a8372d0c353", ) - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -697,7 +697,7 @@ async def test_raw_response_get(self, async_client: AsyncCloudflare) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) @pytest.mark.skip() @parametrize @@ -711,7 +711,7 @@ async def test_streaming_response_get(self, async_client: AsyncCloudflare) -> No assert response.http_request.headers.get("X-Stainless-Lang") == "python" entry = await response.parse() - assert_matches_type(ContentListItem, entry, path=["response"]) + assert_matches_type(ContentList, entry, path=["response"]) assert cast(Any, response.is_closed) is True