diff --git a/scaleway-async/scaleway_async/product_catalog/v2alpha1/__init__.py b/scaleway-async/scaleway_async/product_catalog/v2alpha1/__init__.py index 323b1122a..7239fbf22 100644 --- a/scaleway-async/scaleway_async/product_catalog/v2alpha1/__init__.py +++ b/scaleway-async/scaleway_async/product_catalog/v2alpha1/__init__.py @@ -1,5 +1,6 @@ # This file was automatically generated. DO NOT EDIT. # If you have any remark or suggestion do not hesitate to open an issue. +from .types import ListPublicCatalogProductsRequestProductType from .types import PublicCatalogProductPropertiesHardwareCPUArch from .types import PublicCatalogProductStatus from .types import PublicCatalogProductUnitOfMeasureCountableUnit @@ -26,6 +27,7 @@ from .api import ProductCatalogV2Alpha1PublicCatalogAPI __all__ = [ + "ListPublicCatalogProductsRequestProductType", "PublicCatalogProductPropertiesHardwareCPUArch", "PublicCatalogProductStatus", "PublicCatalogProductUnitOfMeasureCountableUnit", diff --git a/scaleway-async/scaleway_async/product_catalog/v2alpha1/api.py b/scaleway-async/scaleway_async/product_catalog/v2alpha1/api.py index 64c2db73b..7c082f1f1 100644 --- a/scaleway-async/scaleway_async/product_catalog/v2alpha1/api.py +++ b/scaleway-async/scaleway_async/product_catalog/v2alpha1/api.py @@ -8,6 +8,7 @@ fetch_all_pages_async, ) from .types import ( + ListPublicCatalogProductsRequestProductType, ListPublicCatalogProductsResponse, PublicCatalogProduct, ) @@ -24,12 +25,16 @@ async def list_public_catalog_products( *, page: Optional[int] = None, page_size: Optional[int] = None, + product_types: Optional[ + List[ListPublicCatalogProductsRequestProductType] + ] = None, ) -> ListPublicCatalogProductsResponse: """ List all available products. List all available products in the Scaleway catalog. Returns a complete list of products with their corresponding description, locations, prices and properties. You can define the `page` number and `page_size` for your query in the request. :param page: Number of the page. Value must be greater or equal to 1. :param page_size: The number of products per page. Value must be greater or equal to 1. + :param product_types: The list of filtered product categories. :return: :class:`ListPublicCatalogProductsResponse ` Usage: @@ -44,6 +49,7 @@ async def list_public_catalog_products( params={ "page": page, "page_size": page_size or self.client.default_page_size, + "product_types": product_types, }, ) @@ -55,12 +61,16 @@ async def list_public_catalog_products_all( *, page: Optional[int] = None, page_size: Optional[int] = None, + product_types: Optional[ + List[ListPublicCatalogProductsRequestProductType] + ] = None, ) -> List[PublicCatalogProduct]: """ List all available products. List all available products in the Scaleway catalog. Returns a complete list of products with their corresponding description, locations, prices and properties. You can define the `page` number and `page_size` for your query in the request. :param page: Number of the page. Value must be greater or equal to 1. :param page_size: The number of products per page. Value must be greater or equal to 1. + :param product_types: The list of filtered product categories. :return: :class:`List[PublicCatalogProduct] ` Usage: @@ -76,5 +86,6 @@ async def list_public_catalog_products_all( args={ "page": page, "page_size": page_size, + "product_types": product_types, }, ) diff --git a/scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py b/scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py index 0e1043d8f..bf83296d3 100644 --- a/scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py +++ b/scaleway-async/scaleway_async/product_catalog/v2alpha1/types.py @@ -17,6 +17,17 @@ ) +class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_PRODUCT_TYPE = "unknown_product_type" + INSTANCE = "instance" + APPLE_SILICON = "apple_silicon" + ELASTIC_METAL = "elastic_metal" + DEDIBOX = "dedibox" + + def __str__(self) -> str: + return str(self.value) + + class PublicCatalogProductPropertiesHardwareCPUArch(str, Enum, metaclass=StrEnumMeta): UNKNOWN_ARCH = "unknown_arch" X64 = "x64" @@ -415,3 +426,8 @@ class PublicCatalogApiListPublicCatalogProductsRequest: """ The number of products per page. Value must be greater or equal to 1. """ + + product_types: Optional[List[ListPublicCatalogProductsRequestProductType]] + """ + The list of filtered product categories. + """ diff --git a/scaleway/scaleway/product_catalog/v2alpha1/__init__.py b/scaleway/scaleway/product_catalog/v2alpha1/__init__.py index 323b1122a..7239fbf22 100644 --- a/scaleway/scaleway/product_catalog/v2alpha1/__init__.py +++ b/scaleway/scaleway/product_catalog/v2alpha1/__init__.py @@ -1,5 +1,6 @@ # This file was automatically generated. DO NOT EDIT. # If you have any remark or suggestion do not hesitate to open an issue. +from .types import ListPublicCatalogProductsRequestProductType from .types import PublicCatalogProductPropertiesHardwareCPUArch from .types import PublicCatalogProductStatus from .types import PublicCatalogProductUnitOfMeasureCountableUnit @@ -26,6 +27,7 @@ from .api import ProductCatalogV2Alpha1PublicCatalogAPI __all__ = [ + "ListPublicCatalogProductsRequestProductType", "PublicCatalogProductPropertiesHardwareCPUArch", "PublicCatalogProductStatus", "PublicCatalogProductUnitOfMeasureCountableUnit", diff --git a/scaleway/scaleway/product_catalog/v2alpha1/api.py b/scaleway/scaleway/product_catalog/v2alpha1/api.py index 7d029767d..181de4a0a 100644 --- a/scaleway/scaleway/product_catalog/v2alpha1/api.py +++ b/scaleway/scaleway/product_catalog/v2alpha1/api.py @@ -8,6 +8,7 @@ fetch_all_pages, ) from .types import ( + ListPublicCatalogProductsRequestProductType, ListPublicCatalogProductsResponse, PublicCatalogProduct, ) @@ -24,12 +25,16 @@ def list_public_catalog_products( *, page: Optional[int] = None, page_size: Optional[int] = None, + product_types: Optional[ + List[ListPublicCatalogProductsRequestProductType] + ] = None, ) -> ListPublicCatalogProductsResponse: """ List all available products. List all available products in the Scaleway catalog. Returns a complete list of products with their corresponding description, locations, prices and properties. You can define the `page` number and `page_size` for your query in the request. :param page: Number of the page. Value must be greater or equal to 1. :param page_size: The number of products per page. Value must be greater or equal to 1. + :param product_types: The list of filtered product categories. :return: :class:`ListPublicCatalogProductsResponse ` Usage: @@ -44,6 +49,7 @@ def list_public_catalog_products( params={ "page": page, "page_size": page_size or self.client.default_page_size, + "product_types": product_types, }, ) @@ -55,12 +61,16 @@ def list_public_catalog_products_all( *, page: Optional[int] = None, page_size: Optional[int] = None, + product_types: Optional[ + List[ListPublicCatalogProductsRequestProductType] + ] = None, ) -> List[PublicCatalogProduct]: """ List all available products. List all available products in the Scaleway catalog. Returns a complete list of products with their corresponding description, locations, prices and properties. You can define the `page` number and `page_size` for your query in the request. :param page: Number of the page. Value must be greater or equal to 1. :param page_size: The number of products per page. Value must be greater or equal to 1. + :param product_types: The list of filtered product categories. :return: :class:`List[PublicCatalogProduct] ` Usage: @@ -76,5 +86,6 @@ def list_public_catalog_products_all( args={ "page": page, "page_size": page_size, + "product_types": product_types, }, ) diff --git a/scaleway/scaleway/product_catalog/v2alpha1/types.py b/scaleway/scaleway/product_catalog/v2alpha1/types.py index 0e1043d8f..bf83296d3 100644 --- a/scaleway/scaleway/product_catalog/v2alpha1/types.py +++ b/scaleway/scaleway/product_catalog/v2alpha1/types.py @@ -17,6 +17,17 @@ ) +class ListPublicCatalogProductsRequestProductType(str, Enum, metaclass=StrEnumMeta): + UNKNOWN_PRODUCT_TYPE = "unknown_product_type" + INSTANCE = "instance" + APPLE_SILICON = "apple_silicon" + ELASTIC_METAL = "elastic_metal" + DEDIBOX = "dedibox" + + def __str__(self) -> str: + return str(self.value) + + class PublicCatalogProductPropertiesHardwareCPUArch(str, Enum, metaclass=StrEnumMeta): UNKNOWN_ARCH = "unknown_arch" X64 = "x64" @@ -415,3 +426,8 @@ class PublicCatalogApiListPublicCatalogProductsRequest: """ The number of products per page. Value must be greater or equal to 1. """ + + product_types: Optional[List[ListPublicCatalogProductsRequestProductType]] + """ + The list of filtered product categories. + """