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
56 changes: 54 additions & 2 deletions hcloud/networks/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,60 @@ def delete(self) -> bool:
"""
return self._client.delete(self)

def get_member_list(
self,
*,
type: list[NetworkMemberType] | None = None,
status: list[NetworkMemberStatus] | None = None,
subnet: list[str] | None = None,
sort: list[NetworkMemberSort] | None = None,
page: int | None = None,
per_page: int | None = None,
) -> NetworkMembersPageResult:
"""
Returns a paginated list of Members for the Network.

:param type: Filter the Members by type.
:param status: Filter the Members by status.
:param subnet: Filter the Members by the subnet they are attached to.
:param sort: Sort Members by field and direction.
:param page: Page number to get.
:param per_page: Maximum number of Members returned per page.
"""
return self._client.get_member_list(
self,
type=type,
status=status,
subnet=subnet,
sort=sort,
page=page,
per_page=per_page,
)

def get_member_all(
self,
*,
type: list[NetworkMemberType] | None = None,
status: list[NetworkMemberStatus] | None = None,
subnet: list[str] | None = None,
sort: list[NetworkMemberSort] | None = None,
) -> list[NetworkMember]:
"""
Returns all of Members for the Network.

:param type: Filter the Members by type.
:param status: Filter the Members by status.
:param subnet: Filter the Members by the subnet they are attached to.
:param sort: Sort Members by field and direction.
"""
return self._client.get_member_all(
self,
type=type,
status=status,
subnet=subnet,
sort=sort,
)

def get_actions_list(
self,
status: list[ActionStatus] | None = None,
Expand Down Expand Up @@ -464,8 +518,6 @@ def get_member_all(
:param status: Filter the Members by status.
:param subnet: Filter the Members by the subnet they are attached to.
:param sort: Sort Members by field and direction.
:param page: Page number to get.
:param per_page: Maximum number of Members returned per page.
"""
return self._iter_pages(
self.get_member_list,
Expand Down
2 changes: 2 additions & 0 deletions tests/unit/networks/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ class TestBoundNetwork(BoundModelTestCase):
methods = [
BoundNetwork.update,
BoundNetwork.delete,
BoundNetwork.get_member_list,
BoundNetwork.get_member_all,
BoundNetwork.add_subnet,
BoundNetwork.delete_subnet,
BoundNetwork.add_route,
Expand Down
Loading