Module ess

This page documents the language specification for the alicloud package. If you're looking for help working with the inputs, outputs, or functions of alicloud resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-alicloud repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-alicloud repo.

Resources

Functions

Others

Resources

Resource Alarm

class Alarm extends CustomResource

constructor

new Alarm(name: string, args: AlarmArgs, opts?: pulumi.CustomResourceOptions)

Create a Alarm resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AlarmState, opts?: pulumi.CustomResourceOptions): Alarm

Get an existing Alarm resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Alarm

Returns true if the given object is an instance of Alarm. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property alarmActions

public alarmActions: pulumi.Output<string[]>;

The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.

property cloudMonitorGroupId

public cloudMonitorGroupId: pulumi.Output<number | undefined>;

Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.

property comparisonOperator

public comparisonOperator: pulumi.Output<string | undefined>;

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.

property description

public description: pulumi.Output<string | undefined>;

The description for the alarm.

property dimensions

public dimensions: pulumi.Output<{[key: string]: any}>;

The dimension map for the alarm’s associated metric (documented below). For all metrics, you can not set the dimension key as “scalingGroup” or “userId”, which is set by default, the second dimension for metric, such as “device” for “PackagesNetIn”, need to be set by users.

property enable

public enable: pulumi.Output<boolean | undefined>;

Whether to enable specific ess alarm. Default to true.

property evaluationCount

public evaluationCount: pulumi.Output<number | undefined>;

The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property metricName

public metricName: pulumi.Output<string>;

The name for the alarm’s associated metric. See Block_metricNames_and_dimensions below for details.

property metricType

public metricType: pulumi.Output<string | undefined>;

The type for the alarm’s associated metric. Supported value: system, custom. “system” means the metric data is collected by Aliyun Cloud Monitor Service(CMS), “custom” means the metric data is upload to CMS by users. Defaults to system.

property name

public name: pulumi.Output<string>;

The name for ess alarm.

property period

public period: pulumi.Output<number | undefined>;

The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

The scaling group associated with this alarm, the ‘ForceNew’ attribute is available in 1.56.0+.

property state

public state: pulumi.Output<string>;

The state of specified alarm.

property statistics

public statistics: pulumi.Output<string | undefined>;

The statistic to apply to the alarm’s associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.

property threshold

public threshold: pulumi.Output<string>;

The value against which the specified statistics is compared.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Attachment

class Attachment extends CustomResource

Attaches several ECS instances to a specified scaling group or remove them from it.

NOTE: ECS instances can be attached or remove only when the scaling group is active and it has no scaling activity in progress.

NOTE: There are two types ECS instances in a scaling group: “AutoCreated” and “Attached”. The total number of them can not larger than the scaling group “MaxSize”.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "essattachmentconfig";

const defaultZones = pulumi.output(alicloud.getZones({
    availableDiskCategory: "cloudEfficiency",
    availableResourceCreation: "VSwitch",
}, { async: true }));
const defaultInstanceTypes = defaultZones.apply(defaultZones => alicloud.ecs.getInstanceTypes({
    availabilityZone: defaultZones.zones[0].id,
    cpuCoreCount: 2,
    memorySize: 4,
}, { async: true }));
const defaultImages = pulumi.output(alicloud.ecs.getImages({
    mostRecent: true,
    nameRegex: "^ubuntu_18.*64",
    owners: "system",
}, { async: true }));
const defaultNetwork = new alicloud.vpc.Network("default", {
    cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "172.16.0.0/24",
    vpcId: defaultNetwork.id,
});
const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
    vpcId: defaultNetwork.id,
});
const defaultSecurityGroupRule = new alicloud.ecs.SecurityGroupRule("default", {
    cidrIp: "172.16.0.0/24",
    ipProtocol: "tcp",
    nicType: "intranet",
    policy: "accept",
    portRange: "22/22",
    priority: 1,
    securityGroupId: defaultSecurityGroup.id,
    type: "ingress",
});
const defaultScalingGroup = new alicloud.ess.ScalingGroup("default", {
    maxSize: 2,
    minSize: 0,
    removalPolicies: [
        "OldestInstance",
        "NewestInstance",
    ],
    scalingGroupName: name,
    vswitchIds: [defaultSwitch.id],
});
const defaultScalingConfiguration = new alicloud.ess.ScalingConfiguration("default", {
    active: true,
    enable: true,
    forceDelete: true,
    imageId: defaultImages.images[0].id,
    instanceType: defaultInstanceTypes.instanceTypes[0].id,
    scalingGroupId: defaultScalingGroup.id,
    securityGroupId: defaultSecurityGroup.id,
});
const defaultInstance: alicloud.ecs.Instance[] = [];
for (let i = 0; i < 2; i++) {
    defaultInstance.push(new alicloud.ecs.Instance(`default-${i}`, {
        imageId: defaultImages.images[0].id,
        instanceChargeType: "PostPaid",
        instanceName: name,
        instanceType: defaultInstanceTypes.instanceTypes[0].id,
        internetChargeType: "PayByTraffic",
        internetMaxBandwidthOut: 10,
        securityGroups: [defaultSecurityGroup.id],
        systemDiskCategory: "cloudEfficiency",
        vswitchId: defaultSwitch.id,
    }));
}
const defaultAttachment = new alicloud.ess.Attachment("default", {
    force: true,
    instanceIds: [
        defaultInstance[0].id,
        defaultInstance[1].id,
    ],
    scalingGroupId: defaultScalingGroup.id,
});

constructor

new Attachment(name: string, args: AttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a Attachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AttachmentState, opts?: pulumi.CustomResourceOptions): Attachment

Get an existing Attachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Attachment

Returns true if the given object is an instance of Attachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property force

public force: pulumi.Output<boolean | undefined>;

Whether to remove forcibly “AutoCreated” ECS instances in order to release scaling group capacity “MaxSize” for attaching ECS instances. Default to false.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceIds

public instanceIds: pulumi.Output<string[]>;

ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

ID of the scaling group of a scaling configuration.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource LifecycleHook

class LifecycleHook extends CustomResource

constructor

new LifecycleHook(name: string, args: LifecycleHookArgs, opts?: pulumi.CustomResourceOptions)

Create a LifecycleHook resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LifecycleHookState, opts?: pulumi.CustomResourceOptions): LifecycleHook

Get an existing LifecycleHook resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LifecycleHook

Returns true if the given object is an instance of LifecycleHook. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property defaultResult

public defaultResult: pulumi.Output<string | undefined>;

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, default value: CONTINUE.

property heartbeatTimeout

public heartbeatTimeout: pulumi.Output<number | undefined>;

Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property lifecycleTransition

public lifecycleTransition: pulumi.Output<string>;

Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.

property name

public name: pulumi.Output<string>;

The name of the lifecycle hook, 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 lifecycle hook id.

property notificationArn

public notificationArn: pulumi.Output<string>;

The Arn of notification target.

property notificationMetadata

public notificationMetadata: pulumi.Output<string>;

Additional information that you want to include when Auto Scaling sends a message to the notification target.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

The ID of the Auto Scaling group to which you want to assign the lifecycle hook.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Notification

class Notification extends CustomResource

Provides a ESS notification resource. More about Ess notification, see Autoscaling Notification.

NOTE: Available in 1.55.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "tf-testAccEssNotification-%d";

const defaultRegions = pulumi.output(alicloud.getRegions({
    current: true,
}, { async: true }));
const defaultAccount = pulumi.output(alicloud.getAccount({ async: true }));
const defaultZones = pulumi.output(alicloud.getZones({
    availableDiskCategory: "cloudEfficiency",
    availableResourceCreation: "VSwitch",
}, { async: true }));
const defaultNetwork = new alicloud.vpc.Network("default", {
    cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "172.16.0.0/24",
    vpcId: defaultNetwork.id,
});
const defaultScalingGroup = new alicloud.ess.ScalingGroup("default", {
    maxSize: 1,
    minSize: 1,
    removalPolicies: [
        "OldestInstance",
        "NewestInstance",
    ],
    scalingGroupName: name,
    vswitchIds: [defaultSwitch.id],
});
const defaultQueue = new alicloud.mns.Queue("default", {});
const defaultNotification = new alicloud.ess.Notification("default", {
    notificationArn: pulumi.interpolate`acs:ess:${defaultRegions.regions[0].id}:${defaultAccount.id}:queue/${defaultQueue.name}`,
    notificationTypes: [
        "AUTOSCALING:SCALE_OUT_SUCCESS",
        "AUTOSCALING:SCALE_OUT_ERROR",
    ],
    scalingGroupId: defaultScalingGroup.id,
});

