java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.autoscalingplans.CfnScalingPlanPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-04-14T18:32:08.938Z") @Stability(Stable) public class CfnScalingPlanPropsMixin extends Mixin implements software.constructs.IMixin
The AWS::AutoScalingPlans::ScalingPlan resource defines an AWS Auto Scaling scaling plan.

A scaling plan is used to scale application resources to size them appropriately to ensure that enough resource is available in the application at peak times and to reduce allocated resource during periods of low utilization. The following resources can be added to a scaling plan:

  • Amazon EC2 Auto Scaling groups
  • Amazon EC2 Spot Fleet requests
  • Amazon ECS services
  • Amazon DynamoDB tables and global secondary indexes
  • Amazon Aurora Replicas

For more information, see the Scaling Plans User Guide

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.autoscalingplans.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnScalingPlanPropsMixin cfnScalingPlanPropsMixin = CfnScalingPlanPropsMixin.Builder.create(CfnScalingPlanMixinProps.builder()
         .applicationSource(ApplicationSourceProperty.builder()
                 .cloudFormationStackArn("cloudFormationStackArn")
                 .tagFilters(List.of(TagFilterProperty.builder()
                         .key("key")
                         .values(List.of("values"))
                         .build()))
                 .build())
         .scalingInstructions(List.of(ScalingInstructionProperty.builder()
                 .customizedLoadMetricSpecification(CustomizedLoadMetricSpecificationProperty.builder()
                         .dimensions(List.of(MetricDimensionProperty.builder()
                                 .name("name")
                                 .value("value")
                                 .build()))
                         .metricName("metricName")
                         .namespace("namespace")
                         .statistic("statistic")
                         .unit("unit")
                         .build())
                 .disableDynamicScaling(false)
                 .maxCapacity(123)
                 .minCapacity(123)
                 .predefinedLoadMetricSpecification(PredefinedLoadMetricSpecificationProperty.builder()
                         .predefinedLoadMetricType("predefinedLoadMetricType")
                         .resourceLabel("resourceLabel")
                         .build())
                 .predictiveScalingMaxCapacityBehavior("predictiveScalingMaxCapacityBehavior")
                 .predictiveScalingMaxCapacityBuffer(123)
                 .predictiveScalingMode("predictiveScalingMode")
                 .resourceId("resourceId")
                 .scalableDimension("scalableDimension")
                 .scalingPolicyUpdateBehavior("scalingPolicyUpdateBehavior")
                 .scheduledActionBufferTime(123)
                 .serviceNamespace("serviceNamespace")
                 .targetTrackingConfigurations(List.of(TargetTrackingConfigurationProperty.builder()
                         .customizedScalingMetricSpecification(CustomizedScalingMetricSpecificationProperty.builder()
                                 .dimensions(List.of(MetricDimensionProperty.builder()
                                         .name("name")
                                         .value("value")
                                         .build()))
                                 .metricName("metricName")
                                 .namespace("namespace")
                                 .statistic("statistic")
                                 .unit("unit")
                                 .build())
                         .disableScaleIn(false)
                         .estimatedInstanceWarmup(123)
                         .predefinedScalingMetricSpecification(PredefinedScalingMetricSpecificationProperty.builder()
                                 .predefinedScalingMetricType("predefinedScalingMetricType")
                                 .resourceLabel("resourceLabel")
                                 .build())
                         .scaleInCooldown(123)
                         .scaleOutCooldown(123)
                         .targetValue(123)
                         .build()))
                 .build()))
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnScalingPlanPropsMixin

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

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

      @Stability(Stable) public CfnScalingPlanPropsMixin(@NotNull CfnScalingPlanMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::AutoScalingPlans::ScalingPlan.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnScalingPlanPropsMixin

      @Stability(Stable) public CfnScalingPlanPropsMixin(@NotNull CfnScalingPlanMixinProps props)
      Create a mixin to apply properties to AWS::AutoScalingPlans::ScalingPlan.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnScalingPlanMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()