tencent cloud

Feedback

ModifyAutoScalingGroup

Last updated: 2024-10-25 15:16:04

    1. API Description

    Domain name for API request: as.tencentcloudapi.com.

    This API (ModifyAutoScalingGroup) is used to modify an auto scaling group.

    A maximum of 20 requests can be initiated per second for this API.

    We recommend you to use API Explorer
    Try it
    API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

    2. Input Parameters

    The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

    Parameter Name Required Type Description
    Action Yes String Common Params. The value used for this API: ModifyAutoScalingGroup.
    Version Yes String Common Params. The value used for this API: 2018-04-19.
    Region Yes String Common Params. For more information, please see the list of regions supported by the product.
    AutoScalingGroupId Yes String Auto scaling group ID
    AutoScalingGroupName No String Auto scaling group name, which can only contain letters, numbers, underscores, hyphens ("-"), and decimal points with a maximum length of 55 bytes and must be unique under your account.
    DefaultCooldown No Integer Default cooldown period in seconds. Default value: 300
    DesiredCapacity No Integer Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances
    LaunchConfigurationId No String Launch configuration ID
    MaxSize No Integer Maximum number of instances. Value range: 0-2,000.
    MinSize No Integer Minimum number of instances. Value range: 0-2,000.
    ProjectId No Integer Project ID
    SubnetIds.N No Array of String List of subnet IDs
    TerminationPolicies.N No Array of String Termination policy, whose maximum length is currently 1. Valid values include OLDEST_INSTANCE and NEWEST_INSTANCE.
  • OLDEST_INSTANCE: Terminate the oldest instance in the scaling group first.
  • NEWEST_INSTANCE: Terminate the newest instance in the scaling group first.
  • VpcId No String VPC ID. This field is left empty for basic networks. You need to specify SubnetIds when modifying the network of the auto scaling group to a VPC with a specified VPC ID. Specify Zones when modifying the network to a basic network.
    Zones.N No Array of String List of availability zones
    RetryPolicy No String Retry policy, whose valid values include IMMEDIATE_RETRY, INCREMENTAL_INTERVALS, and NO_RETRY, with the default value being IMMEDIATE_RETRY. A partially successful scaling activity is considered a failed activity.
  • IMMEDIATE_RETRY: Immediately retry, and quickly retry in a short period. There will be no retry anymore after a certain number of consecutive failures (5).
  • INCREMENTAL_INTERVALS: Retry with incremental intervals. As the number of consecutive failures increases, the retry intervals gradually become longer, ranging from seconds to one day.
  • NO_RETRY: There will be no retry until another user call or alarm information is received.
  • ZonesCheckPolicy No String AZ verification policy, whose valid values include ALL and ANY, with the default value being ANY. This policy comes into effect when actual changes are made to resource-related fields in the scaling group (such as launch configuration, AZ, or subnet).
  • ALL: Verification passes if all AZs or subnets are available; otherwise, a verification error will be reported.

  • ANY: Verification passes if any AZ or subnet is available; otherwise, a verification error will be reported.


  • Common reasons for unavailable AZs or subnets include the CVM InstanceType in the AZ being sold out, the CBS cloud disk in the AZ being sold out, insufficient quota in the AZ, and insufficient IP addresses in the subnet.
    If there is no AZ or subnet in Zones/SubnetIds, a verification error will be reported regardless of the values of ZonesCheckPolicy.
    ServiceSettings No ServiceSettings Service settings such as unhealthy instance replacement.
    Ipv6AddressCount No Integer The number of IPv6 addresses that an instance has. Valid values: 0 and 1.
    MultiZoneSubnetPolicy No String Multi-AZ/multi-subnet policy, whose valid values include PRIORITY and EQUALITY, with the default value being PRIORITY.
  • PRIORITY: Instances are attempted to be created taking the order of the AZ/subnet list as the priority. If the highest-priority AZ/subnet can create instances successfully, instances can always be created in that AZ/subnet.
  • EQUALITY: The instances added through scale-out will be distributed across multiple AZs/subnets to ensure a relatively balanced number of instances in each AZ/subnet after scaling out.


  • Points to consider regarding this policy:
  • When the scaling group is based on a classic network, this policy applies to the multi-AZ; when the scaling group is based on a VPC network, this policy applies to the multi-subnet, in this case, the AZs are no longer considered. For example, if there are four subnets labeled A, B, C, and D, where A, B, and C are in AZ 1 and D is in AZ 2, the subnets A, B, C, and D are considered for sorting without regard to AZs 1 and 2.
  • This policy applies to the multi-AZ/multi-subnet and not to the InstanceTypes parameter of the launch configuration, which is selected according to the priority policy.
  • When instances are created according to the PRIORITY policy, ensure the policy for multiple models first, followed by the policy for the multi-AZ/subnet. For example, with models A and B and subnets 1, 2, and 3, attempts will be made in the order of A1, A2, A3, B1, B2, and B3. If A1 is sold out, A2 will be attempted (instead of B1).
  • HealthCheckType No String Scaling group instance health check type, whose valid values include:
  • CVM: Determines whether an instance is unhealthy based on its network status. An unhealthy network status is indicated by an event where instances become unreachable via PING. Detailed criteria of judgment can be found in Instance Health Check.
  • CLB: Determines whether an instance is unhealthy based on the health check status of CLB. For principles behind CLB health checks, see Health Check.
  • LoadBalancerHealthCheckGracePeriod No Integer Grace period of the CLB health check
    InstanceAllocationPolicy No String Instance assignment policy, whose valid values include LAUNCH_CONFIGURATION and SPOT_MIXED.
  • LAUNCH_CONFIGURATION: Represent the traditional mode of assigning instances according to the launch configuration.
  • SPOT_MIXED: Represent the spot mixed mode. Currently, this mode is supported only when the launch configuration is set to the pay-as-you-go billing mode. In the mixed mode, the scaling group will scale out pay-as-you-go models or spot models based on the predefined settings. When the mixed mode is used, the billing type of the associated launch configuration cannot be modified.
  • SpotMixedAllocationPolicy No SpotMixedAllocationPolicy Specifies how to assign pay-as-you-go instances and spot instances.
    This parameter is valid only when InstanceAllocationPolicy is set to SPOT_MIXED.
    CapacityRebalance No Boolean Capacity rebalancing feature, which is applicable only to spot instances within the scaling group. Valid values:
  • TRUE: Enable this feature. When spot instances in the scaling group are about to be automatically recycled by the spot instance service, AS proactively initiates the termination process of the spot instances. If there is a configured scale-in hook, it will be triggered before termination. After the termination process starts, AS asynchronously initiates the scale-out to reach the expected number of instances.
  • FALSE: Disable this feature. AS waits for the spot instance to be terminated before scaling out to reach the number of instances expected by the scaling group.
  • InstanceNameIndexSettings No InstanceNameIndexSettings Instance name sequencing settings. When enabled, an incremental numeric sequence will be appended to the names of instances automatically created within the scaling group.

    3. Output Parameters

    Parameter Name Type Description
    RequestId String The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.

    4. Example

    Example1 Modifying the VPC subnet information of a scaling group

    This example shows you how to modify the VpcId and SubnetIds of the specific scaling group.

    Input Example

    POST / HTTP/1.1
    Host: as.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ModifyAutoScalingGroup
    <Common request parameters>
    
    {
        "AutoScalingGroupId": "asg-ka0s0q80",
        "SubnetIds": [
            "subnet-b0vxjhot",
            "subnet-3tmerl37"
        ],
        "VpcId": "vpc-hy436tmc"
    }
    

    Output Example

    {
        "Response": {
            "RequestId": "c503ddc6-496c-44c9-8cec-e9f1c3f9c11c"
        }
    }
    

    Example2 Modifying the desired, maximum, and minimum capacity of a scaling group

    This example shows you how to modify the desired capacity of a scaling group to 3, the maximum capacity to 10, and the minimum capacity to 1.

    Input Example

    POST / HTTP/1.1
    Host: as.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ModifyAutoScalingGroup
    <Common request parameters>
    
    {
        "AutoScalingGroupId": "asg-ka0s0q80",
        "MinSize": 1,
        "MaxSize": 10,
        "DesiredCapacity": 3
    }
    

    Output Example

    {
        "Response": {
            "RequestId": "b41d8d30-21d4-412c-b7f3-53041879968c"
        }
    }
    

    5. Developer Resources

    SDK

    TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

    Command Line Interface

    6. Error Code

    The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

    Error Code Description
    InternalError.CallVpcError VPC API call failed.
    InternalError.RequestError An internal request error occurred.
    InvalidParameter.ActionNotFound Invalid Action request.
    InvalidParameter.Conflict Multiple parameters specified conflict and cannot co-exist.
    InvalidParameter.InScenario The parameter is invalid in a specific scenario.
    InvalidParameterValue.AssertDesiredCapacityFailed The declared original expected instance number does not match the actual original expected instance number.
    InvalidParameterValue.BaseCapacityTooLarge The specified base capacity cannot exceed the max capacity.
    InvalidParameterValue.CvmError Exception with CVM parameter validation.
    InvalidParameterValue.DuplicatedSubnet Duplicated subnet.
    InvalidParameterValue.GroupNameDuplicated The auto scaling group name already exists.
    InvalidParameterValue.InvalidAutoScalingGroupId Invalid scaling group ID.
    InvalidParameterValue.InvalidLaunchConfigurationId Invalid launch configuration ID.
    InvalidParameterValue.InvalidSubnetId Invalid subnet ID.
    InvalidParameterValue.LaunchConfigurationNotFound The specified launch configuration was not found.
    InvalidParameterValue.LbProjectInconsistent The load balancer is in a different project.
    InvalidParameterValue.LimitExceeded The value exceeds the limit.
    InvalidParameterValue.OnlyVpc The account only supports VPCs.
    InvalidParameterValue.ProjectIdNotFound The project ID does not exist.
    InvalidParameterValue.Range The value is outside the specified range.
    InvalidParameterValue.Size The value of maximum, minimum, or desired number of instances in the auto scaling group is invalid.
    InvalidParameterValue.SubnetIds The subnet information is invalid.
    InvalidParameterValue.TooLong Too many values.
    LimitExceeded The quota limit is exceeded.
    LimitExceeded.MaxSizeLimitExceeded The maximum number of instances exceeds the limit.
    LimitExceeded.MinSizeLimitExceeded The minimum number of instances is below the limit.
    MissingParameter Parameter missing.
    MissingParameter.InScenario A parameter is missing in a specific scenario.
    ResourceNotFound.AutoScalingGroupNotFound The scaling group does not exist.
    ResourceUnavailable.ForbiddenModifyVpc You cannot modify the VPC of a scaling group bound with a load balancer.
    ResourceUnavailable.LaunchConfigurationStatusAbnormal The launch configuration is exceptional.
    ResourceUnavailable.ProjectInconsistent Project inconsistency.