Skip to content

Commit 40e7623

Browse files
authored
feat(product_catalog): add load balancer to public and admin catalog api (#1433)
1 parent 7cb3e72 commit 40e7623

File tree

6 files changed

+64
-0
lines changed

6 files changed

+64
-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
@@ -21,6 +21,7 @@
2121
from .types import PublicCatalogProductPropertiesGenerativeApis
2222
from .types import PublicCatalogProductPropertiesHardware
2323
from .types import PublicCatalogProductPropertiesInstance
24+
from .types import PublicCatalogProductPropertiesLoadBalancer
2425
from .types import PublicCatalogProductPropertiesManagedInference
2526
from .types import PublicCatalogProductPropertiesObjectStorage
2627
from .types import PublicCatalogProductEnvironmentalImpactEstimation
@@ -55,6 +56,7 @@
5556
"PublicCatalogProductPropertiesGenerativeApis",
5657
"PublicCatalogProductPropertiesHardware",
5758
"PublicCatalogProductPropertiesInstance",
59+
"PublicCatalogProductPropertiesLoadBalancer",
5860
"PublicCatalogProductPropertiesManagedInference",
5961
"PublicCatalogProductPropertiesObjectStorage",
6062
"PublicCatalogProductEnvironmentalImpactEstimation",

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
PublicCatalogProductPropertiesGenerativeApis,
2626
PublicCatalogProductPropertiesHardware,
2727
PublicCatalogProductPropertiesInstance,
28+
PublicCatalogProductPropertiesLoadBalancer,
2829
PublicCatalogProductPropertiesManagedInference,
2930
PublicCatalogProductPropertiesObjectStorage,
3031
PublicCatalogProductEnvironmentalImpactEstimation,
@@ -481,6 +482,19 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
481482
return PublicCatalogProductPropertiesInstance(**args)
482483

483484

485+
def unmarshal_PublicCatalogProductPropertiesLoadBalancer(
486+
data: Any,
487+
) -> PublicCatalogProductPropertiesLoadBalancer:
488+
if not isinstance(data, dict):
489+
raise TypeError(
490+
"Unmarshalling the type 'PublicCatalogProductPropertiesLoadBalancer' failed as data isn't a dictionary."
491+
)
492+
493+
args: dict[str, Any] = {}
494+
495+
return PublicCatalogProductPropertiesLoadBalancer(**args)
496+
497+
484498
def unmarshal_PublicCatalogProductPropertiesManagedInference(
485499
data: Any,
486500
) -> PublicCatalogProductPropertiesManagedInference:
@@ -666,6 +680,14 @@ def unmarshal_PublicCatalogProductProperties(
666680
else:
667681
args["generative_apis"] = None
668682

683+
field = data.get("load_balancer", None)
684+
if field is not None:
685+
args["load_balancer"] = unmarshal_PublicCatalogProductPropertiesLoadBalancer(
686+
field
687+
)
688+
else:
689+
args["load_balancer"] = None
690+
669691
return PublicCatalogProductProperties(**args)
670692

671693

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMe
2727
OBJECT_STORAGE = "object_storage"
2828
MANAGED_INFERENCE = "managed_inference"
2929
GENERATIVE_APIS = "generative_apis"
30+
LOAD_BALANCER = "load_balancer"
3031

3132
def __str__(self) -> str:
3233
return str(self.value)
@@ -375,6 +376,11 @@ class PublicCatalogProductPropertiesInstance:
375376
"""
376377

377378

379+
@dataclass
380+
class PublicCatalogProductPropertiesLoadBalancer:
381+
pass
382+
383+
378384
@dataclass
379385
class PublicCatalogProductPropertiesManagedInference:
380386
instance_gpu_name: str
@@ -436,6 +442,8 @@ class PublicCatalogProductProperties:
436442

437443
generative_apis: Optional[PublicCatalogProductPropertiesGenerativeApis] = None
438444

445+
load_balancer: Optional[PublicCatalogProductPropertiesLoadBalancer] = None
446+
439447

440448
@dataclass
441449
class PublicCatalogProductUnitOfMeasure:

scaleway/scaleway/product_catalog/v2alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from .types import PublicCatalogProductPropertiesGenerativeApis
2222
from .types import PublicCatalogProductPropertiesHardware
2323
from .types import PublicCatalogProductPropertiesInstance
24+
from .types import PublicCatalogProductPropertiesLoadBalancer
2425
from .types import PublicCatalogProductPropertiesManagedInference
2526
from .types import PublicCatalogProductPropertiesObjectStorage
2627
from .types import PublicCatalogProductEnvironmentalImpactEstimation
@@ -55,6 +56,7 @@
5556
"PublicCatalogProductPropertiesGenerativeApis",
5657
"PublicCatalogProductPropertiesHardware",
5758
"PublicCatalogProductPropertiesInstance",
59+
"PublicCatalogProductPropertiesLoadBalancer",
5860
"PublicCatalogProductPropertiesManagedInference",
5961
"PublicCatalogProductPropertiesObjectStorage",
6062
"PublicCatalogProductEnvironmentalImpactEstimation",

scaleway/scaleway/product_catalog/v2alpha1/marshalling.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
PublicCatalogProductPropertiesGenerativeApis,
2626
PublicCatalogProductPropertiesHardware,
2727
PublicCatalogProductPropertiesInstance,
28+
PublicCatalogProductPropertiesLoadBalancer,
2829
PublicCatalogProductPropertiesManagedInference,
2930
PublicCatalogProductPropertiesObjectStorage,
3031
PublicCatalogProductEnvironmentalImpactEstimation,
@@ -481,6 +482,19 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
481482
return PublicCatalogProductPropertiesInstance(**args)
482483

483484

485+
def unmarshal_PublicCatalogProductPropertiesLoadBalancer(
486+
data: Any,
487+
) -> PublicCatalogProductPropertiesLoadBalancer:
488+
if not isinstance(data, dict):
489+
raise TypeError(
490+
"Unmarshalling the type 'PublicCatalogProductPropertiesLoadBalancer' failed as data isn't a dictionary."
491+
)
492+
493+
args: dict[str, Any] = {}
494+
495+
return PublicCatalogProductPropertiesLoadBalancer(**args)
496+
497+
484498
def unmarshal_PublicCatalogProductPropertiesManagedInference(
485499
data: Any,
486500
) -> PublicCatalogProductPropertiesManagedInference:
@@ -666,6 +680,14 @@ def unmarshal_PublicCatalogProductProperties(
666680
else:
667681
args["generative_apis"] = None
668682

683+
field = data.get("load_balancer", None)
684+
if field is not None:
685+
args["load_balancer"] = unmarshal_PublicCatalogProductPropertiesLoadBalancer(
686+
field
687+
)
688+
else:
689+
args["load_balancer"] = None
690+
669691
return PublicCatalogProductProperties(**args)
670692

671693

scaleway/scaleway/product_catalog/v2alpha1/types.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMe
2727
OBJECT_STORAGE = "object_storage"
2828
MANAGED_INFERENCE = "managed_inference"
2929
GENERATIVE_APIS = "generative_apis"
30+
LOAD_BALANCER = "load_balancer"
3031

3132
def __str__(self) -> str:
3233
return str(self.value)
@@ -375,6 +376,11 @@ class PublicCatalogProductPropertiesInstance:
375376
"""
376377

377378

379+
@dataclass
380+
class PublicCatalogProductPropertiesLoadBalancer:
381+
pass
382+
383+
378384
@dataclass
379385
class PublicCatalogProductPropertiesManagedInference:
380386
instance_gpu_name: str
@@ -436,6 +442,8 @@ class PublicCatalogProductProperties:
436442

437443
generative_apis: Optional[PublicCatalogProductPropertiesGenerativeApis] = None
438444

445+
load_balancer: Optional[PublicCatalogProductPropertiesLoadBalancer] = None
446+
439447

440448
@dataclass
441449
class PublicCatalogProductUnitOfMeasure:

0 commit comments

Comments
 (0)