diff --git a/scaleway-async/scaleway_async/rdb/v1/api.py b/scaleway-async/scaleway_async/rdb/v1/api.py index 272361605..f4ce44305 100644 --- a/scaleway-async/scaleway_async/rdb/v1/api.py +++ b/scaleway-async/scaleway_async/rdb/v1/api.py @@ -803,6 +803,7 @@ async def list_instances( order_by: Optional[ListInstancesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, + has_maintenances: Optional[bool] = None, page: Optional[int] = None, page_size: Optional[int] = None, ) -> ListInstancesResponse: @@ -815,6 +816,7 @@ async def list_instances( :param order_by: Criteria to use when ordering Database Instance listings. :param organization_id: Please use project_id instead. :param project_id: Project ID to list the Database Instance of. + :param has_maintenances: Filter to only list instances with a scheduled maintenance. :param page: :param page_size: :return: :class:`ListInstancesResponse ` @@ -833,6 +835,7 @@ async def list_instances( "GET", f"/rdb/v1/regions/{param_region}/instances", params={ + "has_maintenances": has_maintenances, "name": name, "order_by": order_by, "organization_id": organization_id @@ -856,6 +859,7 @@ async def list_instances_all( order_by: Optional[ListInstancesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, + has_maintenances: Optional[bool] = None, page: Optional[int] = None, page_size: Optional[int] = None, ) -> List[Instance]: @@ -868,6 +872,7 @@ async def list_instances_all( :param order_by: Criteria to use when ordering Database Instance listings. :param organization_id: Please use project_id instead. :param project_id: Project ID to list the Database Instance of. + :param has_maintenances: Filter to only list instances with a scheduled maintenance. :param page: :param page_size: :return: :class:`List[Instance] ` @@ -889,6 +894,7 @@ async def list_instances_all( "order_by": order_by, "organization_id": organization_id, "project_id": project_id, + "has_maintenances": has_maintenances, "page": page, "page_size": page_size, }, diff --git a/scaleway-async/scaleway_async/rdb/v1/marshalling.py b/scaleway-async/scaleway_async/rdb/v1/marshalling.py index 6ae68f62c..5b46fbca4 100644 --- a/scaleway-async/scaleway_async/rdb/v1/marshalling.py +++ b/scaleway-async/scaleway_async/rdb/v1/marshalling.py @@ -219,6 +219,10 @@ def unmarshal_Maintenance(data: Any) -> Maintenance: if field is not None: args["status"] = field + field = data.get("is_applicable", None) + if field is not None: + args["is_applicable"] = field + field = data.get("starts_at", None) if field is not None: args["starts_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway-async/scaleway_async/rdb/v1/types.py b/scaleway-async/scaleway_async/rdb/v1/types.py index 2b86e74ac..7ffe6d373 100644 --- a/scaleway-async/scaleway_async/rdb/v1/types.py +++ b/scaleway-async/scaleway_async/rdb/v1/types.py @@ -528,6 +528,11 @@ class Maintenance: Status of the maintenance. """ + is_applicable: bool + """ + Indicate if the maintenance can be applied by the user. + """ + starts_at: Optional[datetime] """ Start date of the maintenance window. @@ -2044,6 +2049,11 @@ class ListInstancesRequest: Project ID to list the Database Instance of. """ + has_maintenances: Optional[bool] + """ + Filter to only list instances with a scheduled maintenance. + """ + page: Optional[int] page_size: Optional[int] diff --git a/scaleway/scaleway/rdb/v1/api.py b/scaleway/scaleway/rdb/v1/api.py index 0fe6d9500..200fb51c9 100644 --- a/scaleway/scaleway/rdb/v1/api.py +++ b/scaleway/scaleway/rdb/v1/api.py @@ -801,6 +801,7 @@ def list_instances( order_by: Optional[ListInstancesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, + has_maintenances: Optional[bool] = None, page: Optional[int] = None, page_size: Optional[int] = None, ) -> ListInstancesResponse: @@ -813,6 +814,7 @@ def list_instances( :param order_by: Criteria to use when ordering Database Instance listings. :param organization_id: Please use project_id instead. :param project_id: Project ID to list the Database Instance of. + :param has_maintenances: Filter to only list instances with a scheduled maintenance. :param page: :param page_size: :return: :class:`ListInstancesResponse ` @@ -831,6 +833,7 @@ def list_instances( "GET", f"/rdb/v1/regions/{param_region}/instances", params={ + "has_maintenances": has_maintenances, "name": name, "order_by": order_by, "organization_id": organization_id @@ -854,6 +857,7 @@ def list_instances_all( order_by: Optional[ListInstancesRequestOrderBy] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, + has_maintenances: Optional[bool] = None, page: Optional[int] = None, page_size: Optional[int] = None, ) -> List[Instance]: @@ -866,6 +870,7 @@ def list_instances_all( :param order_by: Criteria to use when ordering Database Instance listings. :param organization_id: Please use project_id instead. :param project_id: Project ID to list the Database Instance of. + :param has_maintenances: Filter to only list instances with a scheduled maintenance. :param page: :param page_size: :return: :class:`List[Instance] ` @@ -887,6 +892,7 @@ def list_instances_all( "order_by": order_by, "organization_id": organization_id, "project_id": project_id, + "has_maintenances": has_maintenances, "page": page, "page_size": page_size, }, diff --git a/scaleway/scaleway/rdb/v1/marshalling.py b/scaleway/scaleway/rdb/v1/marshalling.py index 6ae68f62c..5b46fbca4 100644 --- a/scaleway/scaleway/rdb/v1/marshalling.py +++ b/scaleway/scaleway/rdb/v1/marshalling.py @@ -219,6 +219,10 @@ def unmarshal_Maintenance(data: Any) -> Maintenance: if field is not None: args["status"] = field + field = data.get("is_applicable", None) + if field is not None: + args["is_applicable"] = field + field = data.get("starts_at", None) if field is not None: args["starts_at"] = parser.isoparse(field) if isinstance(field, str) else field diff --git a/scaleway/scaleway/rdb/v1/types.py b/scaleway/scaleway/rdb/v1/types.py index 2b86e74ac..7ffe6d373 100644 --- a/scaleway/scaleway/rdb/v1/types.py +++ b/scaleway/scaleway/rdb/v1/types.py @@ -528,6 +528,11 @@ class Maintenance: Status of the maintenance. """ + is_applicable: bool + """ + Indicate if the maintenance can be applied by the user. + """ + starts_at: Optional[datetime] """ Start date of the maintenance window. @@ -2044,6 +2049,11 @@ class ListInstancesRequest: Project ID to list the Database Instance of. """ + has_maintenances: Optional[bool] + """ + Filter to only list instances with a scheduled maintenance. + """ + page: Optional[int] page_size: Optional[int]