From 0cd53645d9b1a8fc3a6907569c2c257429fcc1b3 Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Mon, 18 Nov 2024 14:15:26 +0000 Subject: [PATCH] feat: update generated APIs --- .../mongodb/v1alpha1/__init__.py | 6 ++- .../scaleway_async/mongodb/v1alpha1/api.py | 48 +++++++++++++++++++ .../mongodb/v1alpha1/marshalling.py | 48 ++++++++++++------- .../scaleway_async/mongodb/v1alpha1/types.py | 32 ++++++++++--- .../scaleway/mongodb/v1alpha1/__init__.py | 6 ++- scaleway/scaleway/mongodb/v1alpha1/api.py | 48 +++++++++++++++++++ .../scaleway/mongodb/v1alpha1/marshalling.py | 48 ++++++++++++------- scaleway/scaleway/mongodb/v1alpha1/types.py | 32 ++++++++++--- 8 files changed, 218 insertions(+), 50 deletions(-) diff --git a/scaleway-async/scaleway_async/mongodb/v1alpha1/__init__.py b/scaleway-async/scaleway_async/mongodb/v1alpha1/__init__.py index c7106938..f422c940 100644 --- a/scaleway-async/scaleway_async/mongodb/v1alpha1/__init__.py +++ b/scaleway-async/scaleway_async/mongodb/v1alpha1/__init__.py @@ -20,14 +20,15 @@ from .types import NodeTypeVolumeType from .types import SnapshotVolumeType from .types import Setting -from .types import CreateInstanceRequestVolumeDetails from .types import EndpointSpec +from .types import CreateInstanceRequestVolumeDetails from .types import Instance from .types import NodeType from .types import Snapshot from .types import User from .types import Version from .types import RestoreSnapshotRequestVolumeDetails +from .types import CreateEndpointRequest from .types import CreateInstanceRequest from .types import CreateSnapshotRequest from .types import CreateUserRequest @@ -75,14 +76,15 @@ "NodeTypeVolumeType", "SnapshotVolumeType", "Setting", - "CreateInstanceRequestVolumeDetails", "EndpointSpec", + "CreateInstanceRequestVolumeDetails", "Instance", "NodeType", "Snapshot", "User", "Version", "RestoreSnapshotRequestVolumeDetails", + "CreateEndpointRequest", "CreateInstanceRequest", "CreateSnapshotRequest", "CreateUserRequest", diff --git a/scaleway-async/scaleway_async/mongodb/v1alpha1/api.py b/scaleway-async/scaleway_async/mongodb/v1alpha1/api.py index a9b838f0..0f60d2b6 100644 --- a/scaleway-async/scaleway_async/mongodb/v1alpha1/api.py +++ b/scaleway-async/scaleway_async/mongodb/v1alpha1/api.py @@ -21,10 +21,12 @@ ListInstancesRequestOrderBy, ListSnapshotsRequestOrderBy, ListUsersRequestOrderBy, + CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, + Endpoint, EndpointSpec, Instance, ListInstancesResponse, @@ -48,6 +50,7 @@ SNAPSHOT_TRANSIENT_STATUSES, ) from .marshalling import ( + unmarshal_Endpoint, unmarshal_Instance, unmarshal_Snapshot, unmarshal_User, @@ -56,6 +59,7 @@ unmarshal_ListSnapshotsResponse, unmarshal_ListUsersResponse, unmarshal_ListVersionsResponse, + marshal_CreateEndpointRequest, marshal_CreateInstanceRequest, marshal_CreateSnapshotRequest, marshal_CreateUserRequest, @@ -1201,3 +1205,47 @@ async def delete_endpoint( ) self._throw_on_error(res) + + async def create_endpoint( + self, + *, + instance_id: str, + endpoint: EndpointSpec, + region: Optional[Region] = None, + ) -> Endpoint: + """ + Create a new Instance endpoint. + Create a new endpoint for a MongoDB® Database Instance. You can add `public_network` or `private_network` specifications to the body of the request. + :param instance_id: UUID of the Database Instance. + :param endpoint: EndpointSpec used to expose your Database Instance. + :param region: Region to target. If none is passed will use default region from the config. + :return: :class:`Endpoint ` + + Usage: + :: + + result = await api.create_endpoint( + instance_id="example", + endpoint=EndpointSpec(), + ) + """ + + param_region = validate_path_param( + "region", region or self.client.default_region + ) + + res = self._request( + "POST", + f"/mongodb/v1alpha1/regions/{param_region}/endpoints", + body=marshal_CreateEndpointRequest( + CreateEndpointRequest( + instance_id=instance_id, + endpoint=endpoint, + region=region, + ), + self.client, + ), + ) + + self._throw_on_error(res) + return unmarshal_Endpoint(res.json()) diff --git a/scaleway-async/scaleway_async/mongodb/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/mongodb/v1alpha1/marshalling.py index 01055557..d491bab8 100644 --- a/scaleway-async/scaleway_async/mongodb/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/mongodb/v1alpha1/marshalling.py @@ -30,8 +30,9 @@ ListVersionsResponse, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, - CreateInstanceRequestVolumeDetails, EndpointSpec, + CreateEndpointRequest, + CreateInstanceRequestVolumeDetails, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, @@ -619,21 +620,6 @@ def marshal_EndpointSpecPublicDetails( return output -def marshal_CreateInstanceRequestVolumeDetails( - request: CreateInstanceRequestVolumeDetails, - defaults: ProfileDefaults, -) -> Dict[str, Any]: - output: Dict[str, Any] = {} - - if request.volume_size is not None: - output["volume_size"] = request.volume_size - - if request.volume_type is not None: - output["volume_type"] = str(request.volume_type) - - return output - - def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, @@ -651,6 +637,36 @@ def marshal_EndpointSpec( return output +def marshal_CreateEndpointRequest( + request: CreateEndpointRequest, + defaults: ProfileDefaults, +) -> Dict[str, Any]: + output: Dict[str, Any] = {} + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.endpoint is not None: + output["endpoint"] = marshal_EndpointSpec(request.endpoint, defaults) + + return output + + +def marshal_CreateInstanceRequestVolumeDetails( + request: CreateInstanceRequestVolumeDetails, + defaults: ProfileDefaults, +) -> Dict[str, Any]: + output: Dict[str, Any] = {} + + if request.volume_size is not None: + output["volume_size"] = request.volume_size + + if request.volume_type is not None: + output["volume_type"] = str(request.volume_type) + + return output + + def marshal_CreateInstanceRequest( request: CreateInstanceRequest, defaults: ProfileDefaults, diff --git a/scaleway-async/scaleway_async/mongodb/v1alpha1/types.py b/scaleway-async/scaleway_async/mongodb/v1alpha1/types.py index 29319e3d..517191ae 100644 --- a/scaleway-async/scaleway_async/mongodb/v1alpha1/types.py +++ b/scaleway-async/scaleway_async/mongodb/v1alpha1/types.py @@ -278,6 +278,13 @@ class Setting: """ +@dataclass +class EndpointSpec: + public: Optional[EndpointSpecPublicDetails] + + private_network: Optional[EndpointSpecPrivateNetworkDetails] + + @dataclass class CreateInstanceRequestVolumeDetails: volume_size: int @@ -291,13 +298,6 @@ class CreateInstanceRequestVolumeDetails: """ -@dataclass -class EndpointSpec: - public: Optional[EndpointSpecPublicDetails] - - private_network: Optional[EndpointSpecPrivateNetworkDetails] - - @dataclass class Instance: id: str @@ -511,6 +511,24 @@ class RestoreSnapshotRequestVolumeDetails: """ +@dataclass +class CreateEndpointRequest: + instance_id: str + """ + UUID of the Database Instance. + """ + + endpoint: EndpointSpec + """ + EndpointSpec used to expose your Database Instance. + """ + + region: Optional[Region] + """ + Region to target. If none is passed will use default region from the config. + """ + + @dataclass class CreateInstanceRequest: version: str diff --git a/scaleway/scaleway/mongodb/v1alpha1/__init__.py b/scaleway/scaleway/mongodb/v1alpha1/__init__.py index c7106938..f422c940 100644 --- a/scaleway/scaleway/mongodb/v1alpha1/__init__.py +++ b/scaleway/scaleway/mongodb/v1alpha1/__init__.py @@ -20,14 +20,15 @@ from .types import NodeTypeVolumeType from .types import SnapshotVolumeType from .types import Setting -from .types import CreateInstanceRequestVolumeDetails from .types import EndpointSpec +from .types import CreateInstanceRequestVolumeDetails from .types import Instance from .types import NodeType from .types import Snapshot from .types import User from .types import Version from .types import RestoreSnapshotRequestVolumeDetails +from .types import CreateEndpointRequest from .types import CreateInstanceRequest from .types import CreateSnapshotRequest from .types import CreateUserRequest @@ -75,14 +76,15 @@ "NodeTypeVolumeType", "SnapshotVolumeType", "Setting", - "CreateInstanceRequestVolumeDetails", "EndpointSpec", + "CreateInstanceRequestVolumeDetails", "Instance", "NodeType", "Snapshot", "User", "Version", "RestoreSnapshotRequestVolumeDetails", + "CreateEndpointRequest", "CreateInstanceRequest", "CreateSnapshotRequest", "CreateUserRequest", diff --git a/scaleway/scaleway/mongodb/v1alpha1/api.py b/scaleway/scaleway/mongodb/v1alpha1/api.py index b42d234d..fe505dc9 100644 --- a/scaleway/scaleway/mongodb/v1alpha1/api.py +++ b/scaleway/scaleway/mongodb/v1alpha1/api.py @@ -21,10 +21,12 @@ ListInstancesRequestOrderBy, ListSnapshotsRequestOrderBy, ListUsersRequestOrderBy, + CreateEndpointRequest, CreateInstanceRequest, CreateInstanceRequestVolumeDetails, CreateSnapshotRequest, CreateUserRequest, + Endpoint, EndpointSpec, Instance, ListInstancesResponse, @@ -48,6 +50,7 @@ SNAPSHOT_TRANSIENT_STATUSES, ) from .marshalling import ( + unmarshal_Endpoint, unmarshal_Instance, unmarshal_Snapshot, unmarshal_User, @@ -56,6 +59,7 @@ unmarshal_ListSnapshotsResponse, unmarshal_ListUsersResponse, unmarshal_ListVersionsResponse, + marshal_CreateEndpointRequest, marshal_CreateInstanceRequest, marshal_CreateSnapshotRequest, marshal_CreateUserRequest, @@ -1197,3 +1201,47 @@ def delete_endpoint( ) self._throw_on_error(res) + + def create_endpoint( + self, + *, + instance_id: str, + endpoint: EndpointSpec, + region: Optional[Region] = None, + ) -> Endpoint: + """ + Create a new Instance endpoint. + Create a new endpoint for a MongoDB® Database Instance. You can add `public_network` or `private_network` specifications to the body of the request. + :param instance_id: UUID of the Database Instance. + :param endpoint: EndpointSpec used to expose your Database Instance. + :param region: Region to target. If none is passed will use default region from the config. + :return: :class:`Endpoint ` + + Usage: + :: + + result = api.create_endpoint( + instance_id="example", + endpoint=EndpointSpec(), + ) + """ + + param_region = validate_path_param( + "region", region or self.client.default_region + ) + + res = self._request( + "POST", + f"/mongodb/v1alpha1/regions/{param_region}/endpoints", + body=marshal_CreateEndpointRequest( + CreateEndpointRequest( + instance_id=instance_id, + endpoint=endpoint, + region=region, + ), + self.client, + ), + ) + + self._throw_on_error(res) + return unmarshal_Endpoint(res.json()) diff --git a/scaleway/scaleway/mongodb/v1alpha1/marshalling.py b/scaleway/scaleway/mongodb/v1alpha1/marshalling.py index 01055557..d491bab8 100644 --- a/scaleway/scaleway/mongodb/v1alpha1/marshalling.py +++ b/scaleway/scaleway/mongodb/v1alpha1/marshalling.py @@ -30,8 +30,9 @@ ListVersionsResponse, EndpointSpecPrivateNetworkDetails, EndpointSpecPublicDetails, - CreateInstanceRequestVolumeDetails, EndpointSpec, + CreateEndpointRequest, + CreateInstanceRequestVolumeDetails, CreateInstanceRequest, CreateSnapshotRequest, CreateUserRequest, @@ -619,21 +620,6 @@ def marshal_EndpointSpecPublicDetails( return output -def marshal_CreateInstanceRequestVolumeDetails( - request: CreateInstanceRequestVolumeDetails, - defaults: ProfileDefaults, -) -> Dict[str, Any]: - output: Dict[str, Any] = {} - - if request.volume_size is not None: - output["volume_size"] = request.volume_size - - if request.volume_type is not None: - output["volume_type"] = str(request.volume_type) - - return output - - def marshal_EndpointSpec( request: EndpointSpec, defaults: ProfileDefaults, @@ -651,6 +637,36 @@ def marshal_EndpointSpec( return output +def marshal_CreateEndpointRequest( + request: CreateEndpointRequest, + defaults: ProfileDefaults, +) -> Dict[str, Any]: + output: Dict[str, Any] = {} + + if request.instance_id is not None: + output["instance_id"] = request.instance_id + + if request.endpoint is not None: + output["endpoint"] = marshal_EndpointSpec(request.endpoint, defaults) + + return output + + +def marshal_CreateInstanceRequestVolumeDetails( + request: CreateInstanceRequestVolumeDetails, + defaults: ProfileDefaults, +) -> Dict[str, Any]: + output: Dict[str, Any] = {} + + if request.volume_size is not None: + output["volume_size"] = request.volume_size + + if request.volume_type is not None: + output["volume_type"] = str(request.volume_type) + + return output + + def marshal_CreateInstanceRequest( request: CreateInstanceRequest, defaults: ProfileDefaults, diff --git a/scaleway/scaleway/mongodb/v1alpha1/types.py b/scaleway/scaleway/mongodb/v1alpha1/types.py index 29319e3d..517191ae 100644 --- a/scaleway/scaleway/mongodb/v1alpha1/types.py +++ b/scaleway/scaleway/mongodb/v1alpha1/types.py @@ -278,6 +278,13 @@ class Setting: """ +@dataclass +class EndpointSpec: + public: Optional[EndpointSpecPublicDetails] + + private_network: Optional[EndpointSpecPrivateNetworkDetails] + + @dataclass class CreateInstanceRequestVolumeDetails: volume_size: int @@ -291,13 +298,6 @@ class CreateInstanceRequestVolumeDetails: """ -@dataclass -class EndpointSpec: - public: Optional[EndpointSpecPublicDetails] - - private_network: Optional[EndpointSpecPrivateNetworkDetails] - - @dataclass class Instance: id: str @@ -511,6 +511,24 @@ class RestoreSnapshotRequestVolumeDetails: """ +@dataclass +class CreateEndpointRequest: + instance_id: str + """ + UUID of the Database Instance. + """ + + endpoint: EndpointSpec + """ + EndpointSpec used to expose your Database Instance. + """ + + region: Optional[Region] + """ + Region to target. If none is passed will use default region from the config. + """ + + @dataclass class CreateInstanceRequest: version: str