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
13 changes: 13 additions & 0 deletions src/dstack/_internal/core/compatibility/events.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from dstack._internal.core.models.common import IncludeExcludeDictType
from dstack._internal.server.schemas.events import ListEventsRequest


def get_list_events_excludes(request: ListEventsRequest) -> IncludeExcludeDictType:
list_gpus_excludes: IncludeExcludeDictType = {}
if request.target_volumes is None:
list_gpus_excludes["target_volumes"] = True
if request.target_gateways is None:
list_gpus_excludes["target_gateways"] = True
if request.target_secrets is None:
list_gpus_excludes["target_secrets"] = True
return list_gpus_excludes
5 changes: 4 additions & 1 deletion src/dstack/api/server/_events.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

from pydantic import parse_obj_as

from dstack._internal.core.compatibility.events import get_list_events_excludes
from dstack._internal.core.models.events import Event, EventTargetType
from dstack._internal.server.schemas.events import LIST_EVENTS_DEFAULT_LIMIT, ListEventsRequest
from dstack.api.server._group import APIClientGroup
Expand Down Expand Up @@ -57,5 +58,7 @@ def list(
limit=limit,
ascending=ascending,
)
resp = self._request("/api/events/list", body=req.json())
resp = self._request(
"/api/events/list", body=req.json(exclude=get_list_events_excludes(req))
)
return parse_obj_as(list[Event.__response__], resp.json())