All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.as.v20180419.models.ModifyAutoScalingGroupRequest Maven / Gradle / Ivy

There is a newer version: 3.0.1076
Show newest version
/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.tencentcloudapi.as.v20180419.models;

import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.SSEResponseModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;

public class ModifyAutoScalingGroupRequest extends AbstractModel {

    /**
    * Auto scaling group ID
    */
    @SerializedName("AutoScalingGroupId")
    @Expose
    private String AutoScalingGroupId;

    /**
    * 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.
    */
    @SerializedName("AutoScalingGroupName")
    @Expose
    private String AutoScalingGroupName;

    /**
    * Default cooldown period in seconds. Default value: 300
    */
    @SerializedName("DefaultCooldown")
    @Expose
    private Long DefaultCooldown;

    /**
    * Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances
    */
    @SerializedName("DesiredCapacity")
    @Expose
    private Long DesiredCapacity;

    /**
    * Launch configuration ID
    */
    @SerializedName("LaunchConfigurationId")
    @Expose
    private String LaunchConfigurationId;

    /**
    * Maximum number of instances. Value range: 0-2,000.
    */
    @SerializedName("MaxSize")
    @Expose
    private Long MaxSize;

    /**
    * Minimum number of instances. Value range: 0-2,000.
    */
    @SerializedName("MinSize")
    @Expose
    private Long MinSize;

    /**
    * Project ID
    */
    @SerializedName("ProjectId")
    @Expose
    private Long ProjectId;

    /**
    * List of subnet IDs
    */
    @SerializedName("SubnetIds")
    @Expose
    private String [] SubnetIds;

