Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions hcloud/actions/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import warnings
from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import Action, ActionFailedException, ActionTimeoutException

if TYPE_CHECKING:
Expand Down Expand Up @@ -50,7 +50,7 @@ class ActionsPageResult(NamedTuple):
meta: Meta


class ResourceActionsClient(ClientEntityBase):
class ResourceActionsClient(ResourceClientBase):
_resource: str

def __init__(self, client: Client, resource: str | None):
Expand Down
4 changes: 2 additions & 2 deletions hcloud/certificates/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import (
Certificate,
CreateManagedCertificateResponse,
Expand Down Expand Up @@ -103,7 +103,7 @@ class CertificatesPageResult(NamedTuple):
meta: Meta


class CertificatesClient(ClientEntityBase):
class CertificatesClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
5 changes: 3 additions & 2 deletions hcloud/core/__init__.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from __future__ import annotations

from .client import BoundModelBase, ClientEntityBase
from .client import BoundModelBase, ClientEntityBase, ResourceClientBase
from .domain import BaseDomain, DomainIdentityMixin, Meta, Pagination

__all__ = [
"BaseDomain",
"BoundModelBase",
"ClientEntityBase",
"BaseDomain",
"DomainIdentityMixin",
"Meta",
"Pagination",
"ResourceClientBase",
]
23 changes: 21 additions & 2 deletions hcloud/core/client.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
from __future__ import annotations

import warnings
from typing import TYPE_CHECKING, Any, Callable

if TYPE_CHECKING:
from .._client import Client


class ClientEntityBase:
class ResourceClientBase:
_client: Client

max_per_page: int = 50
Expand Down Expand Up @@ -50,14 +51,32 @@ def _get_first_by(self, **kwargs): # type: ignore[no-untyped-def]
return entities[0] if entities else None


class ClientEntityBase(ResourceClientBase):
"""
Kept for backward compatibility.

.. deprecated:: 2.6.0
Use :class:``hcloud.core.client.ResourceClientBase`` instead.
"""

def __init__(self, client: Client):
warnings.warn(
"The 'hcloud.core.client.ClientEntityBase' class is deprecated, please use the "
"'hcloud.core.client.ResourceClientBase' class instead.",
DeprecationWarning,
stacklevel=2,
)
super().__init__(client)


class BoundModelBase:
"""Bound Model Base"""

model: Any

def __init__(
self,
client: ClientEntityBase,
client: ResourceClientBase,
data: dict,
complete: bool = True,
):
Expand Down
4 changes: 2 additions & 2 deletions hcloud/datacenters/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from ..locations import BoundLocation
from ..server_types import BoundServerType
from .domain import Datacenter, DatacenterServerTypes
Expand Down Expand Up @@ -55,7 +55,7 @@ class DatacentersPageResult(NamedTuple):
meta: Meta


class DatacentersClient(ClientEntityBase):
class DatacentersClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundDatacenter:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/firewalls/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import (
CreateFirewallResponse,
Firewall,
Expand Down Expand Up @@ -183,7 +183,7 @@ class FirewallsPageResult(NamedTuple):
meta: Meta


class FirewallsClient(ClientEntityBase):
class FirewallsClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/floating_ips/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from ..locations import BoundLocation
from .domain import CreateFloatingIPResponse, FloatingIP

Expand Down Expand Up @@ -139,7 +139,7 @@ class FloatingIPsPageResult(NamedTuple):
meta: Meta


class FloatingIPsClient(ClientEntityBase):
class FloatingIPsClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/images/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import Image

if TYPE_CHECKING:
Expand Down Expand Up @@ -112,7 +112,7 @@ class ImagesPageResult(NamedTuple):
meta: Meta


class ImagesClient(ClientEntityBase):
class ImagesClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/isos/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import Iso

if TYPE_CHECKING:
Expand All @@ -20,7 +20,7 @@ class IsosPageResult(NamedTuple):
meta: Meta


class IsosClient(ClientEntityBase):
class IsosClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundIso:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/load_balancer_types/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import LoadBalancerType

if TYPE_CHECKING:
Expand All @@ -20,7 +20,7 @@ class LoadBalancerTypesPageResult(NamedTuple):
meta: Meta


class LoadBalancerTypesClient(ClientEntityBase):
class LoadBalancerTypesClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundLoadBalancerType:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/load_balancers/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..certificates import BoundCertificate
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from ..load_balancer_types import BoundLoadBalancerType
from ..locations import BoundLocation
from ..metrics import Metrics
Expand Down Expand Up @@ -369,7 +369,7 @@ class LoadBalancersPageResult(NamedTuple):
meta: Meta


class LoadBalancersClient(ClientEntityBase):
class LoadBalancersClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/locations/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import Location

if TYPE_CHECKING:
Expand All @@ -20,7 +20,7 @@ class LocationsPageResult(NamedTuple):
meta: Meta


class LocationsClient(ClientEntityBase):
class LocationsClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundLocation:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/networks/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import Network, NetworkRoute, NetworkSubnet

if TYPE_CHECKING:
Expand Down Expand Up @@ -166,7 +166,7 @@ class NetworksPageResult(NamedTuple):
meta: Meta


class NetworksClient(ClientEntityBase):
class NetworksClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/placement_groups/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import BoundAction
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import CreatePlacementGroupResponse, PlacementGroup

if TYPE_CHECKING:
Expand Down Expand Up @@ -43,7 +43,7 @@ class PlacementGroupsPageResult(NamedTuple):
meta: Meta


class PlacementGroupsClient(ClientEntityBase):
class PlacementGroupsClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundPlacementGroup:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/primary_ips/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import CreatePrimaryIPResponse, PrimaryIP

if TYPE_CHECKING:
Expand Down Expand Up @@ -97,7 +97,7 @@ class PrimaryIPsPageResult(NamedTuple):
meta: Meta


class PrimaryIPsClient(ClientEntityBase):
class PrimaryIPsClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/server_types/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import ServerType

if TYPE_CHECKING:
Expand All @@ -20,7 +20,7 @@ class ServerTypesPageResult(NamedTuple):
meta: Meta


class ServerTypesClient(ClientEntityBase):
class ServerTypesClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundServerType:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/servers/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from dateutil.parser import isoparse

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from ..datacenters import BoundDatacenter
from ..firewalls import BoundFirewall
from ..floating_ips import BoundFloatingIP
Expand Down Expand Up @@ -482,7 +482,7 @@ class ServersPageResult(NamedTuple):
meta: Meta


class ServersClient(ClientEntityBase):
class ServersClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
4 changes: 2 additions & 2 deletions hcloud/ssh_keys/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from typing import TYPE_CHECKING, Any, NamedTuple

from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from .domain import SSHKey

if TYPE_CHECKING:
Expand Down Expand Up @@ -41,7 +41,7 @@ class SSHKeysPageResult(NamedTuple):
meta: Meta


class SSHKeysClient(ClientEntityBase):
class SSHKeysClient(ResourceClientBase):
_client: Client

def get_by_id(self, id: int) -> BoundSSHKey:
Expand Down
4 changes: 2 additions & 2 deletions hcloud/volumes/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from typing import TYPE_CHECKING, Any, NamedTuple

from ..actions import ActionsPageResult, BoundAction, ResourceActionsClient
from ..core import BoundModelBase, ClientEntityBase, Meta
from ..core import BoundModelBase, Meta, ResourceClientBase
from ..locations import BoundLocation
from .domain import CreateVolumeResponse, Volume

Expand Down Expand Up @@ -135,7 +135,7 @@ class VolumesPageResult(NamedTuple):
meta: Meta


class VolumesClient(ClientEntityBase):
class VolumesClient(ResourceClientBase):
_client: Client

actions: ResourceActionsClient
Expand Down
Loading