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 @@ -2,6 +2,7 @@
# If you have any remark or suggestion do not hesitate to open an issue.
from .types import PublicCatalogProductPriceUnitOfMeasureCountableUnit
from .types import PublicCatalogProductPropertiesHardwareCPUArch
from .types import PublicCatalogProductUnitOfMeasureCountableUnit
from .types import PublicCatalogProductPropertiesHardwareCPUPhysical
from .types import PublicCatalogProductPropertiesHardwareCPUVirtual
from .types import PublicCatalogProductPropertiesHardwareCPU
Expand All @@ -15,10 +16,11 @@
from .types import PublicCatalogProductPropertiesElasticMetal
from .types import PublicCatalogProductPropertiesHardware
from .types import PublicCatalogProductPropertiesInstance
from .types import PublicCatalogProductEnvironmentalImpact
from .types import PublicCatalogProductEnvironmentalImpactEstimation
from .types import PublicCatalogProductLocality
from .types import PublicCatalogProductPrice
from .types import PublicCatalogProductProperties
from .types import PublicCatalogProductUnitOfMeasure
from .types import PublicCatalogProduct
from .types import ListPublicCatalogProductsResponse
from .types import PublicCatalogApiListPublicCatalogProductsRequest
Expand All @@ -27,6 +29,7 @@
__all__ = [
"PublicCatalogProductPriceUnitOfMeasureCountableUnit",
"PublicCatalogProductPropertiesHardwareCPUArch",
"PublicCatalogProductUnitOfMeasureCountableUnit",
"PublicCatalogProductPropertiesHardwareCPUPhysical",
"PublicCatalogProductPropertiesHardwareCPUVirtual",
"PublicCatalogProductPropertiesHardwareCPU",
Expand All @@ -40,10 +43,11 @@
"PublicCatalogProductPropertiesElasticMetal",
"PublicCatalogProductPropertiesHardware",
"PublicCatalogProductPropertiesInstance",
"PublicCatalogProductEnvironmentalImpact",
"PublicCatalogProductEnvironmentalImpactEstimation",
"PublicCatalogProductLocality",
"PublicCatalogProductPrice",
"PublicCatalogProductProperties",
"PublicCatalogProductUnitOfMeasure",
"PublicCatalogProduct",
"ListPublicCatalogProductsResponse",
"PublicCatalogApiListPublicCatalogProductsRequest",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@
PublicCatalogProductPropertiesElasticMetal,
PublicCatalogProductPropertiesHardware,
PublicCatalogProductPropertiesInstance,
PublicCatalogProductEnvironmentalImpact,
PublicCatalogProductEnvironmentalImpactEstimation,
PublicCatalogProductLocality,
PublicCatalogProductPrice,
PublicCatalogProductProperties,
PublicCatalogProductUnitOfMeasure,
PublicCatalogProduct,
ListPublicCatalogProductsResponse,
)
Expand Down Expand Up @@ -356,12 +357,12 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
return PublicCatalogProductPropertiesInstance(**args)


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

