+ async def scale(self, scale=None, scale_change=None):
+ """
+ Set or adjust the scale of this (K8s) application.
+
+ One or the other of scale or scale_change must be provided.
+
+ :param int scale: Scale to which to set this application.
+ :param int scale_change: Amount by which to adjust the scale of this
+ application (can be positive or negative).
+ """
+ app_facade = client.ApplicationFacade.from_connection(self.connection)
+
+ if (scale, scale_change) == (None, None):
+ raise ValueError('Must provide either scale or scale_change')
+
+ log.debug(
+ 'Scaling application %s %s %s',
+ self.name, 'to' if scale else 'by', scale or scale_change)
+
+ await app_facade.ScaleApplications([
+ client.ScaleApplicationParam(application_tag=self.tag,
+ scale=scale,
+ scale_change=scale_change)
+ ])
+