constructor

new Notification(name: string, args: NotificationArgs, opts?: pulumi.CustomResourceOptions)

Create a Notification resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NotificationState, opts?: pulumi.CustomResourceOptions): Notification

Get an existing Notification resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Notification

Returns true if the given object is an instance of Notification. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property notificationArn

public notificationArn: pulumi.Output<string>;

The Alibaba Cloud Resource Name (ARN) for the notification object. The format of notificationArn is acs:ess:{region}:{account-id}:{resource-relative-id}. Valid values for resource-relative-id: ‘cloudmonitor’, ‘queue/’, ‘topic/’.

property notificationTypes

public notificationTypes: pulumi.Output<string[]>;

The notification types of Auto Scaling events and resource changes. Supported notification types: ‘AUTOSCALING:SCALE_OUT_SUCCESS’, ‘AUTOSCALING:SCALE_IN_SUCCESS’, ‘AUTOSCALING:SCALE_OUT_ERROR’, ‘AUTOSCALING:SCALE_IN_ERROR’, ‘AUTOSCALING:SCALE_REJECT’, ‘AUTOSCALING:SCALE_OUT_START’, ‘AUTOSCALING:SCALE_IN_START’, ‘AUTOSCALING:SCHEDULE_TASK_EXPIRING’.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

The ID of the Auto Scaling group.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ScalingConfiguration

class ScalingConfiguration extends CustomResource

constructor

new ScalingConfiguration(name: string, args: ScalingConfigurationArgs, opts?: pulumi.CustomResourceOptions)

Create a ScalingConfiguration resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScalingConfigurationState, opts?: pulumi.CustomResourceOptions): ScalingConfiguration

Get an existing ScalingConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScalingConfiguration

Returns true if the given object is an instance of ScalingConfiguration. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property active

public active: pulumi.Output<boolean>;

Whether active current scaling configuration in the specified scaling group. Default to false.

property dataDisks

public dataDisks: pulumi.Output<ScalingConfigurationDataDisk[] | undefined>;

DataDisk mappings to attach to ecs instance. See Block datadisk below for details.

property enable

public enable: pulumi.Output<boolean | undefined>;

Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.

property forceDelete

public forceDelete: pulumi.Output<boolean | undefined>;

The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

ID of an image file, indicating the image resource selected when an instance is enabled.

property instanceIds

public instanceIds: pulumi.Output<string[] | undefined>;

It has been deprecated from version 1.6.0. New resource alicloud.ess.Attachment replaces it.

property instanceName

public instanceName: pulumi.Output<string | undefined>;

Name of an ECS instance. Default to “ESS-Instance”. It is valid from version 1.7.1.

property instanceType

public instanceType: pulumi.Output<string | undefined>;

Resource type of an ECS instance.

property instanceTypes

public instanceTypes: pulumi.Output<string[] | undefined>;

Resource types of an ECS instance.

property internetChargeType

public internetChargeType: pulumi.Output<string | undefined>;

Network billing type, Values: PayByBandwidth or PayByTraffic. Default to PayByBandwidth.

property internetMaxBandwidthIn

public internetMaxBandwidthIn: pulumi.Output<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].

property internetMaxBandwidthOut

public internetMaxBandwidthOut: pulumi.Output<number | undefined>;

Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,100].

property ioOptimized

public ioOptimized: pulumi.Output<string | undefined>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

public isOutdated: pulumi.Output<boolean | undefined>;

Whether to use outdated instance type. Default to false.

property keyName

public keyName: pulumi.Output<string | undefined>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

public kmsEncryptedPassword: pulumi.Output<string | undefined>;

An KMS encrypts password used to a db account. If the password is filled in, this field will be ignored.

property kmsEncryptionContext

public kmsEncryptionContext: pulumi.Output<{[key: string]: any} | undefined>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating a db account with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set.

property override

public override: pulumi.Output<boolean | undefined>;

Indicates whether to overwrite the existing data. Default to false.

property password

public password: pulumi.Output<string | undefined>;

The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include () ~!@#$%^&*-_+=\|{}[]:;'<>,.?/, The password of Windows-based instances cannot start with a forward slash (/).

property passwordInherit

public passwordInherit: pulumi.Output<boolean | undefined>;

Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the password and kmsEncryptedPassword will be ignored. You must ensure that the selected image has a password configured.

property roleName

public roleName: pulumi.Output<string | undefined>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property scalingConfigurationName

public scalingConfigurationName: pulumi.Output<string>;

Name shown for the scheduled task. 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 ScalingConfigurationId.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

ID of the scaling group of a scaling configuration.

property securityGroupId

public securityGroupId: pulumi.Output<string | undefined>;

ID of the security group used to create new instance. It is conflict with securityGroupIds.

property securityGroupIds

public securityGroupIds: pulumi.Output<string[] | undefined>;

List IDs of the security group used to create new instances. It is conflict with securityGroupId.

property substitute

public substitute: pulumi.Output<string>;

The another scaling configuration which will be active automatically and replace current configuration when setting active to ‘false’. It is invalid when active is ‘true’.

property systemDiskCategory

public systemDiskCategory: pulumi.Output<string | undefined>;

Category of the system disk. The parameter value options are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd and cloud. cloud only is used to some no I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

public systemDiskSize: pulumi.Output<number | undefined>;

Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource. It will be applied for ECS instances finally. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “http://“, or “https://” It can be a null string.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.

Resource ScalingGroup

class ScalingGroup extends CustomResource

constructor

new ScalingGroup(name: string, args: ScalingGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a ScalingGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScalingGroupState, opts?: pulumi.CustomResourceOptions): ScalingGroup

Get an existing ScalingGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScalingGroup

Returns true if the given object is an instance of ScalingGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property dbInstanceIds

public dbInstanceIds: pulumi.Output<string[] | undefined>;

If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist. - The specified RDS instance must be in running status. - The specified RDS instance’s whitelist must have room for more IP addresses.

property defaultCooldown

public defaultCooldown: pulumi.Output<number | undefined>;

Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.

property desiredCapacity

public desiredCapacity: pulumi.Output<number | undefined>;

Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property loadbalancerIds

public loadbalancerIds: pulumi.Output<string[] | undefined>;

If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance. - The Server Load Balancer instance must be enabled. - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a dependsOn argument targeting your alicloud.slb.Listener in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group). - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group. - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.

property maxSize

public maxSize: pulumi.Output<number>;

Maximum number of ECS instances in the scaling group. Value range: [0, 1000].

property minSize

public minSize: pulumi.Output<number>;

Minimum number of ECS instances in the scaling group. Value range: [0, 1000].

property multiAzPolicy

public multiAzPolicy: pulumi.Output<string | undefined>;

Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.54.0+).

property onDemandBaseCapacity

public onDemandBaseCapacity: pulumi.Output<number>;

The minimum amount of the Auto Scaling group’s capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

property onDemandPercentageAboveBaseCapacity

public onDemandPercentageAboveBaseCapacity: pulumi.Output<number>;

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

property removalPolicies

public removalPolicies: pulumi.Output<string[]>;

RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values: - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time. - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time. - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration. - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.

property scalingGroupName

public scalingGroupName: pulumi.Output<string | undefined>;

Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores _, hyphens -, and decimal points .. If this parameter is not specified, the default value is ScalingGroupId.

property spotInstancePools

public spotInstancePools: pulumi.Output<number>;

The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.

property spotInstanceRemedy

public spotInstanceRemedy: pulumi.Output<boolean>;

Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vswitchId

public vswitchId: pulumi.Output<string | undefined>;

It has been deprecated from version 1.7.1 and new field ‘vswitch_ids’ replaces it.

property vswitchIds

public vswitchIds: pulumi.Output<string[] | undefined>;

List of virtual switch IDs in which the ecs instances to be launched.

