tencent cloud

Feedback

CreateAutoScalingGroup

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

    1. API Description

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

    This API (CreateAutoScalingGroup) is used to create 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: CreateAutoScalingGroup.
    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.
    AutoScalingGroupName Yes 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.
    LaunchConfigurationId Yes String Launch configuration ID
    MaxSize Yes Integer Maximum number of instances. Value range: 0-2,000.
    MinSize Yes Integer Minimum number of instances. Value range: 0-2,000.
    VpcId Yes String VPC ID; if on a basic network, enter an empty string
    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
    LoadBalancerIds.N No Array of String List of classic CLB IDs. Currently, the maximum length is 20. You cannot specify LoadBalancerIds and ForwardLoadBalancers at the same time.
    ProjectId No Integer Project ID of an instance in a scaling group. The default project is used if it’s left blank.
    ForwardLoadBalancers.N No Array of ForwardLoadBalancer List of application CLBs. Up to 100 CLBs are allowed. LoadBalancerIds and ForwardLoadBalancers cannot be specified at the same time.
    SubnetIds.N No Array of String List of subnet IDs. A subnet must be specified in the VPC scenario. If multiple subnets are entered, their priority will be determined by the order in which they are entered, and they will be tried one by one until instances can be successfully created.
    TerminationPolicies.N No Array of String Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_INSTANCE. Default value: OLDEST_INSTANCE.

  • OLDEST_INSTANCE: The oldest instance in the auto scaling group will be terminated first.

  • NEWEST_INSTANCE: The newest instance in the auto scaling group will be terminated first.
  • Zones.N No Array of String List of availability zones. An availability zone must be specified in the basic network scenario. If multiple availability zones are entered, their priority will be determined by the order in which they are entered, and they will be tried one by one until instances can be successfully created.
    RetryPolicy No String Retry policy. Valid values: IMMEDIATE_RETRY (default), INCREMENTAL_INTERVALS, NO_RETRY. A partially successful scaling is judged as a failed one.

  • IMMEDIATE_RETRY: Retry immediately. Stop retrying after five consecutive failures.

  • INCREMENTAL_INTERVALS: Retry at incremental intervals. As the number of consecutive failures increases, the retry interval gradually increases, ranging from seconds to one day.

  • NO_RETRY: Do not retry. Actions are taken when the next call or alarm message comes.
  • ZonesCheckPolicy No String Availability zone verification policy. Value range: ALL, ANY. Default value: ANY.

  • ALL: The verification will succeed only if all availability zones (Zone) or subnets (SubnetId) are available; otherwise, an error will be reported.

  • ANY: The verification will success if any availability zone (Zone) or subnet (SubnetId) is available; otherwise, an error will be reported.

    Common reasons why an availability zone or subnet is unavailable include stock-out of CVM instances or CBS cloud disks in the availability zone, insufficient quota in the availability zone, or insufficient IPs in the subnet.
    If an availability zone or subnet in Zones/SubnetIds does not exist, a verification error will be reported regardless of the value of ZonesCheckPolicy.
  • Tags.N No Array of Tag List of tag descriptions. In this parameter, you can specify the tags to be bound with a scaling group as well as corresponding resource instances. Each scaling group can have up to 30 tags.
    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. Default value: 0.
    MultiZoneSubnetPolicy No String Multi-availability zone/subnet policy. Valid values: PRIORITY and EQUALITY. Default value: PRIORITY.

  • PRIORITY: when creating instances, choose the availability zone/subnet based on the order in the list from top to bottom. If the first instance is successfully created in the availability zone/subnet of the highest priority, all instances will be created in this availability zone/subnet.

  • EQUALITY: instances created for scale-out are distributed to multiple availability zones/subnets, so as to keep the number of instances in different availability zone/subnet in balance.

    Notes:

  • When the scaling group is based on the classic network, this policy applies to multiple availability zones. When the scaling group is based on a VPC, this policy applies to multiple subnets, and you do not need to consider availability zones. For example, if you have four subnets (A, B, C, and D) and A, B, and C are in availability zone 1 and D is in availability zone 2, you only need to decide the order of the four subnets, without worrying about the issue of availability zones.

  • This policy is applicable to multiple availability zones/subnets, but is not applicable to multiple models with launch configurations. Specify the models according to the model priority.

  • When creating instances based on the PRIORITY policy, apply the multi-model policy and then apply the multi-availability zones/subnet policy. For example, if you have models A and B and subnets 1, 2, and 3, creation will be attempted in the following order: A1, A2, A3, B1, B2, and B3. If A1 is sold out, A2 (not B1) is tried next.
  • HealthCheckType No String Health check type of instances in a scaling group.
  • CVM: confirm whether an instance is healthy based on the network status. If the pinged instance is unreachable, the instance will be considered unhealthy. For more information, see Instance Health Check
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see Health Check Overview.
    If the parameter is set to CLB, the scaling group will check both the network status and the CLB health check status. If the network check indicates unhealthy, the HealthStatus field will return UNHEALTHY. If the CLB health check indicates unhealthy, the HealthStatus field will return CLB_UNHEALTHY. If both checks indicate unhealthy, the HealthStatus field will return UNHEALTHY|CLB_UNHEALTHY. Default value: CLB.
  • LoadBalancerHealthCheckGracePeriod No Integer Grace period of the CLB health check during which the IN_SERVICE instances added will not be marked as CLB_UNHEALTHY.
    Valid range: 0-7200, in seconds. Default value: 0.
    InstanceAllocationPolicy No String Specifies how to assign instances. Valid values: LAUNCH_CONFIGURATION and SPOT_MIXED; default value: LAUNCH_CONFIGURATION.

  • LAUNCH_CONFIGURATION: the launch configuration mode.

  • SPOT_MIXED: a mixed instance mode. Currently, this mode is supported only when the launch configuration takes the pay-as-you-go billing mode. With this mode, the scaling group can provision a combination of pay-as-you-go instances and spot instances to meet the configured capacity. Note that the billing mode of the associated launch configuration cannot be modified when this mode is used.
  • 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 Indicates whether the capacity re-balancing feature is enabled. This parameter is only valid for spot instances in the scaling group. Valid values:

  • TRUE: yes. Before the spot instances in the scaling group are about to be automatically repossessed, AS will terminate them. The scale-in hook (if configured) will take effect before the termination. After the termination process starts, AS will asynchronously initiate a scaling activity to meet the desired capacity.

  • FALSE: no. In this case, AS will add instances to meet the desired capacity only after the spot instances are terminated.

    Default value: False.
  • InstanceNameIndexSettings No InstanceNameIndexSettings Instance name sequencing settings. If this parameter is not specified, the default is not enabled. 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
    AutoScalingGroupId String Auto scaling group ID
    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 Creating an auto scaling group

    This example shows how to create an auto scaling group in a specified VPC and configure a layer-7 load balancer.

    Input Example

    https://as.tencentcloudapi.com/?Action=CreateAutoScalingGroup
    &AutoScalingGroupName=asg-vpc-7layer-lb
    &DefaultCooldown=300
    &DesiredCapacity=0
    &LaunchConfigurationId=asc-7vucy6ae
    &MaxSize=10
    &MinSize=0
    &ProjectId=0
    &VpcId=vpc-hy436tmc
    &SubnetIds.0=subnet-3tmerl37
    &SubnetIds.1=subnet-b0vxjhot
    &TerminationPolicies.0=OLDEST_INSTANCE
    &ForwardLoadBalancers.0.LoadBalancerId=lb-23aejgcv
    &ForwardLoadBalancers.0.ListenerId=lbl-ncw704sn
    &ForwardLoadBalancers.0.LocationId=loc-l3hmaev9
    &ForwardLoadBalancers.0.Region=ap-guangzhou
    &ForwardLoadBalancers.0.TargetAttributes.0.Port=8080
    &ForwardLoadBalancers.0.TargetAttributes.0.Weight=10
    &<common request parameters>
    

    Output Example

    {
        "Response": {
            "AutoScalingGroupId": "asg-nkdwoui0",
            "RequestId": "a5d66fed-85b9-4f43-8243-597337ba896e"
        }
    }
    

    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 An internal error occurred.
    InternalError.CallLbError CLB API call failed.
    InternalError.CallTagError The tag API call failed.
    InternalError.CallTvpcError The TVPC API call failed.
    InternalError.CallVpcError VPC API call failed.
    InternalError.RequestError An internal request error occurred.
    InvalidParameter.ActionNotFound Invalid Action request.
    InvalidParameter.InScenario The parameter is invalid in a specific scenario.
    InvalidParameterValue.BaseCapacityTooLarge The specified base capacity cannot exceed the max capacity.
    InvalidParameterValue.ClassicLb A classic CLB should be specified.
    InvalidParameterValue.CvmError Exception with CVM parameter validation.
    InvalidParameterValue.DuplicatedForwardLb Duplicate CLB instances
    InvalidParameterValue.DuplicatedSubnet Duplicated subnet.
    InvalidParameterValue.ForwardLb A CLB should be specified.
    InvalidParameterValue.GroupNameDuplicated The auto scaling group name already exists.
    InvalidParameterValue.InvalidClbRegion The regions specified for CLB is invalid.
    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.ListenerTargetTypeNotSupported Target group listeners are not supported.
    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.TargetPortDuplicated The backend port of the CLB layer-4 listener already exists.
    InvalidParameterValue.TooLong Too many values.
    InvalidParameterValue.ZoneMismatchRegion The specified availability zone is not in the region.
    LimitExceeded The quota limit is exceeded.
    LimitExceeded.AutoScalingGroupLimitExceeded The number of auto scaling groups exceeds the limit.
    LimitExceeded.MaxSizeLimitExceeded The maximum number of instances exceeds the limit.
    LimitExceeded.MinSizeLimitExceeded The minimum number of instances is below the limit.
    MissingParameter.InScenario A parameter is missing in a specific scenario.
    ResourceNotFound.ListenerNotFound The specified listener does not exist.
    ResourceNotFound.LoadBalancerNotFound The specified load balancer was not found.
    ResourceNotFound.LocationNotFound The specified location does not exist.
    ResourceUnavailable.LaunchConfigurationStatusAbnormal The launch configuration is exceptional.
    ResourceUnavailable.LbBackendRegionInconsistent The backend region of the CLB is not the same as the one for AS service.
    ResourceUnavailable.LbVpcInconsistent The CLB and scaling group should reside in the same VPC.
    ResourceUnavailable.ProjectInconsistent Project inconsistency.
    ResourceUnavailable.ZoneUnavailable The specified availability zone is unavailable.