@Generated(value="jsii-pacmak/1.58.0 (build f8ba112)", date="2022-05-11T19:24:25.121Z") @Stability(value=Stable) public interface CfnScalingPolicyProps extends software.amazon.jsii.JsiiSerializable
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.autoscaling.*;
CfnScalingPolicyProps cfnScalingPolicyProps = CfnScalingPolicyProps.builder()
.autoScalingGroupName("autoScalingGroupName")
// the properties below are optional
.adjustmentType("adjustmentType")
.cooldown("cooldown")
.estimatedInstanceWarmup(123)
.metricAggregationType("metricAggregationType")
.minAdjustmentMagnitude(123)
.policyType("policyType")
.predictiveScalingConfiguration(PredictiveScalingConfigurationProperty.builder()
.metricSpecifications(List.of(PredictiveScalingMetricSpecificationProperty.builder()
.targetValue(123)
// the properties below are optional
.customizedCapacityMetricSpecification(PredictiveScalingCustomizedCapacityMetricProperty.builder()
.metricDataQueries(List.of(MetricDataQueryProperty.builder()
.id("id")
// the properties below are optional
.expression("expression")
.label("label")
.metricStat(MetricStatProperty.builder()
.metric(MetricProperty.builder()
.metricName("metricName")
.namespace("namespace")
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.build())
.stat("stat")
// the properties below are optional
.unit("unit")
.build())
.returnData(false)
.build()))
.build())
.customizedLoadMetricSpecification(PredictiveScalingCustomizedLoadMetricProperty.builder()
.metricDataQueries(List.of(MetricDataQueryProperty.builder()
.id("id")
// the properties below are optional
.expression("expression")
.label("label")
.metricStat(MetricStatProperty.builder()
.metric(MetricProperty.builder()
.metricName("metricName")
.namespace("namespace")
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.build())
.stat("stat")
// the properties below are optional
.unit("unit")
.build())
.returnData(false)
.build()))
.build())
.customizedScalingMetricSpecification(PredictiveScalingCustomizedScalingMetricProperty.builder()
.metricDataQueries(List.of(MetricDataQueryProperty.builder()
.id("id")
// the properties below are optional
.expression("expression")
.label("label")
.metricStat(MetricStatProperty.builder()
.metric(MetricProperty.builder()
.metricName("metricName")
.namespace("namespace")
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.build())
.stat("stat")
// the properties below are optional
.unit("unit")
.build())
.returnData(false)
.build()))
.build())
.predefinedLoadMetricSpecification(PredictiveScalingPredefinedLoadMetricProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.predefinedMetricPairSpecification(PredictiveScalingPredefinedMetricPairProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.predefinedScalingMetricSpecification(PredictiveScalingPredefinedScalingMetricProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.build()))
// the properties below are optional
.maxCapacityBreachBehavior("maxCapacityBreachBehavior")
.maxCapacityBuffer(123)
.mode("mode")
.schedulingBufferTime(123)
.build())
.scalingAdjustment(123)
.stepAdjustments(List.of(StepAdjustmentProperty.builder()
.scalingAdjustment(123)
// the properties below are optional
.metricIntervalLowerBound(123)
.metricIntervalUpperBound(123)
.build()))
.targetTrackingConfiguration(TargetTrackingConfigurationProperty.builder()
.targetValue(123)
// the properties below are optional
.customizedMetricSpecification(CustomizedMetricSpecificationProperty.builder()
.metricName("metricName")
.namespace("namespace")
.statistic("statistic")
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.unit("unit")
.build())
.disableScaleIn(false)
.predefinedMetricSpecification(PredefinedMetricSpecificationProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.build())
.build();
| Modifier and Type | Interface and Description |
|---|---|
static class |
CfnScalingPolicyProps.Builder
A builder for
CfnScalingPolicyProps |
static class |
CfnScalingPolicyProps.Jsii$Proxy
An implementation for
CfnScalingPolicyProps |
| Modifier and Type | Method and Description |
|---|---|
static CfnScalingPolicyProps.Builder |
builder() |
default String |
getAdjustmentType()
Specifies how the scaling adjustment is interpreted.
|
String |
getAutoScalingGroupName()
The name of the Auto Scaling group.
|
default String |
getCooldown()
A cooldown period, in seconds, that applies to a specific simple scaling policy.
|
default Number |
getEstimatedInstanceWarmup()
The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.
|
default String |
getMetricAggregationType()
The aggregation type for the CloudWatch metrics.
|
default Number |
getMinAdjustmentMagnitude()
The minimum value to scale by when the adjustment type is `PercentChangeInCapacity` .
|
default String |
getPolicyType()
One of the following policy types:.
|
default Object |
getPredictiveScalingConfiguration()
A predictive scaling policy.
|
default Number |
getScalingAdjustment()
The amount by which to scale, based on the specified adjustment type.
|
default Object |
getStepAdjustments()
A set of adjustments that enable you to scale based on the size of the alarm breach.
|
default Object |
getTargetTrackingConfiguration()
A target tracking scaling policy.
|
@Stability(value=Stable) @NotNull String getAutoScalingGroupName()
@Stability(value=Stable) @Nullable default String getAdjustmentType()
Required if the policy type is StepScaling or SimpleScaling . For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide .
@Stability(value=Stable) @Nullable default String getCooldown()
When a cooldown period is specified here, it overrides the default cooldown.
Valid only if the policy type is SimpleScaling . For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide .
Default: None
@Stability(value=Stable) @Nullable default Number getEstimatedInstanceWarmup()
This warm-up period applies to instances launched due to a specific target tracking or step scaling policy.
Valid only if the policy type is TargetTrackingScaling or StepScaling .
@Stability(value=Stable) @Nullable default String getMetricAggregationType()
The valid values are Minimum , Maximum , and Average . If the aggregation type is null, the value is treated as Average .
Valid only if the policy type is StepScaling .
@Stability(value=Stable) @Nullable default Number getMinAdjustmentMagnitude()
For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.
Valid only if the policy type is StepScaling or SimpleScaling . For more information, see Scaling adjustment types in the Amazon EC2 Auto Scaling User Guide .
Some Auto Scaling groups use instance weights. In this case, set the
MinAdjustmentMagnitudeto a value that is at least as large as your largest instance weight.
@Stability(value=Stable) @Nullable default String getPolicyType()
TargetTrackingScalingStepScalingSimpleScaling (default)PredictiveScalingFor more information, see Target tracking scaling policies and Step and simple scaling policies in the Amazon EC2 Auto Scaling User Guide .
@Stability(value=Stable) @Nullable default Object getPredictiveScalingConfiguration()
Predefined metrics include CPU utilization, network in/out, and the Application Load Balancer request count.
@Stability(value=Stable) @Nullable default Number getScalingAdjustment()
A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a positive value.
Required if the policy type is SimpleScaling . (Not used with any other policy type.)
@Stability(value=Stable) @Nullable default Object getStepAdjustments()
Required if the policy type is StepScaling . (Not used with any other policy type.)
@Stability(value=Stable) @Nullable default Object getTargetTrackingConfiguration()
The following predefined metrics are available:
ASGAverageCPUUtilizationASGAverageNetworkInASGAverageNetworkOutALBRequestCountPerTarget
If you specify ALBRequestCountPerTarget for the metric, you must specify the ResourceLabel property with the PredefinedMetricSpecification .
@Stability(value=Stable) static CfnScalingPolicyProps.Builder builder()
CfnScalingPolicyProps.Builder of CfnScalingPolicyPropsCopyright © 2022. All rights reserved.