Resource ScalingGroupVServerGroups

class ScalingGroupVServerGroups extends CustomResource

Attaches/Detaches vserver groups to a specified scaling group.

NOTE: The load balancer of which vserver groups belongs to must be in active status.

NOTE: If scaling group’s network type is VPC, the vserver groups must be in the same VPC.

NOTE: A scaling group can have at most 5 vserver groups attached by default.

NOTE: Vserver groups and the default group of loadbalancer share the same backend server quota.

NOTE: When attach vserver groups to scaling group, existing ECS instances will be added to vserver groups; Instead, ECS instances will be removed from vserver group when detach.

NOTE: Detach action will be executed before attach action.

NOTE: Vserver group is defined uniquely by loadbalancerId, vserverGroupId, port.

NOTE: Modifing weight attribute means detach vserver group first and then, attach with new weight parameter.

NOTE: Resource alicloud.ess.ScalingGroupVServerGroups is available in 1.53.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "testAccEssVserverGroupsAttachment";

const defaultZones = pulumi.output(alicloud.getZones({
    availableDiskCategory: "cloudEfficiency",
    availableResourceCreation: "VSwitch",
}, { async: true }));
const defaultNetwork = new alicloud.vpc.Network("default", {
    cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "172.16.0.0/24",
    vpcId: defaultNetwork.id,
});
const defaultLoadBalancer = new alicloud.slb.LoadBalancer("default", {
    vswitchId: defaultSwitch.id,
});
const defaultServerGroup = new alicloud.slb.ServerGroup("default", {
    loadBalancerId: defaultLoadBalancer.id,
});
const defaultListener: alicloud.slb.Listener[] = [];
for (let i = 0; i < 2; i++) {
    defaultListener.push(new alicloud.slb.Listener(`default-${i}`, {
        backendPort: 22,
        bandwidth: 10,
        frontendPort: 22,
        healthCheckType: "tcp",
        loadBalancerId: defaultLoadBalancer.id.apply(id => id[i]),
        protocol: "tcp",
    }));
}
const defaultScalingGroup = new alicloud.ess.ScalingGroup("default", {
    maxSize: 2,
    minSize: 2,
    scalingGroupName: name,
    vswitchIds: [defaultSwitch.id],
});
const defaultScalingGroupVServerGroups = new alicloud.ess.ScalingGroupVServerGroups("default", {
    scalingGroupId: defaultScalingGroup.id,
    vserverGroups: [{
        loadbalancerId: defaultLoadBalancer.id,
        vserverAttributes: [{
            port: 100,
            vserverGroupId: defaultServerGroup.id,
            weight: 60,
        }],
    }],
});

Block vserverGroup

the vserverGroup supports the following:

  • loadbalancerId - (Required) Loadbalancer server ID of VServer Group.
  • vserverAttributes - (Required) A list of VServer Group attributes. See Block vserverAttribute below for details.

Block vserverAttribute

  • vserverGroupId - (Required) ID of VServer Group.
  • port - (Required) - The port will be used for VServer Group backend server.
  • weight - (Required) The weight of an ECS instance attached to the VServer Group.

constructor

new ScalingGroupVServerGroups(name: string, args: ScalingGroupVServerGroupsArgs, opts?: pulumi.CustomResourceOptions)

Create a ScalingGroupVServerGroups resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScalingGroupVServerGroupsState, opts?: pulumi.CustomResourceOptions): ScalingGroupVServerGroups

Get an existing ScalingGroupVServerGroups resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScalingGroupVServerGroups

Returns true if the given object is an instance of ScalingGroupVServerGroups. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property force

public force: pulumi.Output<boolean | undefined>;

If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

ID of the scaling group.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vserverGroups

public vserverGroups: pulumi.Output<ScalingGroupVServerGroupsVserverGroup[]>;

A list of vserver groups attached on scaling group. See Block vserverGroup below for details.

Resource ScalingRule

class ScalingRule extends CustomResource

constructor

new ScalingRule(name: string, args: ScalingRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a ScalingRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScalingRuleState, opts?: pulumi.CustomResourceOptions): ScalingRule

Get an existing ScalingRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScalingRule

Returns true if the given object is an instance of ScalingRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property adjustmentType

public adjustmentType: pulumi.Output<string | undefined>;

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.

property adjustmentValue

public adjustmentValue: pulumi.Output<number | undefined>;

Adjusted value of a scaling rule. Value range: - QuantityChangeInCapacity:(0, 500] U (-500, 0] - PercentChangeInCapacity:[0, 10000] U [-100, 0] - TotalCapacity:[0, 1000]

property ari

public ari: pulumi.Output<string>;

property cooldown

public cooldown: pulumi.Output<number | undefined>;

Cool-down time of a scaling rule. 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.

property disableScaleIn

public disableScaleIn: pulumi.Output<boolean | undefined>;

Indicates whether scale in by the target tracking policy is disabled. Default to false.

property estimatedInstanceWarmup

public estimatedInstanceWarmup: pulumi.Output<number>;

The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property metricName

public metricName: pulumi.Output<string | undefined>;

A CloudMonitor metric name.

property scalingGroupId

public scalingGroupId: pulumi.Output<string>;

ID of the scaling group of a scaling rule.

property scalingRuleName

public scalingRuleName: pulumi.Output<string>;

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.

property scalingRuleType

public scalingRuleType: pulumi.Output<string | undefined>;

The scaling rule type, either “SimpleScalingRule”, “TargetTrackingScalingRule”, “StepScalingRule”. Default to “SimpleScalingRule”.

property stepAdjustments

public stepAdjustments: pulumi.Output<ScalingRuleStepAdjustment[] | undefined>;

Steps for StepScalingRule. See Block stepAdjustment below for details.

property targetValue

public targetValue: pulumi.Output<number | undefined>;

The target value for the metric.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Schedule

class Schedule extends CustomResource

constructor

new Schedule(name: string, args: ScheduleArgs, opts?: pulumi.CustomResourceOptions)

Create a Schedule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduleState, opts?: pulumi.CustomResourceOptions): Schedule

Get an existing Schedule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Schedule

Returns true if the given object is an instance of Schedule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property launchExpirationTime

public launchExpirationTime: pulumi.Output<number | undefined>;

property launchTime

public launchTime: pulumi.Output<string>;

property recurrenceEndTime

public recurrenceEndTime: pulumi.Output<string>;

property recurrenceType

public recurrenceType: pulumi.Output<string>;

property recurrenceValue

public recurrenceValue: pulumi.Output<string>;

property scheduledAction

public scheduledAction: pulumi.Output<string>;

property scheduledTaskName

public scheduledTaskName: pulumi.Output<string | undefined>;

property taskEnabled

public taskEnabled: pulumi.Output<boolean | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ScheduledTask

class ScheduledTask extends CustomResource

constructor

new ScheduledTask(name: string, args: ScheduledTaskArgs, opts?: pulumi.CustomResourceOptions)

Create a ScheduledTask resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduledTaskState, opts?: pulumi.CustomResourceOptions): ScheduledTask

Get an existing ScheduledTask resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ScheduledTask

Returns true if the given object is an instance of ScheduledTask. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string>;

Description of the scheduled task, which is 2-200 characters (English or Chinese) long.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property launchExpirationTime

public launchExpirationTime: pulumi.Output<number | undefined>;

The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600

property launchTime

public launchTime: pulumi.Output<string>;

The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation. If the recurrenceType parameter is specified, the task is executed repeatedly at the time specified by LaunchTime. Otherwise, the task is only executed once at the date and time specified by LaunchTime.

property recurrenceEndTime

public recurrenceEndTime: pulumi.Output<string>;

Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation.

property recurrenceType

public recurrenceType: pulumi.Output<string>;

Specifies the recurrence type of the scheduled task. If set, both recurrenceValue and recurrenceEndTime must be set. Valid values: - Daily: The scheduled task is executed once every specified number of days. - Weekly: The scheduled task is executed on each specified day of a week. - Monthly: The scheduled task is executed on each specified day of a month. - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.

property recurrenceValue

public recurrenceValue: pulumi.Output<string>;

