Skip to content

Commit cefb44f

Browse files
feat(product_catalog): add block storage properties (#1056)
Co-authored-by: Rémy Léone <[email protected]>
1 parent ba42a8e commit cefb44f

File tree

7 files changed

+96
-2
lines changed

7 files changed

+96
-2
lines changed

scaleway-async/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-async/scaleway_async/product_catalog/v2alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .types import PublicCatalogProductPropertiesHardwareRAM
1313
from .types import PublicCatalogProductPropertiesHardwareStorage
1414
from .types import PublicCatalogProductPropertiesAppleSilicon
15+
from .types import PublicCatalogProductPropertiesBlockStorage
1516
from .types import PublicCatalogProductPropertiesDedibox
1617
from .types import PublicCatalogProductPropertiesElasticMetal
1718
from .types import PublicCatalogProductPropertiesHardware
@@ -39,6 +40,7 @@
3940
"PublicCatalogProductPropertiesHardwareRAM",
4041
"PublicCatalogProductPropertiesHardwareStorage",
4142
"PublicCatalogProductPropertiesAppleSilicon",
43+
"PublicCatalogProductPropertiesBlockStorage",
4244
"PublicCatalogProductPropertiesDedibox",
4345
"PublicCatalogProductPropertiesElasticMetal",
4446
"PublicCatalogProductPropertiesHardware",

scaleway-async/scaleway_async/product_catalog/v2alpha1/marshalling.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
PublicCatalogProductPropertiesHardwareRAM,
1717
PublicCatalogProductPropertiesHardwareStorage,
1818
PublicCatalogProductPropertiesAppleSilicon,
19+
PublicCatalogProductPropertiesBlockStorage,
1920
PublicCatalogProductPropertiesDedibox,
2021
PublicCatalogProductPropertiesElasticMetal,
2122
PublicCatalogProductPropertiesHardware,
@@ -242,6 +243,27 @@ def unmarshal_PublicCatalogProductPropertiesAppleSilicon(
242243
return PublicCatalogProductPropertiesAppleSilicon(**args)
243244

244245

246+
def unmarshal_PublicCatalogProductPropertiesBlockStorage(
247+
data: Any,
248+
) -> PublicCatalogProductPropertiesBlockStorage:
249+
if not isinstance(data, dict):
250+
raise TypeError(
251+
"Unmarshalling the type 'PublicCatalogProductPropertiesBlockStorage' failed as data isn't a dictionary."
252+
)
253+
254+
args: Dict[str, Any] = {}
255+
256+
field = data.get("min_volume_size", None)
257+
if field is not None:
258+
args["min_volume_size"] = field
259+
260+
field = data.get("max_volume_size", None)
261+
if field is not None:
262+
args["max_volume_size"] = field
263+
264+
return PublicCatalogProductPropertiesBlockStorage(**args)
265+
266+
245267
def unmarshal_PublicCatalogProductPropertiesDedibox(
246268
data: Any,
247269
) -> PublicCatalogProductPropertiesDedibox:
@@ -465,6 +487,14 @@ def unmarshal_PublicCatalogProductProperties(
465487
else:
466488
args["instance"] = None
467489

490+
field = data.get("block_storage", None)
491+
if field is not None:
492+
args["block_storage"] = unmarshal_PublicCatalogProductPropertiesBlockStorage(
493+
field
494+
)
495+
else:
496+
args["block_storage"] = None
497+
468498
return PublicCatalogProductProperties(**args)
469499

470500

scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,19 @@ class PublicCatalogProductPropertiesAppleSilicon:
227227
"""
228228

229229

230+
@dataclass
231+
class PublicCatalogProductPropertiesBlockStorage:
232+
min_volume_size: int
233+
"""
234+
The minimum size of storage volume for this product in bytes.
235+
"""
236+
237+
max_volume_size: int
238+
"""
239+
The maximum size of storage volume for this product in bytes.
240+
"""
241+
242+
230243
@dataclass
231244
class PublicCatalogProductPropertiesDedibox:
232245
range: str
@@ -330,6 +343,8 @@ class PublicCatalogProductProperties:
330343

331344
instance: Optional[PublicCatalogProductPropertiesInstance]
332345

346+
block_storage: Optional[PublicCatalogProductPropertiesBlockStorage]
347+
333348

334349
@dataclass
335350
class PublicCatalogProductUnitOfMeasure:

scaleway/scaleway/product_catalog/v2alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from .types import PublicCatalogProductPropertiesHardwareRAM
1313
from .types import PublicCatalogProductPropertiesHardwareStorage
1414
from .types import PublicCatalogProductPropertiesAppleSilicon
15+
from .types import PublicCatalogProductPropertiesBlockStorage
1516
from .types import PublicCatalogProductPropertiesDedibox
1617
from .types import PublicCatalogProductPropertiesElasticMetal
1718
from .types import PublicCatalogProductPropertiesHardware
@@ -39,6 +40,7 @@
3940
"PublicCatalogProductPropertiesHardwareRAM",
4041
"PublicCatalogProductPropertiesHardwareStorage",
4142
"PublicCatalogProductPropertiesAppleSilicon",
43+
"PublicCatalogProductPropertiesBlockStorage",
4244
"PublicCatalogProductPropertiesDedibox",
4345
"PublicCatalogProductPropertiesElasticMetal",
4446
"PublicCatalogProductPropertiesHardware",

scaleway/scaleway/product_catalog/v2alpha1/marshalling.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
PublicCatalogProductPropertiesHardwareRAM,
1717
PublicCatalogProductPropertiesHardwareStorage,
1818
PublicCatalogProductPropertiesAppleSilicon,
19+
PublicCatalogProductPropertiesBlockStorage,
1920
PublicCatalogProductPropertiesDedibox,
2021
PublicCatalogProductPropertiesElasticMetal,
2122
PublicCatalogProductPropertiesHardware,
@@ -242,6 +243,27 @@ def unmarshal_PublicCatalogProductPropertiesAppleSilicon(
242243
return PublicCatalogProductPropertiesAppleSilicon(**args)
243244

244245

246+
def unmarshal_PublicCatalogProductPropertiesBlockStorage(
247+
data: Any,
248+
) -> PublicCatalogProductPropertiesBlockStorage:
249+
if not isinstance(data, dict):
250+
raise TypeError(
251+
"Unmarshalling the type 'PublicCatalogProductPropertiesBlockStorage' failed as data isn't a dictionary."
252+
)
253+
254+
args: Dict[str, Any] = {}
255+
256+
field = data.get("min_volume_size", None)
257+
if field is not None:
258+
args["min_volume_size"] = field
259+
260+
field = data.get("max_volume_size", None)
261+
if field is not None:
262+
args["max_volume_size"] = field
263+
264+
return PublicCatalogProductPropertiesBlockStorage(**args)
265+
266+
245267
def unmarshal_PublicCatalogProductPropertiesDedibox(
246268
data: Any,
247269
) -> PublicCatalogProductPropertiesDedibox:
@@ -465,6 +487,14 @@ def unmarshal_PublicCatalogProductProperties(
465487
else:
466488
args["instance"] = None
467489

490+
field = data.get("block_storage", None)
491+
if field is not None:
492+
args["block_storage"] = unmarshal_PublicCatalogProductPropertiesBlockStorage(
493+
field
494+
)
495+
else:
496+
args["block_storage"] = None
497+
468498
return PublicCatalogProductProperties(**args)
469499

470500

scaleway/scaleway/product_catalog/v2alpha1/types.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,19 @@ class PublicCatalogProductPropertiesAppleSilicon:
227227
"""
228228

229229

230+
@dataclass
231+
class PublicCatalogProductPropertiesBlockStorage:
232+
min_volume_size: int
233+
"""
234+
The minimum size of storage volume for this product in bytes.
235+
"""
236+
237+
max_volume_size: int
238+
"""
239+
The maximum size of storage volume for this product in bytes.
240+
"""
241+
242+
230243
@dataclass
231244
class PublicCatalogProductPropertiesDedibox:
232245
range: str
@@ -330,6 +343,8 @@ class PublicCatalogProductProperties:
330343

331344
instance: Optional[PublicCatalogProductPropertiesInstance]
332345

346+
block_storage: Optional[PublicCatalogProductPropertiesBlockStorage]
347+
333348

334349
@dataclass
335350
class PublicCatalogProductUnitOfMeasure:

0 commit comments

Comments
 (0)