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
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
from .types import ListDatabasesRequestOrderBy
from .types import ListDeploymentsRequestOrderBy
from .types import ListUsersRequestOrderBy
from .types import EndpointPrivateNetworkDetails
from .types import NodePrivateNetworkDetails
from .types import EndpointPublicDetails
from .types import EndpointService
from .types import EndpointSpecPrivateNetworkDetails
from .types import PrivateNetworkDetails
from .types import EndpointSpecPublicDetails
from .types import Endpoint
from .types import EndpointSpec
Expand Down Expand Up @@ -51,10 +51,10 @@
"ListDatabasesRequestOrderBy",
"ListDeploymentsRequestOrderBy",
"ListUsersRequestOrderBy",
"EndpointPrivateNetworkDetails",
"NodePrivateNetworkDetails",
"EndpointPublicDetails",
"EndpointService",
"EndpointSpecPrivateNetworkDetails",
"PrivateNetworkDetails",
"EndpointSpecPublicDetails",
"Endpoint",
"EndpointSpec",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
)
from .types import (
DeploymentStatus,
EndpointPrivateNetworkDetails,
NodePrivateNetworkDetails,
EndpointPublicDetails,
EndpointService,
PrivateNetworkDetails,
Endpoint,
Database,
Deployment,
Expand All @@ -26,7 +27,6 @@
Version,
ListVersionsResponse,
CreateDatabaseRequest,
EndpointSpecPrivateNetworkDetails,
EndpointSpecPublicDetails,
EndpointSpec,
CreateDeploymentRequest,
Expand All @@ -37,21 +37,39 @@
)


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

args: dict[str, Any] = {}

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

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

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

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

return EndpointPrivateNetworkDetails(**args)
return NodePrivateNetworkDetails(**args)


def unmarshal_EndpointPublicDetails(data: Any) -> EndpointPublicDetails:
Expand Down Expand Up @@ -88,6 +106,33 @@ def unmarshal_EndpointService(data: Any) -> EndpointService:
return EndpointService(**args)


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

args: dict[str, Any] = {}

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

field = data.get("nodes", None)
if field is not None:
args["nodes"] = (
[unmarshal_NodePrivateNetworkDetails(v) for v in field]
if field is not None
else None
)
else:
args["nodes"] = []

return PrivateNetworkDetails(**args)


def unmarshal_Endpoint(data: Any) -> Endpoint:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -118,7 +163,7 @@ def unmarshal_Endpoint(data: Any) -> Endpoint:

field = data.get("private_network", None)
if field is not None:
args["private_network"] = unmarshal_EndpointPrivateNetworkDetails(field)
args["private_network"] = unmarshal_PrivateNetworkDetails(field)
else:
args["private_network"] = None

Expand Down Expand Up @@ -507,14 +552,23 @@ def marshal_CreateDatabaseRequest(
return output


def marshal_EndpointSpecPrivateNetworkDetails(
request: EndpointSpecPrivateNetworkDetails,
def marshal_NodePrivateNetworkDetails(
request: NodePrivateNetworkDetails,
defaults: ProfileDefaults,
) -> dict[str, Any]:
output: dict[str, Any] = {}

if request.private_network_id is not None:
output["private_network_id"] = request.private_network_id
if request.node_name is not None:
output["node_name"] = request.node_name

if request.shard is not None:
output["shard"] = request.shard

if request.replica is not None:
output["replica"] = request.replica

if request.ip_address is not None:
output["ip_address"] = request.ip_address

return output

Expand All @@ -528,6 +582,23 @@ def marshal_EndpointSpecPublicDetails(
return output


def marshal_PrivateNetworkDetails(
request: PrivateNetworkDetails,
defaults: ProfileDefaults,
) -> dict[str, Any]:
output: dict[str, Any] = {}

if request.private_network_id is not None:
output["private_network_id"] = request.private_network_id

if request.nodes is not None:
output["nodes"] = [
marshal_NodePrivateNetworkDetails(item, defaults) for item in request.nodes
]

return output


def marshal_EndpointSpec(
request: EndpointSpec,
defaults: ProfileDefaults,
Expand All @@ -544,7 +615,7 @@ def marshal_EndpointSpec(
OneOfPossibility(
param="private_network",
value=request.private_network,
marshal_func=marshal_EndpointSpecPrivateNetworkDetails,
marshal_func=marshal_PrivateNetworkDetails,
),
]
),
Expand Down
33 changes: 28 additions & 5 deletions scaleway-async/scaleway_async/datawarehouse/v1beta1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,26 @@ def __str__(self) -> str:


@dataclass
class EndpointPrivateNetworkDetails:
private_network_id: str
class NodePrivateNetworkDetails:
node_name: str
"""
Name of the node.
"""

shard: int
"""
The ClickHouse shard to which the node belongs to.
"""

replica: int
"""
The ClickHouse replica to which the node belongs to.
"""

ip_address: str
"""
Private static IP address of that node.
"""


@dataclass
Expand All @@ -89,12 +107,17 @@ class EndpointService:


@dataclass
class EndpointSpecPrivateNetworkDetails:
class PrivateNetworkDetails:
private_network_id: str
"""
UUID of the Private Network.
"""

nodes: list[NodePrivateNetworkDetails]
"""
List of nodes belonging to this private network and their details.
"""


@dataclass
class EndpointSpecPublicDetails:
Expand All @@ -118,7 +141,7 @@ class Endpoint:
List of services associated with the endpoint.
"""

private_network: Optional[EndpointPrivateNetworkDetails] = None
private_network: Optional[PrivateNetworkDetails] = None

public: Optional[EndpointPublicDetails] = None

Expand All @@ -127,7 +150,7 @@ class Endpoint:
class EndpointSpec:
public: Optional[EndpointSpecPublicDetails] = None

private_network: Optional[EndpointSpecPrivateNetworkDetails] = None
private_network: Optional[PrivateNetworkDetails] = None


@dataclass
Expand Down
8 changes: 4 additions & 4 deletions scaleway/scaleway/datawarehouse/v1beta1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
from .types import ListDatabasesRequestOrderBy
from .types import ListDeploymentsRequestOrderBy
from .types import ListUsersRequestOrderBy
from .types import EndpointPrivateNetworkDetails
from .types import NodePrivateNetworkDetails
from .types import EndpointPublicDetails
from .types import EndpointService
from .types import EndpointSpecPrivateNetworkDetails
from .types import PrivateNetworkDetails
from .types import EndpointSpecPublicDetails
from .types import Endpoint
from .types import EndpointSpec
Expand Down Expand Up @@ -51,10 +51,10 @@
"ListDatabasesRequestOrderBy",
"ListDeploymentsRequestOrderBy",
"ListUsersRequestOrderBy",
"EndpointPrivateNetworkDetails",
"NodePrivateNetworkDetails",
"EndpointPublicDetails",
"EndpointService",
"EndpointSpecPrivateNetworkDetails",
"PrivateNetworkDetails",
"EndpointSpecPublicDetails",
"Endpoint",
"EndpointSpec",
Expand Down
Loading
Loading