Skip to content

Commit ad9e3e2

Browse files
fix(mongodb): change Instance.upgradable_versions (#1937)
Co-authored-by: Jonathan Remy <jremy@scaleway.com>
1 parent 9f88371 commit ad9e3e2

7 files changed

Lines changed: 114 additions & 118 deletions

File tree

scaleway-async/scaleway_async/mongodb/v1/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
from .types import InstanceSetting
2727
from .types import InstanceSnapshotSchedule
2828
from .types import Maintenance
29-
from .types import Version
3029
from .types import Volume
3130
from .types import NodeTypeVolumeType
3231
from .types import UserRole
@@ -36,6 +35,7 @@
3635
from .types import NodeType
3736
from .types import Snapshot
3837
from .types import User
38+
from .types import Version
3939
from .types import ApplyMaintenanceRequest
4040
from .types import CreateEndpointRequest
4141
from .types import CreateInstanceRequest
@@ -98,7 +98,6 @@
9898
"InstanceSetting",
9999
"InstanceSnapshotSchedule",
100100
"Maintenance",
101-
"Version",
102101
"Volume",
103102
"NodeTypeVolumeType",
104103
"UserRole",
@@ -108,6 +107,7 @@
108107
"NodeType",
109108
"Snapshot",
110109
"User",
110+
"Version",
111111
"ApplyMaintenanceRequest",
112112
"CreateEndpointRequest",
113113
"CreateInstanceRequest",

scaleway-async/scaleway_async/mongodb/v1/marshalling.py

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
Maintenance,
2727
InstanceSetting,
2828
InstanceSnapshotSchedule,
29-
Version,
3029
Volume,
3130
Instance,
3231
Snapshot,
@@ -41,6 +40,7 @@
4140
ListNodeTypesResponse,
4241
ListSnapshotsResponse,
4342
ListUsersResponse,
43+
Version,
4444
ListVersionsResponse,
4545
EndpointSpecPrivateNetworkDetails,
4646
EndpointSpecPublicNetworkDetails,
@@ -327,39 +327,6 @@ def unmarshal_InstanceSnapshotSchedule(data: Any) -> InstanceSnapshotSchedule:
327327
return InstanceSnapshotSchedule(**args)
328328

329329

330-
def unmarshal_Version(data: Any) -> Version:
331-
if not isinstance(data, dict):
332-
raise TypeError(
333-
"Unmarshalling the type 'Version' failed as data isn't a dictionary."
334-
)
335-
336-
args: dict[str, Any] = {}
337-
338-
field = data.get("version", None)
339-
if field is not None:
340-
args["version"] = field
341-
else:
342-
args["version"] = None
343-
344-
field = data.get("end_of_life_at", None)
345-
if field is not None:
346-
args["end_of_life_at"] = (
347-
parser.isoparse(field) if isinstance(field, str) else field
348-
)
349-
else:
350-
args["end_of_life_at"] = None
351-
352-
field = data.get("released_at", None)
353-
if field is not None:
354-
args["released_at"] = (
355-
parser.isoparse(field) if isinstance(field, str) else field
356-
)
357-
else:
358-
args["released_at"] = None
359-
360-
return Version(**args)
361-
362-
363330
def unmarshal_Volume(data: Any) -> Volume:
364331
if not isinstance(data, dict):
365332
raise TypeError(
@@ -477,9 +444,7 @@ def unmarshal_Instance(data: Any) -> Instance:
477444

478445
field = data.get("upgradable_versions", None)
479446
if field is not None:
480-
args["upgradable_versions"] = (
481-
[unmarshal_Version(v) for v in field] if field is not None else None
482-
)
447+
args["upgradable_versions"] = field
483448
else:
484449
args["upgradable_versions"] = []
485450

@@ -918,6 +883,39 @@ def unmarshal_ListUsersResponse(data: Any) -> ListUsersResponse:
918883
return ListUsersResponse(**args)
919884

920885

886+
def unmarshal_Version(data: Any) -> Version:
887+
if not isinstance(data, dict):
888+
raise TypeError(
889+
"Unmarshalling the type 'Version' failed as data isn't a dictionary."
890+
)
891+
892+
args: dict[str, Any] = {}
893+
894+
field = data.get("version", None)
895+
if field is not None:
896+
args["version"] = field
897+
else:
898+
args["version"] = None
899+
900+
field = data.get("end_of_life_at", None)
901+
if field is not None:
902+
args["end_of_life_at"] = (
903+
parser.isoparse(field) if isinstance(field, str) else field
904+
)
905+
else:
906+
args["end_of_life_at"] = None
907+
908+
field = data.get("released_at", None)
909+
if field is not None:
910+
args["released_at"] = (
911+
parser.isoparse(field) if isinstance(field, str) else field
912+
)
913+
else:
914+
args["released_at"] = None
915+
916+
return Version(**args)
917+
918+
921919
def unmarshal_ListVersionsResponse(data: Any) -> ListVersionsResponse:
922920
if not isinstance(data, dict):
923921
raise TypeError(

scaleway-async/scaleway_async/mongodb/v1/types.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -291,24 +291,6 @@ class Maintenance:
291291
"""
292292

293293

294-
@dataclass
295-
class Version:
296-
version: str
297-
"""
298-
MongoDB® major engine version.
299-
"""
300-
301-
end_of_life_at: Optional[datetime] = None
302-
"""
303-
Date of End of Life.
304-
"""
305-
306-
released_at: Optional[datetime] = None
307-
"""
308-
Date of Release.
309-
"""
310-
311-
312294
@dataclass
313295
class Volume:
314296
type_: VolumeType
@@ -441,7 +423,7 @@ class Instance:
441423
List of pending maintenances applicable to the Database Instance.
442424
"""
443425

444-
upgradable_versions: list[Version]
426+
upgradable_versions: list[str]
445427
"""
446428
List of MongoDB® versions the Database Instance can be upgraded to.
447429
"""
@@ -586,6 +568,24 @@ class User:
586568
"""
587569

588570

571+
@dataclass
572+
class Version:
573+
version: str
574+
"""
575+
MongoDB® major engine version.
576+
"""
577+
578+
end_of_life_at: Optional[datetime] = None
579+
"""
580+
Date of End of Life.
581+
"""
582+
583+
released_at: Optional[datetime] = None
584+
"""
585+
Date of Release.
586+
"""
587+
588+
589589
@dataclass
590590
class ApplyMaintenanceRequest:
591591
maintenance_id: str

scaleway/poetry.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scaleway/scaleway/mongodb/v1/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
from .types import InstanceSetting
2727
from .types import InstanceSnapshotSchedule
2828
from .types import Maintenance
29-
from .types import Version
3029
from .types import Volume
3130
from .types import NodeTypeVolumeType
3231
from .types import UserRole
@@ -36,6 +35,7 @@
3635
from .types import NodeType
3736
from .types import Snapshot
3837
from .types import User
38+
from .types import Version
3939
from .types import ApplyMaintenanceRequest
4040
from .types import CreateEndpointRequest
4141
from .types import CreateInstanceRequest
@@ -98,7 +98,6 @@
9898
"InstanceSetting",
9999
"InstanceSnapshotSchedule",
100100
"Maintenance",
101-
"Version",
102101
"Volume",
103102
"NodeTypeVolumeType",
104103
"UserRole",
@@ -108,6 +107,7 @@
108107
"NodeType",
109108
"Snapshot",
110109
"User",
110+
"Version",
111111
"ApplyMaintenanceRequest",
112112
"CreateEndpointRequest",
113113
"CreateInstanceRequest",

scaleway/scaleway/mongodb/v1/marshalling.py

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
Maintenance,
2727
InstanceSetting,
2828
InstanceSnapshotSchedule,
29-
Version,
3029
Volume,
3130
Instance,
3231
Snapshot,
@@ -41,6 +40,7 @@
4140
ListNodeTypesResponse,
4241
ListSnapshotsResponse,
4342
ListUsersResponse,
43+
Version,
4444
ListVersionsResponse,
4545
EndpointSpecPrivateNetworkDetails,
4646
EndpointSpecPublicNetworkDetails,
@@ -327,39 +327,6 @@ def unmarshal_InstanceSnapshotSchedule(data: Any) -> InstanceSnapshotSchedule:
327327
return InstanceSnapshotSchedule(**args)
328328

329329

330-
def unmarshal_Version(data: Any) -> Version:
331-
if not isinstance(data, dict):
332-
raise TypeError(
333-
"Unmarshalling the type 'Version' failed as data isn't a dictionary."
334-
)
335-
336-
args: dict[str, Any] = {}
337-
338-
field = data.get("version", None)
339-
if field is not None:
340-
args["version"] = field
341-
else:
342-
args["version"] = None
343-
344-
field = data.get("end_of_life_at", None)
345-
if field is not None:
346-
args["end_of_life_at"] = (
347-
parser.isoparse(field) if isinstance(field, str) else field
348-
)
349-
else:
350-
args["end_of_life_at"] = None
351-
352-
field = data.get("released_at", None)
353-
if field is not None:
354-
args["released_at"] = (
355-
parser.isoparse(field) if isinstance(field, str) else field
356-
)
357-
else:
358-
args["released_at"] = None
359-
360-
return Version(**args)
361-
362-
363330
def unmarshal_Volume(data: Any) -> Volume:
364331
if not isinstance(data, dict):
365332
raise TypeError(
@@ -477,9 +444,7 @@ def unmarshal_Instance(data: Any) -> Instance:
477444

478445
field = data.get("upgradable_versions", None)
479446
if field is not None:
480-
args["upgradable_versions"] = (
481-
[unmarshal_Version(v) for v in field] if field is not None else None
482-
)
447+
args["upgradable_versions"] = field
483448
else:
484449
args["upgradable_versions"] = []
485450

@@ -918,6 +883,39 @@ def unmarshal_ListUsersResponse(data: Any) -> ListUsersResponse:
918883
return ListUsersResponse(**args)
919884

920885

886+
def unmarshal_Version(data: Any) -> Version:
887+
if not isinstance(data, dict):
888+
raise TypeError(
889+
"Unmarshalling the type 'Version' failed as data isn't a dictionary."
890+
)
891+
892+
args: dict[str, Any] = {}
893+
894+
field = data.get("version", None)
895+
if field is not None:
896+
args["version"] = field
897+
else:
898+
args["version"] = None
899+
900+
field = data.get("end_of_life_at", None)
901+
if field is not None:
902+
args["end_of_life_at"] = (
903+
parser.isoparse(field) if isinstance(field, str) else field
904+
)
905+
else:
906+
args["end_of_life_at"] = None
907+
908+
field = data.get("released_at", None)
909+
if field is not None:
910+
args["released_at"] = (
911+
parser.isoparse(field) if isinstance(field, str) else field
912+
)
913+
else:
914+
args["released_at"] = None
915+
916+
return Version(**args)
917+
918+
921919
def unmarshal_ListVersionsResponse(data: Any) -> ListVersionsResponse:
922920
if not isinstance(data, dict):
923921
raise TypeError(

0 commit comments

Comments
 (0)