diff --git a/hcloud/networks/client.py b/hcloud/networks/client.py index f94595d6..e884471c 100644 --- a/hcloud/networks/client.py +++ b/hcloud/networks/client.py @@ -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, @@ -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, diff --git a/tests/unit/networks/test_client.py b/tests/unit/networks/test_client.py index 60c60e35..5c1184da 100644 --- a/tests/unit/networks/test_client.py +++ b/tests/unit/networks/test_client.py @@ -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,