Specifies how often a scheduled task recurs. The valid value depends on recurrenceType - Daily: You can enter one value. Valid values: 1 to 31. - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday. - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A. - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.

property scheduledAction

public scheduledAction: pulumi.Output<string>;

The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule.

property scheduledTaskName

public scheduledTaskName: pulumi.Output<string | undefined>;

Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.

property taskEnabled

public taskEnabled: pulumi.Output<boolean | undefined>;

Specifies whether to start the scheduled task. Default to true.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getAlarms

getAlarms(args?: GetAlarmsArgs, opts?: pulumi.InvokeOptions): Promise<GetAlarmsResult>

This data source provides available alarm resources.

NOTE Available in 1.72.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const alarmDs = pulumi.output(alicloud.EssAlarm({
    ids: [
        "alarmId1",
        "alarmId2",
    ],
    nameRegex: "alarmName",
    scalingGroupId: "scalingGroupId",
}, { async: true }));

export const firstScalingRule = alicloud_alarms_alarm_ds.configurations.0.id;

Function getLifecycleHooks

getLifecycleHooks(args?: GetLifecycleHooksArgs, opts?: pulumi.InvokeOptions): Promise<GetLifecycleHooksResult>

This data source provides available lifecycle hook resources.

NOTE: Available in 1.72.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const ds = pulumi.output(alicloud.ess.getLifecycleHooks({
    nameRegex: "lifecyclehookName",
    scalingGroupId: "scalingGroupId",
}, { async: true }));

export const firstLifecycleHook = ds.hooks[0].id;

Function getNotifications

getNotifications(args: GetNotificationsArgs, opts?: pulumi.InvokeOptions): Promise<GetNotificationsResult>

This data source provides available notification resources.

NOTE: Available in 1.72.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const ds = pulumi.output(alicloud.ess.getNotifications({
    scalingGroupId: "scalingGroupId",
}, { async: true }));

export const firstNotification = ds.notifications[0].id;

Function getScalingConfigurations

getScalingConfigurations(args?: GetScalingConfigurationsArgs, opts?: pulumi.InvokeOptions): Promise<GetScalingConfigurationsResult>

This data source provides available scaling configuration resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const scalingconfigurationsDs = pulumi.output(alicloud.ess.getScalingConfigurations({
    ids: [
        "scalingConfigurationId1",
        "scalingConfigurationId2",
    ],
    nameRegex: "scalingConfigurationName",
    scalingGroupId: "scalingGroupId",
}, { async: true }));

export const firstScalingRule = scalingconfigurationsDs.configurations[0].id;

Function getScalingGroups