args: Dict[str, Any] = {}
Expand All @@ -378,7 +379,7 @@ def unmarshal_PublicCatalogProductEnvironmentalImpact(
else:
args["m3_water_usage"] = None

return PublicCatalogProductEnvironmentalImpact(**args)
return PublicCatalogProductEnvironmentalImpactEstimation(**args)


def unmarshal_PublicCatalogProductLocality(data: Any) -> PublicCatalogProductLocality:
Expand Down Expand Up @@ -488,6 +489,27 @@ def unmarshal_PublicCatalogProductProperties(
return PublicCatalogProductProperties(**args)


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

args: Dict[str, Any] = {}

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

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

return PublicCatalogProductUnitOfMeasure(**args)


def unmarshal_PublicCatalogProduct(data: Any) -> PublicCatalogProduct:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -534,13 +556,19 @@ def unmarshal_PublicCatalogProduct(data: Any) -> PublicCatalogProduct:
else:
args["properties"] = None

field = data.get("environmental_impact", None)
field = data.get("environmental_impact_estimation", None)
if field is not None:
args["environmental_impact"] = (
unmarshal_PublicCatalogProductEnvironmentalImpact(field)
args["environmental_impact_estimation"] = (
unmarshal_PublicCatalogProductEnvironmentalImpactEstimation(field)
)
else:
args["environmental_impact"] = None
args["environmental_impact_estimation"] = None

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

return PublicCatalogProduct(**args)

Expand Down
60 changes: 50 additions & 10 deletions scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,38 @@ def __str__(self) -> str:
return str(self.value)


class PublicCatalogProductUnitOfMeasureCountableUnit(str, Enum, metaclass=StrEnumMeta):
UNKNOWN_COUNTABLE_UNIT = "unknown_countable_unit"
CHUNK = "chunk"
CORE = "core"
CURRENCY = "currency"
DEVICE = "device"
DOMAIN = "domain"
EMAIL = "email"
GB_S = "gb_s"
GIGABYTE = "gigabyte"
HOUR = "hour"
IOPS_GIGABYTE = "iops_gigabyte"
IP = "ip"
MONTH = "month"
NODE = "node"
PLAN = "plan"
QUERY = "query"
REQUEST = "request"
SESSION = "session"
VCPU_S = "vcpu_s"
VERSION = "version"
YEAR = "year"
KEY = "key"
TOKEN = "token"
MINUTE = "minute"
SETUP = "setup"
DAY = "day"

def __str__(self) -> str:
return str(self.value)


@dataclass
class PublicCatalogProductPropertiesHardwareCPUPhysical:
sockets: int
Expand Down Expand Up @@ -270,16 +302,10 @@ class PublicCatalogProductPropertiesInstance:


@dataclass
class PublicCatalogProductEnvironmentalImpact:
class PublicCatalogProductEnvironmentalImpactEstimation:
kg_co2_equivalent: Optional[float]
"""
Kilograms of CO2 that would need to be released to produce the equivalent warming impact.
"""

m3_water_usage: Optional[float]
"""
Cubic meters of water used.
"""


@dataclass
Expand All @@ -302,7 +328,7 @@ class PublicCatalogProductPrice:

unit_of_measure: Optional[PublicCatalogProductPriceUnitOfMeasure]
"""
The unit of measure of the price.
The unit of measure of the price (deprecated).
"""


Expand All @@ -322,6 +348,13 @@ class PublicCatalogProductProperties:
instance: Optional[PublicCatalogProductPropertiesInstance]


@dataclass
class PublicCatalogProductUnitOfMeasure:
unit: PublicCatalogProductUnitOfMeasureCountableUnit

size: int


@dataclass
class PublicCatalogProduct:
sku: str
Expand Down Expand Up @@ -364,9 +397,16 @@ class PublicCatalogProduct:
The properties of the product.
"""

environmental_impact: Optional[PublicCatalogProductEnvironmentalImpact]
environmental_impact_estimation: Optional[
PublicCatalogProductEnvironmentalImpactEstimation
]
"""
The environmental impact estimation of the product.
"""

unit_of_measure: Optional[PublicCatalogProductUnitOfMeasure]
"""
The environmental impact of the product.
The unit of measure of the product.
"""


Expand Down
8 changes: 6 additions & 2 deletions scaleway/scaleway/product_catalog/v2alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# If you have any remark or suggestion do not hesitate to open an issue.
from .types import PublicCatalogProductPriceUnitOfMeasureCountableUnit
from .types import PublicCatalogProductPropertiesHardwareCPUArch
from .types import PublicCatalogProductUnitOfMeasureCountableUnit
from .types import PublicCatalogProductPropertiesHardwareCPUPhysical
from .types import PublicCatalogProductPropertiesHardwareCPUVirtual
from .types import PublicCatalogProductPropertiesHardwareCPU
Expand All @@ -15,10 +16,11 @@
from .types import PublicCatalogProductPropertiesElasticMetal
from .types import PublicCatalogProductPropertiesHardware
from .types import PublicCatalogProductPropertiesInstance
from .types import PublicCatalogProductEnvironmentalImpact
from .types import PublicCatalogProductEnvironmentalImpactEstimation
from .types import PublicCatalogProductLocality
from .types import PublicCatalogProductPrice
from .types import PublicCatalogProductProperties
from .types import PublicCatalogProductUnitOfMeasure
from .types import PublicCatalogProduct
from .types import ListPublicCatalogProductsResponse
from .types import PublicCatalogApiListPublicCatalogProductsRequest
Expand All @@ -27,6 +29,7 @@
__all__ = [
"PublicCatalogProductPriceUnitOfMeasureCountableUnit",
"PublicCatalogProductPropertiesHardwareCPUArch",
"PublicCatalogProductUnitOfMeasureCountableUnit",
"PublicCatalogProductPropertiesHardwareCPUPhysical",
"PublicCatalogProductPropertiesHardwareCPUVirtual",
"PublicCatalogProductPropertiesHardwareCPU",
Expand All @@ -40,10 +43,11 @@
"PublicCatalogProductPropertiesElasticMetal",
"PublicCatalogProductPropertiesHardware",
"PublicCatalogProductPropertiesInstance",
"PublicCatalogProductEnvironmentalImpact",
"PublicCatalogProductEnvironmentalImpactEstimation",
"PublicCatalogProductLocality",
"PublicCatalogProductPrice",
"PublicCatalogProductProperties",
"PublicCatalogProductUnitOfMeasure",
"PublicCatalogProduct",
"ListPublicCatalogProductsResponse",
"PublicCatalogApiListPublicCatalogProductsRequest",
Expand Down
46 changes: 37 additions & 9 deletions scaleway/scaleway/product_catalog/v2alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@
PublicCatalogProductPropertiesElasticMetal,
PublicCatalogProductPropertiesHardware,
PublicCatalogProductPropertiesInstance,
PublicCatalogProductEnvironmentalImpact,
PublicCatalogProductEnvironmentalImpactEstimation,
PublicCatalogProductLocality,
PublicCatalogProductPrice,
PublicCatalogProductProperties,
PublicCatalogProductUnitOfMeasure,
PublicCatalogProduct,
ListPublicCatalogProductsResponse,
)
Expand Down Expand Up @@ -356,12 +357,12 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
return PublicCatalogProductPropertiesInstance(**args)


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

args: Dict[str, Any] = {}
Expand All @@ -378,7 +379,7 @@ def unmarshal_PublicCatalogProductEnvironmentalImpact(
else:
args["m3_water_usage"] = None

return PublicCatalogProductEnvironmentalImpact(**args)
return PublicCatalogProductEnvironmentalImpactEstimation(**args)


def unmarshal_PublicCatalogProductLocality(data: Any) -> PublicCatalogProductLocality:
Expand Down Expand Up @@ -488,6 +489,27 @@ def unmarshal_PublicCatalogProductProperties(
return PublicCatalogProductProperties(**args)


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

args: Dict[str, Any] = {}

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

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

return PublicCatalogProductUnitOfMeasure(**args)


def unmarshal_PublicCatalogProduct(data: Any) -> PublicCatalogProduct:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -534,13 +556,19 @@ def unmarshal_PublicCatalogProduct(data: Any) -> PublicCatalogProduct:
else:
args["properties"] = None

field = data.get("environmental_impact", None)
field = data.get("environmental_impact_estimation", None)
if field is not None:
args["environmental_impact"] = (
unmarshal_PublicCatalogProductEnvironmentalImpact(field)
args["environmental_impact_estimation"] = (
unmarshal_PublicCatalogProductEnvironmentalImpactEstimation(field)
)
else:
args["environmental_impact"] = None
args["environmental_impact_estimation"] = None

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

return PublicCatalogProduct(**args)

Expand Down
Loading