+ @abc.abstractmethod
+ async def scale(
+ self,
+ kdu_instance: str,
+ scale: int,
+ resource_name: str,
+ total_timeout: float = 1800,
+ cluster_uuid: str = None,
+ kdu_model: str = None,
+ atomic: bool = True,
+ db_dict: dict = None,
+ **kwargs,
+ ) -> bool:
+ """Scale a resource in a KDU instance.
+
+ Args:
+ kdu_instance: KDU instance name
+ scale: Scale to which to set the resource
+ resource_name: Resource name
+ total_timeout: The time, in seconds, to wait for the install
+ to finish
+ cluster_uuid: The UUID of the cluster
+ kdu_model: The chart/bundle reference
+ atomic: if set, upgrade process rolls back changes made in case of failed upgrade.
+ The --wait flag will be set automatically if --atomic is used
+ db_dict: Dictionary for any additional data
+ kwargs: Additional parameters
+ vca_id (str): VCA ID
+
+ Returns:
+ True if successful, False otherwise
+ """
+
+ @abc.abstractmethod
+ async def get_scale_count(
+ self,
+ resource_name: str,
+ kdu_instance: str,
+ cluster_uuid: str,
+ kdu_model: str,
+ timeout: float = 300,
+ **kwargs,
+ ) -> int:
+ """Get a resource scale count in a KDU instance.
+
+ Args:
+ resource_name: Resource name
+ kdu_instance: KDU instance name
+ cluster_uuid: The UUID of the cluster
+ kdu_model: chart/bundle reference
+ timeout: The time, in seconds, to wait
+ kwargs: Additional parameters
+
+ Returns:
+ Resource instance count
+ """
+