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-alicloudrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-alicloudrepo.
Resources
- Alarm
- Attachment
- LifecycleHook
- Notification
- ScalingConfiguration
- ScalingGroup
- ScalingGroupVServerGroups
- ScalingRule
- Schedule
- ScheduledTask
Functions
- getAlarms
- getLifecycleHooks
- getNotifications
- getScalingConfigurations
- getScalingGroups
- getScalingRules
- getScheduledTasks
Others
- AlarmArgs
- AlarmState
- AttachmentArgs
- AttachmentState
- GetAlarmsArgs
- GetAlarmsResult
- GetLifecycleHooksArgs
- GetLifecycleHooksResult
- GetNotificationsArgs
- GetNotificationsResult
- GetScalingConfigurationsArgs
- GetScalingConfigurationsResult
- GetScalingGroupsArgs
- GetScalingGroupsResult
- GetScalingRulesArgs
- GetScalingRulesResult
- GetScheduledTasksArgs
- GetScheduledTasksResult
- LifecycleHookArgs
- LifecycleHookState
- NotificationArgs
- NotificationState
- ScalingConfigurationArgs
- ScalingConfigurationState
- ScalingGroupArgs
- ScalingGroupState
- ScalingGroupVServerGroupsArgs
- ScalingGroupVServerGroupsState
- ScalingRuleArgs
- ScalingRuleState
- ScheduleArgs
- ScheduledTaskArgs
- ScheduledTaskState
- ScheduleState
Resources
Resource Alarm
class Alarm extends CustomResourceconstructor
new Alarm(name: string, args: AlarmArgs, opts?: pulumi.CustomResourceOptions)Create a Alarm resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): AlarmGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is AlarmReturns 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 CustomResourceAttaches 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): AttachmentGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is AttachmentReturns 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 CustomResourceconstructor
new LifecycleHook(name: string, args: LifecycleHookArgs, opts?: pulumi.CustomResourceOptions)Create a LifecycleHook resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): LifecycleHookGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is LifecycleHookReturns 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 CustomResourceProvides 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): NotificationGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is NotificationReturns 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 CustomResourceconstructor
new ScalingConfiguration(name: string, args: ScalingConfigurationArgs, opts?: pulumi.CustomResourceOptions)Create a ScalingConfiguration resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScalingConfigurationGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScalingConfigurationReturns 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 CustomResourceconstructor
new ScalingGroup(name: string, args: ScalingGroupArgs, opts?: pulumi.CustomResourceOptions)Create a ScalingGroup resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScalingGroupGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScalingGroupReturns 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 CustomResourceAttaches/Detaches vserver groups to a specified scaling group.
NOTE: The load balancer of which vserver groups belongs to must be in
activestatus.NOTE: If scaling group’s network type is
VPC, the vserver groups must be in the sameVPC.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
weightattribute means detach vserver group first and then, attach with new weight parameter.NOTE: Resource
alicloud.ess.ScalingGroupVServerGroupsis 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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScalingGroupVServerGroupsGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScalingGroupVServerGroupsReturns 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 CustomResourceconstructor
new ScalingRule(name: string, args: ScalingRuleArgs, opts?: pulumi.CustomResourceOptions)Create a ScalingRule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScalingRuleGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScalingRuleReturns 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 CustomResourceconstructor
new Schedule(name: string, args: ScheduleArgs, opts?: pulumi.CustomResourceOptions)Create a Schedule resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScheduleGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScheduleReturns 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 CustomResourceconstructor
new ScheduledTask(name: string, args: ScheduledTaskArgs, opts?: pulumi.CustomResourceOptions)Create a ScheduledTask resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ScheduledTaskGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ScheduledTaskReturns 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 AlarmArgsThe 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 AlarmStateInput 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 AttachmentArgsThe 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 AttachmentStateInput 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 GetAlarmsArgsA 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 GetAlarmsResultA 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 GetLifecycleHooksArgsA 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 GetLifecycleHooksResultA 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 GetNotificationsArgsA 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 GetNotificationsResultA 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 GetScalingConfigurationsArgsA 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 GetScalingConfigurationsResultA 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 GetScalingGroupsArgsA 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 GetScalingGroupsResultA 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 GetScalingRulesArgsA 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 GetScalingRulesResultA 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 GetScheduledTasksArgsA 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 GetScheduledTasksResultA 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 LifecycleHookArgsThe 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 LifecycleHookStateInput 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 NotificationArgsThe 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 NotificationStateInput 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 ScalingConfigurationArgsThe 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
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
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 ScalingConfigurationStateInput 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
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
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 ScalingGroupArgsThe 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
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 ScalingGroupStateInput 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
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 ScalingGroupVServerGroupsArgsThe 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 ScalingGroupVServerGroupsStateInput 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 ScalingRuleArgsThe 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 ScalingRuleStateInput 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 ScheduleArgsThe 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 ScheduledTaskArgsThe 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 ScheduledTaskStateInput 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 ScheduleStateInput 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>;