Skip to content

Commit 30d7186

Browse files
authored
feat(product_catalog): add secret and key manager to GetCatalog API (#1442)
1 parent a6a4c16 commit 30d7186

File tree

6 files changed

+124
-0
lines changed

6 files changed

+124
-0
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@
2121
from .types import PublicCatalogProductPropertiesGenerativeApis
2222
from .types import PublicCatalogProductPropertiesHardware
2323
from .types import PublicCatalogProductPropertiesInstance
24+
from .types import PublicCatalogProductPropertiesKeyManager
2425
from .types import PublicCatalogProductPropertiesLoadBalancer
2526
from .types import PublicCatalogProductPropertiesManagedInference
2627
from .types import PublicCatalogProductPropertiesObjectStorage
28+
from .types import PublicCatalogProductPropertiesSecretManager
2729
from .types import PublicCatalogProductEnvironmentalImpactEstimation
2830
from .types import PublicCatalogProductLocality
2931
from .types import PublicCatalogProductPrice
@@ -56,9 +58,11 @@
5658
"PublicCatalogProductPropertiesGenerativeApis",
5759
"PublicCatalogProductPropertiesHardware",
5860
"PublicCatalogProductPropertiesInstance",
61+
"PublicCatalogProductPropertiesKeyManager",
5962
"PublicCatalogProductPropertiesLoadBalancer",
6063
"PublicCatalogProductPropertiesManagedInference",
6164
"PublicCatalogProductPropertiesObjectStorage",
65+
"PublicCatalogProductPropertiesSecretManager",
6266
"PublicCatalogProductEnvironmentalImpactEstimation",
6367
"PublicCatalogProductLocality",
6468
"PublicCatalogProductPrice",

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

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
PublicCatalogProductPropertiesGenerativeApis,
2626
PublicCatalogProductPropertiesHardware,
2727
PublicCatalogProductPropertiesInstance,
28+
PublicCatalogProductPropertiesKeyManager,
2829
PublicCatalogProductPropertiesLoadBalancer,
2930
PublicCatalogProductPropertiesManagedInference,
3031
PublicCatalogProductPropertiesObjectStorage,
32+
PublicCatalogProductPropertiesSecretManager,
3133
PublicCatalogProductEnvironmentalImpactEstimation,
3234
PublicCatalogProductLocality,
3335
PublicCatalogProductPrice,
@@ -482,6 +484,19 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
482484
return PublicCatalogProductPropertiesInstance(**args)
483485

484486

487+
def unmarshal_PublicCatalogProductPropertiesKeyManager(
488+
data: Any,
489+
) -> PublicCatalogProductPropertiesKeyManager:
490+
if not isinstance(data, dict):
491+
raise TypeError(
492+
"Unmarshalling the type 'PublicCatalogProductPropertiesKeyManager' failed as data isn't a dictionary."
493+
)
494+
495+
args: dict[str, Any] = {}
496+
497+
return PublicCatalogProductPropertiesKeyManager(**args)
498+
499+
485500
def unmarshal_PublicCatalogProductPropertiesLoadBalancer(
486501
data: Any,
487502
) -> PublicCatalogProductPropertiesLoadBalancer:
@@ -527,6 +542,19 @@ def unmarshal_PublicCatalogProductPropertiesObjectStorage(
527542
return PublicCatalogProductPropertiesObjectStorage(**args)
528543

529544

545+
def unmarshal_PublicCatalogProductPropertiesSecretManager(
546+
data: Any,
547+
) -> PublicCatalogProductPropertiesSecretManager:
548+
if not isinstance(data, dict):
549+
raise TypeError(
550+
"Unmarshalling the type 'PublicCatalogProductPropertiesSecretManager' failed as data isn't a dictionary."
551+
)
552+
553+
args: dict[str, Any] = {}
554+
555+
return PublicCatalogProductPropertiesSecretManager(**args)
556+
557+
530558
def unmarshal_PublicCatalogProductEnvironmentalImpactEstimation(
531559
data: Any,
532560
) -> PublicCatalogProductEnvironmentalImpactEstimation:
@@ -688,6 +716,20 @@ def unmarshal_PublicCatalogProductProperties(
688716
else:
689717
args["load_balancer"] = None
690718

719+
field = data.get("secret_manager", None)
720+
if field is not None:
721+
args["secret_manager"] = unmarshal_PublicCatalogProductPropertiesSecretManager(
722+
field
723+
)
724+
else:
725+
args["secret_manager"] = None
726+
727+
field = data.get("key_manager", None)
728+
if field is not None:
729+
args["key_manager"] = unmarshal_PublicCatalogProductPropertiesKeyManager(field)
730+
else:
731+
args["key_manager"] = None
732+
691733
return PublicCatalogProductProperties(**args)
692734

693735

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMe
2828
MANAGED_INFERENCE = "managed_inference"
2929
GENERATIVE_APIS = "generative_apis"
3030
LOAD_BALANCER = "load_balancer"
31+
SECRET_MANAGER = "secret_manager"
32+
KEY_MANAGER = "key_manager"
3133

3234
def __str__(self) -> str:
3335
return str(self.value)
@@ -376,6 +378,11 @@ class PublicCatalogProductPropertiesInstance:
376378
"""
377379

378380

381+
@dataclass
382+
class PublicCatalogProductPropertiesKeyManager:
383+
pass
384+
385+
379386
@dataclass
380387
class PublicCatalogProductPropertiesLoadBalancer:
381388
pass
@@ -394,6 +401,11 @@ class PublicCatalogProductPropertiesObjectStorage:
394401
pass
395402

396403

404+
@dataclass
405+
class PublicCatalogProductPropertiesSecretManager:
406+
pass
407+
408+
397409
@dataclass
398410
class PublicCatalogProductEnvironmentalImpactEstimation:
399411
kg_co2_equivalent: Optional[float] = None
@@ -444,6 +456,10 @@ class PublicCatalogProductProperties:
444456

445457
load_balancer: Optional[PublicCatalogProductPropertiesLoadBalancer] = None
446458

459+
secret_manager: Optional[PublicCatalogProductPropertiesSecretManager] = None
460+
461+
key_manager: Optional[PublicCatalogProductPropertiesKeyManager] = None
462+
447463

448464
@dataclass
449465
class PublicCatalogProductUnitOfMeasure:

scaleway/scaleway/product_catalog/v2alpha1/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@
2121
from .types import PublicCatalogProductPropertiesGenerativeApis
2222
from .types import PublicCatalogProductPropertiesHardware
2323
from .types import PublicCatalogProductPropertiesInstance
24+
from .types import PublicCatalogProductPropertiesKeyManager
2425
from .types import PublicCatalogProductPropertiesLoadBalancer
2526
from .types import PublicCatalogProductPropertiesManagedInference
2627
from .types import PublicCatalogProductPropertiesObjectStorage
28+
from .types import PublicCatalogProductPropertiesSecretManager
2729
from .types import PublicCatalogProductEnvironmentalImpactEstimation
2830
from .types import PublicCatalogProductLocality
2931
from .types import PublicCatalogProductPrice
@@ -56,9 +58,11 @@
5658
"PublicCatalogProductPropertiesGenerativeApis",
5759
"PublicCatalogProductPropertiesHardware",
5860
"PublicCatalogProductPropertiesInstance",
61+
"PublicCatalogProductPropertiesKeyManager",
5962
"PublicCatalogProductPropertiesLoadBalancer",
6063
"PublicCatalogProductPropertiesManagedInference",
6164
"PublicCatalogProductPropertiesObjectStorage",
65+
"PublicCatalogProductPropertiesSecretManager",
6266
"PublicCatalogProductEnvironmentalImpactEstimation",
6367
"PublicCatalogProductLocality",
6468
"PublicCatalogProductPrice",

scaleway/scaleway/product_catalog/v2alpha1/marshalling.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
PublicCatalogProductPropertiesGenerativeApis,
2626
PublicCatalogProductPropertiesHardware,
2727
PublicCatalogProductPropertiesInstance,
28+
PublicCatalogProductPropertiesKeyManager,
2829
PublicCatalogProductPropertiesLoadBalancer,
2930
PublicCatalogProductPropertiesManagedInference,
3031
PublicCatalogProductPropertiesObjectStorage,
32+
PublicCatalogProductPropertiesSecretManager,
3133
PublicCatalogProductEnvironmentalImpactEstimation,
3234
PublicCatalogProductLocality,
3335
PublicCatalogProductPrice,
@@ -482,6 +484,19 @@ def unmarshal_PublicCatalogProductPropertiesInstance(
482484
return PublicCatalogProductPropertiesInstance(**args)
483485

484486

487+
def unmarshal_PublicCatalogProductPropertiesKeyManager(
488+
data: Any,
489+
) -> PublicCatalogProductPropertiesKeyManager:
490+
if not isinstance(data, dict):
491+
raise TypeError(
492+
"Unmarshalling the type 'PublicCatalogProductPropertiesKeyManager' failed as data isn't a dictionary."
493+
)
494+
495+
args: dict[str, Any] = {}
496+
497+
return PublicCatalogProductPropertiesKeyManager(**args)
498+
499+
485500
def unmarshal_PublicCatalogProductPropertiesLoadBalancer(
486501
data: Any,
487502
) -> PublicCatalogProductPropertiesLoadBalancer:
@@ -527,6 +542,19 @@ def unmarshal_PublicCatalogProductPropertiesObjectStorage(
527542
return PublicCatalogProductPropertiesObjectStorage(**args)
528543

529544

545+
def unmarshal_PublicCatalogProductPropertiesSecretManager(
546+
data: Any,
547+
) -> PublicCatalogProductPropertiesSecretManager:
548+
if not isinstance(data, dict):
549+
raise TypeError(
550+
"Unmarshalling the type 'PublicCatalogProductPropertiesSecretManager' failed as data isn't a dictionary."
551+
)
552+
553+
args: dict[str, Any] = {}
554+
555+
return PublicCatalogProductPropertiesSecretManager(**args)
556+
557+
530558
def unmarshal_PublicCatalogProductEnvironmentalImpactEstimation(
531559
data: Any,
532560
) -> PublicCatalogProductEnvironmentalImpactEstimation:
@@ -688,6 +716,20 @@ def unmarshal_PublicCatalogProductProperties(
688716
else:
689717
args["load_balancer"] = None
690718

719+
field = data.get("secret_manager", None)
720+
if field is not None:
721+
args["secret_manager"] = unmarshal_PublicCatalogProductPropertiesSecretManager(
722+
field
723+
)
724+
else:
725+
args["secret_manager"] = None
726+
727+
field = data.get("key_manager", None)
728+
if field is not None:
729+
args["key_manager"] = unmarshal_PublicCatalogProductPropertiesKeyManager(field)
730+
else:
731+
args["key_manager"] = None
732+
691733
return PublicCatalogProductProperties(**args)
692734

693735

scaleway/scaleway/product_catalog/v2alpha1/types.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMe
2828
MANAGED_INFERENCE = "managed_inference"
2929
GENERATIVE_APIS = "generative_apis"
3030
LOAD_BALANCER = "load_balancer"
31+
SECRET_MANAGER = "secret_manager"
32+
KEY_MANAGER = "key_manager"
3133

3234
def __str__(self) -> str:
3335
return str(self.value)
@@ -376,6 +378,11 @@ class PublicCatalogProductPropertiesInstance:
376378
"""
377379

378380

381+
@dataclass
382+
class PublicCatalogProductPropertiesKeyManager:
383+
pass
384+
385+
379386
@dataclass
380387
class PublicCatalogProductPropertiesLoadBalancer:
381388
pass
@@ -394,6 +401,11 @@ class PublicCatalogProductPropertiesObjectStorage:
394401
pass
395402

396403

404+
@dataclass
405+
class PublicCatalogProductPropertiesSecretManager:
406+
pass
407+
408+
397409
@dataclass
398410
class PublicCatalogProductEnvironmentalImpactEstimation:
399411
kg_co2_equivalent: Optional[float] = None
@@ -444,6 +456,10 @@ class PublicCatalogProductProperties:
444456

445457
load_balancer: Optional[PublicCatalogProductPropertiesLoadBalancer] = None
446458

459+
secret_manager: Optional[PublicCatalogProductPropertiesSecretManager] = None
460+
461+
key_manager: Optional[PublicCatalogProductPropertiesKeyManager] = None
462+
447463

448464
@dataclass
449465
class PublicCatalogProductUnitOfMeasure:

0 commit comments

Comments
 (0)