getScalingGroups(args?: GetScalingGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetScalingGroupsResult>

This data source provides available scaling group resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const scalinggroupsDs = pulumi.output(alicloud.ess.getScalingGroups({
    ids: [
        "scalingGroupId1",
        "scalingGroupId2",
    ],
    nameRegex: "scalingGroupName",
}, { async: true }));

export const firstScalingGroup = scalinggroupsDs.groups[0].id;

Function getScalingRules

getScalingRules(args?: GetScalingRulesArgs, opts?: pulumi.InvokeOptions): Promise<GetScalingRulesResult>

This data source provides available scaling rule resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const scalingrulesDs = pulumi.output(alicloud.ess.getScalingRules({
    ids: [
        "scalingRuleId1",
        "scalingRuleId2",
    ],
    nameRegex: "scalingRuleName",
    scalingGroupId: "scalingGroupId",
}, { async: true }));

export const firstScalingRule = scalingrulesDs.rules[0].id;

Function getScheduledTasks

getScheduledTasks(args?: GetScheduledTasksArgs, opts?: pulumi.InvokeOptions): Promise<GetScheduledTasksResult>

This data source provides available scheduled task resources.

NOTE: Available in 1.72.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const ds = pulumi.output(alicloud.ess.getScheduledTasks({
    nameRegex: "scheduledTaskName",
    scheduledTaskId: "scheduledTaskId",
}, { async: true }));

export const firstScheduledTask = ds.tasks[0].id;

Others

interface AlarmArgs

interface AlarmArgs

The set of arguments for constructing a Alarm resource.

property alarmActions

alarmActions: pulumi.Input<pulumi.Input<string>[]>;

The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.

property cloudMonitorGroupId

cloudMonitorGroupId?: pulumi.Input<number>;

Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.

property comparisonOperator

comparisonOperator?: pulumi.Input<string>;

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.

property description

description?: pulumi.Input<string>;

The description for the alarm.

property dimensions

dimensions?: pulumi.Input<{[key: string]: any}>;

The dimension map for the alarm’s associated metric (documented below). For all metrics, you can not set the dimension key as “scalingGroup” or “userId”, which is set by default, the second dimension for metric, such as “device” for “PackagesNetIn”, need to be set by users.

property enable

enable?: pulumi.Input<boolean>;

Whether to enable specific ess alarm. Default to true.

property evaluationCount

evaluationCount?: pulumi.Input<number>;

The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.

property metricName

metricName: pulumi.Input<string>;

The name for the alarm’s associated metric. See Block_metricNames_and_dimensions below for details.

property metricType

metricType?: pulumi.Input<string>;

The type for the alarm’s associated metric. Supported value: system, custom. “system” means the metric data is collected by Aliyun Cloud Monitor Service(CMS), “custom” means the metric data is upload to CMS by users. Defaults to system.

property name

name?: pulumi.Input<string>;

The name for ess alarm.

property period

period?: pulumi.Input<number>;

The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

The scaling group associated with this alarm, the ‘ForceNew’ attribute is available in 1.56.0+.

property statistics

statistics?: pulumi.Input<string>;

The statistic to apply to the alarm’s associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.

property threshold

threshold: pulumi.Input<string>;

The value against which the specified statistics is compared.

interface AlarmState

interface AlarmState

Input properties used for looking up and filtering Alarm resources.

property alarmActions

alarmActions?: pulumi.Input<pulumi.Input<string>[]>;

The list of actions to execute when this alarm transition into an ALARM state. Each action is specified as ess scaling rule ari.

property cloudMonitorGroupId

cloudMonitorGroupId?: pulumi.Input<number>;

Defines the application group id defined by CMS which is assigned when you upload custom metric to CMS, only available for custom metirc.

property comparisonOperator

comparisonOperator?: pulumi.Input<string>;

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Supported value: >=, <=, >, <. Defaults to >=.

property description

description?: pulumi.Input<string>;

The description for the alarm.

property dimensions

dimensions?: pulumi.Input<{[key: string]: any}>;

The dimension map for the alarm’s associated metric (documented below). For all metrics, you can not set the dimension key as “scalingGroup” or “userId”, which is set by default, the second dimension for metric, such as “device” for “PackagesNetIn”, need to be set by users.

property enable

enable?: pulumi.Input<boolean>;

Whether to enable specific ess alarm. Default to true.

property evaluationCount

evaluationCount?: pulumi.Input<number>;

The number of times that needs to satisfies comparison condition before transition into ALARM state. Defaults to 3.

property metricName

metricName?: pulumi.Input<string>;

The name for the alarm’s associated metric. See Block_metricNames_and_dimensions below for details.

property metricType

metricType?: pulumi.Input<string>;

The type for the alarm’s associated metric. Supported value: system, custom. “system” means the metric data is collected by Aliyun Cloud Monitor Service(CMS), “custom” means the metric data is upload to CMS by users. Defaults to system.

property name

name?: pulumi.Input<string>;

The name for ess alarm.

property period

period?: pulumi.Input<number>;

The period in seconds over which the specified statistic is applied. Supported value: 60, 120, 300, 900. Defaults to 300.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

The scaling group associated with this alarm, the ‘ForceNew’ attribute is available in 1.56.0+.

property state

state?: pulumi.Input<string>;

The state of specified alarm.

property statistics

statistics?: pulumi.Input<string>;

The statistic to apply to the alarm’s associated metric. Supported value: Average, Minimum, Maximum. Defaults to Average.

property threshold

threshold?: pulumi.Input<string>;

The value against which the specified statistics is compared.

interface AttachmentArgs

interface AttachmentArgs

The set of arguments for constructing a Attachment resource.

property force

force?: pulumi.Input<boolean>;

Whether to remove forcibly “AutoCreated” ECS instances in order to release scaling group capacity “MaxSize” for attaching ECS instances. Default to false.

property instanceIds

instanceIds: pulumi.Input<pulumi.Input<string>[]>;

ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

ID of the scaling group of a scaling configuration.

interface AttachmentState

interface AttachmentState

Input properties used for looking up and filtering Attachment resources.

property force

force?: pulumi.Input<boolean>;

Whether to remove forcibly “AutoCreated” ECS instances in order to release scaling group capacity “MaxSize” for attaching ECS instances. Default to false.

property instanceIds

instanceIds?: pulumi.Input<pulumi.Input<string>[]>;

ID of the ECS instance to be attached to the scaling group. You can input up to 20 IDs.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

ID of the scaling group of a scaling configuration.

interface GetAlarmsArgs

interface GetAlarmsArgs

A collection of arguments for invoking getAlarms.

property ids

ids?: string[];

A list of alarm IDs.

property metricType

metricType?: undefined | string;

The type for the alarm’s associated metric. Supported value: system, custom. “system” means the metric data is collected by Aliyun Cloud Monitor Service(CMS), “custom” means the metric data is upload to CMS by users. Defaults to system.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting alarms by name.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

Scaling group id the alarms belong to.

interface GetAlarmsResult

interface GetAlarmsResult

A collection of values returned by getAlarms.

property alarms

alarms: GetAlarmsAlarm[];

A list of alarms. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of alarm ids.

property metricType

metricType?: undefined | string;

The type for the alarm’s associated metric.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of alarm names.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

The scaling group associated with this alarm.

interface GetLifecycleHooksArgs

interface GetLifecycleHooksArgs

A collection of arguments for invoking getLifecycleHooks.

property ids

ids?: string[];

A list of lifecycle hook IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting lifecycle hook by name.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

Scaling group id the lifecycle hooks belong to.

interface GetLifecycleHooksResult

interface GetLifecycleHooksResult

A collection of values returned by getLifecycleHooks.

property hooks

hooks: GetLifecycleHooksHook[];

A list of lifecycle hooks. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of lifecycle hook ids.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of lifecycle hook names.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

ID of the scaling group.

interface GetNotificationsArgs

interface GetNotificationsArgs

A collection of arguments for invoking getNotifications.

property ids

ids?: string[];

A list of notification ids.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId: string;

Scaling group id the notifications belong to.

interface GetNotificationsResult

interface GetNotificationsResult

A collection of values returned by getNotifications.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids?: string[];

A list of notification ids.

property notifications

notifications: GetNotificationsNotification[];

A list of notifications. Each element contains the following attributes:

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId: string;

ID of the scaling group.

interface GetScalingConfigurationsArgs

interface GetScalingConfigurationsArgs

A collection of arguments for invoking getScalingConfigurations.

property ids

ids?: string[];

A list of scaling configuration IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting scaling configurations by name.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

Scaling group id the scaling configurations belong to.

interface GetScalingConfigurationsResult

interface GetScalingConfigurationsResult

A collection of values returned by getScalingConfigurations.

property configurations

configurations: GetScalingConfigurationsConfiguration[];

A list of scaling rules. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of scaling configuration ids.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of scaling configuration names.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

ID of the scaling group.

interface GetScalingGroupsArgs

interface GetScalingGroupsArgs

A collection of arguments for invoking getScalingGroups.

property ids

ids?: string[];

A list of scaling group IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting scaling groups by name.

property outputFile

outputFile?: undefined | string;

interface GetScalingGroupsResult

interface GetScalingGroupsResult

A collection of values returned by getScalingGroups.

property groups

groups: GetScalingGroupsGroup[];

A list of scaling groups. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of scaling group ids.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of scaling group names.

property outputFile

outputFile?: undefined | string;

interface GetScalingRulesArgs

interface GetScalingRulesArgs

A collection of arguments for invoking getScalingRules.

property ids

ids?: string[];

A list of scaling rule IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting scaling rules by name.

property outputFile

outputFile?: undefined | string;

property scalingGroupId

scalingGroupId?: undefined | string;

Scaling group id the scaling rules belong to.

property type

type?: undefined | string;

Type of scaling rule.

interface GetScalingRulesResult

interface GetScalingRulesResult

A collection of values returned by getScalingRules.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of scaling rule ids.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of scaling rule names.

property outputFile

outputFile?: undefined | string;

property rules

rules: GetScalingRulesRule[];

A list of scaling rules. Each element contains the following attributes:

property scalingGroupId

scalingGroupId?: undefined | string;

ID of the scaling group.

property type

type?: undefined | string;

Type of the scaling rule.

interface GetScheduledTasksArgs

interface GetScheduledTasksArgs

A collection of arguments for invoking getScheduledTasks.

property ids

ids?: string[];

A list of scheduled task IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting scheduled tasks by name.

property outputFile

outputFile?: undefined | string;

property scheduledAction

scheduledAction?: undefined | string;

The operation to be performed when a scheduled task is triggered.

property scheduledTaskId

scheduledTaskId?: undefined | string;

The id of the scheduled task.

interface GetScheduledTasksResult

interface GetScheduledTasksResult

A collection of values returned by getScheduledTasks.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of scheduled task ids.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of scheduled task names.

property outputFile

outputFile?: undefined | string;

property scheduledAction

scheduledAction?: undefined | string;

The operation to be performed when a scheduled task is triggered.

property scheduledTaskId

scheduledTaskId?: undefined | string;

property tasks

tasks: GetScheduledTasksTask[];

A list of scheduled tasks. Each element contains the following attributes:

interface LifecycleHookArgs

interface LifecycleHookArgs

The set of arguments for constructing a LifecycleHook resource.

property defaultResult

defaultResult?: pulumi.Input<string>;

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, default value: CONTINUE.

property heartbeatTimeout

heartbeatTimeout?: pulumi.Input<number>;

Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.

property lifecycleTransition

lifecycleTransition: pulumi.Input<string>;

Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.

property name

name?: pulumi.Input<string>;

The name of the lifecycle hook, 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 lifecycle hook id.

property notificationArn

notificationArn?: pulumi.Input<string>;

The Arn of notification target.

property notificationMetadata

notificationMetadata?: pulumi.Input<string>;

Additional information that you want to include when Auto Scaling sends a message to the notification target.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

The ID of the Auto Scaling group to which you want to assign the lifecycle hook.

interface LifecycleHookState

interface LifecycleHookState

Input properties used for looking up and filtering LifecycleHook resources.

property defaultResult

defaultResult?: pulumi.Input<string>;

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses. Applicable value: CONTINUE, ABANDON, default value: CONTINUE.

property heartbeatTimeout

heartbeatTimeout?: pulumi.Input<number>;

Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the defaultResult parameter. Default value: 600.

property lifecycleTransition

lifecycleTransition?: pulumi.Input<string>;

Type of Scaling activity attached to lifecycle hook. Supported value: SCALE_OUT, SCALE_IN.

property name

name?: pulumi.Input<string>;

The name of the lifecycle hook, 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 lifecycle hook id.

property notificationArn

notificationArn?: pulumi.Input<string>;

The Arn of notification target.

property notificationMetadata

notificationMetadata?: pulumi.Input<string>;

Additional information that you want to include when Auto Scaling sends a message to the notification target.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

The ID of the Auto Scaling group to which you want to assign the lifecycle hook.

interface NotificationArgs

interface NotificationArgs

The set of arguments for constructing a Notification resource.

property notificationArn

notificationArn: pulumi.Input<string>;

The Alibaba Cloud Resource Name (ARN) for the notification object. The format of notificationArn is acs:ess:{region}:{account-id}:{resource-relative-id}. Valid values for resource-relative-id: ‘cloudmonitor’, ‘queue/’, ‘topic/’.

property notificationTypes

notificationTypes: pulumi.Input<pulumi.Input<string>[]>;

The notification types of Auto Scaling events and resource changes. Supported notification types: ‘AUTOSCALING:SCALE_OUT_SUCCESS’, ‘AUTOSCALING:SCALE_IN_SUCCESS’, ‘AUTOSCALING:SCALE_OUT_ERROR’, ‘AUTOSCALING:SCALE_IN_ERROR’, ‘AUTOSCALING:SCALE_REJECT’, ‘AUTOSCALING:SCALE_OUT_START’, ‘AUTOSCALING:SCALE_IN_START’, ‘AUTOSCALING:SCHEDULE_TASK_EXPIRING’.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

The ID of the Auto Scaling group.

interface NotificationState

interface NotificationState

Input properties used for looking up and filtering Notification resources.

property notificationArn

notificationArn?: pulumi.Input<string>;

The Alibaba Cloud Resource Name (ARN) for the notification object. The format of notificationArn is acs:ess:{region}:{account-id}:{resource-relative-id}. Valid values for resource-relative-id: ‘cloudmonitor’, ‘queue/’, ‘topic/’.

property notificationTypes

notificationTypes?: pulumi.Input<pulumi.Input<string>[]>;

The notification types of Auto Scaling events and resource changes. Supported notification types: ‘AUTOSCALING:SCALE_OUT_SUCCESS’, ‘AUTOSCALING:SCALE_IN_SUCCESS’, ‘AUTOSCALING:SCALE_OUT_ERROR’, ‘AUTOSCALING:SCALE_IN_ERROR’, ‘AUTOSCALING:SCALE_REJECT’, ‘AUTOSCALING:SCALE_OUT_START’, ‘AUTOSCALING:SCALE_IN_START’, ‘AUTOSCALING:SCHEDULE_TASK_EXPIRING’.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

The ID of the Auto Scaling group.

interface ScalingConfigurationArgs

interface ScalingConfigurationArgs

The set of arguments for constructing a ScalingConfiguration resource.

property active

active?: pulumi.Input<boolean>;

Whether active current scaling configuration in the specified scaling group. Default to false.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<ScalingConfigurationDataDisk>[]>;

DataDisk mappings to attach to ecs instance. See Block datadisk below for details.

property enable

enable?: pulumi.Input<boolean>;

Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

property imageId

imageId: pulumi.Input<string>;

ID of an image file, indicating the image resource selected when an instance is enabled.

property instanceIds

DEPRECATED Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.
instanceIds?: pulumi.Input<pulumi.Input<string>[]>;

It has been deprecated from version 1.6.0. New resource alicloud.ess.Attachment replaces it.

property instanceName

instanceName?: pulumi.Input<string>;

Name of an ECS instance. Default to “ESS-Instance”. It is valid from version 1.7.1.

property instanceType

instanceType?: pulumi.Input<string>;

Resource type of an ECS instance.

property instanceTypes

instanceTypes?: pulumi.Input<pulumi.Input<string>[]>;

Resource types of an ECS instance.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Network billing type, Values: PayByBandwidth or PayByTraffic. Default to PayByBandwidth.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,100].

