11from __future__ import annotations
22
33import warnings
4- from typing import Any , NamedTuple
4+ from typing import TYPE_CHECKING , Any , NamedTuple
55
66from ..core import BoundModelBase , Meta , ResourceClientBase
77from ..locations import BoundLocation
88from ..server_types import BoundServerType
99from .domain import Datacenter , DatacenterServerTypes
1010
11+ if TYPE_CHECKING :
12+ from .._client import Client
13+
1114__all__ = [
1215 "BoundDatacenter" ,
1316 "DatacentersPageResult" ,
@@ -73,10 +76,6 @@ class DatacentersPageResult(NamedTuple):
7376 meta : Meta
7477
7578
76- @warnings .deprecated (
77- "The datacenters client class is deprecated and will be removed after the 2026-10-01. "
78- "See https://docs.hetzner.cloud/changelog#2026-06-02-datacenters-deprecated." ,
79- )
8079class DatacentersClient (ResourceClientBase ):
8180 """
8281 .. deprecated:: 2.22.0
@@ -86,6 +85,15 @@ class DatacentersClient(ResourceClientBase):
8685
8786 _base_url = "/datacenters"
8887
88+ def __init__ (self , client : Client ):
89+ warnings .warn (
90+ "The datacenters client class is deprecated and will be removed after the 2026-10-01. "
91+ "See https://docs.hetzner.cloud/changelog#2026-06-02-datacenters-deprecated." ,
92+ DeprecationWarning ,
93+ stacklevel = 2 ,
94+ )
95+ super ().__init__ (client )
96+
8997 def get_by_id (self , id : int ) -> BoundDatacenter :
9098 """Get a specific datacenter by its ID.
9199
0 commit comments