/* * Copyright (c) 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. */ namespace TencentCloud.As.V20180419.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class AutoScalingGroup : AbstractModel { /// /// 伸缩组ID /// [JsonProperty("AutoScalingGroupId")] public string AutoScalingGroupId{ get; set; } /// /// 伸缩组名称 /// [JsonProperty("AutoScalingGroupName")] public string AutoScalingGroupName{ get; set; } /// /// 伸缩组当前状态。取值范围:
  • NORMAL:正常
  • CVM_ABNORMAL:启动配置异常
  • LB_ABNORMAL:负载均衡器异常
  • VPC_ABNORMAL:VPC网络异常
  • INSUFFICIENT_BALANCE:余额不足
  • LB_BACKEND_REGION_NOT_MATCH:CLB实例后端地域与AS服务所在地域不匹配
    ///
  • [JsonProperty("AutoScalingGroupStatus")] public string AutoScalingGroupStatus{ get; set; } /// /// 创建时间,采用UTC标准计时 /// [JsonProperty("CreatedTime")] public string CreatedTime{ get; set; } /// /// 默认冷却时间,单位秒 /// [JsonProperty("DefaultCooldown")] public long? DefaultCooldown{ get; set; } /// /// 期望实例数 /// [JsonProperty("DesiredCapacity")] public long? DesiredCapacity{ get; set; } /// /// 启用状态,取值包括`ENABLED`和`DISABLED` /// [JsonProperty("EnabledStatus")] public string EnabledStatus{ get; set; } /// /// 应用型负载均衡器列表 /// [JsonProperty("ForwardLoadBalancerSet")] public ForwardLoadBalancer[] ForwardLoadBalancerSet{ get; set; } /// /// 实例数量 /// [JsonProperty("InstanceCount")] public long? InstanceCount{ get; set; } /// /// 状态为`IN_SERVICE`实例的数量 /// [JsonProperty("InServiceInstanceCount")] public long? InServiceInstanceCount{ get; set; } /// /// 启动配置ID /// [JsonProperty("LaunchConfigurationId")] public string LaunchConfigurationId{ get; set; } /// /// 启动配置名称 /// [JsonProperty("LaunchConfigurationName")] public string LaunchConfigurationName{ get; set; } /// /// 传统型负载均衡器ID列表 /// [JsonProperty("LoadBalancerIdSet")] public string[] LoadBalancerIdSet{ get; set; } /// /// 最大实例数 /// [JsonProperty("MaxSize")] public long? MaxSize{ get; set; } /// /// 最小实例数 /// [JsonProperty("MinSize")] public long? MinSize{ get; set; } /// /// 项目ID /// [JsonProperty("ProjectId")] public long? ProjectId{ get; set; } /// /// 子网ID列表 /// [JsonProperty("SubnetIdSet")] public string[] SubnetIdSet{ get; set; } /// /// 销毁策略 /// [JsonProperty("TerminationPolicySet")] public string[] TerminationPolicySet{ get; set; } /// /// VPC标识 /// [JsonProperty("VpcId")] public string VpcId{ get; set; } /// /// 可用区列表 /// [JsonProperty("ZoneSet")] public string[] ZoneSet{ get; set; } /// /// 重试策略 /// [JsonProperty("RetryPolicy")] public string RetryPolicy{ get; set; } /// /// 伸缩组是否处于伸缩活动中,`IN_ACTIVITY`表示处于伸缩活动中,`NOT_IN_ACTIVITY`表示不处于伸缩活动中。 /// [JsonProperty("InActivityStatus")] public string InActivityStatus{ get; set; } /// /// 伸缩组标签列表 /// [JsonProperty("Tags")] public Tag[] Tags{ get; set; } /// /// 服务设置 /// [JsonProperty("ServiceSettings")] public ServiceSettings ServiceSettings{ get; set; } /// /// 实例具有IPv6地址数量的配置 /// [JsonProperty("Ipv6AddressCount")] public long? Ipv6AddressCount{ get; set; } /// /// 多可用区/子网策略。 ///
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 ///
  • EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。 ///
  • [JsonProperty("MultiZoneSubnetPolicy")] public string MultiZoneSubnetPolicy{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamSimple(map, prefix + "AutoScalingGroupId", this.AutoScalingGroupId); this.SetParamSimple(map, prefix + "AutoScalingGroupName", this.AutoScalingGroupName); this.SetParamSimple(map, prefix + "AutoScalingGroupStatus", this.AutoScalingGroupStatus); this.SetParamSimple(map, prefix + "CreatedTime", this.CreatedTime); this.SetParamSimple(map, prefix + "DefaultCooldown", this.DefaultCooldown); this.SetParamSimple(map, prefix + "DesiredCapacity", this.DesiredCapacity); this.SetParamSimple(map, prefix + "EnabledStatus", this.EnabledStatus); this.SetParamArrayObj(map, prefix + "ForwardLoadBalancerSet.", this.ForwardLoadBalancerSet); this.SetParamSimple(map, prefix + "InstanceCount", this.InstanceCount); this.SetParamSimple(map, prefix + "InServiceInstanceCount", this.InServiceInstanceCount); this.SetParamSimple(map, prefix + "LaunchConfigurationId", this.LaunchConfigurationId); this.SetParamSimple(map, prefix + "LaunchConfigurationName", this.LaunchConfigurationName); this.SetParamArraySimple(map, prefix + "LoadBalancerIdSet.", this.LoadBalancerIdSet); 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 + "SubnetIdSet.", this.SubnetIdSet); this.SetParamArraySimple(map, prefix + "TerminationPolicySet.", this.TerminationPolicySet); this.SetParamSimple(map, prefix + "VpcId", this.VpcId); this.SetParamArraySimple(map, prefix + "ZoneSet.", this.ZoneSet); this.SetParamSimple(map, prefix + "RetryPolicy", this.RetryPolicy); this.SetParamSimple(map, prefix + "InActivityStatus", this.InActivityStatus); this.SetParamArrayObj(map, prefix + "Tags.", this.Tags); this.SetParamObj(map, prefix + "ServiceSettings.", this.ServiceSettings); this.SetParamSimple(map, prefix + "Ipv6AddressCount", this.Ipv6AddressCount); this.SetParamSimple(map, prefix + "MultiZoneSubnetPolicy", this.MultiZoneSubnetPolicy); } } }