28 lines
731 B
Python
28 lines
731 B
Python
from typing import Optional, List
|
|
from pydantic import BaseModel, Field
|
|
from .model import HSAPICall
|
|
from .schemas import v1Route
|
|
|
|
|
|
class v1ListRoutesResponse(BaseModel):
|
|
routes: Optional[List[Optional[v1Route]]] = Field(
|
|
alias="routes", default=None)
|
|
|
|
|
|
class Route(HSAPICall):
|
|
|
|
objectPath = "routes"
|
|
|
|
def list(self) -> v1ListRoutesResponse:
|
|
response = self.call('get')
|
|
return v1ListRoutesResponse(**response.json())
|
|
|
|
def delete(self, routeId: str) -> None:
|
|
self.call('delete', call_path=routeId)
|
|
|
|
def enable(self, routeId: int) -> None:
|
|
self.call('post', f'{routeId}/enable')
|
|
|
|
def disable(self, routeId: int) -> None:
|
|
self.call('post', f'{routeId}/disable')
|