alicloud.ess.ScalingRule
Explore with Pulumi AI
Provides a ESS scaling rule resource.
For information about ess scaling rule, see CreateScalingRule.
NOTE: Available since v1.39.0.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const config = new pulumi.Config();
const name = config.get("name") || "terraform-example";
const defaultInteger = new random.index.Integer("default", {
min: 10000,
max: 99999,
});
const myName = `${name}-${defaultInteger.result}`;
const default = alicloud.getZones({
availableDiskCategory: "cloud_efficiency",
availableResourceCreation: "VSwitch",
});
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
availabilityZone: _default.zones?.[0]?.id,
cpuCoreCount: 2,
memorySize: 4,
}));
const defaultGetImages = alicloud.ecs.getImages({
nameRegex: "^ubuntu_18.*64",
mostRecent: true,
owners: "system",
});
const defaultNetwork = new alicloud.vpc.Network("default", {
vpcName: myName,
cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
vpcId: defaultNetwork.id,
cidrBlock: "172.16.0.0/24",
zoneId: _default.then(_default => _default.zones?.[0]?.id),
vswitchName: myName,
});
const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
name: myName,
vpcId: defaultNetwork.id,
});
const defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule("default", {
type: "ingress",
ipProtocol: "tcp",
nicType: "intranet",
policy: "accept",
portRange: "22/22",
priority: 1,
securityGroupId: defaultSecurityGroup.id,
cidrIp: "172.16.0.0/24",
});
const defaultScalingGroup = new alicloud.ess.ScalingGroup("default", {
minSize: 1,
maxSize: 1,
scalingGroupName: myName,
vswitchIds: [defaultSwitch.id],
removalPolicies: [
"OldestInstance",
"NewestInstance",
],
});
const defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration("default", {
scalingGroupId: defaultScalingGroup.id,
imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
instanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
securityGroupId: defaultSecurityGroup.id,
forceDelete: true,
});
const defaultScalingRule = new alicloud.ess.ScalingRule("default", {
scalingGroupId: defaultScalingGroup.id,
adjustmentType: "TotalCapacity",
adjustmentValue: 1,
});
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
default_integer = random.index.Integer("default",
min=10000,
max=99999)
my_name = f"{name}-{default_integer['result']}"
default = alicloud.get_zones(available_disk_category="cloud_efficiency",
available_resource_creation="VSwitch")
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id,
cpu_core_count=2,
memory_size=4)
default_get_images = alicloud.ecs.get_images(name_regex="^ubuntu_18.*64",
most_recent=True,
owners="system")
default_network = alicloud.vpc.Network("default",
vpc_name=my_name,
cidr_block="172.16.0.0/16")
default_switch = alicloud.vpc.Switch("default",
vpc_id=default_network.id,
cidr_block="172.16.0.0/24",
zone_id=default.zones[0].id,
vswitch_name=my_name)
default_security_group = alicloud.ecs.SecurityGroup("default",
name=my_name,
vpc_id=default_network.id)
default_security_group_rule = alicloud.ecs.SecurityGroupRule("default",
type="ingress",
ip_protocol="tcp",
nic_type="intranet",
policy="accept",
port_range="22/22",
priority=1,
security_group_id=default_security_group.id,
cidr_ip="172.16.0.0/24")
default_scaling_group = alicloud.ess.ScalingGroup("default",
min_size=1,
max_size=1,
scaling_group_name=my_name,
vswitch_ids=[default_switch.id],
removal_policies=[
"OldestInstance",
"NewestInstance",
])
default_scaling_configuration = alicloud.ess.ScalingConfiguration("default",
scaling_group_id=default_scaling_group.id,
image_id=default_get_images.images[0].id,
instance_type=default_get_instance_types.instance_types[0].id,
security_group_id=default_security_group.id,
force_delete=True)
default_scaling_rule = alicloud.ess.ScalingRule("default",
scaling_group_id=default_scaling_group.id,
adjustment_type="TotalCapacity",
adjustment_value=1)
package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ess"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "terraform-example"
if param := cfg.Get("name"); param != "" {
name = param
}
defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
myName := fmt.Sprintf("%v-%v", name, defaultInteger.Result)
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableDiskCategory: pulumi.StringRef("cloud_efficiency"),
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
CpuCoreCount: pulumi.IntRef(2),
MemorySize: pulumi.Float64Ref(4),
}, nil)
if err != nil {
return err
}
defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
NameRegex: pulumi.StringRef("^ubuntu_18.*64"),
MostRecent: pulumi.BoolRef(true),
Owners: pulumi.StringRef("system"),
}, nil)
if err != nil {
return err
}
defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
VpcName: pulumi.String(myName),
CidrBlock: pulumi.String("172.16.0.0/16"),
})
if err != nil {
return err
}
defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
VpcId: defaultNetwork.ID(),
CidrBlock: pulumi.String("172.16.0.0/24"),
ZoneId: pulumi.String(_default.Zones[0].Id),
VswitchName: pulumi.String(myName),
})
if err != nil {
return err
}
defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
Name: pulumi.String(myName),
VpcId: defaultNetwork.ID(),
})
if err != nil {
return err
}
_, err = ecs.NewSecurityGroupRule(ctx, "default", &ecs.SecurityGroupRuleArgs{
Type: pulumi.String("ingress"),
IpProtocol: pulumi.String("tcp"),
NicType: pulumi.String("intranet"),
Policy: pulumi.String("accept"),
PortRange: pulumi.String("22/22"),
Priority: pulumi.Int(1),
SecurityGroupId: defaultSecurityGroup.ID(),
CidrIp: pulumi.String("172.16.0.0/24"),
})
if err != nil {
return err
}
defaultScalingGroup, err := ess.NewScalingGroup(ctx, "default", &ess.ScalingGroupArgs{
MinSize: pulumi.Int(1),
MaxSize: pulumi.Int(1),
ScalingGroupName: pulumi.String(myName),
VswitchIds: pulumi.StringArray{
defaultSwitch.ID(),
},
RemovalPolicies: pulumi.StringArray{
pulumi.String("OldestInstance"),
pulumi.String("NewestInstance"),
},
})
if err != nil {
return err
}
_, err = ess.NewScalingConfiguration(ctx, "default", &ess.ScalingConfigurationArgs{
ScalingGroupId: defaultScalingGroup.ID(),
ImageId: pulumi.String(defaultGetImages.Images[0].Id),
InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
SecurityGroupId: defaultSecurityGroup.ID(),
ForceDelete: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = ess.NewScalingRule(ctx, "default", &ess.ScalingRuleArgs{
ScalingGroupId: defaultScalingGroup.ID(),
AdjustmentType: pulumi.String("TotalCapacity"),
AdjustmentValue: pulumi.Int(1),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform-example";
var defaultInteger = new Random.Index.Integer("default", new()
{
Min = 10000,
Max = 99999,
});
var myName = $"{name}-{defaultInteger.Result}";
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableDiskCategory = "cloud_efficiency",
AvailableResourceCreation = "VSwitch",
});
var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
{
AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
CpuCoreCount = 2,
MemorySize = 4,
});
var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
{
NameRegex = "^ubuntu_18.*64",
MostRecent = true,
Owners = "system",
});
var defaultNetwork = new AliCloud.Vpc.Network("default", new()
{
VpcName = myName,
CidrBlock = "172.16.0.0/16",
});
var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
{
VpcId = defaultNetwork.Id,
CidrBlock = "172.16.0.0/24",
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
VswitchName = myName,
});
var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("default", new()
{
Name = myName,
VpcId = defaultNetwork.Id,
});
var defaultSecurityGroupRule = new AliCloud.Ecs.SecurityGroupRule("default", new()
{
Type = "ingress",
IpProtocol = "tcp",
NicType = "intranet",
Policy = "accept",
PortRange = "22/22",
Priority = 1,
SecurityGroupId = defaultSecurityGroup.Id,
CidrIp = "172.16.0.0/24",
});
var defaultScalingGroup = new AliCloud.Ess.ScalingGroup("default", new()
{
MinSize = 1,
MaxSize = 1,
ScalingGroupName = myName,
VswitchIds = new[]
{
defaultSwitch.Id,
},
RemovalPolicies = new[]
{
"OldestInstance",
"NewestInstance",
},
});
var defaultScalingConfiguration = new AliCloud.Ess.ScalingConfiguration("default", new()
{
ScalingGroupId = defaultScalingGroup.Id,
ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
InstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
SecurityGroupId = defaultSecurityGroup.Id,
ForceDelete = true,
});
var defaultScalingRule = new AliCloud.Ess.ScalingRule("default", new()
{
ScalingGroupId = defaultScalingGroup.Id,
AdjustmentType = "TotalCapacity",
AdjustmentValue = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ecs.SecurityGroupRule;
import com.pulumi.alicloud.ecs.SecurityGroupRuleArgs;
import com.pulumi.alicloud.ess.ScalingGroup;
import com.pulumi.alicloud.ess.ScalingGroupArgs;
import com.pulumi.alicloud.ess.ScalingConfiguration;
import com.pulumi.alicloud.ess.ScalingConfigurationArgs;
import com.pulumi.alicloud.ess.ScalingRule;
import com.pulumi.alicloud.ess.ScalingRuleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("terraform-example");
var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()
.min(10000)
.max(99999)
.build());
final var myName = String.format("%s-%s", name,defaultInteger.result());
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableDiskCategory("cloud_efficiency")
.availableResourceCreation("VSwitch")
.build());
final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(default_.zones()[0].id())
.cpuCoreCount(2)
.memorySize(4)
.build());
final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^ubuntu_18.*64")
.mostRecent(true)
.owners("system")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(myName)
.cidrBlock("172.16.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/24")
.zoneId(default_.zones()[0].id())
.vswitchName(myName)
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.name(myName)
.vpcId(defaultNetwork.id())
.build());
var defaultSecurityGroupRule = new SecurityGroupRule("defaultSecurityGroupRule", SecurityGroupRuleArgs.builder()
.type("ingress")
.ipProtocol("tcp")
.nicType("intranet")
.policy("accept")
.portRange("22/22")
.priority(1)
.securityGroupId(defaultSecurityGroup.id())
.cidrIp("172.16.0.0/24")
.build());
var defaultScalingGroup = new ScalingGroup("defaultScalingGroup", ScalingGroupArgs.builder()
.minSize(1)
.maxSize(1)
.scalingGroupName(myName)
.vswitchIds(defaultSwitch.id())
.removalPolicies(
"OldestInstance",
"NewestInstance")
.build());
var defaultScalingConfiguration = new ScalingConfiguration("defaultScalingConfiguration", ScalingConfigurationArgs.builder()
.scalingGroupId(defaultScalingGroup.id())
.imageId(defaultGetImages.applyValue(getImagesResult -> getImagesResult.images()[0].id()))
.instanceType(defaultGetInstanceTypes.applyValue(getInstanceTypesResult -> getInstanceTypesResult.instanceTypes()[0].id()))
.securityGroupId(defaultSecurityGroup.id())
.forceDelete("true")
.build());
var defaultScalingRule = new ScalingRule("defaultScalingRule", ScalingRuleArgs.builder()
.scalingGroupId(defaultScalingGroup.id())
.adjustmentType("TotalCapacity")
.adjustmentValue(1)
.build());
}
}
configuration:
name:
type: string
default: terraform-example
resources:
defaultInteger:
type: random:integer
name: default
properties:
min: 10000
max: 99999
defaultNetwork:
type: alicloud:vpc:Network
name: default
properties:
vpcName: ${myName}
cidrBlock: 172.16.0.0/16
defaultSwitch:
type: alicloud:vpc:Switch
name: default
properties:
vpcId: ${defaultNetwork.id}
cidrBlock: 172.16.0.0/24
zoneId: ${default.zones[0].id}
vswitchName: ${myName}
defaultSecurityGroup:
type: alicloud:ecs:SecurityGroup
name: default
properties:
name: ${myName}
vpcId: ${defaultNetwork.id}
defaultSecurityGroupRule:
type: alicloud:ecs:SecurityGroupRule
name: default
properties:
type: ingress
ipProtocol: tcp
nicType: intranet
policy: accept
portRange: 22/22
priority: 1
securityGroupId: ${defaultSecurityGroup.id}
cidrIp: 172.16.0.0/24
defaultScalingGroup:
type: alicloud:ess:ScalingGroup
name: default
properties:
minSize: 1
maxSize: 1
scalingGroupName: ${myName}
vswitchIds:
- ${defaultSwitch.id}
removalPolicies:
- OldestInstance
- NewestInstance
defaultScalingConfiguration:
type: alicloud:ess:ScalingConfiguration
name: default
properties:
scalingGroupId: ${defaultScalingGroup.id}
imageId: ${defaultGetImages.images[0].id}
instanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
securityGroupId: ${defaultSecurityGroup.id}
forceDelete: 'true'
defaultScalingRule:
type: alicloud:ess:ScalingRule
name: default
properties:
scalingGroupId: ${defaultScalingGroup.id}
adjustmentType: TotalCapacity
adjustmentValue: 1
variables:
myName: ${name}-${defaultInteger.result}
default:
fn::invoke:
Function: alicloud:getZones
Arguments:
availableDiskCategory: cloud_efficiency
availableResourceCreation: VSwitch
defaultGetInstanceTypes:
fn::invoke:
Function: alicloud:ecs:getInstanceTypes
Arguments:
availabilityZone: ${default.zones[0].id}
cpuCoreCount: 2
memorySize: 4
defaultGetImages:
fn::invoke:
Function: alicloud:ecs:getImages
Arguments:
nameRegex: ^ubuntu_18.*64
mostRecent: true
owners: system
Module Support
You can use to the existing autoscaling-rule module to create different type rules, alarm task and scheduled task one-click.
Create ScalingRule Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ScalingRule(name: string, args: ScalingRuleArgs, opts?: CustomResourceOptions);
@overload
def ScalingRule(resource_name: str,
args: ScalingRuleArgs,
opts: Optional[ResourceOptions] = None)
@overload
def ScalingRule(resource_name: str,
opts: Optional[ResourceOptions] = None,
scaling_group_id: Optional[str] = None,
estimated_instance_warmup: Optional[int] = None,
target_value: Optional[float] = None,
predictive_scaling_mode: Optional[str] = None,
disable_scale_in: Optional[bool] = None,
adjustment_type: Optional[str] = None,
initial_max_size: Optional[int] = None,
metric_name: Optional[str] = None,
min_adjustment_magnitude: Optional[int] = None,
cooldown: Optional[int] = None,
alarm_dimension: Optional[ScalingRuleAlarmDimensionArgs] = None,
predictive_value_buffer: Optional[int] = None,
predictive_value_behavior: Optional[str] = None,
scale_in_evaluation_count: Optional[int] = None,
scale_out_evaluation_count: Optional[int] = None,
adjustment_value: Optional[int] = None,
scaling_rule_name: Optional[str] = None,
scaling_rule_type: Optional[str] = None,
step_adjustments: Optional[Sequence[ScalingRuleStepAdjustmentArgs]] = None,
predictive_task_buffer_time: Optional[int] = None)
func NewScalingRule(ctx *Context, name string, args ScalingRuleArgs, opts ...ResourceOption) (*ScalingRule, error)
public ScalingRule(string name, ScalingRuleArgs args, CustomResourceOptions? opts = null)
public ScalingRule(String name, ScalingRuleArgs args)
public ScalingRule(String name, ScalingRuleArgs args, CustomResourceOptions options)
type: alicloud:ess:ScalingRule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ScalingRuleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ScalingRuleArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ScalingRuleArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ScalingRuleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ScalingRuleArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var scalingRuleResource = new AliCloud.Ess.ScalingRule("scalingRuleResource", new()
{
ScalingGroupId = "string",
EstimatedInstanceWarmup = 0,
TargetValue = 0,
PredictiveScalingMode = "string",
DisableScaleIn = false,
AdjustmentType = "string",
InitialMaxSize = 0,
MetricName = "string",
MinAdjustmentMagnitude = 0,
Cooldown = 0,
AlarmDimension = new AliCloud.Ess.Inputs.ScalingRuleAlarmDimensionArgs
{
DimensionKey = "string",
DimensionValue = "string",
},
PredictiveValueBuffer = 0,
PredictiveValueBehavior = "string",
ScaleInEvaluationCount = 0,
ScaleOutEvaluationCount = 0,
AdjustmentValue = 0,
ScalingRuleName = "string",
ScalingRuleType = "string",
StepAdjustments = new[]
{
new AliCloud.Ess.Inputs.ScalingRuleStepAdjustmentArgs
{
MetricIntervalLowerBound = "string",
MetricIntervalUpperBound = "string",
ScalingAdjustment = 0,
},
},
PredictiveTaskBufferTime = 0,
});
example, err := ess.NewScalingRule(ctx, "scalingRuleResource", &ess.ScalingRuleArgs{
ScalingGroupId: pulumi.String("string"),
EstimatedInstanceWarmup: pulumi.Int(0),
TargetValue: pulumi.Float64(0),
PredictiveScalingMode: pulumi.String("string"),
DisableScaleIn: pulumi.Bool(false),
AdjustmentType: pulumi.String("string"),
InitialMaxSize: pulumi.Int(0),
MetricName: pulumi.String("string"),
MinAdjustmentMagnitude: pulumi.Int(0),
Cooldown: pulumi.Int(0),
AlarmDimension: &ess.ScalingRuleAlarmDimensionArgs{
DimensionKey: pulumi.String("string"),
DimensionValue: pulumi.String("string"),
},
PredictiveValueBuffer: pulumi.Int(0),
PredictiveValueBehavior: pulumi.String("string"),
ScaleInEvaluationCount: pulumi.Int(0),
ScaleOutEvaluationCount: pulumi.Int(0),
AdjustmentValue: pulumi.Int(0),
ScalingRuleName: pulumi.String("string"),
ScalingRuleType: pulumi.String("string"),
StepAdjustments: ess.ScalingRuleStepAdjustmentArray{
&ess.ScalingRuleStepAdjustmentArgs{
MetricIntervalLowerBound: pulumi.String("string"),
MetricIntervalUpperBound: pulumi.String("string"),
ScalingAdjustment: pulumi.Int(0),
},
},
PredictiveTaskBufferTime: pulumi.Int(0),
})
var scalingRuleResource = new ScalingRule("scalingRuleResource", ScalingRuleArgs.builder()
.scalingGroupId("string")
.estimatedInstanceWarmup(0)
.targetValue(0)
.predictiveScalingMode("string")
.disableScaleIn(false)
.adjustmentType("string")
.initialMaxSize(0)
.metricName("string")
.minAdjustmentMagnitude(0)
.cooldown(0)
.alarmDimension(ScalingRuleAlarmDimensionArgs.builder()
.dimensionKey("string")
.dimensionValue("string")
.build())
.predictiveValueBuffer(0)
.predictiveValueBehavior("string")
.scaleInEvaluationCount(0)
.scaleOutEvaluationCount(0)
.adjustmentValue(0)
.scalingRuleName("string")
.scalingRuleType("string")
.stepAdjustments(ScalingRuleStepAdjustmentArgs.builder()
.metricIntervalLowerBound("string")
.metricIntervalUpperBound("string")
.scalingAdjustment(0)
.build())
.predictiveTaskBufferTime(0)
.build());
scaling_rule_resource = alicloud.ess.ScalingRule("scalingRuleResource",
scaling_group_id="string",
estimated_instance_warmup=0,
target_value=0,
predictive_scaling_mode="string",
disable_scale_in=False,
adjustment_type="string",
initial_max_size=0,
metric_name="string",
min_adjustment_magnitude=0,
cooldown=0,
alarm_dimension={
"dimension_key": "string",
"dimension_value": "string",
},
predictive_value_buffer=0,
predictive_value_behavior="string",
scale_in_evaluation_count=0,
scale_out_evaluation_count=0,
adjustment_value=0,
scaling_rule_name="string",
scaling_rule_type="string",
step_adjustments=[{
"metric_interval_lower_bound": "string",
"metric_interval_upper_bound": "string",
"scaling_adjustment": 0,
}],
predictive_task_buffer_time=0)
const scalingRuleResource = new alicloud.ess.ScalingRule("scalingRuleResource", {
scalingGroupId: "string",
estimatedInstanceWarmup: 0,
targetValue: 0,
predictiveScalingMode: "string",
disableScaleIn: false,
adjustmentType: "string",
initialMaxSize: 0,
metricName: "string",
minAdjustmentMagnitude: 0,
cooldown: 0,
alarmDimension: {
dimensionKey: "string",
dimensionValue: "string",
},
predictiveValueBuffer: 0,
predictiveValueBehavior: "string",
scaleInEvaluationCount: 0,
scaleOutEvaluationCount: 0,
adjustmentValue: 0,
scalingRuleName: "string",
scalingRuleType: "string",
stepAdjustments: [{
metricIntervalLowerBound: "string",
metricIntervalUpperBound: "string",
scalingAdjustment: 0,
}],
predictiveTaskBufferTime: 0,
});
type: alicloud:ess:ScalingRule
properties:
adjustmentType: string
adjustmentValue: 0
alarmDimension:
dimensionKey: string
dimensionValue: string
cooldown: 0
disableScaleIn: false
estimatedInstanceWarmup: 0
initialMaxSize: 0
metricName: string
minAdjustmentMagnitude: 0
predictiveScalingMode: string
predictiveTaskBufferTime: 0
predictiveValueBehavior: string
predictiveValueBuffer: 0
scaleInEvaluationCount: 0
scaleOutEvaluationCount: 0
scalingGroupId: string
scalingRuleName: string
scalingRuleType: string
stepAdjustments:
- metricIntervalLowerBound: string
metricIntervalUpperBound: string
scalingAdjustment: 0
targetValue: 0
ScalingRule Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The ScalingRule resource accepts the following input properties:
- Scaling
Group stringId - ID of the scaling group of a scaling rule.
- Adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- Adjustment
Value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- Alarm
Dimension Pulumi.Ali Cloud. Ess. Inputs. Scaling Rule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - Cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- Disable
Scale boolIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- Estimated
Instance intWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- Initial
Max intSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- Metric
Name string - A CloudMonitor metric name.
- Min
Adjustment intMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- Predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- Predictive
Task intBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- Predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- Predictive
Value intBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- Scale
In intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- Scale
Out intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- Scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - Scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- Step
Adjustments List<Pulumi.Ali Cloud. Ess. Inputs. Scaling Rule Step Adjustment> - Steps for StepScalingRule. See
step_adjustment
below. - Target
Value double - The target value for the metric.
- Scaling
Group stringId - ID of the scaling group of a scaling rule.
- Adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- Adjustment
Value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- Alarm
Dimension ScalingRule Alarm Dimension Args - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - Cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- Disable
Scale boolIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- Estimated
Instance intWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- Initial
Max intSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- Metric
Name string - A CloudMonitor metric name.
- Min
Adjustment intMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- Predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- Predictive
Task intBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- Predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- Predictive
Value intBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- Scale
In intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- Scale
Out intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- Scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - Scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- Step
Adjustments []ScalingRule Step Adjustment Args - Steps for StepScalingRule. See
step_adjustment
below. - Target
Value float64 - The target value for the metric.
- scaling
Group StringId - ID of the scaling group of a scaling rule.
- adjustment
Type String - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value Integer - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension ScalingRule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - cooldown Integer
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale BooleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance IntegerWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max IntegerSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name String - A CloudMonitor metric name.
- min
Adjustment IntegerMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling StringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task IntegerBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value StringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value IntegerBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In IntegerEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out IntegerEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Rule StringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule StringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments List<ScalingRule Step Adjustment> - Steps for StepScalingRule. See
step_adjustment
below. - target
Value Double - The target value for the metric.
- scaling
Group stringId - ID of the scaling group of a scaling rule.
- adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value number - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension ScalingRule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - cooldown number
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale booleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance numberWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max numberSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name string - A CloudMonitor metric name.
- min
Adjustment numberMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task numberBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value numberBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In numberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out numberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments ScalingRule Step Adjustment[] - Steps for StepScalingRule. See
step_adjustment
below. - target
Value number - The target value for the metric.
- scaling_
group_ strid - ID of the scaling group of a scaling rule.
- adjustment_
type str - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment_
value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm_
dimension ScalingRule Alarm Dimension Args - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable_
scale_ boolin - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated_
instance_ intwarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial_
max_ intsize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric_
name str - A CloudMonitor metric name.
- min_
adjustment_ intmagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive_
scaling_ strmode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive_
task_ intbuffer_ time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive_
value_ strbehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive_
value_ intbuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale_
in_ intevaluation_ count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale_
out_ intevaluation_ count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling_
rule_ strname - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling_
rule_ strtype - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step_
adjustments Sequence[ScalingRule Step Adjustment Args] - Steps for StepScalingRule. See
step_adjustment
below. - target_
value float - The target value for the metric.
- scaling
Group StringId - ID of the scaling group of a scaling rule.
- adjustment
Type String - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value Number - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension Property Map - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - cooldown Number
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale BooleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance NumberWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max NumberSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name String - A CloudMonitor metric name.
- min
Adjustment NumberMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling StringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task NumberBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value StringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value NumberBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In NumberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out NumberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Rule StringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule StringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments List<Property Map> - Steps for StepScalingRule. See
step_adjustment
below. - target
Value Number - The target value for the metric.
Outputs
All input properties are implicitly available as output properties. Additionally, the ScalingRule resource produces the following output properties:
Look up Existing ScalingRule Resource
Get an existing ScalingRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ScalingRuleState, opts?: CustomResourceOptions): ScalingRule
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
adjustment_type: Optional[str] = None,
adjustment_value: Optional[int] = None,
alarm_dimension: Optional[ScalingRuleAlarmDimensionArgs] = None,
ari: Optional[str] = None,
cooldown: Optional[int] = None,
disable_scale_in: Optional[bool] = None,
estimated_instance_warmup: Optional[int] = None,
initial_max_size: Optional[int] = None,
metric_name: Optional[str] = None,
min_adjustment_magnitude: Optional[int] = None,
predictive_scaling_mode: Optional[str] = None,
predictive_task_buffer_time: Optional[int] = None,
predictive_value_behavior: Optional[str] = None,
predictive_value_buffer: Optional[int] = None,
scale_in_evaluation_count: Optional[int] = None,
scale_out_evaluation_count: Optional[int] = None,
scaling_group_id: Optional[str] = None,
scaling_rule_name: Optional[str] = None,
scaling_rule_type: Optional[str] = None,
step_adjustments: Optional[Sequence[ScalingRuleStepAdjustmentArgs]] = None,
target_value: Optional[float] = None) -> ScalingRule
func GetScalingRule(ctx *Context, name string, id IDInput, state *ScalingRuleState, opts ...ResourceOption) (*ScalingRule, error)
public static ScalingRule Get(string name, Input<string> id, ScalingRuleState? state, CustomResourceOptions? opts = null)
public static ScalingRule get(String name, Output<String> id, ScalingRuleState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- Adjustment
Value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- Alarm
Dimension Pulumi.Ali Cloud. Ess. Inputs. Scaling Rule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - Ari string
- The unique identifier of the scaling rule.
- Cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- Disable
Scale boolIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- Estimated
Instance intWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- Initial
Max intSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- Metric
Name string - A CloudMonitor metric name.
- Min
Adjustment intMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- Predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- Predictive
Task intBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- Predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- Predictive
Value intBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- Scale
In intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- Scale
Out intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- Scaling
Group stringId - ID of the scaling group of a scaling rule.
- Scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - Scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- Step
Adjustments List<Pulumi.Ali Cloud. Ess. Inputs. Scaling Rule Step Adjustment> - Steps for StepScalingRule. See
step_adjustment
below. - Target
Value double - The target value for the metric.
- Adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- Adjustment
Value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- Alarm
Dimension ScalingRule Alarm Dimension Args - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - Ari string
- The unique identifier of the scaling rule.
- Cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- Disable
Scale boolIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- Estimated
Instance intWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- Initial
Max intSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- Metric
Name string - A CloudMonitor metric name.
- Min
Adjustment intMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- Predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- Predictive
Task intBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- Predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- Predictive
Value intBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- Scale
In intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- Scale
Out intEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- Scaling
Group stringId - ID of the scaling group of a scaling rule.
- Scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - Scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- Step
Adjustments []ScalingRule Step Adjustment Args - Steps for StepScalingRule. See
step_adjustment
below. - Target
Value float64 - The target value for the metric.
- adjustment
Type String - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value Integer - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension ScalingRule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - ari String
- The unique identifier of the scaling rule.
- cooldown Integer
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale BooleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance IntegerWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max IntegerSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name String - A CloudMonitor metric name.
- min
Adjustment IntegerMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling StringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task IntegerBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value StringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value IntegerBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In IntegerEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out IntegerEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Group StringId - ID of the scaling group of a scaling rule.
- scaling
Rule StringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule StringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments List<ScalingRule Step Adjustment> - Steps for StepScalingRule. See
step_adjustment
below. - target
Value Double - The target value for the metric.
- adjustment
Type string - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value number - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension ScalingRule Alarm Dimension - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - ari string
- The unique identifier of the scaling rule.
- cooldown number
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale booleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance numberWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max numberSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name string - A CloudMonitor metric name.
- min
Adjustment numberMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling stringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task numberBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value stringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value numberBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In numberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out numberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Group stringId - ID of the scaling group of a scaling rule.
- scaling
Rule stringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule stringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments ScalingRule Step Adjustment[] - Steps for StepScalingRule. See
step_adjustment
below. - target
Value number - The target value for the metric.
- adjustment_
type str - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment_
value int - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm_
dimension ScalingRule Alarm Dimension Args - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - ari str
- The unique identifier of the scaling rule.
- cooldown int
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable_
scale_ boolin - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated_
instance_ intwarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial_
max_ intsize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric_
name str - A CloudMonitor metric name.
- min_
adjustment_ intmagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive_
scaling_ strmode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive_
task_ intbuffer_ time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive_
value_ strbehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive_
value_ intbuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale_
in_ intevaluation_ count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale_
out_ intevaluation_ count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling_
group_ strid - ID of the scaling group of a scaling rule.
- scaling_
rule_ strname - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling_
rule_ strtype - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step_
adjustments Sequence[ScalingRule Step Adjustment Args] - Steps for StepScalingRule. See
step_adjustment
below. - target_
value float - The target value for the metric.
- adjustment
Type String - Adjustment mode of a scaling rule. Optional values:
- QuantityChangeInCapacity: It is used to increase or decrease a specified number of ECS instances.
- PercentChangeInCapacity: It is used to increase or decrease a specified proportion of ECS instances.
- TotalCapacity: It is used to adjust the quantity of ECS instances in the current scaling group to a specified value.
- adjustment
Value Number - The number of ECS instances to be adjusted in the scaling rule. This parameter is required and applicable only to simple scaling rules. The number of ECS instances to be adjusted in a single scaling activity cannot exceed 500. Value range:
- QuantityChangeInCapacity:(0, 500] U (-500, 0]
- PercentChangeInCapacity:[0, 10000] U [-100, 0]
- TotalCapacity:[0, 1000]
- alarm
Dimension Property Map - AlarmDimension for StepScalingRule. See
alarm_dimension
below. - ari String
- The unique identifier of the scaling rule.
- cooldown Number
- The cooldown time of the scaling rule. This parameter is applicable only to simple scaling rules. Value range: [0, 86,400], in seconds. The default value is empty,if not set, the return value will be 0, which is the default value of integer.
- disable
Scale BooleanIn - Indicates whether scale in by the target tracking policy is disabled. Default to false.
- estimated
Instance NumberWarmup - The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.
- initial
Max NumberSize - The maximum number of ECS instances that can be added to the scaling group. If you specify InitialMaxSize, you must also specify PredictiveValueBehavior.
- metric
Name String - A CloudMonitor metric name.
- min
Adjustment NumberMagnitude - The minimum number of instances that must be scaled. This parameter takes effect if you set ScalingRuleType to SimpleScalingRule or StepScalingRule, and AdjustmentType to PercentChangeInCapacity.
- predictive
Scaling StringMode - The mode of the predictive scaling rule. Valid values: PredictAndScale, PredictOnly.
- predictive
Task NumberBuffer Time - The amount of buffer time before the prediction task runs. By default, all prediction tasks that are automatically created by a predictive scaling rule run on the hour. You can specify a buffer time to run prediction tasks and prepare resources in advance. Valid values: 0 to 60. Unit: minutes.
- predictive
Value StringBehavior - The action on the predicted maximum value. Valid values: MaxOverridePredictiveValue, PredictiveValueOverrideMax, PredictiveValueOverrideMaxWithBuffer.
- predictive
Value NumberBuffer - The ratio based on which the predicted value is increased if you set PredictiveValueBehavior to PredictiveValueOverrideMaxWithBuffer. If the predicted value increased by this ratio is greater than the initial maximum capacity, the increased value is used as the maximum value for prediction tasks. Valid values: 0 to 100.
- scale
In NumberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-ins 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.
- scale
Out NumberEvaluation Count - The number of consecutive times that the event-triggered task created for scale-outs 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.
- scaling
Group StringId - ID of the scaling group of a scaling rule.
- scaling
Rule StringName - Name shown for the scaling rule, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores
_
, hypens-
, and decimal point.
. If this parameter value is not specified, the default value is scaling rule id. - scaling
Rule StringType - The scaling rule type, either "SimpleScalingRule", "TargetTrackingScalingRule", "StepScalingRule", "PredictiveScalingRule". Default to "SimpleScalingRule".
- step
Adjustments List<Property Map> - Steps for StepScalingRule. See
step_adjustment
below. - target
Value Number - The target value for the metric.
Supporting Types
ScalingRuleAlarmDimension, ScalingRuleAlarmDimensionArgs
- Dimension
Key string - The dimension key of the metric.
- Dimension
Value string - The dimension value of the metric.
- Dimension
Key string - The dimension key of the metric.
- Dimension
Value string - The dimension value of the metric.
- dimension
Key String - The dimension key of the metric.
- dimension
Value String - The dimension value of the metric.
- dimension
Key string - The dimension key of the metric.
- dimension
Value string - The dimension value of the metric.
- dimension_
key str - The dimension key of the metric.
- dimension_
value str - The dimension value of the metric.
- dimension
Key String - The dimension key of the metric.
- dimension
Value String - The dimension value of the metric.
ScalingRuleStepAdjustment, ScalingRuleStepAdjustmentArgs
- Metric
Interval stringLower Bound - The lower bound of step.
- Metric
Interval stringUpper Bound - The upper bound of step.
- Scaling
Adjustment int - The adjust value of step.
- Metric
Interval stringLower Bound - The lower bound of step.
- Metric
Interval stringUpper Bound - The upper bound of step.
- Scaling
Adjustment int - The adjust value of step.
- metric
Interval StringLower Bound - The lower bound of step.
- metric
Interval StringUpper Bound - The upper bound of step.
- scaling
Adjustment Integer - The adjust value of step.
- metric
Interval stringLower Bound - The lower bound of step.
- metric
Interval stringUpper Bound - The upper bound of step.
- scaling
Adjustment number - The adjust value of step.
- metric_
interval_ strlower_ bound - The lower bound of step.
- metric_
interval_ strupper_ bound - The upper bound of step.
- scaling_
adjustment int - The adjust value of step.
- metric
Interval StringLower Bound - The lower bound of step.
- metric
Interval StringUpper Bound - The upper bound of step.
- scaling
Adjustment Number - The adjust value of step.
Import
ESS scaling rule can be imported using the id, e.g.
$ pulumi import alicloud:ess/scalingRule:ScalingRule example abc123456
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloud
Terraform Provider.