Class CfnScalingPolicy
- All Implemented Interfaces:
IInspectable,IScalingPolicyRef,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
AWS::AutoScaling::ScalingPolicy resource specifies an Amazon EC2 Auto Scaling scaling policy so that the Auto Scaling group can scale the number of instances available for your application.
For more information about using scaling policies to scale your Auto Scaling group automatically, see Dynamic scaling and Predictive scaling in the Amazon EC2 Auto Scaling 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.services.autoscaling.*;
CfnScalingPolicy cfnScalingPolicy = CfnScalingPolicy.Builder.create(this, "MyCfnScalingPolicy")
.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()
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.metricName("metricName")
.metrics(List.of(TargetTrackingMetricDataQueryProperty.builder()
.id("id")
// the properties below are optional
.expression("expression")
.label("label")
.metricStat(TargetTrackingMetricStatProperty.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
.period(123)
.unit("unit")
.build())
.period(123)
.returnData(false)
.build()))
.namespace("namespace")
.period(123)
.statistic("statistic")
.unit("unit")
.build())
.disableScaleIn(false)
.predefinedMetricSpecification(PredefinedMetricSpecificationProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.build())
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnScalingPolicy.static interfaceContains customized metric specification information for a target tracking scaling policy for Amazon EC2 Auto Scaling.static interfaceThe metric data to return.static interfaceMetricDimensionspecifies a name/value pair that is part of the identity of a CloudWatch metric for theDimensionsproperty of the AWS::AutoScaling::ScalingPolicy CustomizedMetricSpecification property type.static interfaceRepresents a specific metric.static interfaceMetricStatis a property of the AWS::AutoScaling::ScalingPolicy MetricDataQuery property type.static interfaceContains predefined metric specification information for a target tracking scaling policy for Amazon EC2 Auto Scaling.static interfacePredictiveScalingConfigurationis a property of the AWS::AutoScaling::ScalingPolicy resource that specifies a predictive scaling policy for Amazon EC2 Auto Scaling.static interfaceContains capacity metric information for theCustomizedCapacityMetricSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceContains load metric information for theCustomizedLoadMetricSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceContains scaling metric information for theCustomizedScalingMetricSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceA structure that specifies a metric specification for theMetricSpecificationsproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingConfiguration property type.static interfaceContains load metric information for thePredefinedLoadMetricSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceContains metric pair information for thePredefinedMetricPairSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceContains scaling metric information for thePredefinedScalingMetricSpecificationproperty of the AWS::AutoScaling::ScalingPolicy PredictiveScalingMetricSpecification property type.static interfaceStepAdjustmentspecifies a step adjustment for theStepAdjustmentsproperty of the AWS::AutoScaling::ScalingPolicy resource.static interfaceTargetTrackingConfigurationis a property of the AWS::AutoScaling::ScalingPolicy resource that specifies a target tracking scaling policy configuration for Amazon EC2 Auto Scaling.static interfaceThe metric data to return.static interfaceThis structure defines the CloudWatch metric to return, along with the statistic and unit.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.services.autoscaling.IScalingPolicyRef
IScalingPolicyRef.Jsii$Default, IScalingPolicyRef.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCfnScalingPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnScalingPolicy(software.amazon.jsii.JsiiObjectRef objRef) CfnScalingPolicy(software.constructs.Construct scope, String id, CfnScalingPolicyProps props) -
Method Summary
Modifier and TypeMethodDescriptionSpecifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage).Returns the ARN of a scaling policy.Returns the name of a scaling policy.The name of the Auto Scaling group.A cooldown period, in seconds, that applies to a specific simple scaling policy.Not needed if the default instance warmup is defined for the group..The aggregation type for the CloudWatch metrics.The minimum value to scale by when the adjustment type isPercentChangeInCapacity.One of the following policy types:.A predictive scaling policy.The amount by which to scale, based on the specified adjustment type.A reference to a ScalingPolicy resource.A set of adjustments that enable you to scale based on the size of the alarm breach.A target tracking scaling policy.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetAdjustmentType(String value) Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage).voidsetAutoScalingGroupName(String value) The name of the Auto Scaling group.voidsetCooldown(String value) A cooldown period, in seconds, that applies to a specific simple scaling policy.voidsetEstimatedInstanceWarmup(Number value) Not needed if the default instance warmup is defined for the group..voidsetMetricAggregationType(String value) The aggregation type for the CloudWatch metrics.voidsetMinAdjustmentMagnitude(Number value) The minimum value to scale by when the adjustment type isPercentChangeInCapacity.voidsetPolicyType(String value) One of the following policy types:.voidA predictive scaling policy.voidA predictive scaling policy.voidsetScalingAdjustment(Number value) The amount by which to scale, based on the specified adjustment type.voidsetStepAdjustments(List<Object> value) A set of adjustments that enable you to scale based on the size of the alarm breach.voidsetStepAdjustments(IResolvable value) A set of adjustments that enable you to scale based on the size of the alarm breach.voidA target tracking scaling policy.voidA target tracking scaling policy.Methods inherited from class software.amazon.awscdk.CfnResource
addDeletionOverride, addDependency, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, obtainDependencies, obtainResourceDependencies, removeDependency, replaceDependency, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.constructs.Construct
getNode, isConstructMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.constructs.IConstruct
getNodeMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnScalingPolicy
protected CfnScalingPolicy(software.amazon.jsii.JsiiObjectRef objRef) -
CfnScalingPolicy
protected CfnScalingPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnScalingPolicy
@Stability(Stable) public CfnScalingPolicy(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnScalingPolicyProps props) - Parameters:
scope- Scope in which this resource is defined. This parameter is required.id- Construct identifier for this resource (unique in its scope). This parameter is required.props- Resource properties. This parameter is required.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector- tree inspector to collect and process attributes. This parameter is required.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrArn
Returns the ARN of a scaling policy. -
getAttrPolicyName
Returns the name of a scaling policy. -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getScalingPolicyRef
A reference to a ScalingPolicy resource.- Specified by:
getScalingPolicyRefin interfaceIScalingPolicyRef
-
getAutoScalingGroupName
The name of the Auto Scaling group. -
setAutoScalingGroupName
The name of the Auto Scaling group. -
getAdjustmentType
Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). -
setAdjustmentType
Specifies how the scaling adjustment is interpreted (for example, an absolute number or a percentage). -
getCooldown
A cooldown period, in seconds, that applies to a specific simple scaling policy. -
setCooldown
A cooldown period, in seconds, that applies to a specific simple scaling policy. -
getEstimatedInstanceWarmup
Not needed if the default instance warmup is defined for the group.. -
setEstimatedInstanceWarmup
Not needed if the default instance warmup is defined for the group.. -
getMetricAggregationType
The aggregation type for the CloudWatch metrics. -
setMetricAggregationType
The aggregation type for the CloudWatch metrics. -
getMinAdjustmentMagnitude
The minimum value to scale by when the adjustment type isPercentChangeInCapacity. -
setMinAdjustmentMagnitude
The minimum value to scale by when the adjustment type isPercentChangeInCapacity. -
getPolicyType
One of the following policy types:. -
setPolicyType
One of the following policy types:. -
getPredictiveScalingConfiguration
A predictive scaling policy.Provides support for predefined and custom metrics.
Returns union: either
IResolvableorCfnScalingPolicy.PredictiveScalingConfigurationProperty -
setPredictiveScalingConfiguration
A predictive scaling policy.Provides support for predefined and custom metrics.
-
setPredictiveScalingConfiguration
@Stability(Stable) public void setPredictiveScalingConfiguration(@Nullable CfnScalingPolicy.PredictiveScalingConfigurationProperty value) A predictive scaling policy.Provides support for predefined and custom metrics.
-
getScalingAdjustment
The amount by which to scale, based on the specified adjustment type. -
setScalingAdjustment
The amount by which to scale, based on the specified adjustment type. -
getStepAdjustments
A set of adjustments that enable you to scale based on the size of the alarm breach.Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnScalingPolicy.StepAdjustmentProperty> -
setStepAdjustments
A set of adjustments that enable you to scale based on the size of the alarm breach. -
setStepAdjustments
A set of adjustments that enable you to scale based on the size of the alarm breach. -
getTargetTrackingConfiguration
A target tracking scaling policy.Provides support for predefined or custom metrics.
Returns union: either
IResolvableorCfnScalingPolicy.TargetTrackingConfigurationProperty -
setTargetTrackingConfiguration
A target tracking scaling policy.Provides support for predefined or custom metrics.
-
setTargetTrackingConfiguration
@Stability(Stable) public void setTargetTrackingConfiguration(@Nullable CfnScalingPolicy.TargetTrackingConfigurationProperty value) A target tracking scaling policy.Provides support for predefined or custom metrics.
-