property ioOptimized

DEPRECATED Attribute io_optimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
ioOptimized?: pulumi.Input<string>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

isOutdated?: pulumi.Input<boolean>;

Whether to use outdated instance type. Default to false.

property keyName

keyName?: pulumi.Input<string>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

An KMS encrypts password used to a db account. If the password is filled in, this field will be ignored.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating a db account with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set.

property override

override?: pulumi.Input<boolean>;

Indicates whether to overwrite the existing data. Default to false.

property password

password?: pulumi.Input<string>;

The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include () ~!@#$%^&*-_+=\|{}[]:;'<>,.?/, The password of Windows-based instances cannot start with a forward slash (/).

property passwordInherit

passwordInherit?: pulumi.Input<boolean>;

Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the password and kmsEncryptedPassword will be ignored. You must ensure that the selected image has a password configured.

property roleName

roleName?: pulumi.Input<string>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property scalingConfigurationName

scalingConfigurationName?: pulumi.Input<string>;

Name shown for the scheduled task. 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 ScalingConfigurationId.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

ID of the scaling group of a scaling configuration.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

ID of the security group used to create new instance. It is conflict with securityGroupIds.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

List IDs of the security group used to create new instances. It is conflict with securityGroupId.

property substitute

substitute?: pulumi.Input<string>;

The another scaling configuration which will be active automatically and replace current configuration when setting active to ‘false’. It is invalid when active is ‘true’.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

Category of the system disk. The parameter value options are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd and cloud. cloud only is used to some no I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. It will be applied for ECS instances finally. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “http://“, or “https://” It can be a null string.

property userData

userData?: pulumi.Input<string>;

User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.

interface ScalingConfigurationState

interface ScalingConfigurationState

Input properties used for looking up and filtering ScalingConfiguration resources.

property active

active?: pulumi.Input<boolean>;

Whether active current scaling configuration in the specified scaling group. Default to false.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<ScalingConfigurationDataDisk>[]>;

DataDisk mappings to attach to ecs instance. See Block datadisk below for details.

property enable

enable?: pulumi.Input<boolean>;

Whether enable the specified scaling group(make it active) to which the current scaling configuration belongs.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

The last scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

property imageId

imageId?: pulumi.Input<string>;

ID of an image file, indicating the image resource selected when an instance is enabled.

property instanceIds

DEPRECATED Field 'instance_ids' has been deprecated from provider version 1.6.0. New resource 'alicloud_ess_attachment' replaces it.
instanceIds?: pulumi.Input<pulumi.Input<string>[]>;

It has been deprecated from version 1.6.0. New resource alicloud.ess.Attachment replaces it.

property instanceName

instanceName?: pulumi.Input<string>;

Name of an ECS instance. Default to “ESS-Instance”. It is valid from version 1.7.1.

property instanceType

instanceType?: pulumi.Input<string>;

Resource type of an ECS instance.

property instanceTypes

instanceTypes?: pulumi.Input<pulumi.Input<string>[]>;

Resource types of an ECS instance.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Network billing type, Values: PayByBandwidth or PayByTraffic. Default to PayByBandwidth.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). The value range is [1,200].

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outgoing bandwidth from the public network, measured in Mbps (Mega bit per second). The value range for PayByBandwidth is [0,100].

property ioOptimized

DEPRECATED Attribute io_optimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
ioOptimized?: pulumi.Input<string>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

isOutdated?: pulumi.Input<boolean>;

Whether to use outdated instance type. Default to false.

property keyName

keyName?: pulumi.Input<string>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

An KMS encrypts password used to a db account. If the password is filled in, this field will be ignored.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating a db account with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set.

property override

override?: pulumi.Input<boolean>;

Indicates whether to overwrite the existing data. Default to false.

property password

password?: pulumi.Input<string>;

The password of the ECS instance. The password must be 8 to 30 characters in length. It must contains at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include () ~!@#$%^&*-_+=\|{}[]:;'<>,.?/, The password of Windows-based instances cannot start with a forward slash (/).

property passwordInherit

passwordInherit?: pulumi.Input<boolean>;

Specifies whether to use the password that is predefined in the image. If the PasswordInherit parameter is set to true, the password and kmsEncryptedPassword will be ignored. You must ensure that the selected image has a password configured.

property roleName

roleName?: pulumi.Input<string>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property scalingConfigurationName

scalingConfigurationName?: pulumi.Input<string>;

Name shown for the scheduled task. 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 ScalingConfigurationId.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

ID of the scaling group of a scaling configuration.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

ID of the security group used to create new instance. It is conflict with securityGroupIds.

property securityGroupIds

securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;

List IDs of the security group used to create new instances. It is conflict with securityGroupId.

property substitute

substitute?: pulumi.Input<string>;

The another scaling configuration which will be active automatically and replace current configuration when setting active to ‘false’. It is invalid when active is ‘true’.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

Category of the system disk. The parameter value options are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd and cloud. cloud only is used to some no I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of system disk, in GiB. Optional values: cloud: 20-500, cloud_efficiency: 20-500, cloud_ssd: 20-500, ephemeral_ssd: 20-500 The default value is max{40, ImageSize}. If this parameter is set, the system disk size must be greater than or equal to max{40, ImageSize}.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. It will be applied for ECS instances finally. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “http://“, or “https://” It can be a null string.

property userData

userData?: pulumi.Input<string>;

User-defined data to customize the startup behaviors of the ECS instance and to pass data into the ECS instance.

interface ScalingGroupArgs

interface ScalingGroupArgs

