Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(apple_silicon): add infos on server type #526

Merged
merged 1 commit into from
May 23, 2024
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
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from .types import OS
from .types import ServerTypeCPU
from .types import ServerTypeDisk
from .types import ServerTypeGPU
from .types import ServerTypeMemory
from .types import ServerTypeNetwork
from .types import ServerType
from .types import Server
from .types import CreateServerRequest
Expand All @@ -34,7 +36,9 @@
"OS",
"ServerTypeCPU",
"ServerTypeDisk",
"ServerTypeGPU",
"ServerTypeMemory",
"ServerTypeNetwork",
"ServerType",
"Server",
"CreateServerRequest",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
OS,
ServerTypeCPU,
ServerTypeDisk,
ServerTypeGPU,
ServerTypeMemory,
ServerTypeNetwork,
ServerType,
Server,
ListOSResponse,
Expand Down Expand Up @@ -84,6 +86,10 @@ def unmarshal_ServerTypeCPU(data: Any) -> ServerTypeCPU:
if field is not None:
args["core_count"] = field

field = data.get("frequency", None)
if field is not None:
args["frequency"] = field

return ServerTypeCPU(**args)


Expand All @@ -106,6 +112,21 @@ def unmarshal_ServerTypeDisk(data: Any) -> ServerTypeDisk:
return ServerTypeDisk(**args)


def unmarshal_ServerTypeGPU(data: Any) -> ServerTypeGPU:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ServerTypeGPU' failed as data isn't a dictionary."
)

args: Dict[str, Any] = {}

field = data.get("count", None)
if field is not None:
args["count"] = field

return ServerTypeGPU(**args)


def unmarshal_ServerTypeMemory(data: Any) -> ServerTypeMemory:
if not isinstance(data, dict):
raise TypeError(
Expand All @@ -125,6 +146,21 @@ def unmarshal_ServerTypeMemory(data: Any) -> ServerTypeMemory:
return ServerTypeMemory(**args)


def unmarshal_ServerTypeNetwork(data: Any) -> ServerTypeNetwork:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ServerTypeNetwork' failed as data isn't a dictionary."
)

args: Dict[str, Any] = {}

field = data.get("public_bandwidth_bps", None)
if field is not None:
args["public_bandwidth_bps"] = field

return ServerTypeNetwork(**args)


def unmarshal_ServerType(data: Any) -> ServerType:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -165,6 +201,18 @@ def unmarshal_ServerType(data: Any) -> ServerType:
else:
args["minimum_lease_duration"] = None

field = data.get("gpu", None)
if field is not None:
args["gpu"] = unmarshal_ServerTypeGPU(field)
else:
args["gpu"] = None

field = data.get("network", None)
if field is not None:
args["network"] = unmarshal_ServerTypeNetwork(field)
else:
args["network"] = None

field = data.get("default_os", None)
if field is not None:
args["default_os"] = unmarshal_OS(field)
Expand Down
22 changes: 22 additions & 0 deletions scaleway-async/scaleway_async/applesilicon/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ class ServerTypeCPU:

core_count: int

frequency: int


@dataclass
class ServerTypeDisk:
Expand All @@ -111,13 +113,23 @@ class ServerTypeDisk:
type_: str


@dataclass
class ServerTypeGPU:
count: int


@dataclass
class ServerTypeMemory:
capacity: int

type_: str


@dataclass
class ServerTypeNetwork:
public_bandwidth_bps: int


