Alibaba Cloud

Pulumi Official
Package maintained by Pulumi
v3.22.0 published on Monday, Jun 27, 2022 by Pulumi

ApplicationScalingRule

Provides a Serverless App Engine (SAE) Application Scaling Rule resource.

For information about Serverless App Engine (SAE) Application Scaling Rule and how to use it, see What is Application Scaling Rule.

NOTE: Available in v1.159.0+.

Example Usage

using Pulumi;
using AliCloud = Pulumi.AliCloud;

class MyStack : Stack
{
    public MyStack()
    {
        var defaultNetworks = Output.Create(AliCloud.Vpc.GetNetworks.InvokeAsync(new AliCloud.Vpc.GetNetworksArgs
        {
            NameRegex = "default-NODELETING",
        }));
        var defaultSwitches = defaultNetworks.Apply(defaultNetworks => Output.Create(AliCloud.Vpc.GetSwitches.InvokeAsync(new AliCloud.Vpc.GetSwitchesArgs
        {
            VpcId = defaultNetworks.Ids?[0],
        })));
        var defaultNamespace = new AliCloud.Sae.Namespace("defaultNamespace", new AliCloud.Sae.NamespaceArgs
        {
            NamespaceDescription = "example_value",
            NamespaceId = "example_value",
            NamespaceName = "example_value",
        });
        var defaultApplication = new AliCloud.Sae.Application("defaultApplication", new AliCloud.Sae.ApplicationArgs
        {
            AppDescription = "example_value",
            AppName = "example_value",
            NamespaceId = defaultNamespace.NamespaceId,
            ImageUrl = "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5",
            PackageType = "Image",
            Jdk = "Open JDK 8",
            VswitchId = defaultSwitches.Apply(defaultSwitches => defaultSwitches.Ids?[0]),
            VpcId = defaultNetworks.Apply(defaultNetworks => defaultNetworks.Ids?[0]),
            Timezone = "Asia/Shanghai",
            Replicas = 5,
            Cpu = 500,
            Memory = 2048,
        });
        var example = new AliCloud.Sae.ApplicationScalingRule("example", new AliCloud.Sae.ApplicationScalingRuleArgs
        {
            AppId = defaultApplication.Id,
            ScalingRuleName = "example-value",
            ScalingRuleEnable = true,
            ScalingRuleType = "mix",
            ScalingRuleTimer = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerArgs
            {
                BeginDate = "2022-02-25",
                EndDate = "2022-03-25",
                Period = "* * *",
                Schedules = 
                {
                    new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs
                    {
                        AtTime = "08:00",
                        MaxReplicas = 10,
                        MinReplicas = 3,
                    },
                    new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerScheduleArgs
                    {
                        AtTime = "20:00",
                        MaxReplicas = 50,
                        MinReplicas = 3,
                    },
                },
            },
            ScalingRuleMetric = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricArgs
            {
                MaxReplicas = 50,
                MinReplicas = 3,
                Metrics = 
                {
                    new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs
                    {
                        MetricType = "CPU",
                        MetricTargetAverageUtilization = 20,
                    },
                    new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs
                    {
                        MetricType = "MEMORY",
                        MetricTargetAverageUtilization = 30,
                    },
                    new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetricArgs
                    {
                        MetricType = "tcpActiveConn",
                        MetricTargetAverageUtilization = 20,
                    },
                },
                ScaleUpRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs
                {
                    Step = 10,
                    Disabled = false,
                    StabilizationWindowSeconds = 0,
                },
                ScaleDownRules = new AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs
                {
                    Step = 10,
                    Disabled = false,
                    StabilizationWindowSeconds = 10,
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/sae"
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId: pulumi.StringRef(defaultNetworks.Ids[0]),
		}, nil)
		if err != nil {
			return err
		}
		defaultNamespace, err := sae.NewNamespace(ctx, "defaultNamespace", &sae.NamespaceArgs{
			NamespaceDescription: pulumi.String("example_value"),
			NamespaceId:          pulumi.String("example_value"),
			NamespaceName:        pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		defaultApplication, err := sae.NewApplication(ctx, "defaultApplication", &sae.ApplicationArgs{
			AppDescription: pulumi.String("example_value"),
			AppName:        pulumi.String("example_value"),
			NamespaceId:    defaultNamespace.NamespaceId,
			ImageUrl:       pulumi.String("registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5"),
			PackageType:    pulumi.String("Image"),
			Jdk:            pulumi.String("Open JDK 8"),
			VswitchId:      pulumi.String(defaultSwitches.Ids[0]),
			VpcId:          pulumi.String(defaultNetworks.Ids[0]),
			Timezone:       pulumi.String("Asia/Shanghai"),
			Replicas:       pulumi.Int(5),
			Cpu:            pulumi.Int(500),
			Memory:         pulumi.Int(2048),
		})
		if err != nil {
			return err
		}
		_, err = sae.NewApplicationScalingRule(ctx, "example", &sae.ApplicationScalingRuleArgs{
			AppId:             defaultApplication.ID(),
			ScalingRuleName:   pulumi.String("example-value"),
			ScalingRuleEnable: pulumi.Bool(true),
			ScalingRuleType:   pulumi.String("mix"),
			ScalingRuleTimer: &sae.ApplicationScalingRuleScalingRuleTimerArgs{
				BeginDate: pulumi.String("2022-02-25"),
				EndDate:   pulumi.String("2022-03-25"),
				Period:    pulumi.String("* * *"),
				Schedules: sae.ApplicationScalingRuleScalingRuleTimerScheduleArray{
					&sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{
						AtTime:      pulumi.String("08:00"),
						MaxReplicas: pulumi.Int(10),
						MinReplicas: pulumi.Int(3),
					},
					&sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs{
						AtTime:      pulumi.String("20:00"),
						MaxReplicas: pulumi.Int(50),
						MinReplicas: pulumi.Int(3),
					},
				},
			},
			ScalingRuleMetric: &sae.ApplicationScalingRuleScalingRuleMetricArgs{
				MaxReplicas: pulumi.Int(50),
				MinReplicas: pulumi.Int(3),
				Metrics: sae.ApplicationScalingRuleScalingRuleMetricMetricArray{
					&sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{
						MetricType:                     pulumi.String("CPU"),
						MetricTargetAverageUtilization: pulumi.Int(20),
					},
					&sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{
						MetricType:                     pulumi.String("MEMORY"),
						MetricTargetAverageUtilization: pulumi.Int(30),
					},
					&sae.ApplicationScalingRuleScalingRuleMetricMetricArgs{
						MetricType:                     pulumi.String("tcpActiveConn"),
						MetricTargetAverageUtilization: pulumi.Int(20),
					},
				},
				ScaleUpRules: &sae.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs{
					Step:                       pulumi.Int(10),
					Disabled:                   pulumi.Bool(false),
					StabilizationWindowSeconds: pulumi.Int(0),
				},
				ScaleDownRules: &sae.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs{
					Step:                       pulumi.Int(10),
					Disabled:                   pulumi.Bool(false),
					StabilizationWindowSeconds: pulumi.Int(10),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

Coming soon!

import pulumi
import pulumi_alicloud as alicloud

default_networks = alicloud.vpc.get_networks(name_regex="default-NODELETING")
default_switches = alicloud.vpc.get_switches(vpc_id=default_networks.ids[0])
default_namespace = alicloud.sae.Namespace("defaultNamespace",
    namespace_description="example_value",
    namespace_id="example_value",
    namespace_name="example_value")
default_application = alicloud.sae.Application("defaultApplication",
    app_description="example_value",
    app_name="example_value",
    namespace_id=default_namespace.namespace_id,
    image_url="registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5",
    package_type="Image",
    jdk="Open JDK 8",
    vswitch_id=default_switches.ids[0],
    vpc_id=default_networks.ids[0],
    timezone="Asia/Shanghai",
    replicas=5,
    cpu=500,
    memory=2048)
example = alicloud.sae.ApplicationScalingRule("example",
    app_id=default_application.id,
    scaling_rule_name="example-value",
    scaling_rule_enable=True,
    scaling_rule_type="mix",
    scaling_rule_timer=alicloud.sae.ApplicationScalingRuleScalingRuleTimerArgs(
        begin_date="2022-02-25",
        end_date="2022-03-25",
        period="* * *",
        schedules=[
            alicloud.sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs(
                at_time="08:00",
                max_replicas=10,
                min_replicas=3,
            ),
            alicloud.sae.ApplicationScalingRuleScalingRuleTimerScheduleArgs(
                at_time="20:00",
                max_replicas=50,
                min_replicas=3,
            ),
        ],
    ),
    scaling_rule_metric=alicloud.sae.ApplicationScalingRuleScalingRuleMetricArgs(
        max_replicas=50,
        min_replicas=3,
        metrics=[
            alicloud.sae.ApplicationScalingRuleScalingRuleMetricMetricArgs(
                metric_type="CPU",
                metric_target_average_utilization=20,
            ),
            alicloud.sae.ApplicationScalingRuleScalingRuleMetricMetricArgs(
                metric_type="MEMORY",
                metric_target_average_utilization=30,
            ),
            alicloud.sae.ApplicationScalingRuleScalingRuleMetricMetricArgs(
                metric_type="tcpActiveConn",
                metric_target_average_utilization=20,
            ),
        ],
        scale_up_rules=alicloud.sae.ApplicationScalingRuleScalingRuleMetricScaleUpRulesArgs(
            step=10,
            disabled=False,
            stabilization_window_seconds=0,
        ),
        scale_down_rules=alicloud.sae.ApplicationScalingRuleScalingRuleMetricScaleDownRulesArgs(
            step=10,
            disabled=False,
            stabilization_window_seconds=10,
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultNetworks = alicloud.vpc.getNetworks({
    nameRegex: "default-NODELETING",
});
const defaultSwitches = defaultNetworks.then(defaultNetworks => alicloud.vpc.getSwitches({
    vpcId: defaultNetworks.ids?[0],
}));
const defaultNamespace = new alicloud.sae.Namespace("defaultNamespace", {
    namespaceDescription: "example_value",
    namespaceId: "example_value",
    namespaceName: "example_value",
});
const defaultApplication = new alicloud.sae.Application("defaultApplication", {
    appDescription: "example_value",
    appName: "example_value",
    namespaceId: defaultNamespace.namespaceId,
    imageUrl: "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5",
    packageType: "Image",
    jdk: "Open JDK 8",
    vswitchId: defaultSwitches.then(defaultSwitches => defaultSwitches.ids?[0]),
    vpcId: defaultNetworks.then(defaultNetworks => defaultNetworks.ids?[0]),
    timezone: "Asia/Shanghai",
    replicas: 5,
    cpu: 500,
    memory: 2048,
});
const example = new alicloud.sae.ApplicationScalingRule("example", {
    appId: defaultApplication.id,
    scalingRuleName: "example-value",
    scalingRuleEnable: true,
    scalingRuleType: "mix",
    scalingRuleTimer: {
        beginDate: "2022-02-25",
        endDate: "2022-03-25",
        period: "* * *",
        schedules: [
            {
                atTime: "08:00",
                maxReplicas: 10,
                minReplicas: 3,
            },
            {
                atTime: "20:00",
                maxReplicas: 50,
                minReplicas: 3,
            },
        ],
    },
    scalingRuleMetric: {
        maxReplicas: 50,
        minReplicas: 3,
        metrics: [
            {
                metricType: "CPU",
                metricTargetAverageUtilization: 20,
            },
            {
                metricType: "MEMORY",
                metricTargetAverageUtilization: 30,
            },
            {
                metricType: "tcpActiveConn",
                metricTargetAverageUtilization: 20,
            },
        ],
        scaleUpRules: {
            step: 10,
            disabled: false,
            stabilizationWindowSeconds: 0,
        },
        scaleDownRules: {
            step: 10,
            disabled: false,
            stabilizationWindowSeconds: 10,
        },
    },
});

Coming soon!

Create a ApplicationScalingRule Resource

new ApplicationScalingRule(name: string, args: ApplicationScalingRuleArgs, opts?: CustomResourceOptions);
@overload
def ApplicationScalingRule(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           app_id: Optional[str] = None,
                           min_ready_instance_ratio: Optional[int] = None,
                           min_ready_instances: Optional[int] = None,
                           scaling_rule_enable: Optional[bool] = None,
                           scaling_rule_metric: Optional[ApplicationScalingRuleScalingRuleMetricArgs] = None,
                           scaling_rule_name: Optional[str] = None,
                           scaling_rule_timer: Optional[ApplicationScalingRuleScalingRuleTimerArgs] = None,
                           scaling_rule_type: Optional[str] = None)
@overload
def ApplicationScalingRule(resource_name: str,
                           args: ApplicationScalingRuleArgs,
                           opts: Optional[ResourceOptions] = None)
func NewApplicationScalingRule(ctx *Context, name string, args ApplicationScalingRuleArgs, opts ...ResourceOption) (*ApplicationScalingRule, error)
public ApplicationScalingRule(string name, ApplicationScalingRuleArgs args, CustomResourceOptions? opts = null)
public ApplicationScalingRule(String name, ApplicationScalingRuleArgs args)
public ApplicationScalingRule(String name, ApplicationScalingRuleArgs args, CustomResourceOptions options)
type: alicloud:sae:ApplicationScalingRule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ApplicationScalingRuleArgs
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 ApplicationScalingRuleArgs
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 ApplicationScalingRuleArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ApplicationScalingRuleArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ApplicationScalingRuleArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ApplicationScalingRule Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ApplicationScalingRule resource accepts the following input properties:

AppId string

Application ID.

ScalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

ScalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

MinReadyInstanceRatio int

The min ready instance ratio.

MinReadyInstances int

The min ready instances.

ScalingRuleEnable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

ScalingRuleMetric Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

ScalingRuleTimer Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

AppId string

Application ID.

ScalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

ScalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

MinReadyInstanceRatio int

The min ready instance ratio.

MinReadyInstances int

The min ready instances.

ScalingRuleEnable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

ScalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

ScalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

appId String

Application ID.

scalingRuleName String

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleType String

Flexible strategy type. Valid values: mix, timing and metric.

minReadyInstanceRatio Integer

The min ready instance ratio.

minReadyInstances Integer

The min ready instances.

scalingRuleEnable Boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

appId string

Application ID.

scalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

minReadyInstanceRatio number

The min ready instance ratio.

minReadyInstances number

The min ready instances.

scalingRuleEnable boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

app_id str

Application ID.

scaling_rule_name str

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scaling_rule_type str

Flexible strategy type. Valid values: mix, timing and metric.

min_ready_instance_ratio int

The min ready instance ratio.

min_ready_instances int

The min ready instances.

scaling_rule_enable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scaling_rule_metric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scaling_rule_timer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

appId String

Application ID.

scalingRuleName String

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleType String

Flexible strategy type. Valid values: mix, timing and metric.

minReadyInstanceRatio Number

The min ready instance ratio.

minReadyInstances Number

The min ready instances.

scalingRuleEnable Boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric Property Map

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleTimer Property Map

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

Outputs

All input properties are implicitly available as output properties. Additionally, the ApplicationScalingRule resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up an Existing ApplicationScalingRule Resource

Get an existing ApplicationScalingRule 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?: ApplicationScalingRuleState, opts?: CustomResourceOptions): ApplicationScalingRule
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        app_id: Optional[str] = None,
        min_ready_instance_ratio: Optional[int] = None,
        min_ready_instances: Optional[int] = None,
        scaling_rule_enable: Optional[bool] = None,
        scaling_rule_metric: Optional[ApplicationScalingRuleScalingRuleMetricArgs] = None,
        scaling_rule_name: Optional[str] = None,
        scaling_rule_timer: Optional[ApplicationScalingRuleScalingRuleTimerArgs] = None,
        scaling_rule_type: Optional[str] = None) -> ApplicationScalingRule
func GetApplicationScalingRule(ctx *Context, name string, id IDInput, state *ApplicationScalingRuleState, opts ...ResourceOption) (*ApplicationScalingRule, error)
public static ApplicationScalingRule Get(string name, Input<string> id, ApplicationScalingRuleState? state, CustomResourceOptions? opts = null)
public static ApplicationScalingRule get(String name, Output<String> id, ApplicationScalingRuleState 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.
The following state arguments are supported:
AppId string

Application ID.

MinReadyInstanceRatio int

The min ready instance ratio.

MinReadyInstances int

The min ready instances.

ScalingRuleEnable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

ScalingRuleMetric Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

ScalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

ScalingRuleTimer Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

ScalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

AppId string

Application ID.

MinReadyInstanceRatio int

The min ready instance ratio.

MinReadyInstances int

The min ready instances.

ScalingRuleEnable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

ScalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

ScalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

ScalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

ScalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

appId String

Application ID.

minReadyInstanceRatio Integer

The min ready instance ratio.

minReadyInstances Integer

The min ready instances.

scalingRuleEnable Boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleName String

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

scalingRuleType String

Flexible strategy type. Valid values: mix, timing and metric.

appId string

Application ID.

minReadyInstanceRatio number

The min ready instance ratio.

minReadyInstances number

The min ready instances.

scalingRuleEnable boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleName string

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleTimer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

scalingRuleType string

Flexible strategy type. Valid values: mix, timing and metric.

app_id str

Application ID.

min_ready_instance_ratio int

The min ready instance ratio.

min_ready_instances int

The min ready instances.

scaling_rule_enable bool

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scaling_rule_metric ApplicationScalingRuleScalingRuleMetricArgs

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scaling_rule_name str

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scaling_rule_timer ApplicationScalingRuleScalingRuleTimerArgs

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

scaling_rule_type str

Flexible strategy type. Valid values: mix, timing and metric.

appId String

Application ID.

minReadyInstanceRatio Number

The min ready instance ratio.

minReadyInstances Number

The min ready instances.

scalingRuleEnable Boolean

True whether the auto scaling policy is enabled. The value description is as follows: true: enabled state. false: disabled status. Valid values: false, true.

scalingRuleMetric Property Map

Monitor the configuration of the indicator elasticity strategy. See the following Block scaling_rule_metric.

scalingRuleName String

The name of a custom elastic scaling policy. In the application, the policy name cannot be repeated. It must start with a lowercase letter, and can only contain lowercase letters, numbers, and dashes (-), and no more than 32 characters. After the scaling policy is successfully created, the policy name cannot be modified.

scalingRuleTimer Property Map

Configuration of Timing Resilient Policies. See the following Block scaling_rule_timer.

scalingRuleType String

Flexible strategy type. Valid values: mix, timing and metric.

Supporting Types

ApplicationScalingRuleScalingRuleMetric

MaxReplicas int

Maximum number of instances applied.

Metrics List<Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricMetric>

Indicator rule configuration. See the following Block metrics.

MinReplicas int

Minimum number of instances applied.

ScaleDownRules Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleDownRules

Apply shrink rules. See the following Block scale_down_rules.

ScaleUpRules Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleMetricScaleUpRules

Apply expansion rules. See the following Block scale_up_rules.

MaxReplicas int

Maximum number of instances applied.

Metrics []ApplicationScalingRuleScalingRuleMetricMetric

Indicator rule configuration. See the following Block metrics.

MinReplicas int

Minimum number of instances applied.

ScaleDownRules ApplicationScalingRuleScalingRuleMetricScaleDownRules

Apply shrink rules. See the following Block scale_down_rules.

ScaleUpRules ApplicationScalingRuleScalingRuleMetricScaleUpRules

Apply expansion rules. See the following Block scale_up_rules.

maxReplicas Integer

Maximum number of instances applied.

metrics List<ApplicationScalingRuleScalingRuleMetricMetric>

Indicator rule configuration. See the following Block metrics.

minReplicas Integer

Minimum number of instances applied.

scaleDownRules ApplicationScalingRuleScalingRuleMetricScaleDownRules

Apply shrink rules. See the following Block scale_down_rules.

scaleUpRules ApplicationScalingRuleScalingRuleMetricScaleUpRules

Apply expansion rules. See the following Block scale_up_rules.

maxReplicas number

Maximum number of instances applied.

metrics ApplicationScalingRuleScalingRuleMetricMetric[]

Indicator rule configuration. See the following Block metrics.

minReplicas number

Minimum number of instances applied.

scaleDownRules ApplicationScalingRuleScalingRuleMetricScaleDownRules

Apply shrink rules. See the following Block scale_down_rules.

scaleUpRules ApplicationScalingRuleScalingRuleMetricScaleUpRules

Apply expansion rules. See the following Block scale_up_rules.

max_replicas int

Maximum number of instances applied.

metrics Sequence[ApplicationScalingRuleScalingRuleMetricMetric]

Indicator rule configuration. See the following Block metrics.

min_replicas int

Minimum number of instances applied.

scale_down_rules ApplicationScalingRuleScalingRuleMetricScaleDownRules

Apply shrink rules. See the following Block scale_down_rules.

scale_up_rules ApplicationScalingRuleScalingRuleMetricScaleUpRules

Apply expansion rules. See the following Block scale_up_rules.

maxReplicas Number

Maximum number of instances applied.

metrics List<Property Map>

Indicator rule configuration. See the following Block metrics.

minReplicas Number

Minimum number of instances applied.

scaleDownRules Property Map

Apply shrink rules. See the following Block scale_down_rules.

scaleUpRules Property Map

Apply expansion rules. See the following Block scale_up_rules.

ApplicationScalingRuleScalingRuleMetricMetric

MetricTargetAverageUtilization int

According to different metric_type, set the target value of the corresponding monitoring index.

MetricType string

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.
MetricTargetAverageUtilization int

According to different metric_type, set the target value of the corresponding monitoring index.

MetricType string

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.
metricTargetAverageUtilization Integer

According to different metric_type, set the target value of the corresponding monitoring index.

metricType String

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.
metricTargetAverageUtilization number

According to different metric_type, set the target value of the corresponding monitoring index.

metricType string

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.
metric_target_average_utilization int

According to different metric_type, set the target value of the corresponding monitoring index.

metric_type str

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.
metricTargetAverageUtilization Number

According to different metric_type, set the target value of the corresponding monitoring index.

metricType String

Monitoring indicator trigger condition. Valid values: CPU, MEMORY, tcpActiveConn, SLB_QPS and SLB_RT. The values are described as follows:

  • CPU: CPU usage.
  • MEMORY: MEMORY usage.
  • tcpActiveConn: the average number of TCP active connections for a single instance in 30 seconds.
  • SLB_QPS: the average public network SLB QPS of a single instance within 15 seconds.
  • SLB_RT: the average response time of public network SLB within 15 seconds.

ApplicationScalingRuleScalingRuleMetricScaleDownRules

Disabled bool

Whether shrinkage is prohibited.

StabilizationWindowSeconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

Step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

Disabled bool

Whether shrinkage is prohibited.

StabilizationWindowSeconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

Step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled Boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds Integer

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step Integer

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds number

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step number

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled bool

Whether shrinkage is prohibited.

stabilization_window_seconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled Boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds Number

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step Number

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

ApplicationScalingRuleScalingRuleMetricScaleUpRules

Disabled bool

Whether shrinkage is prohibited.

StabilizationWindowSeconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

Step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

Disabled bool

Whether shrinkage is prohibited.

StabilizationWindowSeconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

Step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled Boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds Integer

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step Integer

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds number

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step number

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled bool

Whether shrinkage is prohibited.

stabilization_window_seconds int

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step int

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

disabled Boolean

Whether shrinkage is prohibited.

stabilizationWindowSeconds Number

Cooling time for expansion or contraction. Valid values: 0 to 3600. Unit: seconds. The default is 0 seconds.

step Number

Elastic expansion or contraction step size. the maximum number of instances to be scaled in per unit time.

ApplicationScalingRuleScalingRuleTimer

BeginDate string

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

EndDate string

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

Period string

The period in which a timed elastic scaling strategy is executed.

Schedules List<Pulumi.AliCloud.Sae.Inputs.ApplicationScalingRuleScalingRuleTimerSchedule>

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

BeginDate string

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

EndDate string

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

Period string

The period in which a timed elastic scaling strategy is executed.

Schedules []ApplicationScalingRuleScalingRuleTimerSchedule

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

beginDate String

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

endDate String

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

period String

The period in which a timed elastic scaling strategy is executed.

schedules List<ApplicationScalingRuleScalingRuleTimerSchedule>

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

beginDate string

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

endDate string

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

period string

The period in which a timed elastic scaling strategy is executed.

schedules ApplicationScalingRuleScalingRuleTimerSchedule[]

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

begin_date str

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

end_date str

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

period str

The period in which a timed elastic scaling strategy is executed.

schedules Sequence[ApplicationScalingRuleScalingRuleTimerSchedule]

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

beginDate String

The Start date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

endDate String

The End Date. When the begin_date and end_date values are empty. it indicates long-term execution and is the default value.

period String

The period in which a timed elastic scaling strategy is executed.

schedules List<Property Map>

Resilient Scaling Strategy Trigger Timing. See the following Block schedules.

ApplicationScalingRuleScalingRuleTimerSchedule

AtTime string

Trigger point in time. When supporting format: minutes, for example: 08:00.

MaxReplicas int

Maximum number of instances applied.

MinReplicas int

Minimum number of instances applied.

TargetReplicas int

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

AtTime string

Trigger point in time. When supporting format: minutes, for example: 08:00.

MaxReplicas int

Maximum number of instances applied.

MinReplicas int

Minimum number of instances applied.

TargetReplicas int

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

atTime String

Trigger point in time. When supporting format: minutes, for example: 08:00.

maxReplicas Integer

Maximum number of instances applied.

minReplicas Integer

Minimum number of instances applied.

targetReplicas Integer

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

atTime string

Trigger point in time. When supporting format: minutes, for example: 08:00.

maxReplicas number

Maximum number of instances applied.

minReplicas number

Minimum number of instances applied.

targetReplicas number

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

at_time str

Trigger point in time. When supporting format: minutes, for example: 08:00.

max_replicas int

Maximum number of instances applied.

min_replicas int

Minimum number of instances applied.

target_replicas int

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

atTime String

Trigger point in time. When supporting format: minutes, for example: 08:00.

maxReplicas Number

Maximum number of instances applied.

minReplicas Number

Minimum number of instances applied.

targetReplicas Number

This parameter can specify the number of instances to be applied or the minimum number of surviving instances per deployment. value range [1,50]. > NOTE: The attribute is valid when the attribute scaling_rule_type is timing.

Import

Serverless App Engine (SAE) Application Scaling Rule can be imported using the id, e.g.

 $ pulumi import alicloud:sae/applicationScalingRule:ApplicationScalingRule example <app_id>:<scaling_rule_name>

Package Details

Repository
https://github.com/pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.