The set of arguments for constructing a ScalingGroup resource.

property dbInstanceIds

dbInstanceIds?: pulumi.Input<pulumi.Input<string>[]>;

If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist. - The specified RDS instance must be in running status. - The specified RDS instance’s whitelist must have room for more IP addresses.

property defaultCooldown

defaultCooldown?: pulumi.Input<number>;

Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.

property desiredCapacity

desiredCapacity?: pulumi.Input<number>;

Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].

property loadbalancerIds

loadbalancerIds?: pulumi.Input<pulumi.Input<string>[]>;

If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance. - The Server Load Balancer instance must be enabled. - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a dependsOn argument targeting your alicloud.slb.Listener in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group). - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group. - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.

property maxSize

maxSize: pulumi.Input<number>;

Maximum number of ECS instances in the scaling group. Value range: [0, 1000].

property minSize

minSize: pulumi.Input<number>;

Minimum number of ECS instances in the scaling group. Value range: [0, 1000].

property multiAzPolicy

multiAzPolicy?: pulumi.Input<string>;

Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.54.0+).

property onDemandBaseCapacity

onDemandBaseCapacity?: pulumi.Input<number>;

The minimum amount of the Auto Scaling group’s capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

property onDemandPercentageAboveBaseCapacity

onDemandPercentageAboveBaseCapacity?: pulumi.Input<number>;

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

property removalPolicies

removalPolicies?: pulumi.Input<pulumi.Input<string>[]>;

RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values: - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time. - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time. - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration. - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.

property scalingGroupName

scalingGroupName?: pulumi.Input<string>;

Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores _, hyphens -, and decimal points .. If this parameter is not specified, the default value is ScalingGroupId.

property spotInstancePools

spotInstancePools?: pulumi.Input<number>;

The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.

property spotInstanceRemedy

spotInstanceRemedy?: pulumi.Input<boolean>;

Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.

property vswitchId

DEPRECATED Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.
vswitchId?: pulumi.Input<string>;

It has been deprecated from version 1.7.1 and new field ‘vswitch_ids’ replaces it.

property vswitchIds

vswitchIds?: pulumi.Input<pulumi.Input<string>[]>;

List of virtual switch IDs in which the ecs instances to be launched.

interface ScalingGroupState

interface ScalingGroupState

Input properties used for looking up and filtering ScalingGroup resources.

property dbInstanceIds

dbInstanceIds?: pulumi.Input<pulumi.Input<string>[]>;

If an RDS instance is specified in the scaling group, the scaling group automatically attaches the Intranet IP addresses of its ECS instances to the RDS access whitelist. - The specified RDS instance must be in running status. - The specified RDS instance’s whitelist must have room for more IP addresses.

property defaultCooldown

defaultCooldown?: pulumi.Input<number>;

Default cool-down time (in seconds) of the scaling group. Value range: [0, 86400]. The default value is 300s.

property desiredCapacity

desiredCapacity?: pulumi.Input<number>;

Expected number of ECS instances in the scaling group. Value range: [min_size, maxSize].

property loadbalancerIds

loadbalancerIds?: pulumi.Input<pulumi.Input<string>[]>;

If a Server Load Balancer instance is specified in the scaling group, the scaling group automatically attaches its ECS instances to the Server Load Balancer instance. - The Server Load Balancer instance must be enabled. - At least one listener must be configured for each Server Load Balancer and it HealthCheck must be on. Otherwise, creation will fail (it may be useful to add a dependsOn argument targeting your alicloud.slb.Listener in order to make sure the listener with its HealthCheck configuration is ready before creating your scaling group). - The Server Load Balancer instance attached with VPC-type ECS instances cannot be attached to the scaling group. - The default weight of an ECS instance attached to the Server Load Balancer instance is 50.

property maxSize

maxSize?: pulumi.Input<number>;

Maximum number of ECS instances in the scaling group. Value range: [0, 1000].

property minSize

minSize?: pulumi.Input<number>;

Minimum number of ECS instances in the scaling group. Value range: [0, 1000].

property multiAzPolicy

multiAzPolicy?: pulumi.Input<string>;

Multi-AZ scaling group ECS instance expansion and contraction strategy. PRIORITY, BALANCE or COST_OPTIMIZED(Available in 1.54.0+).

property onDemandBaseCapacity

onDemandBaseCapacity?: pulumi.Input<number>;

The minimum amount of the Auto Scaling group’s capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

property onDemandPercentageAboveBaseCapacity

onDemandPercentageAboveBaseCapacity?: pulumi.Input<number>;

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

property removalPolicies

removalPolicies?: pulumi.Input<pulumi.Input<string>[]>;

RemovalPolicy is used to select the ECS instances you want to remove from the scaling group when multiple candidates for removal exist. Optional values: - OldestInstance: removes the ECS instance that is added to the scaling group at the earliest point in time. - NewestInstance: removes the ECS instance that is added to the scaling group at the latest point in time. - OldestScalingConfiguration: removes the ECS instance that is created based on the earliest scaling configuration. - Default values: Default value of RemovalPolicy.1: OldestScalingConfiguration. Default value of RemovalPolicy.2: OldestInstance.

property scalingGroupName

scalingGroupName?: pulumi.Input<string>;

Name shown for the scaling group, which must contain 2-64 characters (English or Chinese), starting with numbers, English letters or Chinese characters, and can contain numbers, underscores _, hyphens -, and decimal points .. If this parameter is not specified, the default value is ScalingGroupId.

property spotInstancePools

spotInstancePools?: pulumi.Input<number>;

The number of Spot pools to use to allocate your Spot capacity. The Spot pools is composed of instance types of lowest price.

property spotInstanceRemedy

spotInstanceRemedy?: pulumi.Input<boolean>;

Whether to replace spot instances with newly created spot/onDemand instance when receive a spot recycling message.

property vswitchId

DEPRECATED Field 'vswitch_id' has been deprecated from provider version 1.7.1, and new field 'vswitch_ids' can replace it.
vswitchId?: pulumi.Input<string>;

It has been deprecated from version 1.7.1 and new field ‘vswitch_ids’ replaces it.

property vswitchIds

vswitchIds?: pulumi.Input<pulumi.Input<string>[]>;

List of virtual switch IDs in which the ecs instances to be launched.

interface ScalingGroupVServerGroupsArgs

interface ScalingGroupVServerGroupsArgs

The set of arguments for constructing a ScalingGroupVServerGroups resource.

property force

force?: pulumi.Input<boolean>;

If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

ID of the scaling group.

property vserverGroups

vserverGroups: pulumi.Input<pulumi.Input<ScalingGroupVServerGroupsVserverGroup>[]>;

A list of vserver groups attached on scaling group. See Block vserverGroup below for details.

interface ScalingGroupVServerGroupsState

interface ScalingGroupVServerGroupsState

Input properties used for looking up and filtering ScalingGroupVServerGroups resources.

property force

force?: pulumi.Input<boolean>;

If instances of scaling group are attached/removed from slb backend server when attach/detach vserver group from scaling group. Default to true.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

ID of the scaling group.

property vserverGroups

vserverGroups?: pulumi.Input<pulumi.Input<ScalingGroupVServerGroupsVserverGroup>[]>;

A list of vserver groups attached on scaling group. See Block vserverGroup below for details.

interface ScalingRuleArgs

interface ScalingRuleArgs

The set of arguments for constructing a ScalingRule resource.

property adjustmentType

adjustmentType?: pulumi.Input<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.

property adjustmentValue

adjustmentValue?: pulumi.Input<number>;

Adjusted value of a scaling rule. Value range: - QuantityChangeInCapacity:(0, 500] U (-500, 0] - PercentChangeInCapacity:[0, 10000] U [-100, 0] - TotalCapacity:[0, 1000]

property cooldown

cooldown?: pulumi.Input<number>;

Cool-down time of a scaling rule. 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.

property disableScaleIn

disableScaleIn?: pulumi.Input<boolean>;

Indicates whether scale in by the target tracking policy is disabled. Default to false.

property estimatedInstanceWarmup

estimatedInstanceWarmup?: pulumi.Input<number>;

The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.

property metricName

metricName?: pulumi.Input<string>;

