Skip to content

Commit e9f3a58

Browse files
feat(product_catalog): add consumption mode for GEN APIs (scaleway#1407)
Co-authored-by: esoulard <esoulard@scaleway.com>
1 parent adcf240 commit e9f3a58

File tree

6 files changed

+40
-0
lines changed

6 files changed

+40
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from .types import ListPublicCatalogProductsRequestProductType
44
from .types import ListPublicCatalogProductsRequestStatus
55
from .types import PublicCatalogProductProductBadge
6+
from .types import PublicCatalogProductPropertiesGenerativeApisConsumptionMode
67
from .types import PublicCatalogProductPropertiesHardwareCPUArch
78
from .types import PublicCatalogProductStatus
89
from .types import PublicCatalogProductUnitOfMeasureCountableUnit
@@ -36,6 +37,7 @@
3637
"ListPublicCatalogProductsRequestProductType",
3738
"ListPublicCatalogProductsRequestStatus",
3839
"PublicCatalogProductProductBadge",
40+
"PublicCatalogProductPropertiesGenerativeApisConsumptionMode",
3941
"PublicCatalogProductPropertiesHardwareCPUArch",
4042
"PublicCatalogProductStatus",
4143
"PublicCatalogProductUnitOfMeasureCountableUnit",

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,12 @@ def unmarshal_PublicCatalogProductPropertiesGenerativeApis(
398398
else:
399399
args["supported_apis"] = None
400400

401+
field = data.get("consumption_mode", None)
402+
if field is not None:
403+
args["consumption_mode"] = field
404+
else:
405+
args["consumption_mode"] = None
406+
401407
return PublicCatalogProductPropertiesGenerativeApis(**args)
402408

403409

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,17 @@ def __str__(self) -> str:
5858
return str(self.value)
5959

6060

61+
class PublicCatalogProductPropertiesGenerativeApisConsumptionMode(
62+
str, Enum, metaclass=StrEnumMeta
63+
):
64+
UNKNOWN_CONSUMPTION_MODE = "unknown_consumption_mode"
65+
REALTIME = "realtime"
66+
BATCH = "batch"
67+
68+
def __str__(self) -> str:
69+
return str(self.value)
70+
71+
6172
class PublicCatalogProductPropertiesHardwareCPUArch(str, Enum, metaclass=StrEnumMeta):
6273
UNKNOWN_ARCH = "unknown_arch"
6374
X64 = "x64"
@@ -311,6 +322,7 @@ class PublicCatalogProductPropertiesElasticMetal:
311322
class PublicCatalogProductPropertiesGenerativeApis:
312323
reasoning: bool
313324
supported_apis: list[str]
325+
consumption_mode: PublicCatalogProductPropertiesGenerativeApisConsumptionMode
314326

315327

316328
@dataclass

scaleway/scaleway/product_catalog/v2alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from .types import ListPublicCatalogProductsRequestProductType
44
from .types import ListPublicCatalogProductsRequestStatus
55
from .types import PublicCatalogProductProductBadge
6+
from .types import PublicCatalogProductPropertiesGenerativeApisConsumptionMode
67
from .types import PublicCatalogProductPropertiesHardwareCPUArch
78
from .types import PublicCatalogProductStatus
89
from .types import PublicCatalogProductUnitOfMeasureCountableUnit
@@ -36,6 +37,7 @@
3637
"ListPublicCatalogProductsRequestProductType",
3738
"ListPublicCatalogProductsRequestStatus",
3839
"PublicCatalogProductProductBadge",
40+
"PublicCatalogProductPropertiesGenerativeApisConsumptionMode",
3941
"PublicCatalogProductPropertiesHardwareCPUArch",
4042
"PublicCatalogProductStatus",
4143
"PublicCatalogProductUnitOfMeasureCountableUnit",

scaleway/scaleway/product_catalog/v2alpha1/marshalling.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,12 @@ def unmarshal_PublicCatalogProductPropertiesGenerativeApis(
398398
else:
399399
args["supported_apis"] = None
400400

401+
field = data.get("consumption_mode", None)
402+
if field is not None:
403+
args["consumption_mode"] = field
404+
else:
405+
args["consumption_mode"] = None
406+
401407
return PublicCatalogProductPropertiesGenerativeApis(**args)
402408

403409

scaleway/scaleway/product_catalog/v2alpha1/types.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,17 @@ def __str__(self) -> str:
5858
return str(self.value)
5959

6060

61+
class PublicCatalogProductPropertiesGenerativeApisConsumptionMode(
62+
str, Enum, metaclass=StrEnumMeta
63+
):
64+
UNKNOWN_CONSUMPTION_MODE = "unknown_consumption_mode"
65+
REALTIME = "realtime"
66+
BATCH = "batch"
67+
68+
def __str__(self) -> str:
69+
return str(self.value)
70+
71+
6172
class PublicCatalogProductPropertiesHardwareCPUArch(str, Enum, metaclass=StrEnumMeta):
6273
UNKNOWN_ARCH = "unknown_arch"
6374
X64 = "x64"
@@ -311,6 +322,7 @@ class PublicCatalogProductPropertiesElasticMetal:
311322
class PublicCatalogProductPropertiesGenerativeApis:
312323
reasoning: bool
313324
supported_apis: list[str]
325+
consumption_mode: PublicCatalogProductPropertiesGenerativeApisConsumptionMode
314326

315327

316328
@dataclass

0 commit comments

Comments
 (0)