import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Scaling groups are used to manage a set of cloud resource instances. You can use scaling groups to define the number/capacity of instances in the resource pool, cooldown time, load balancing, and other information. * * ## Import * * ```sh * $ pulumi import volcenginecc:autoscaling/scalingGroup:ScalingGroup example "scaling_group_id" * ``` */ export declare class ScalingGroup extends pulumi.CustomResource { /** * Get an existing ScalingGroup resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ScalingGroupState, opts?: pulumi.CustomResourceOptions): ScalingGroup; /** * Returns true if the given object is an instance of ScalingGroup. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ScalingGroup; /** * ID of the scaling configuration bound to the scaling group */ readonly activeScalingConfigurationId: pulumi.Output; /** * Scaling group creation time */ readonly createdTime: pulumi.Output; /** * ID of the RDS database instance. */ readonly dbInstanceIds: pulumi.Output; /** * Cooldown period after a scaling activity (adding or removing ECS instances) completes. During the cooldown period, the scaling group does not perform other scaling activities; only scaling activities triggered by Cloud Monitoring alarms and scaling rules are effective. Value range: 5 ~ 86400 seconds. Default value: 300. */ readonly defaultCooldown: pulumi.Output; /** * Expected number of running instances in the scaling group. 1. Must be no less than MinInstanceNumber and no greater than MaxInstanceNumber. 2. Default value: -1, which means the expected instance count feature is disabled. In this case, after the scaling group is created, scaling activities will automatically add the corresponding number of instances. */ readonly desireInstanceNumber: pulumi.Output; /** * Health check mode for the scaling group. 1. NONE: No instance health check. 2. ECS (default): Performs health checks on ECS instances in the scaling group. */ readonly healthCheckType: pulumi.Output; readonly instanceRemovePolicies: pulumi.Output; /** * Instance removal policies: 1. OldestInstance: Removes the earliest instance added to the scaling group (including both automatically created and manually added instances). 2. NewestInstance: Removes the latest instance added to the scaling group (including both automatically created and manually added instances). 3. OldestScalingConfigurationWithOldestInstance (default): Removes the earliest automatically created instance in the scaling configuration that was first associated with the scaling group. 4. OldestScalingConfigurationWithNewestInstance: Removes the latest automatically created instance in the scaling configuration that was first associated with the scaling group. */ readonly instanceTerminatePolicy: pulumi.Output; readonly instances: pulumi.Output; /** * Instance distribution policy. */ readonly instancesDistribution: pulumi.Output; /** * Whether to enable the scaling group. true: enabled. false: stopped */ readonly isEnableScalingGroup: pulumi.Output; /** * Instance launch template ID. When configured, it indicates that the launch template is used as the source for the scaling configuration. */ readonly launchTemplateId: pulumi.Output; readonly launchTemplateOverrides: pulumi.Output; /** * Instance launch template version. 1. A specific template version number. 2. Default: always use the default template version. 3. Latest: always use the latest template version. */ readonly launchTemplateVersion: pulumi.Output; /** * Status of the scaling group. Active: enabled. InActive: not activated. Deleting: deleting. Locked: locked. CoolingDown: cooling down. Unknown: unknown status. */ readonly lifecycleState: pulumi.Output; /** * Grace period for CLB health checks on scaling group instances */ readonly loadBalancerHealthCheckGracePeriod: pulumi.Output; /** * Maximum number of instances in the scaling group. Default value: 0 ~ 100. You can adjust this in the Quota Center. */ readonly maxInstanceNumber: pulumi.Output; /** * Minimum number of instances in the scaling group. Default value: 0–100. You can adjust this in the quota center. */ readonly minInstanceNumber: pulumi.Output; /** * Scaling strategy. If you select multiple subnets, you must configure this parameter. 1. PRIORITY (default): priority strategy. 2. BALANCE: balanced distribution strategy. */ readonly multiAzPolicy: pulumi.Output; /** * Project to which the scaling group belongs. Default is 'default'. A resource can belong to only one project. Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. Maximum length: 64 characters. */ readonly projectName: pulumi.Output; /** * Scaling group ID. */ readonly scalingGroupId: pulumi.Output; /** * Scaling group name, unique within the same region. Must start with a Chinese character or letter, and can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length limit: 1 ~ 128 characters. Special characters are not supported. */ readonly scalingGroupName: pulumi.Output; /** * Instance recycling mode for the scaling group. 1. release (default): Release mode. 2. recycle: Stop-and-recycle mode. */ readonly scalingMode: pulumi.Output; readonly serverGroupAttributes: pulumi.Output; /** * Number of instances in the scaling group that are in the disabled state. */ readonly stoppedInstanceCount: pulumi.Output; /** * List of subnet IDs for the primary network interface of instances in the scaling group */ readonly subnetIds: pulumi.Output; /** * Paused processes. If there are no paused processes, returns an empty value. ScaleIn: scale-in process. ScaleOut: scale-out process. HealthCheck: health check. AlarmNotification: alarm task. ScheduledAction: scheduled task. */ readonly suspendedProcesses: pulumi.Output; readonly tags: pulumi.Output; /** * Number of instances currently in the scaling group */ readonly totalInstanceCount: pulumi.Output; /** * Scaling group update time. */ readonly updatedTime: pulumi.Output; /** * VPC ID to which the scaling group belongs */ readonly vpcId: pulumi.Output; /** * Create a ScalingGroup resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ScalingGroupArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ScalingGroup resources. */ export interface ScalingGroupState { /** * ID of the scaling configuration bound to the scaling group */ activeScalingConfigurationId?: pulumi.Input; /** * Scaling group creation time */ createdTime?: pulumi.Input; /** * ID of the RDS database instance. */ dbInstanceIds?: pulumi.Input[]>; /** * Cooldown period after a scaling activity (adding or removing ECS instances) completes. During the cooldown period, the scaling group does not perform other scaling activities; only scaling activities triggered by Cloud Monitoring alarms and scaling rules are effective. Value range: 5 ~ 86400 seconds. Default value: 300. */ defaultCooldown?: pulumi.Input; /** * Expected number of running instances in the scaling group. 1. Must be no less than MinInstanceNumber and no greater than MaxInstanceNumber. 2. Default value: -1, which means the expected instance count feature is disabled. In this case, after the scaling group is created, scaling activities will automatically add the corresponding number of instances. */ desireInstanceNumber?: pulumi.Input; /** * Health check mode for the scaling group. 1. NONE: No instance health check. 2. ECS (default): Performs health checks on ECS instances in the scaling group. */ healthCheckType?: pulumi.Input; instanceRemovePolicies?: pulumi.Input[]>; /** * Instance removal policies: 1. OldestInstance: Removes the earliest instance added to the scaling group (including both automatically created and manually added instances). 2. NewestInstance: Removes the latest instance added to the scaling group (including both automatically created and manually added instances). 3. OldestScalingConfigurationWithOldestInstance (default): Removes the earliest automatically created instance in the scaling configuration that was first associated with the scaling group. 4. OldestScalingConfigurationWithNewestInstance: Removes the latest automatically created instance in the scaling configuration that was first associated with the scaling group. */ instanceTerminatePolicy?: pulumi.Input; instances?: pulumi.Input[]>; /** * Instance distribution policy. */ instancesDistribution?: pulumi.Input; /** * Whether to enable the scaling group. true: enabled. false: stopped */ isEnableScalingGroup?: pulumi.Input; /** * Instance launch template ID. When configured, it indicates that the launch template is used as the source for the scaling configuration. */ launchTemplateId?: pulumi.Input; launchTemplateOverrides?: pulumi.Input[]>; /** * Instance launch template version. 1. A specific template version number. 2. Default: always use the default template version. 3. Latest: always use the latest template version. */ launchTemplateVersion?: pulumi.Input; /** * Status of the scaling group. Active: enabled. InActive: not activated. Deleting: deleting. Locked: locked. CoolingDown: cooling down. Unknown: unknown status. */ lifecycleState?: pulumi.Input; /** * Grace period for CLB health checks on scaling group instances */ loadBalancerHealthCheckGracePeriod?: pulumi.Input; /** * Maximum number of instances in the scaling group. Default value: 0 ~ 100. You can adjust this in the Quota Center. */ maxInstanceNumber?: pulumi.Input; /** * Minimum number of instances in the scaling group. Default value: 0–100. You can adjust this in the quota center. */ minInstanceNumber?: pulumi.Input; /** * Scaling strategy. If you select multiple subnets, you must configure this parameter. 1. PRIORITY (default): priority strategy. 2. BALANCE: balanced distribution strategy. */ multiAzPolicy?: pulumi.Input; /** * Project to which the scaling group belongs. Default is 'default'. A resource can belong to only one project. Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. Maximum length: 64 characters. */ projectName?: pulumi.Input; /** * Scaling group ID. */ scalingGroupId?: pulumi.Input; /** * Scaling group name, unique within the same region. Must start with a Chinese character or letter, and can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length limit: 1 ~ 128 characters. Special characters are not supported. */ scalingGroupName?: pulumi.Input; /** * Instance recycling mode for the scaling group. 1. release (default): Release mode. 2. recycle: Stop-and-recycle mode. */ scalingMode?: pulumi.Input; serverGroupAttributes?: pulumi.Input[]>; /** * Number of instances in the scaling group that are in the disabled state. */ stoppedInstanceCount?: pulumi.Input; /** * List of subnet IDs for the primary network interface of instances in the scaling group */ subnetIds?: pulumi.Input[]>; /** * Paused processes. If there are no paused processes, returns an empty value. ScaleIn: scale-in process. ScaleOut: scale-out process. HealthCheck: health check. AlarmNotification: alarm task. ScheduledAction: scheduled task. */ suspendedProcesses?: pulumi.Input[]>; tags?: pulumi.Input[]>; /** * Number of instances currently in the scaling group */ totalInstanceCount?: pulumi.Input; /** * Scaling group update time. */ updatedTime?: pulumi.Input; /** * VPC ID to which the scaling group belongs */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a ScalingGroup resource. */ export interface ScalingGroupArgs { /** * ID of the scaling configuration bound to the scaling group */ activeScalingConfigurationId?: pulumi.Input; /** * Cooldown period after a scaling activity (adding or removing ECS instances) completes. During the cooldown period, the scaling group does not perform other scaling activities; only scaling activities triggered by Cloud Monitoring alarms and scaling rules are effective. Value range: 5 ~ 86400 seconds. Default value: 300. */ defaultCooldown?: pulumi.Input; /** * Expected number of running instances in the scaling group. 1. Must be no less than MinInstanceNumber and no greater than MaxInstanceNumber. 2. Default value: -1, which means the expected instance count feature is disabled. In this case, after the scaling group is created, scaling activities will automatically add the corresponding number of instances. */ desireInstanceNumber?: pulumi.Input; /** * Health check mode for the scaling group. 1. NONE: No instance health check. 2. ECS (default): Performs health checks on ECS instances in the scaling group. */ healthCheckType?: pulumi.Input; instanceRemovePolicies?: pulumi.Input[]>; /** * Instance removal policies: 1. OldestInstance: Removes the earliest instance added to the scaling group (including both automatically created and manually added instances). 2. NewestInstance: Removes the latest instance added to the scaling group (including both automatically created and manually added instances). 3. OldestScalingConfigurationWithOldestInstance (default): Removes the earliest automatically created instance in the scaling configuration that was first associated with the scaling group. 4. OldestScalingConfigurationWithNewestInstance: Removes the latest automatically created instance in the scaling configuration that was first associated with the scaling group. */ instanceTerminatePolicy?: pulumi.Input; instances?: pulumi.Input[]>; /** * Instance distribution policy. */ instancesDistribution?: pulumi.Input; /** * Whether to enable the scaling group. true: enabled. false: stopped */ isEnableScalingGroup?: pulumi.Input; /** * Instance launch template ID. When configured, it indicates that the launch template is used as the source for the scaling configuration. */ launchTemplateId?: pulumi.Input; launchTemplateOverrides?: pulumi.Input[]>; /** * Instance launch template version. 1. A specific template version number. 2. Default: always use the default template version. 3. Latest: always use the latest template version. */ launchTemplateVersion?: pulumi.Input; /** * Maximum number of instances in the scaling group. Default value: 0 ~ 100. You can adjust this in the Quota Center. */ maxInstanceNumber: pulumi.Input; /** * Minimum number of instances in the scaling group. Default value: 0–100. You can adjust this in the quota center. */ minInstanceNumber: pulumi.Input; /** * Scaling strategy. If you select multiple subnets, you must configure this parameter. 1. PRIORITY (default): priority strategy. 2. BALANCE: balanced distribution strategy. */ multiAzPolicy?: pulumi.Input; /** * Project to which the scaling group belongs. Default is 'default'. A resource can belong to only one project. Only letters, numbers, underscores '_', dots '.', and hyphens '-' are allowed. Maximum length: 64 characters. */ projectName?: pulumi.Input; /** * Scaling group name, unique within the same region. Must start with a Chinese character or letter, and can only contain Chinese characters, letters, numbers, underscores, and hyphens. Length limit: 1 ~ 128 characters. Special characters are not supported. */ scalingGroupName: pulumi.Input; /** * Instance recycling mode for the scaling group. 1. release (default): Release mode. 2. recycle: Stop-and-recycle mode. */ scalingMode?: pulumi.Input; serverGroupAttributes?: pulumi.Input[]>; /** * List of subnet IDs for the primary network interface of instances in the scaling group */ subnetIds: pulumi.Input[]>; /** * Paused processes. If there are no paused processes, returns an empty value. ScaleIn: scale-in process. ScaleOut: scale-out process. HealthCheck: health check. AlarmNotification: alarm task. ScheduledAction: scheduled task. */ suspendedProcesses?: pulumi.Input[]>; tags?: pulumi.Input[]>; }