Skip to content

Commit dbaa3ef

Browse files
authored
fix: listing page result always provide meta (hetznercloud#496)
The API specification now describe all meta/pagination fields as required, this PR updates the library to reflect that. Related hetznercloud#251
1 parent d39af0e commit dbaa3ef

File tree

35 files changed

+52
-53
lines changed

35 files changed

+52
-53
lines changed

hcloud/actions/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def wait_until_finished(self, max_retries: int | None = None) -> None:
4747

4848
class ActionsPageResult(NamedTuple):
4949
actions: list[BoundAction]
50-
meta: Meta | None
50+
meta: Meta
5151

5252

5353
class ResourceActionsClient(ClientEntityBase):

hcloud/certificates/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def retry_issuance(self) -> BoundAction:
100100

101101
class CertificatesPageResult(NamedTuple):
102102
certificates: list[BoundCertificate]
103-
meta: Meta | None
103+
meta: Meta
104104

105105

106106
class CertificatesClient(ClientEntityBase):

hcloud/core/domain.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,12 @@ def __init__(self, pagination: Pagination | None = None):
9999
self.pagination = pagination
100100

101101
@classmethod
102-
def parse_meta(cls, response: dict) -> Meta | None:
102+
def parse_meta(cls, response: dict) -> Meta:
103103
"""
104104
If present, extract the meta details from the response and return a meta object.
105105
"""
106-
meta = None
106+
meta = cls()
107107
if response and "meta" in response:
108-
meta = cls()
109108
try:
110109
meta.pagination = Pagination(**response["meta"]["pagination"])
111110
except KeyError:

hcloud/datacenters/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def __init__(self, client: DatacentersClient, data: dict):
5252

5353
class DatacentersPageResult(NamedTuple):
5454
datacenters: list[BoundDatacenter]
55-
meta: Meta | None
55+
meta: Meta
5656

5757

5858
class DatacentersClient(ClientEntityBase):

hcloud/firewalls/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def remove_from_resources(
180180

181181
class FirewallsPageResult(NamedTuple):
182182
firewalls: list[BoundFirewall]
183-
meta: Meta | None
183+
meta: Meta
184184

185185

186186
class FirewallsClient(ClientEntityBase):

hcloud/floating_ips/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def change_dns_ptr(self, ip: str, dns_ptr: str) -> BoundAction:
136136

137137
class FloatingIPsPageResult(NamedTuple):
138138
floating_ips: list[BoundFloatingIP]
139-
meta: Meta | None
139+
meta: Meta
140140

141141

142142
class FloatingIPsClient(ClientEntityBase):

hcloud/images/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def change_protection(self, delete: bool | None = None) -> BoundAction:
109109

110110
class ImagesPageResult(NamedTuple):
111111
images: list[BoundImage]
112-
meta: Meta | None
112+
meta: Meta
113113

114114

115115
class ImagesClient(ClientEntityBase):

hcloud/isos/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class BoundIso(BoundModelBase, Iso):
1717

1818
class IsosPageResult(NamedTuple):
1919
isos: list[BoundIso]
20-
meta: Meta | None
20+
meta: Meta
2121

2222

2323
class IsosClient(ClientEntityBase):

hcloud/load_balancer_types/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class BoundLoadBalancerType(BoundModelBase, LoadBalancerType):
1717

1818
class LoadBalancerTypesPageResult(NamedTuple):
1919
load_balancer_types: list[BoundLoadBalancerType]
20-
meta: Meta | None
20+
meta: Meta
2121

2222

2323
class LoadBalancerTypesClient(ClientEntityBase):

hcloud/load_balancers/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ def change_type(
366366

367367
class LoadBalancersPageResult(NamedTuple):
368368
load_balancers: list[BoundLoadBalancer]
369-
meta: Meta | None
369+
meta: Meta
370370

371371

372372
class LoadBalancersClient(ClientEntityBase):

0 commit comments

Comments
 (0)