Class BaseScalableAttribute

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.core.Construct
software.amazon.awscdk.services.applicationautoscaling.BaseScalableAttribute
All Implemented Interfaces:
IConstruct, IDependable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct
Direct Known Subclasses:
ScalableTaskCount

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:37.320Z") @Stability(Stable) public abstract class BaseScalableAttribute extends Construct
Represent an attribute for which autoscaling can be configured.

This class is basically a light wrapper around ScalableTarget, but with all methods protected instead of public so they can be selectively exposed and/or more specific versions of them can be exposed by derived classes for individual services support autoscaling.

Typical use cases:

  • Hide away the PredefinedMetric enum for target tracking policies.
  • Don't expose all scaling methods (for example Dynamo tables don't support Step Scaling, so the Dynamo subclass won't expose this method).
  • Constructor Details

    • BaseScalableAttribute

      protected BaseScalableAttribute(software.amazon.jsii.JsiiObjectRef objRef)
    • BaseScalableAttribute

      protected BaseScalableAttribute(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • BaseScalableAttribute

      @Stability(Stable) protected BaseScalableAttribute(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull BaseScalableAttributeProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props - This parameter is required.
  • Method Details

    • doScaleOnMetric

      @Stability(Stable) protected void doScaleOnMetric(@NotNull String id, @NotNull BasicStepScalingPolicyProps props)
      Scale out or in based on a metric value.

      Parameters:
      id - This parameter is required.
      props - This parameter is required.
    • doScaleOnSchedule

      @Stability(Stable) protected void doScaleOnSchedule(@NotNull String id, @NotNull ScalingSchedule props)
      Scale out or in based on time.

      Parameters:
      id - This parameter is required.
      props - This parameter is required.
    • doScaleToTrackMetric

      @Stability(Stable) protected void doScaleToTrackMetric(@NotNull String id, @NotNull BasicTargetTrackingScalingPolicyProps props)
      Scale out or in in order to keep a metric around a target value.

      Parameters:
      id - This parameter is required.
      props - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected BaseScalableAttributeProps getProps()