@dataclass
class ServerType:
name: str
Expand Down Expand Up @@ -150,6 +162,16 @@ class ServerType:
Minimum duration of the lease in seconds (example. 3.4s).
"""

gpu: Optional[ServerTypeGPU]
"""
GPU description.
"""

network: Optional[ServerTypeNetwork]
"""
Network description.
"""

default_os: Optional[OS]
"""
The default OS for this server type.
Expand Down
4 changes: 4 additions & 0 deletions scaleway/scaleway/applesilicon/v1alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from .types import OS
from .types import ServerTypeCPU
from .types import ServerTypeDisk
from .types import ServerTypeGPU
from .types import ServerTypeMemory
from .types import ServerTypeNetwork
from .types import ServerType
from .types import Server
from .types import CreateServerRequest
Expand All @@ -34,7 +36,9 @@
"OS",
"ServerTypeCPU",
"ServerTypeDisk",
"ServerTypeGPU",
"ServerTypeMemory",
"ServerTypeNetwork",
"ServerType",
"Server",
"CreateServerRequest",
Expand Down
48 changes: 48 additions & 0 deletions scaleway/scaleway/applesilicon/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
OS,
ServerTypeCPU,
ServerTypeDisk,
ServerTypeGPU,
ServerTypeMemory,
ServerTypeNetwork,
ServerType,
Server,
ListOSResponse,
Expand Down Expand Up @@ -84,6 +86,10 @@ def unmarshal_ServerTypeCPU(data: Any) -> ServerTypeCPU:
if field is not None:
args["core_count"] = field

field = data.get("frequency", None)
if field is not None:
args["frequency"] = field

return ServerTypeCPU(**args)


Expand All @@ -106,6 +112,21 @@ def unmarshal_ServerTypeDisk(data: Any) -> ServerTypeDisk:
return ServerTypeDisk(**args)


def unmarshal_ServerTypeGPU(data: Any) -> ServerTypeGPU:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ServerTypeGPU' failed as data isn't a dictionary."
)

args: Dict[str, Any] = {}

field = data.get("count", None)
if field is not None:
args["count"] = field

return ServerTypeGPU(**args)


def unmarshal_ServerTypeMemory(data: Any) -> ServerTypeMemory:
if not isinstance(data, dict):
raise TypeError(
Expand All @@ -125,6 +146,21 @@ def unmarshal_ServerTypeMemory(data: Any) -> ServerTypeMemory:
return ServerTypeMemory(**args)


def unmarshal_ServerTypeNetwork(data: Any) -> ServerTypeNetwork:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ServerTypeNetwork' failed as data isn't a dictionary."
)

args: Dict[str, Any] = {}

field = data.get("public_bandwidth_bps", None)
if field is not None:
args["public_bandwidth_bps"] = field

return ServerTypeNetwork(**args)


def unmarshal_ServerType(data: Any) -> ServerType:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -165,6 +201,18 @@ def unmarshal_ServerType(data: Any) -> ServerType:
else:
args["minimum_lease_duration"] = None

field = data.get("gpu", None)
if field is not None:
args["gpu"] = unmarshal_ServerTypeGPU(field)
else:
args["gpu"] = None

field = data.get("network", None)
if field is not None:
args["network"] = unmarshal_ServerTypeNetwork(field)
else:
args["network"] = None

field = data.get("default_os", None)
if field is not None:
args["default_os"] = unmarshal_OS(field)
Expand Down
22 changes: 22 additions & 0 deletions scaleway/scaleway/applesilicon/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ class ServerTypeCPU:

core_count: int

frequency: int


@dataclass
class ServerTypeDisk:
Expand All @@ -111,13 +113,23 @@ class ServerTypeDisk:
type_: str


@dataclass
class ServerTypeGPU:
count: int


@dataclass
class ServerTypeMemory:
capacity: int

type_: str


@dataclass
class ServerTypeNetwork:
public_bandwidth_bps: int


@dataclass
class ServerType:
name: str
Expand Down Expand Up @@ -150,6 +162,16 @@ class ServerType:
Minimum duration of the lease in seconds (example. 3.4s).
"""

gpu: Optional[ServerTypeGPU]
"""
GPU description.
"""

network: Optional[ServerTypeNetwork]
"""
Network description.
"""

default_os: Optional[OS]
"""
The default OS for this server type.
Expand Down