A CloudMonitor metric name.

property scalingGroupId

scalingGroupId: pulumi.Input<string>;

ID of the scaling group of a scaling rule.

property scalingRuleName

scalingRuleName?: pulumi.Input<string>;

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.

property scalingRuleType

scalingRuleType?: pulumi.Input<string>;

The scaling rule type, either “SimpleScalingRule”, “TargetTrackingScalingRule”, “StepScalingRule”. Default to “SimpleScalingRule”.

property stepAdjustments

stepAdjustments?: pulumi.Input<pulumi.Input<ScalingRuleStepAdjustment>[]>;

Steps for StepScalingRule. See Block stepAdjustment below for details.

property targetValue

targetValue?: pulumi.Input<number>;

The target value for the metric.

interface ScalingRuleState

interface ScalingRuleState

Input properties used for looking up and filtering ScalingRule resources.

property adjustmentType

adjustmentType?: pulumi.Input<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.

property adjustmentValue

adjustmentValue?: pulumi.Input<number>;

Adjusted value of a scaling rule. Value range: - QuantityChangeInCapacity:(0, 500] U (-500, 0] - PercentChangeInCapacity:[0, 10000] U [-100, 0] - TotalCapacity:[0, 1000]

property ari

ari?: pulumi.Input<string>;

property cooldown

cooldown?: pulumi.Input<number>;

Cool-down time of a scaling rule. 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.

property disableScaleIn

disableScaleIn?: pulumi.Input<boolean>;

Indicates whether scale in by the target tracking policy is disabled. Default to false.

property estimatedInstanceWarmup

estimatedInstanceWarmup?: pulumi.Input<number>;

The estimated time, in seconds, until a newly launched instance will contribute CloudMonitor metrics. Default to 300.

property metricName

metricName?: pulumi.Input<string>;

A CloudMonitor metric name.

property scalingGroupId

scalingGroupId?: pulumi.Input<string>;

ID of the scaling group of a scaling rule.

property scalingRuleName

scalingRuleName?: pulumi.Input<string>;

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.

property scalingRuleType

scalingRuleType?: pulumi.Input<string>;

The scaling rule type, either “SimpleScalingRule”, “TargetTrackingScalingRule”, “StepScalingRule”. Default to “SimpleScalingRule”.

property stepAdjustments

stepAdjustments?: pulumi.Input<pulumi.Input<ScalingRuleStepAdjustment>[]>;

Steps for StepScalingRule. See Block stepAdjustment below for details.

property targetValue

targetValue?: pulumi.Input<number>;

The target value for the metric.

interface ScheduleArgs

interface ScheduleArgs

The set of arguments for constructing a Schedule resource.

property description

description?: pulumi.Input<string>;

property launchExpirationTime

launchExpirationTime?: pulumi.Input<number>;

property launchTime

launchTime: pulumi.Input<string>;

property recurrenceEndTime

recurrenceEndTime?: pulumi.Input<string>;

property recurrenceType

recurrenceType?: pulumi.Input<string>;

property recurrenceValue

recurrenceValue?: pulumi.Input<string>;

property scheduledAction

scheduledAction: pulumi.Input<string>;

property scheduledTaskName

scheduledTaskName?: pulumi.Input<string>;

property taskEnabled

taskEnabled?: pulumi.Input<boolean>;

interface ScheduledTaskArgs

interface ScheduledTaskArgs

The set of arguments for constructing a ScheduledTask resource.

property description

description?: pulumi.Input<string>;

Description of the scheduled task, which is 2-200 characters (English or Chinese) long.

property launchExpirationTime

launchExpirationTime?: pulumi.Input<number>;

The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600

property launchTime

launchTime: pulumi.Input<string>;

The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation. If the recurrenceType parameter is specified, the task is executed repeatedly at the time specified by LaunchTime. Otherwise, the task is only executed once at the date and time specified by LaunchTime.

property recurrenceEndTime

recurrenceEndTime?: pulumi.Input<string>;

Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation.

property recurrenceType

recurrenceType?: pulumi.Input<string>;

Specifies the recurrence type of the scheduled task. If set, both recurrenceValue and recurrenceEndTime must be set. Valid values: - Daily: The scheduled task is executed once every specified number of days. - Weekly: The scheduled task is executed on each specified day of a week. - Monthly: The scheduled task is executed on each specified day of a month. - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.

property recurrenceValue

recurrenceValue?: pulumi.Input<string>;

Specifies how often a scheduled task recurs. The valid value depends on recurrenceType - Daily: You can enter one value. Valid values: 1 to 31. - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday. - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A. - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.

property scheduledAction

scheduledAction: pulumi.Input<string>;

The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule.

property scheduledTaskName

scheduledTaskName?: pulumi.Input<string>;

Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.

property taskEnabled

taskEnabled?: pulumi.Input<boolean>;

Specifies whether to start the scheduled task. Default to true.

interface ScheduledTaskState

interface ScheduledTaskState

Input properties used for looking up and filtering ScheduledTask resources.

property description

description?: pulumi.Input<string>;

Description of the scheduled task, which is 2-200 characters (English or Chinese) long.

property launchExpirationTime

launchExpirationTime?: pulumi.Input<number>;

The time period during which a failed scheduled task is retried. Unit: seconds. Valid values: 0 to 21600. Default value: 600

property launchTime

launchTime?: pulumi.Input<string>;

The time at which the scheduled task is triggered. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 90 days from the date of scheduled task creation. If the recurrenceType parameter is specified, the task is executed repeatedly at the time specified by LaunchTime. Otherwise, the task is only executed once at the date and time specified by LaunchTime.

property recurrenceEndTime

recurrenceEndTime?: pulumi.Input<string>;

Specifies the end time after which the scheduled task is no longer repeated. Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time must be in UTC. You cannot enter a time point later than 365 days from the date of scheduled task creation.

property recurrenceType

recurrenceType?: pulumi.Input<string>;

Specifies the recurrence type of the scheduled task. If set, both recurrenceValue and recurrenceEndTime must be set. Valid values: - Daily: The scheduled task is executed once every specified number of days. - Weekly: The scheduled task is executed on each specified day of a week. - Monthly: The scheduled task is executed on each specified day of a month. - Cron: (Available in 1.60.0+) The scheduled task is executed based on the specified cron expression.

property recurrenceValue

recurrenceValue?: pulumi.Input<string>;

Specifies how often a scheduled task recurs. The valid value depends on recurrenceType - Daily: You can enter one value. Valid values: 1 to 31. - Weekly: You can enter multiple values and separate them with commas (,). For example, the values 0 to 6 correspond to the days of the week in sequence from Sunday to Saturday. - Monthly: You can enter two values in A-B format. Valid values of A and B: 1 to 31. The value of B must be greater than or equal to the value of A. - Cron: You can enter a cron expression which is written in UTC and consists of five fields: minute, hour, day of month (date), month, and day of week. The expression can contain wildcard characters including commas (,), question marks (?), hyphens (-), asterisks (*), number signs (#), forward slashes (/), and the L and W letters.

property scheduledAction

scheduledAction?: pulumi.Input<string>;

The operation to be performed when a scheduled task is triggered. Enter the unique identifier of a scaling rule.

property scheduledTaskName

scheduledTaskName?: pulumi.Input<string>;

Display name of the scheduled task, which must be 2-40 characters (English or Chinese) long.

property taskEnabled

taskEnabled?: pulumi.Input<boolean>;

Specifies whether to start the scheduled task. Default to true.

interface ScheduleState

interface ScheduleState

Input properties used for looking up and filtering Schedule resources.

property description

description?: pulumi.Input<string>;

property launchExpirationTime

launchExpirationTime?: pulumi.Input<number>;

property launchTime

launchTime?: pulumi.Input<string>;

property recurrenceEndTime

recurrenceEndTime?: pulumi.Input<string>;

property recurrenceType

recurrenceType?: pulumi.Input<string>;

property recurrenceValue

recurrenceValue?: pulumi.Input<string>;

property scheduledAction

scheduledAction?: pulumi.Input<string>;

property scheduledTaskName

scheduledTaskName?: pulumi.Input<string>;

property taskEnabled

taskEnabled?: pulumi.Input<boolean>;