Modifies a scaling rule. If an existing scaling rule does not meet your business requirements, you can call the ModifyScalingRule operation to modify the scaling rule, without the need to create a new one. This operation streamlines your tasks by eliminating the need for repetitive actions, thereby significantly decreasing the time required and minimizing resource expenditures.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
Action | String | Yes | ModifyScalingRule | The operation that you want to perform. Set the value to ModifyScalingRule. |
ScalingRuleId | String | Yes | asr-bp1dvirgwkoowxk7**** | The ID of the scaling rule that you want to modify. |
ScalingRuleName | String | No | scalingrule**** | The name of the scaling rule. The name must be 2 to 64 characters in length, and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a letter or a digit. Note The name of each scaling rule must be unique within the same account and region. |
Cooldown | Integer | No | 60 | The cooldown period of the scaling rule. This parameter is available only if you set ScalingRuleType to SimpleScalingRule. Valid values: 0 to 86400. Unit: seconds. |
MinAdjustmentMagnitude | Integer | No | 1 | The minimum number of instances that must be scaled. This parameter takes effect if you set |
AdjustmentType | String | No | QuantityChangeInCapacity | The adjustment method of the scaling rule. If you set ScalingRuleType to SimpleScalingRule or StepScalingRule, you must specify this parameter. Valid values:
|
AdjustmentValue | Integer | No | 100 | The number of instances that must be scaled based on the scaling rule. If you set ScalingRuleType to SimpleScalingRule or StepScalingRule, you must specify this parameter. Regardless of the scenario, the maximum number of ECS instances that can be added or removed in a single scaling operation is 1000. The value range of this parameter varies based on the value of AdjustmentType.
|
EstimatedInstanceWarmup | Integer | No | 60 | The warmup period of instances to scale. You can specify this parameter only for simple scaling rules and step scaling rules. Auto Scaling adds ECS instances that are in the Warmup state to a scaling group but does not report monitoring data of the ECS instances to CloudMonitor during the warmup period. Note When Auto Scaling calculates the number of ECS instances to scale, ECS instances in the Warmup state are not counted towards the current capacity of the scaling group. Valid values: 0 to 86400. Unit: seconds. |
MetricName | String | No | CpuUtilization | The predefined metric of the scaling rule. If you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule, you must specify this parameter. Valid values if you set ScalingRuleType to TargetTrackingScalingRule:
Valid values if you set ScalingRuleType to PredictiveScalingRule:
|
TargetValue | Float | No | 0.125 | The target value. This parameter is available only if you set ScalingRuleType to TargetTrackingScalingRule or PredictiveScalingRule. The value must be greater than 0 and can have a maximum of three decimal places. |
DisableScaleIn | Boolean | No | true | Specifies whether to disable scale-in. This parameter is available if you set ScalingRuleType to TargetTrackingScalingRule. |
ScaleInEvaluationCount | Integer | No | 15 | The number of consecutive times that the event-triggered task for scale-in purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule. |
ScaleOutEvaluationCount | Integer | No | 3 | The number of consecutive times that the event-triggered task created for scale-out purposes must meet the threshold conditions before an alert is triggered. After a target tracking scaling rule is created, an event-triggered task is automatically created and associated with the target tracking scaling rule. |
PredictiveScalingMode | String | No | PredictAndScale | The mode of the predictive scaling rule. Valid values:
|
PredictiveValueBehavior | String | No | MaxOverridePredictiveValue | The action on the predicted maximum value. Valid values:
|
PredictiveValueBuffer | Integer | No | 50 | The ratio based on which the predicted value is increased when you set |
PredictiveTaskBufferTime | Integer | No | 30 | The amount of buffer time before the prediction task is executed. By default, all prediction tasks that are automatically created by a predictive scaling rule are executed on the hour. You can set a buffer time to execute prediction tasks and prepare resources in advance. Valid values: 0 to 60. |
InitialMaxSize | Integer | No | 100 | The maximum number of ECS instances that can be contained in the scaling group. If you specify InitialMaxSize, you must specify PredictiveValueBehavior. |
StepAdjustment.N.MetricIntervalUpperBound | Float | No | 5.0 | The upper limit of a step adjustment. This parameter takes effect only if you set ScalingRuleType to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18. |
StepAdjustment.N.ScalingAdjustment | Integer | No | 1 | The number of ECS instances that you want to scale in each step adjustment. This parameter is available only if you set ScalingRuleType to StepScalingRule. |
StepAdjustment.N.MetricIntervalLowerBound | Float | No | 1.0 | The lower limit in a step adjustment. This parameter is available only if you set ScalingRuleType to StepScalingRule. Valid values: -9.999999E18 to 9.999999E18. |
AlarmDimension.N.DimensionKey | String | No | rulePool | The dimension key of the metric. |
AlarmDimension.N.DimensionValue | String | No | sgp-l1cbirz451yxu2**** | The dimension value of the metric. |
Response parameters
Parameter | Type | Example | Description |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** | The request ID. |
Examples
Sample requests
http(s)://ess.aliyuncs.com/?Action=ModifyScalingRule
&ScalingRuleId=asr-bp1dvirgwkoowxk7****
&ScalingRuleName=scalingrule****
&Cooldown=60
&MinAdjustmentMagnitude=1
&AdjustmentType=QuantityChangeInCapacity
&AdjustmentValue=100
&EstimatedInstanceWarmup=60
&MetricName=CpuUtilization
&TargetValue=0.125
&DisableScaleIn=true
&ScaleInEvaluationCount=15
&ScaleOutEvaluationCount=3
&PredictiveScalingMode=PredictAndScale
&PredictiveValueBehavior=MaxOverridePredictiveValue
&PredictiveValueBuffer=50
&PredictiveTaskBufferTime=30
&InitialMaxSize=100
&StepAdjustment=[{"MetricIntervalUpperBound":5.0,"ScalingAdjustment":1,"MetricIntervalLowerBound":1.0}]
&AlarmDimension=[{"DimensionKey":"rulePool","DimensionValue":"sgp-l1cbirz451yxu2****"}]
&<Common request parameters>
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyScalingRuleResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</ModifyScalingRuleResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Error codes
For a list of error codes, see Service error codes.
HTTP status code | Error code | Error message | Description |
404 | InvalidScalingRuleId.NotFound | The specified scaling rule does not exist. | The specified scaling rule does not exist within the Alibaba Cloud account. |
400 | InvalidScalingRuleName.Duplicate | The specified value of parameter <parameter name> is duplicated. | The scaling rule name already exists. |
400 | QuotaExceeded.ScalingRule | Scaling rule quota exceeded in the specified scaling group. | The maximum number of scaling rules in the scaling group has been reached. |
400 | TargetTrackingScalingRule.UnsupportedMetric | Specific metric is not supported for target tracking scaling rule. | The target tracking scaling rule does not support the specified metric. |
400 | TargetTrackingScalingRule.DumplicateMetric | Only one TargetTrackingScaling rule for a given metric specification is allowed. | The metric is already specified for another target tracking scaling rule in the scaling group. |
400 | InvalidMinAdjustmentMagnitudeMismatchAdjustmentType | MinAdjustmentMagnitude is not supported by the specified adjustment type. | MinAdjustmentMagnitude does not support the adjustment method of the scaling rule. |
400 | InvalidStepAdjustments.MultipleNullUpperBound | At most one StepAdjustment may have an unspecified upper bound. | A step adjustment that does not have an upper limit already exists. |
400 | InvalidStepAdjustments.MultipleNullLowerBound | At most one StepAdjustment may have an unspecified lower bound. | A step adjustment that does not have a lower limit already exists. |
400 | InvalidStepAdjustments.NoNullLowerBound | There must be a StepAdjustment with an unspecified lower bound when one StepAdjustment has a negative lower bound. | A step adjustment has a negative lower limit, but no step adjustment without a lower limit exists. |
400 | InvalidStepAdjustments.NoNullUpperBound | There must be a StepAdjustment with an unspecified upper bound when one StepAdjustment has a positive upper bound. | A step adjustment has a positive upper limit, but no step adjustment without an upper limit exists. |
400 | InvalidStepAdjustments.Gap | StepAdjustment intervals can not have gaps between them. | The step adjustments have gaps. |
400 | InvalidStepAdjustments.Overlap | StepAdjustment intervals can not overlap. | The ranges of step adjustments overlap. |
400 | InvalidStepAdjustments.LowerGtUpper | LowerBound must be less than the UpperBound for StepAdjustment :%s. | The lower limit of a step adjustment is greater than or equal to the upper limit. |
400 | InvalidStepAdjustments.BothNull | Both lower and upper bounds of a StepAdjustment can not be left unspecified. | The upper limit or lower limit are not specified for a step adjustment. |
400 | InvalidStepAdjustments.MaxNum | Your scaling rule can have at most %s StepAdjustments. | The maximum number of step adjustments in a scaling group has been reached. |
400 | StepBeyondPermitRange | Specific parameter "%s" beyond permit range. | The upper limit or lower limit specified for a step adjustment is invalid. |