ctfy.sdk.resources.nodes

client.nodes — public worker-node list.

Operator node management (register / remove / patch / invites / health) lives on ctfy.sdk.AdminClient under client.admin.nodes.

 1"""``client.nodes`` — public worker-node list.
 2
 3Operator node management (register / remove / patch / invites / health) lives
 4on :class:`ctfy.sdk.AdminClient` under ``client.admin.nodes``.
 5"""
 6
 7from __future__ import annotations
 8
 9from ctfy.sdk._helpers import PagedList, _extract_items, _raise_for_status
10from ctfy.sdk.base import BaseHttpClient
11from ctfy.server.models import NodeInfo
12
13
14class NodesResource:
15    """Public read of the worker-node roster."""
16
17    def __init__(self, http: BaseHttpClient) -> None:
18        self._http = http
19
20    def list(self, offset: int = 0, limit: int = 50) -> PagedList[NodeInfo]:
21        resp = self._http.request("GET", "/nodes", params={"offset": offset, "limit": limit})
22        _raise_for_status(resp)
23        return _extract_items(resp.json(), NodeInfo)
class NodesResource:
15class NodesResource:
16    """Public read of the worker-node roster."""
17
18    def __init__(self, http: BaseHttpClient) -> None:
19        self._http = http
20
21    def list(self, offset: int = 0, limit: int = 50) -> PagedList[NodeInfo]:
22        resp = self._http.request("GET", "/nodes", params={"offset": offset, "limit": limit})
23        _raise_for_status(resp)
24        return _extract_items(resp.json(), NodeInfo)

Public read of the worker-node roster.

NodesResource(http: ctfy.sdk.base.BaseHttpClient)
18    def __init__(self, http: BaseHttpClient) -> None:
19        self._http = http
def list( self, offset: int = 0, limit: int = 50) -> ctfy.sdk._helpers.PagedList[ctfy.server.models.NodeInfo]:
21    def list(self, offset: int = 0, limit: int = 50) -> PagedList[NodeInfo]:
22        resp = self._http.request("GET", "/nodes", params={"offset": offset, "limit": limit})
23        _raise_for_status(resp)
24        return _extract_items(resp.json(), NodeInfo)