    /**
    * Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_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. */ @SerializedName("TerminationPolicies") @Expose private String [] TerminationPolicies; /** * 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. */ @SerializedName("VpcId") @Expose private String VpcId; /** * List of availability zones */ @SerializedName("Zones") @Expose private String [] Zones; /** * Retry policy. Valid values: `IMMEDIATE_RETRY` (default), `INCREMENTAL_INTERVALS`, `NO_RETRY`. A partially successful scaling is judged as a failed one.
  • `IMMEDIATE_RETRY`: Retrying immediately in a short period of time and stopping after five consecutive failures.
  • `INCREMENTAL_INTERVALS`: Retrying 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. */ @SerializedName("RetryPolicy") @Expose private String RetryPolicy; /** * Availability zone verification policy. Value range: ALL, ANY. Default value: ANY. This will work when the resource-related fields (launch configuration, availability zone, or subnet) of the auto scaling group are actually modified.
  • 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. */ @SerializedName("ZonesCheckPolicy") @Expose private String ZonesCheckPolicy; /** * Service settings such as unhealthy instance replacement. */ @SerializedName("ServiceSettings") @Expose private ServiceSettings ServiceSettings; /** * The number of IPv6 addresses that an instance has. Valid values: 0 and 1. */ @SerializedName("Ipv6AddressCount") @Expose private Long Ipv6AddressCount; /** * Multi-availability zone/subnet policy. Valid values: `PRIORITY` and `EQUALITY`. Default value: `PRIORITY`.
  • `PRIORITY`: When an instance is being created, the availability zone/subnet is chosen from top to bottom in the list. The first availability zone/subnet is always used as long as instances can be created.
  • `EQUALITY`: Instances created for scaling 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 `PRIORITY` policy is used, the multi-model policy prevails the multi-availability zones/subnet policy. For example, if you have Model A/B, and Subnet 1/2/3, the model-subnet combinations are tried in the following order: A1 -> A2 -> A3 -> B1 -> B2 -> B3. If A1 is sold out, A2 (not B1) is tried next. */ @SerializedName("MultiZoneSubnetPolicy") @Expose private String MultiZoneSubnetPolicy; /** * 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](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1). */ @SerializedName("HealthCheckType") @Expose private String HealthCheckType; /** * Grace period of the CLB health check */ @SerializedName("LoadBalancerHealthCheckGracePeriod") @Expose private Long LoadBalancerHealthCheckGracePeriod; /** * Specifies how to assign instances. Valid values: `LAUNCH_CONFIGURATION` and `SPOT_MIXED`.
  • `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. */ @SerializedName("InstanceAllocationPolicy") @Expose private String InstanceAllocationPolicy; /** * Specifies how to assign pay-as-you-go instances and spot instances. This parameter is valid only when `InstanceAllocationPolicy` is set to `SPOT_MIXED`. */ @SerializedName("SpotMixedAllocationPolicy") @Expose private SpotMixedAllocationPolicy SpotMixedAllocationPolicy; /** * Indicates whether the capacity rebalancing 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. */ @SerializedName("CapacityRebalance") @Expose private Boolean CapacityRebalance; /** * Instance name sequencing settings. When enabled, an incremental numeric sequence will be appended to the names of instances automatically created within the scaling group. */ @SerializedName("InstanceNameIndexSettings") @Expose private InstanceNameIndexSettings InstanceNameIndexSettings; /** * Get Auto scaling group ID * @return AutoScalingGroupId Auto scaling group ID */ public String getAutoScalingGroupId() { return this.AutoScalingGroupId; } /** * Set Auto scaling group ID * @param AutoScalingGroupId Auto scaling group ID */ public void setAutoScalingGroupId(String AutoScalingGroupId) { this.AutoScalingGroupId = AutoScalingGroupId; } /** * Get 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. * @return AutoScalingGroupName 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. */ public String getAutoScalingGroupName() { return this.AutoScalingGroupName; } /** * Set 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. * @param AutoScalingGroupName 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. */ public void setAutoScalingGroupName(String AutoScalingGroupName) { this.AutoScalingGroupName = AutoScalingGroupName; } /** * Get Default cooldown period in seconds. Default value: 300 * @return DefaultCooldown Default cooldown period in seconds. Default value: 300 */ public Long getDefaultCooldown() { return this.DefaultCooldown; } /** * Set Default cooldown period in seconds. Default value: 300 * @param DefaultCooldown Default cooldown period in seconds. Default value: 300 */ public void setDefaultCooldown(Long DefaultCooldown) { this.DefaultCooldown = DefaultCooldown; } /** * Get Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances * @return DesiredCapacity Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances */ public Long getDesiredCapacity() { return this.DesiredCapacity; } /** * Set Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances * @param DesiredCapacity Desired number of instances. The number should be no larger than the maximum and no smaller than minimum number of instances */ public void setDesiredCapacity(Long DesiredCapacity) { this.DesiredCapacity = DesiredCapacity; } /** * Get Launch configuration ID * @return LaunchConfigurationId Launch configuration ID */ public String getLaunchConfigurationId() { return this.LaunchConfigurationId; } /** * Set Launch configuration ID * @param LaunchConfigurationId Launch configuration ID */ public void setLaunchConfigurationId(String LaunchConfigurationId) { this.LaunchConfigurationId = LaunchConfigurationId; } /** * Get Maximum number of instances. Value range: 0-2,000. * @return MaxSize Maximum number of instances. Value range: 0-2,000. */ public Long getMaxSize() { return this.MaxSize; } /** * Set Maximum number of instances. Value range: 0-2,000. * @param MaxSize Maximum number of instances. Value range: 0-2,000. */ public void setMaxSize(Long MaxSize) { this.MaxSize = MaxSize; } /** * Get Minimum number of instances. Value range: 0-2,000. * @return MinSize Minimum number of instances. Value range: 0-2,000. */ public Long getMinSize() { return this.MinSize; } /** * Set Minimum number of instances. Value range: 0-2,000. * @param MinSize Minimum number of instances. Value range: 0-2,000. */ public void setMinSize(Long MinSize) { this.MinSize = MinSize; } /** * Get Project ID * @return ProjectId Project ID */ public Long getProjectId() { return this.ProjectId; } /** * Set Project ID * @param ProjectId Project ID */ public void setProjectId(Long ProjectId) { this.ProjectId = ProjectId; } /** * Get List of subnet IDs * @return SubnetIds List of subnet IDs */ public String [] getSubnetIds() { return this.SubnetIds; } /** * Set List of subnet IDs * @param SubnetIds List of subnet IDs */ public void setSubnetIds(String [] SubnetIds) { this.SubnetIds = SubnetIds; } /** * Get Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_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. * @return TerminationPolicies Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_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. */ public String [] getTerminationPolicies() { return this.TerminationPolicies; } /** * Set Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_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. * @param TerminationPolicies Termination policy. Currently, the maximum length is 1. Value range: OLDEST_INSTANCE, NEWEST_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. */ public void setTerminationPolicies(String [] TerminationPolicies) { this.TerminationPolicies = TerminationPolicies; } /** * Get 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. * @return VpcId 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. */ public String getVpcId() { return this.VpcId; } /** * Set 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. * @param VpcId 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. */ public void setVpcId(String VpcId) { this.VpcId = VpcId; } /** * Get List of availability zones * @return Zones List of availability zones */ public String [] getZones() { return this.Zones; } /** * Set List of availability zones * @param Zones List of availability zones */ public void setZones(String [] Zones) { this.Zones = Zones; } /** * Get Retry policy. Valid values: `IMMEDIATE_RETRY` (default), `INCREMENTAL_INTERVALS`, `NO_RETRY`. A partially successful scaling is judged as a failed one.
  • `IMMEDIATE_RETRY`: Retrying immediately in a short period of time and stopping after five consecutive failures.
  • `INCREMENTAL_INTERVALS`: Retrying 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. * @return RetryPolicy Retry policy. Valid values: `IMMEDIATE_RETRY` (default), `INCREMENTAL_INTERVALS`, `NO_RETRY`. A partially successful scaling is judged as a failed one.
  • `IMMEDIATE_RETRY`: Retrying immediately in a short period of time and stopping after five consecutive failures.
  • `INCREMENTAL_INTERVALS`: Retrying 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. */ public String getRetryPolicy() { return this.RetryPolicy; } /** * Set Retry policy. Valid values: `IMMEDIATE_RETRY` (default), `INCREMENTAL_INTERVALS`, `NO_RETRY`. A partially successful scaling is judged as a failed one.
  • `IMMEDIATE_RETRY`: Retrying immediately in a short period of time and stopping after five consecutive failures.
  • `INCREMENTAL_INTERVALS`: Retrying 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. * @param RetryPolicy Retry policy. Valid values: `IMMEDIATE_RETRY` (default), `INCREMENTAL_INTERVALS`, `NO_RETRY`. A partially successful scaling is judged as a failed one.
  • `IMMEDIATE_RETRY`: Retrying immediately in a short period of time and stopping after five consecutive failures.
  • `INCREMENTAL_INTERVALS`: Retrying 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. */ public void setRetryPolicy(String RetryPolicy) { this.RetryPolicy = RetryPolicy; } /** * Get Availability zone verification policy. Value range: ALL, ANY. Default value: ANY. This will work when the resource-related fields (launch configuration, availability zone, or subnet) of the auto scaling group are actually modified.
  • 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. * @return ZonesCheckPolicy Availability zone verification policy. Value range: ALL, ANY. Default value: ANY. This will work when the resource-related fields (launch configuration, availability zone, or subnet) of the auto scaling group are actually modified.
  • 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. */ public String getZonesCheckPolicy() { return this.ZonesCheckPolicy; } /** * Set Availability zone verification policy. Value range: ALL, ANY. Default value: ANY. This will work when the resource-related fields (launch configuration, availability zone, or subnet) of the auto scaling group are actually modified.
  • 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. * @param ZonesCheckPolicy Availability zone verification policy. Value range: ALL, ANY. Default value: ANY. This will work when the resource-related fields (launch configuration, availability zone, or subnet) of the auto scaling group are actually modified.
  • 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. */ public void setZonesCheckPolicy(String ZonesCheckPolicy) { this.ZonesCheckPolicy = ZonesCheckPolicy; } /** * Get Service settings such as unhealthy instance replacement. * @return ServiceSettings Service settings such as unhealthy instance replacement. */ public ServiceSettings getServiceSettings() { return this.ServiceSettings; } /** * Set Service settings such as unhealthy instance replacement. * @param ServiceSettings Service settings such as unhealthy instance replacement. */ public void setServiceSettings(ServiceSettings ServiceSettings) { this.ServiceSettings = ServiceSettings; } /** * Get The number of IPv6 addresses that an instance has. Valid values: 0 and 1. * @return Ipv6AddressCount The number of IPv6 addresses that an instance has. Valid values: 0 and 1. */ public Long getIpv6AddressCount() { return this.Ipv6AddressCount; } /** * Set The number of IPv6 addresses that an instance has. Valid values: 0 and 1. * @param Ipv6AddressCount The number of IPv6 addresses that an instance has. Valid values: 0 and 1. */ public void setIpv6AddressCount(Long Ipv6AddressCount) { this.Ipv6AddressCount = Ipv6AddressCount; } /** * Get Multi-availability zone/subnet policy. Valid values: `PRIORITY` and `EQUALITY`. Default value: `PRIORITY`.
  • `PRIORITY`: When an instance is being created, the availability zone/subnet is chosen from top to bottom in the list. The first availability zone/subnet is always used as long as instances can be created.
  • `EQUALITY`: Instances created for scaling 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 `PRIORITY` policy is used, the multi-model policy prevails the multi-availability zones/subnet policy. For example, if you have Model A/B, and Subnet 1/2/3, the model-subnet combinations are tried in the following order: A1 -> A2 -> A3 -> B1 -> B2 -> B3. If A1 is sold out, A2 (not B1) is tried next. * @return MultiZoneSubnetPolicy Multi-availability zone/subnet policy. Valid values: `PRIORITY` and `EQUALITY`. Default value: `PRIORITY`.
  • `PRIORITY`: When an instance is being created, the availability zone/subnet is chosen from top to bottom in the list. The first availability zone/subnet is always used as long as instances can be created.
  • `EQUALITY`: Instances created for scaling 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 `PRIORITY` policy is used, the multi-model policy prevails the multi-availability zones/subnet policy. For example, if you have Model A/B, and Subnet 1/2/3, the model-subnet combinations are tried in the following order: A1 -> A2 -> A3 -> B1 -> B2 -> B3. If A1 is sold out, A2 (not B1) is tried next. */ public String getMultiZoneSubnetPolicy() { return this.MultiZoneSubnetPolicy; } /** * Set Multi-availability zone/subnet policy. Valid values: `PRIORITY` and `EQUALITY`. Default value: `PRIORITY`.
  • `PRIORITY`: When an instance is being created, the availability zone/subnet is chosen from top to bottom in the list. The first availability zone/subnet is always used as long as instances can be created.
  • `EQUALITY`: Instances created for scaling 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 `PRIORITY` policy is used, the multi-model policy prevails the multi-availability zones/subnet policy. For example, if you have Model A/B, and Subnet 1/2/3, the model-subnet combinations are tried in the following order: A1 -> A2 -> A3 -> B1 -> B2 -> B3. If A1 is sold out, A2 (not B1) is tried next. * @param MultiZoneSubnetPolicy Multi-availability zone/subnet policy. Valid values: `PRIORITY` and `EQUALITY`. Default value: `PRIORITY`.
  • `PRIORITY`: When an instance is being created, the availability zone/subnet is chosen from top to bottom in the list. The first availability zone/subnet is always used as long as instances can be created.
  • `EQUALITY`: Instances created for scaling 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 `PRIORITY` policy is used, the multi-model policy prevails the multi-availability zones/subnet policy. For example, if you have Model A/B, and Subnet 1/2/3, the model-subnet combinations are tried in the following order: A1 -> A2 -> A3 -> B1 -> B2 -> B3. If A1 is sold out, A2 (not B1) is tried next. */ public void setMultiZoneSubnetPolicy(String MultiZoneSubnetPolicy) { this.MultiZoneSubnetPolicy = MultiZoneSubnetPolicy; } /** * Get 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](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1). * @return HealthCheckType 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](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1). */ public String getHealthCheckType() { return this.HealthCheckType; } /** * Set 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](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1). * @param HealthCheckType 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](https://intl.cloud.tencent.com/document/product/377/8553?from_cn_redirect=1)
  • CLB: confirm whether an instance is healthy based on the CLB health check status. For more information, see [Health Check Overview](https://intl.cloud.tencent.com/document/product/214/6097?from_cn_redirect=1). */ public void setHealthCheckType(String HealthCheckType) { this.HealthCheckType = HealthCheckType; } /** * Get Grace period of the CLB health check * @return LoadBalancerHealthCheckGracePeriod Grace period of the CLB health check */ public Long getLoadBalancerHealthCheckGracePeriod() { return this.LoadBalancerHealthCheckGracePeriod; } /** * Set Grace period of the CLB health check * @param LoadBalancerHealthCheckGracePeriod Grace period of the CLB health check */ public void setLoadBalancerHealthCheckGracePeriod(Long LoadBalancerHealthCheckGracePeriod) { this.LoadBalancerHealthCheckGracePeriod = LoadBalancerHealthCheckGracePeriod; } /** * Get Specifies how to assign instances. Valid values: `LAUNCH_CONFIGURATION` and `SPOT_MIXED`.
  • `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. * @return InstanceAllocationPolicy Specifies how to assign instances. Valid values: `LAUNCH_CONFIGURATION` and `SPOT_MIXED`.
  • `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. */ public String getInstanceAllocationPolicy() { return this.InstanceAllocationPolicy; } /** * Set Specifies how to assign instances. Valid values: `LAUNCH_CONFIGURATION` and `SPOT_MIXED`.
  • `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. * @param InstanceAllocationPolicy Specifies how to assign instances. Valid values: `LAUNCH_CONFIGURATION` and `SPOT_MIXED`.
  • `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. */ public void setInstanceAllocationPolicy(String InstanceAllocationPolicy) { this.InstanceAllocationPolicy = InstanceAllocationPolicy; } /** * Get Specifies how to assign pay-as-you-go instances and spot instances. This parameter is valid only when `InstanceAllocationPolicy` is set to `SPOT_MIXED`. * @return 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`. */ public SpotMixedAllocationPolicy getSpotMixedAllocationPolicy() { return this.SpotMixedAllocationPolicy; } /** * Set Specifies how to assign pay-as-you-go instances and spot instances. This parameter is valid only when `InstanceAllocationPolicy` is set to `SPOT_MIXED`. * @param 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`. */ public void setSpotMixedAllocationPolicy(SpotMixedAllocationPolicy SpotMixedAllocationPolicy) { this.SpotMixedAllocationPolicy = SpotMixedAllocationPolicy; } /** * Get Indicates whether the capacity rebalancing 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. * @return CapacityRebalance Indicates whether the capacity rebalancing 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. */ public Boolean getCapacityRebalance() { return this.CapacityRebalance; } /** * Set Indicates whether the capacity rebalancing 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. * @param CapacityRebalance Indicates whether the capacity rebalancing 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. */ public void setCapacityRebalance(Boolean CapacityRebalance) { this.CapacityRebalance = CapacityRebalance; } /** * Get Instance name sequencing settings. When enabled, an incremental numeric sequence will be appended to the names of instances automatically created within the scaling group. * @return 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. */ public InstanceNameIndexSettings getInstanceNameIndexSettings() { return this.InstanceNameIndexSettings; } /** * Set Instance name sequencing settings. When enabled, an incremental numeric sequence will be appended to the names of instances automatically created within the scaling group. * @param 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. */ public void setInstanceNameIndexSettings(InstanceNameIndexSettings InstanceNameIndexSettings) { this.InstanceNameIndexSettings = InstanceNameIndexSettings; } public ModifyAutoScalingGroupRequest() { } /** * NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy, * and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy. */ public ModifyAutoScalingGroupRequest(ModifyAutoScalingGroupRequest source) { if (source.AutoScalingGroupId != null) { this.AutoScalingGroupId = new String(source.AutoScalingGroupId); } if (source.AutoScalingGroupName != null) { this.AutoScalingGroupName = new String(source.AutoScalingGroupName); } if (source.DefaultCooldown != null) { this.DefaultCooldown = new Long(source.DefaultCooldown); } if (source.DesiredCapacity != null) { this.DesiredCapacity = new Long(source.DesiredCapacity); } if (source.LaunchConfigurationId != null) { this.LaunchConfigurationId = new String(source.LaunchConfigurationId); } if (source.MaxSize != null) { this.MaxSize = new Long(source.MaxSize); } if (source.MinSize != null) { this.MinSize = new Long(source.MinSize); } if (source.ProjectId != null) { this.ProjectId = new Long(source.ProjectId); } if (source.SubnetIds != null) { this.SubnetIds = new String[source.SubnetIds.length]; for (int i = 0; i < source.SubnetIds.length; i++) { this.SubnetIds[i] = new String(source.SubnetIds[i]); } } if (source.TerminationPolicies != null) { this.TerminationPolicies = new String[source.TerminationPolicies.length]; for (int i = 0; i < source.TerminationPolicies.length; i++) { this.TerminationPolicies[i] = new String(source.TerminationPolicies[i]); } } if (source.VpcId != null) { this.VpcId = new String(source.VpcId); } if (source.Zones != null) { this.Zones = new String[source.Zones.length]; for (int i = 0; i < source.Zones.length; i++) { this.Zones[i] = new String(source.Zones[i]); } } if (source.RetryPolicy != null) { this.RetryPolicy = new String(source.RetryPolicy); } if (source.ZonesCheckPolicy != null) { this.ZonesCheckPolicy = new String(source.ZonesCheckPolicy); } if (source.ServiceSettings != null) { this.ServiceSettings = new ServiceSettings(source.ServiceSettings); } if (source.Ipv6AddressCount != null) { this.Ipv6AddressCount = new Long(source.Ipv6AddressCount); } if (source.MultiZoneSubnetPolicy != null) { this.MultiZoneSubnetPolicy = new String(source.MultiZoneSubnetPolicy); } if (source.HealthCheckType != null) { this.HealthCheckType = new String(source.HealthCheckType); } if (source.LoadBalancerHealthCheckGracePeriod != null) { this.LoadBalancerHealthCheckGracePeriod = new Long(source.LoadBalancerHealthCheckGracePeriod); } if (source.InstanceAllocationPolicy != null) { this.InstanceAllocationPolicy = new String(source.InstanceAllocationPolicy); } if (source.SpotMixedAllocationPolicy != null) { this.SpotMixedAllocationPolicy = new SpotMixedAllocationPolicy(source.SpotMixedAllocationPolicy); } if (source.CapacityRebalance != null) { this.CapacityRebalance = new Boolean(source.CapacityRebalance); } if (source.InstanceNameIndexSettings != null) { this.InstanceNameIndexSettings = new InstanceNameIndexSettings(source.InstanceNameIndexSettings); } } /** * Internal implementation, normal users should not use it. */ public void toMap(HashMap map, String prefix) { this.setParamSimple(map, prefix + "AutoScalingGroupId", this.AutoScalingGroupId); this.setParamSimple(map, prefix + "AutoScalingGroupName", this.AutoScalingGroupName); this.setParamSimple(map, prefix + "DefaultCooldown", this.DefaultCooldown); this.setParamSimple(map, prefix + "DesiredCapacity", this.DesiredCapacity); this.setParamSimple(map, prefix + "LaunchConfigurationId", this.LaunchConfigurationId); this.setParamSimple(map, prefix + "MaxSize", this.MaxSize); this.setParamSimple(map, prefix + "MinSize", this.MinSize); this.setParamSimple(map, prefix + "ProjectId", this.ProjectId); this.setParamArraySimple(map, prefix + "SubnetIds.", this.SubnetIds); this.setParamArraySimple(map, prefix + "TerminationPolicies.", this.TerminationPolicies); this.setParamSimple(map, prefix + "VpcId", this.VpcId); this.setParamArraySimple(map, prefix + "Zones.", this.Zones); this.setParamSimple(map, prefix + "RetryPolicy", this.RetryPolicy); this.setParamSimple(map, prefix + "ZonesCheckPolicy", this.ZonesCheckPolicy); this.setParamObj(map, prefix + "ServiceSettings.", this.ServiceSettings); this.setParamSimple(map, prefix + "Ipv6AddressCount", this.Ipv6AddressCount); this.setParamSimple(map, prefix + "MultiZoneSubnetPolicy", this.MultiZoneSubnetPolicy); this.setParamSimple(map, prefix + "HealthCheckType", this.HealthCheckType); this.setParamSimple(map, prefix + "LoadBalancerHealthCheckGracePeriod", this.LoadBalancerHealthCheckGracePeriod); this.setParamSimple(map, prefix + "InstanceAllocationPolicy", this.InstanceAllocationPolicy); this.setParamObj(map, prefix + "SpotMixedAllocationPolicy.", this.SpotMixedAllocationPolicy); this.setParamSimple(map, prefix + "CapacityRebalance", this.CapacityRebalance); this.setParamObj(map, prefix + "InstanceNameIndexSettings.", this.InstanceNameIndexSettings); } }




  • © 2015 - 2025 Weber Informatics LLC | Privacy Policy