# frozen_string_literal: true # 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. module TencentCloud module As module V20180419 # 符合条件的伸缩活动相关信息。 class Activity < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param ActivityId: 伸缩活动ID。 # @type ActivityId: String # @param ActivityType: 伸缩活动类型。取值如下:
#
  • SCALE_OUT:扩容活动
  • SCALE_IN:缩容活动
  • ATTACH_INSTANCES:添加实例
  • REMOVE_INSTANCES:销毁实例
  • DETACH_INSTANCES:移出实例
  • TERMINATE_INSTANCES_UNEXPECTEDLY:实例在CVM控制台被销毁
  • REPLACE_UNHEALTHY_INSTANCE:替换不健康实例 #
  • START_INSTANCES:开启实例 #
  • STOP_INSTANCES:关闭实例 # @type ActivityType: String # @param StatusCode: 伸缩活动状态。取值如下:
    #
  • INIT:初始化中 #
  • RUNNING:运行中 #
  • SUCCESSFUL:活动成功 #
  • PARTIALLY_SUCCESSFUL:活动部分成功 #
  • FAILED:活动失败 #
  • CANCELLED:活动取消 # @type StatusCode: String # @param StatusMessage: 伸缩活动状态描述。 # @type StatusMessage: String # @param Cause: 伸缩活动起因。 # @type Cause: String # @param Description: 伸缩活动描述。 # @type Description: String # @param StartTime: 伸缩活动开始时间。 # @type StartTime: String # @param EndTime: 伸缩活动结束时间。 # @type EndTime: String # @param CreatedTime: 伸缩活动创建时间。 # @type CreatedTime: String # @param ActivityRelatedInstanceSet: 伸缩活动相关实例信息集合。 # @type ActivityRelatedInstanceSet: Array # @param StatusMessageSimplified: 伸缩活动状态简要描述。 # @type StatusMessageSimplified: String # @param LifecycleActionResultSet: 伸缩活动中生命周期挂钩的执行结果。 # @type LifecycleActionResultSet: Array # @param DetailedStatusMessageSet: 伸缩活动状态详细描述。 # @type DetailedStatusMessageSet: Array attr_accessor :AutoScalingGroupId, :ActivityId, :ActivityType, :StatusCode, :StatusMessage, :Cause, :Description, :StartTime, :EndTime, :CreatedTime, :ActivityRelatedInstanceSet, :StatusMessageSimplified, :LifecycleActionResultSet, :DetailedStatusMessageSet def initialize(autoscalinggroupid=nil, activityid=nil, activitytype=nil, statuscode=nil, statusmessage=nil, cause=nil, description=nil, starttime=nil, endtime=nil, createdtime=nil, activityrelatedinstanceset=nil, statusmessagesimplified=nil, lifecycleactionresultset=nil, detailedstatusmessageset=nil) @AutoScalingGroupId = autoscalinggroupid @ActivityId = activityid @ActivityType = activitytype @StatusCode = statuscode @StatusMessage = statusmessage @Cause = cause @Description = description @StartTime = starttime @EndTime = endtime @CreatedTime = createdtime @ActivityRelatedInstanceSet = activityrelatedinstanceset @StatusMessageSimplified = statusmessagesimplified @LifecycleActionResultSet = lifecycleactionresultset @DetailedStatusMessageSet = detailedstatusmessageset end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @ActivityId = params['ActivityId'] @ActivityType = params['ActivityType'] @StatusCode = params['StatusCode'] @StatusMessage = params['StatusMessage'] @Cause = params['Cause'] @Description = params['Description'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @CreatedTime = params['CreatedTime'] unless params['ActivityRelatedInstanceSet'].nil? @ActivityRelatedInstanceSet = [] params['ActivityRelatedInstanceSet'].each do |i| activtyrelatedinstance_tmp = ActivtyRelatedInstance.new activtyrelatedinstance_tmp.deserialize(i) @ActivityRelatedInstanceSet << activtyrelatedinstance_tmp end end @StatusMessageSimplified = params['StatusMessageSimplified'] unless params['LifecycleActionResultSet'].nil? @LifecycleActionResultSet = [] params['LifecycleActionResultSet'].each do |i| lifecycleactionresultinfo_tmp = LifecycleActionResultInfo.new lifecycleactionresultinfo_tmp.deserialize(i) @LifecycleActionResultSet << lifecycleactionresultinfo_tmp end end unless params['DetailedStatusMessageSet'].nil? @DetailedStatusMessageSet = [] params['DetailedStatusMessageSet'].each do |i| detailedstatusmessage_tmp = DetailedStatusMessage.new detailedstatusmessage_tmp.deserialize(i) @DetailedStatusMessageSet << detailedstatusmessage_tmp end end end end # 与本次伸缩活动相关的实例信息。 class ActivtyRelatedInstance < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID。 # @type InstanceId: String # @param InstanceStatus: 实例在伸缩活动中的状态。取值如下: #
  • INIT:初始化中 #
  • RUNNING:实例操作中 #
  • SUCCESSFUL:活动成功 #
  • FAILED:活动失败 # @type InstanceStatus: String attr_accessor :InstanceId, :InstanceStatus def initialize(instanceid=nil, instancestatus=nil) @InstanceId = instanceid @InstanceStatus = instancestatus end def deserialize(params) @InstanceId = params['InstanceId'] @InstanceStatus = params['InstanceStatus'] end end # 伸缩配置建议。 class Advice < TencentCloud::Common::AbstractModel # @param Problem: 问题描述。 # @type Problem: String # @param Detail: 问题详情。 # @type Detail: String # @param Solution: 建议解决方案。 # @type Solution: String attr_accessor :Problem, :Detail, :Solution def initialize(problem=nil, detail=nil, solution=nil) @Problem = problem @Detail = detail @Solution = solution end def deserialize(params) @Problem = params['Problem'] @Detail = params['Detail'] @Solution = params['Solution'] end end # AttachInstances请求参数结构体 class AttachInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param InstanceIds: CVM实例ID列表 # @type InstanceIds: Array attr_accessor :AutoScalingGroupId, :InstanceIds def initialize(autoscalinggroupid=nil, instanceids=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] end end # AttachInstances返回参数结构体 class AttachInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # AttachLoadBalancers请求参数结构体 class AttachLoadBalancersRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param LoadBalancerIds: 传统型负载均衡器ID列表,每个伸缩组绑定传统型负载均衡器数量上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type LoadBalancerIds: Array # @param ForwardLoadBalancers: 应用型负载均衡器列表,每个伸缩组绑定应用型负载均衡器数量上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type ForwardLoadBalancers: Array attr_accessor :AutoScalingGroupId, :LoadBalancerIds, :ForwardLoadBalancers def initialize(autoscalinggroupid=nil, loadbalancerids=nil, forwardloadbalancers=nil) @AutoScalingGroupId = autoscalinggroupid @LoadBalancerIds = loadbalancerids @ForwardLoadBalancers = forwardloadbalancers end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @LoadBalancerIds = params['LoadBalancerIds'] unless params['ForwardLoadBalancers'].nil? @ForwardLoadBalancers = [] params['ForwardLoadBalancers'].each do |i| forwardloadbalancer_tmp = ForwardLoadBalancer.new forwardloadbalancer_tmp.deserialize(i) @ForwardLoadBalancers << forwardloadbalancer_tmp end end end end # AttachLoadBalancers返回参数结构体 class AttachLoadBalancersResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # 伸缩组配置建议。 class AutoScalingAdvice < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param Advices: 伸缩组配置建议集合。 # @type Advices: Array attr_accessor :AutoScalingGroupId, :Advices def initialize(autoscalinggroupid=nil, advices=nil) @AutoScalingGroupId = autoscalinggroupid @Advices = advices end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] unless params['Advices'].nil? @Advices = [] params['Advices'].each do |i| advice_tmp = Advice.new advice_tmp.deserialize(i) @Advices << advice_tmp end end end end # 伸缩组 class AutoScalingGroup < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param AutoScalingGroupName: 伸缩组名称 # @type AutoScalingGroupName: String # @param AutoScalingGroupStatus: 伸缩组当前状态。取值范围:
  • NORMAL:正常
  • CVM_ABNORMAL:启动配置异常
  • LB_ABNORMAL:负载均衡器异常
  • VPC_ABNORMAL:VPC网络异常
  • INSUFFICIENT_BALANCE:余额不足
  • LB_BACKEND_REGION_NOT_MATCH:CLB实例后端地域与AS服务所在地域不匹配
    # @type AutoScalingGroupStatus: String # @param CreatedTime: 创建时间,采用UTC标准计时 # @type CreatedTime: String # @param DefaultCooldown: 默认冷却时间,单位秒 # @type DefaultCooldown: Integer # @param DesiredCapacity: 期望实例数 # @type DesiredCapacity: Integer # @param EnabledStatus: 启用状态,取值包括`ENABLED`和`DISABLED` # @type EnabledStatus: String # @param ForwardLoadBalancerSet: 应用型负载均衡器列表 # @type ForwardLoadBalancerSet: Array # @param InstanceCount: 实例数量 # @type InstanceCount: Integer # @param InServiceInstanceCount: 状态为`IN_SERVICE`实例的数量 # @type InServiceInstanceCount: Integer # @param LaunchConfigurationId: 启动配置ID # @type LaunchConfigurationId: String # @param LaunchConfigurationName: 启动配置名称 # @type LaunchConfigurationName: String # @param LoadBalancerIdSet: 传统型负载均衡器ID列表 # @type LoadBalancerIdSet: Array # @param MaxSize: 最大实例数 # @type MaxSize: Integer # @param MinSize: 最小实例数 # @type MinSize: Integer # @param ProjectId: 项目ID # @type ProjectId: Integer # @param SubnetIdSet: 子网ID列表 # @type SubnetIdSet: Array # @param TerminationPolicySet: 销毁策略 # @type TerminationPolicySet: Array # @param VpcId: VPC标识 # @type VpcId: String # @param ZoneSet: 可用区列表 # @type ZoneSet: Array # @param RetryPolicy: 重试策略 # @type RetryPolicy: String # @param InActivityStatus: 伸缩组是否处于伸缩活动中,`IN_ACTIVITY`表示处于伸缩活动中,`NOT_IN_ACTIVITY`表示不处于伸缩活动中。 # @type InActivityStatus: String # @param Tags: 伸缩组标签列表 # @type Tags: Array # @param ServiceSettings: 服务设置 # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings` # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置 # @type Ipv6AddressCount: Integer # @param MultiZoneSubnetPolicy: 多可用区/子网策略。 #
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 #
  • EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。 # @type MultiZoneSubnetPolicy: String # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097) # @type HealthCheckType: String # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期 # @type LoadBalancerHealthCheckGracePeriod: Integer # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。 #
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 #
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 # @type InstanceAllocationPolicy: String # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。 # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时才会返回有效值。 # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy` # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: #
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 #
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 # @type CapacityRebalance: Boolean attr_accessor :AutoScalingGroupId, :AutoScalingGroupName, :AutoScalingGroupStatus, :CreatedTime, :DefaultCooldown, :DesiredCapacity, :EnabledStatus, :ForwardLoadBalancerSet, :InstanceCount, :InServiceInstanceCount, :LaunchConfigurationId, :LaunchConfigurationName, :LoadBalancerIdSet, :MaxSize, :MinSize, :ProjectId, :SubnetIdSet, :TerminationPolicySet, :VpcId, :ZoneSet, :RetryPolicy, :InActivityStatus, :Tags, :ServiceSettings, :Ipv6AddressCount, :MultiZoneSubnetPolicy, :HealthCheckType, :LoadBalancerHealthCheckGracePeriod, :InstanceAllocationPolicy, :SpotMixedAllocationPolicy, :CapacityRebalance def initialize(autoscalinggroupid=nil, autoscalinggroupname=nil, autoscalinggroupstatus=nil, createdtime=nil, defaultcooldown=nil, desiredcapacity=nil, enabledstatus=nil, forwardloadbalancerset=nil, instancecount=nil, inserviceinstancecount=nil, launchconfigurationid=nil, launchconfigurationname=nil, loadbalanceridset=nil, maxsize=nil, minsize=nil, projectid=nil, subnetidset=nil, terminationpolicyset=nil, vpcid=nil, zoneset=nil, retrypolicy=nil, inactivitystatus=nil, tags=nil, servicesettings=nil, ipv6addresscount=nil, multizonesubnetpolicy=nil, healthchecktype=nil, loadbalancerhealthcheckgraceperiod=nil, instanceallocationpolicy=nil, spotmixedallocationpolicy=nil, capacityrebalance=nil) @AutoScalingGroupId = autoscalinggroupid @AutoScalingGroupName = autoscalinggroupname @AutoScalingGroupStatus = autoscalinggroupstatus @CreatedTime = createdtime @DefaultCooldown = defaultcooldown @DesiredCapacity = desiredcapacity @EnabledStatus = enabledstatus @ForwardLoadBalancerSet = forwardloadbalancerset @InstanceCount = instancecount @InServiceInstanceCount = inserviceinstancecount @LaunchConfigurationId = launchconfigurationid @LaunchConfigurationName = launchconfigurationname @LoadBalancerIdSet = loadbalanceridset @MaxSize = maxsize @MinSize = minsize @ProjectId = projectid @SubnetIdSet = subnetidset @TerminationPolicySet = terminationpolicyset @VpcId = vpcid @ZoneSet = zoneset @RetryPolicy = retrypolicy @InActivityStatus = inactivitystatus @Tags = tags @ServiceSettings = servicesettings @Ipv6AddressCount = ipv6addresscount @MultiZoneSubnetPolicy = multizonesubnetpolicy @HealthCheckType = healthchecktype @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod @InstanceAllocationPolicy = instanceallocationpolicy @SpotMixedAllocationPolicy = spotmixedallocationpolicy @CapacityRebalance = capacityrebalance end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @AutoScalingGroupName = params['AutoScalingGroupName'] @AutoScalingGroupStatus = params['AutoScalingGroupStatus'] @CreatedTime = params['CreatedTime'] @DefaultCooldown = params['DefaultCooldown'] @DesiredCapacity = params['DesiredCapacity'] @EnabledStatus = params['EnabledStatus'] unless params['ForwardLoadBalancerSet'].nil? @ForwardLoadBalancerSet = [] params['ForwardLoadBalancerSet'].each do |i| forwardloadbalancer_tmp = ForwardLoadBalancer.new forwardloadbalancer_tmp.deserialize(i) @ForwardLoadBalancerSet << forwardloadbalancer_tmp end end @InstanceCount = params['InstanceCount'] @InServiceInstanceCount = params['InServiceInstanceCount'] @LaunchConfigurationId = params['LaunchConfigurationId'] @LaunchConfigurationName = params['LaunchConfigurationName'] @LoadBalancerIdSet = params['LoadBalancerIdSet'] @MaxSize = params['MaxSize'] @MinSize = params['MinSize'] @ProjectId = params['ProjectId'] @SubnetIdSet = params['SubnetIdSet'] @TerminationPolicySet = params['TerminationPolicySet'] @VpcId = params['VpcId'] @ZoneSet = params['ZoneSet'] @RetryPolicy = params['RetryPolicy'] @InActivityStatus = params['InActivityStatus'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tag_tmp = Tag.new tag_tmp.deserialize(i) @Tags << tag_tmp end end unless params['ServiceSettings'].nil? @ServiceSettings = ServiceSettings.new @ServiceSettings.deserialize(params['ServiceSettings']) end @Ipv6AddressCount = params['Ipv6AddressCount'] @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy'] @HealthCheckType = params['HealthCheckType'] @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod'] @InstanceAllocationPolicy = params['InstanceAllocationPolicy'] unless params['SpotMixedAllocationPolicy'].nil? @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy']) end @CapacityRebalance = params['CapacityRebalance'] end end # 伸缩组简明信息。 class AutoScalingGroupAbstract < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param AutoScalingGroupName: 伸缩组名称。 # @type AutoScalingGroupName: String attr_accessor :AutoScalingGroupId, :AutoScalingGroupName def initialize(autoscalinggroupid=nil, autoscalinggroupname=nil) @AutoScalingGroupId = autoscalinggroupid @AutoScalingGroupName = autoscalinggroupname end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @AutoScalingGroupName = params['AutoScalingGroupName'] end end # 弹性伸缩事件通知 class AutoScalingNotification < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param NotificationUserGroupIds: 用户组ID列表。 # @type NotificationUserGroupIds: Array # @param NotificationTypes: 通知事件列表。 # @type NotificationTypes: Array # @param AutoScalingNotificationId: 事件通知ID。 # @type AutoScalingNotificationId: String # @param TargetType: 通知接收端类型。 # @type TargetType: String # @param QueueName: CMQ 队列名。 # @type QueueName: String # @param TopicName: CMQ 主题名。 # @type TopicName: String attr_accessor :AutoScalingGroupId, :NotificationUserGroupIds, :NotificationTypes, :AutoScalingNotificationId, :TargetType, :QueueName, :TopicName def initialize(autoscalinggroupid=nil, notificationusergroupids=nil, notificationtypes=nil, autoscalingnotificationid=nil, targettype=nil, queuename=nil, topicname=nil) @AutoScalingGroupId = autoscalinggroupid @NotificationUserGroupIds = notificationusergroupids @NotificationTypes = notificationtypes @AutoScalingNotificationId = autoscalingnotificationid @TargetType = targettype @QueueName = queuename @TopicName = topicname end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @NotificationUserGroupIds = params['NotificationUserGroupIds'] @NotificationTypes = params['NotificationTypes'] @AutoScalingNotificationId = params['AutoScalingNotificationId'] @TargetType = params['TargetType'] @QueueName = params['QueueName'] @TopicName = params['TopicName'] end end # ClearLaunchConfigurationAttributes请求参数结构体 class ClearLaunchConfigurationAttributesRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationId: 启动配置ID。 # @type LaunchConfigurationId: String # @param ClearDataDisks: 是否清空数据盘信息,非必填,默认为 false。 # 填 true 代表清空“数据盘”信息,清空后基于此新创建的云主机将不含有任何数据盘。 # @type ClearDataDisks: Boolean # @param ClearHostNameSettings: 是否清空云服务器主机名相关设置信息,非必填,默认为 false。 # 填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将不设置主机名。 # @type ClearHostNameSettings: Boolean # @param ClearInstanceNameSettings: 是否清空云服务器实例名相关设置信息,非必填,默认为 false。 # 填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置。 # @type ClearInstanceNameSettings: Boolean attr_accessor :LaunchConfigurationId, :ClearDataDisks, :ClearHostNameSettings, :ClearInstanceNameSettings def initialize(launchconfigurationid=nil, cleardatadisks=nil, clearhostnamesettings=nil, clearinstancenamesettings=nil) @LaunchConfigurationId = launchconfigurationid @ClearDataDisks = cleardatadisks @ClearHostNameSettings = clearhostnamesettings @ClearInstanceNameSettings = clearinstancenamesettings end def deserialize(params) @LaunchConfigurationId = params['LaunchConfigurationId'] @ClearDataDisks = params['ClearDataDisks'] @ClearHostNameSettings = params['ClearHostNameSettings'] @ClearInstanceNameSettings = params['ClearInstanceNameSettings'] end end # ClearLaunchConfigurationAttributes返回参数结构体 class ClearLaunchConfigurationAttributesResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CompleteLifecycleAction请求参数结构体 class CompleteLifecycleActionRequest < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩ID # @type LifecycleHookId: String # @param LifecycleActionResult: 生命周期动作的结果,取值范围为“CONTINUE”或“ABANDON” # @type LifecycleActionResult: String # @param InstanceId: 实例ID,“InstanceId”和“LifecycleActionToken”必须填充其中一个 # @type InstanceId: String # @param LifecycleActionToken: “InstanceId”和“LifecycleActionToken”必须填充其中一个 # @type LifecycleActionToken: String attr_accessor :LifecycleHookId, :LifecycleActionResult, :InstanceId, :LifecycleActionToken def initialize(lifecyclehookid=nil, lifecycleactionresult=nil, instanceid=nil, lifecycleactiontoken=nil) @LifecycleHookId = lifecyclehookid @LifecycleActionResult = lifecycleactionresult @InstanceId = instanceid @LifecycleActionToken = lifecycleactiontoken end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] @LifecycleActionResult = params['LifecycleActionResult'] @InstanceId = params['InstanceId'] @LifecycleActionToken = params['LifecycleActionToken'] end end # CompleteLifecycleAction返回参数结构体 class CompleteLifecycleActionResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CreateAutoScalingGroupFromInstance请求参数结构体 class CreateAutoScalingGroupFromInstanceRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。 # @type AutoScalingGroupName: String # @param InstanceId: 实例ID # @type InstanceId: String # @param MinSize: 最小实例数,取值范围为0-2000。 # @type MinSize: Integer # @param MaxSize: 最大实例数,取值范围为0-2000。 # @type MaxSize: Integer # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间。 # @type DesiredCapacity: Integer # @param InheritInstanceTag: 是否继承实例标签,默认值为False # @type InheritInstanceTag: Boolean attr_accessor :AutoScalingGroupName, :InstanceId, :MinSize, :MaxSize, :DesiredCapacity, :InheritInstanceTag def initialize(autoscalinggroupname=nil, instanceid=nil, minsize=nil, maxsize=nil, desiredcapacity=nil, inheritinstancetag=nil) @AutoScalingGroupName = autoscalinggroupname @InstanceId = instanceid @MinSize = minsize @MaxSize = maxsize @DesiredCapacity = desiredcapacity @InheritInstanceTag = inheritinstancetag end def deserialize(params) @AutoScalingGroupName = params['AutoScalingGroupName'] @InstanceId = params['InstanceId'] @MinSize = params['MinSize'] @MaxSize = params['MaxSize'] @DesiredCapacity = params['DesiredCapacity'] @InheritInstanceTag = params['InheritInstanceTag'] end end # CreateAutoScalingGroupFromInstance返回参数结构体 class CreateAutoScalingGroupFromInstanceResponse < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingGroupId, :RequestId def initialize(autoscalinggroupid=nil, requestid=nil) @AutoScalingGroupId = autoscalinggroupid @RequestId = requestid end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @RequestId = params['RequestId'] end end # CreateAutoScalingGroup请求参数结构体 class CreateAutoScalingGroupRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。 # @type AutoScalingGroupName: String # @param LaunchConfigurationId: 启动配置ID # @type LaunchConfigurationId: String # @param MaxSize: 最大实例数,取值范围为0-2000。 # @type MaxSize: Integer # @param MinSize: 最小实例数,取值范围为0-2000。 # @type MinSize: Integer # @param VpcId: VPC ID,基础网络则填空字符串 # @type VpcId: String # @param DefaultCooldown: 默认冷却时间,单位秒,默认值为300 # @type DefaultCooldown: Integer # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间 # @type DesiredCapacity: Integer # @param LoadBalancerIds: 传统负载均衡器ID列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type LoadBalancerIds: Array # @param ProjectId: 伸缩组内实例所属项目ID。不填为默认项目。 # @type ProjectId: Integer # @param ForwardLoadBalancers: 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type ForwardLoadBalancers: Array # @param SubnetIds: 子网ID列表,VPC场景下必须指定子网。多个子网以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。 # @type SubnetIds: Array # @param TerminationPolicies: 销毁策略,目前长度上限为1。取值包括 OLDEST_INSTANCE 和 NEWEST_INSTANCE,默认取值为 OLDEST_INSTANCE。 #
  • OLDEST_INSTANCE 优先销毁伸缩组中最旧的实例。 #
  • NEWEST_INSTANCE,优先销毁伸缩组中最新的实例。 # @type TerminationPolicies: Array # @param Zones: 可用区列表,基础网络场景下必须指定可用区。多个可用区以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。 # @type Zones: Array # @param RetryPolicy: 重试策略,取值包括 IMMEDIATE_RETRY、 INCREMENTAL_INTERVALS、NO_RETRY,默认取值为 IMMEDIATE_RETRY。 #
  • IMMEDIATE_RETRY,立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试。 #
  • INCREMENTAL_INTERVALS,间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,重试间隔从秒级到1天不等。 #
  • NO_RETRY,不进行重试,直到再次收到用户调用或者告警信息后才会重试。 # @type RetryPolicy: String # @param ZonesCheckPolicy: 可用区校验策略,取值包括 ALL 和 ANY,默认取值为ANY。 #
  • ALL,所有可用区(Zone)或子网(SubnetId)都可用则通过校验,否则校验报错。 #
  • ANY,存在任何一个可用区(Zone)或子网(SubnetId)可用则通过校验,否则校验报错。 # 可用区或子网不可用的常见原因包括该可用区CVM实例类型售罄、该可用区CBS云盘售罄、该可用区配额不足、该子网IP不足等。 # 如果 Zones/SubnetIds 中可用区或者子网不存在,则无论 ZonesCheckPolicy 采用何种取值,都会校验报错。 # @type ZonesCheckPolicy: String # @param Tags: 标签描述列表。通过指定该参数可以支持绑定标签到伸缩组。同时绑定标签到相应的资源实例。每个伸缩组最多支持30个标签。 # @type Tags: Array # @param ServiceSettings: 服务设置,包括云监控不健康替换等服务设置。 # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings` # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置,取值包括 0、1,默认值为0。 # @type Ipv6AddressCount: Integer # @param MultiZoneSubnetPolicy: 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。 #
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 #
  • EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡。 # 与本策略相关的注意点: #
  • 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。 #
  • 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。 #
  • 按照 PRIORITY 策略创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3,会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 # @type MultiZoneSubnetPolicy: String # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097)
    如果选择了`CLB`类型,伸缩组将同时检查实例网络状态与CLB健康检查状态,如果出现实例网络状态不健康,实例将被标记为 UNHEALTHY 状态;如果出现 CLB 健康检查状态异常,实例将被标记为CLB_UNHEALTHY 状态,如果两个异常状态同时出现,实例`HealthStatus`字段将返回 UNHEALTHY|CLB_UNHEALTHY。默认值:CLB # @type HealthCheckType: String # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期,当扩容的实例进入`IN_SERVICE`后,在宽限期时间范围内将不会被标记为不健康`CLB_UNHEALTHY`。
    默认值:0。取值范围[0, 7200],单位:秒。 # @type LoadBalancerHealthCheckGracePeriod: Integer # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED,默认取 LAUNCH_CONFIGURATION。 #
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 #
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 # @type InstanceAllocationPolicy: String # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。 # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。 # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy` # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: #
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 #
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 # 默认取 FALSE。 # @type CapacityRebalance: Boolean attr_accessor :AutoScalingGroupName, :LaunchConfigurationId, :MaxSize, :MinSize, :VpcId, :DefaultCooldown, :DesiredCapacity, :LoadBalancerIds, :ProjectId, :ForwardLoadBalancers, :SubnetIds, :TerminationPolicies, :Zones, :RetryPolicy, :ZonesCheckPolicy, :Tags, :ServiceSettings, :Ipv6AddressCount, :MultiZoneSubnetPolicy, :HealthCheckType, :LoadBalancerHealthCheckGracePeriod, :InstanceAllocationPolicy, :SpotMixedAllocationPolicy, :CapacityRebalance def initialize(autoscalinggroupname=nil, launchconfigurationid=nil, maxsize=nil, minsize=nil, vpcid=nil, defaultcooldown=nil, desiredcapacity=nil, loadbalancerids=nil, projectid=nil, forwardloadbalancers=nil, subnetids=nil, terminationpolicies=nil, zones=nil, retrypolicy=nil, zonescheckpolicy=nil, tags=nil, servicesettings=nil, ipv6addresscount=nil, multizonesubnetpolicy=nil, healthchecktype=nil, loadbalancerhealthcheckgraceperiod=nil, instanceallocationpolicy=nil, spotmixedallocationpolicy=nil, capacityrebalance=nil) @AutoScalingGroupName = autoscalinggroupname @LaunchConfigurationId = launchconfigurationid @MaxSize = maxsize @MinSize = minsize @VpcId = vpcid @DefaultCooldown = defaultcooldown @DesiredCapacity = desiredcapacity @LoadBalancerIds = loadbalancerids @ProjectId = projectid @ForwardLoadBalancers = forwardloadbalancers @SubnetIds = subnetids @TerminationPolicies = terminationpolicies @Zones = zones @RetryPolicy = retrypolicy @ZonesCheckPolicy = zonescheckpolicy @Tags = tags @ServiceSettings = servicesettings @Ipv6AddressCount = ipv6addresscount @MultiZoneSubnetPolicy = multizonesubnetpolicy @HealthCheckType = healthchecktype @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod @InstanceAllocationPolicy = instanceallocationpolicy @SpotMixedAllocationPolicy = spotmixedallocationpolicy @CapacityRebalance = capacityrebalance end def deserialize(params) @AutoScalingGroupName = params['AutoScalingGroupName'] @LaunchConfigurationId = params['LaunchConfigurationId'] @MaxSize = params['MaxSize'] @MinSize = params['MinSize'] @VpcId = params['VpcId'] @DefaultCooldown = params['DefaultCooldown'] @DesiredCapacity = params['DesiredCapacity'] @LoadBalancerIds = params['LoadBalancerIds'] @ProjectId = params['ProjectId'] unless params['ForwardLoadBalancers'].nil? @ForwardLoadBalancers = [] params['ForwardLoadBalancers'].each do |i| forwardloadbalancer_tmp = ForwardLoadBalancer.new forwardloadbalancer_tmp.deserialize(i) @ForwardLoadBalancers << forwardloadbalancer_tmp end end @SubnetIds = params['SubnetIds'] @TerminationPolicies = params['TerminationPolicies'] @Zones = params['Zones'] @RetryPolicy = params['RetryPolicy'] @ZonesCheckPolicy = params['ZonesCheckPolicy'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tag_tmp = Tag.new tag_tmp.deserialize(i) @Tags << tag_tmp end end unless params['ServiceSettings'].nil? @ServiceSettings = ServiceSettings.new @ServiceSettings.deserialize(params['ServiceSettings']) end @Ipv6AddressCount = params['Ipv6AddressCount'] @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy'] @HealthCheckType = params['HealthCheckType'] @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod'] @InstanceAllocationPolicy = params['InstanceAllocationPolicy'] unless params['SpotMixedAllocationPolicy'].nil? @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy']) end @CapacityRebalance = params['CapacityRebalance'] end end # CreateAutoScalingGroup返回参数结构体 class CreateAutoScalingGroupResponse < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingGroupId, :RequestId def initialize(autoscalinggroupid=nil, requestid=nil) @AutoScalingGroupId = autoscalinggroupid @RequestId = requestid end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @RequestId = params['RequestId'] end end # CreateLaunchConfiguration请求参数结构体 class CreateLaunchConfigurationRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type LaunchConfigurationName: String # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • # @type ImageId: String # @param ProjectId: 启动配置所属项目ID。不填为默认项目。 # 注意:伸缩组内实例所属项目ID取伸缩组项目ID,与这里取值无关。 # @type ProjectId: Integer # @param InstanceType: 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口 [DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749) 来获得最新的规格表或参见[实例类型](https://cloud.tencent.com/document/product/213/11518)描述。 # `InstanceType`和`InstanceTypes`参数互斥,二者必填一个且只能填写一个。 # @type InstanceType: String # @param SystemDisk: 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk` # @param DataDisks: 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘,最多支持指定11块数据盘。 # @type DataDisks: Array # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible` # @param LoginSettings: 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LoginSettings` # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。若不指定该参数,则默认不绑定安全组。 # @type SecurityGroupIds: Array # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService` # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。 # @type UserData: String # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。 #
  • POSTPAID_BY_HOUR:按小时后付费 #
  • SPOTPAID:竞价付费 #
  • PREPAID:预付费,即包年包月 # @type InstanceChargeType: String # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest` # @param InstanceTypes: 实例机型列表,不同实例机型指定了不同的资源规格,最多支持10种实例机型。 # `InstanceType`和`InstanceTypes`参数互斥,二者必填一个且只能填写一个。 # @type InstanceTypes: Array # @param InstanceTypesCheckPolicy: 实例类型校验策略,取值包括 ALL 和 ANY,默认取值为ANY。 #
  • ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。 #
  • ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。 # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。 # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。 # @type InstanceTypesCheckPolicy: String # @param InstanceTags: 标签列表。通过指定该参数,可以为扩容的实例绑定标签。最多支持指定10个标签。 # @type InstanceTags: Array # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 # @type CamRoleName: String # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。 # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings` # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。 # 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。 # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings` # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid` # @param DiskTypePolicy: 云盘类型选择策略,默认取值 ORIGINAL,取值范围: #
  • ORIGINAL:使用设置的云盘类型 #
  • AUTOMATIC:自动选择当前可用的云盘类型 # @type DiskTypePolicy: String attr_accessor :LaunchConfigurationName, :ImageId, :ProjectId, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :LoginSettings, :SecurityGroupIds, :EnhancedService, :UserData, :InstanceChargeType, :InstanceMarketOptions, :InstanceTypes, :InstanceTypesCheckPolicy, :InstanceTags, :CamRoleName, :HostNameSettings, :InstanceNameSettings, :InstanceChargePrepaid, :DiskTypePolicy def initialize(launchconfigurationname=nil, imageid=nil, projectid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, loginsettings=nil, securitygroupids=nil, enhancedservice=nil, userdata=nil, instancechargetype=nil, instancemarketoptions=nil, instancetypes=nil, instancetypescheckpolicy=nil, instancetags=nil, camrolename=nil, hostnamesettings=nil, instancenamesettings=nil, instancechargeprepaid=nil, disktypepolicy=nil) @LaunchConfigurationName = launchconfigurationname @ImageId = imageid @ProjectId = projectid @InstanceType = instancetype @SystemDisk = systemdisk @DataDisks = datadisks @InternetAccessible = internetaccessible @LoginSettings = loginsettings @SecurityGroupIds = securitygroupids @EnhancedService = enhancedservice @UserData = userdata @InstanceChargeType = instancechargetype @InstanceMarketOptions = instancemarketoptions @InstanceTypes = instancetypes @InstanceTypesCheckPolicy = instancetypescheckpolicy @InstanceTags = instancetags @CamRoleName = camrolename @HostNameSettings = hostnamesettings @InstanceNameSettings = instancenamesettings @InstanceChargePrepaid = instancechargeprepaid @DiskTypePolicy = disktypepolicy end def deserialize(params) @LaunchConfigurationName = params['LaunchConfigurationName'] @ImageId = params['ImageId'] @ProjectId = params['ProjectId'] @InstanceType = params['InstanceType'] unless params['SystemDisk'].nil? @SystemDisk = SystemDisk.new @SystemDisk.deserialize(params['SystemDisk']) end unless params['DataDisks'].nil? @DataDisks = [] params['DataDisks'].each do |i| datadisk_tmp = DataDisk.new datadisk_tmp.deserialize(i) @DataDisks << datadisk_tmp end end unless params['InternetAccessible'].nil? @InternetAccessible = InternetAccessible.new @InternetAccessible.deserialize(params['InternetAccessible']) end unless params['LoginSettings'].nil? @LoginSettings = LoginSettings.new @LoginSettings.deserialize(params['LoginSettings']) end @SecurityGroupIds = params['SecurityGroupIds'] unless params['EnhancedService'].nil? @EnhancedService = EnhancedService.new @EnhancedService.deserialize(params['EnhancedService']) end @UserData = params['UserData'] @InstanceChargeType = params['InstanceChargeType'] unless params['InstanceMarketOptions'].nil? @InstanceMarketOptions = InstanceMarketOptionsRequest.new @InstanceMarketOptions.deserialize(params['InstanceMarketOptions']) end @InstanceTypes = params['InstanceTypes'] @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy'] unless params['InstanceTags'].nil? @InstanceTags = [] params['InstanceTags'].each do |i| instancetag_tmp = InstanceTag.new instancetag_tmp.deserialize(i) @InstanceTags << instancetag_tmp end end @CamRoleName = params['CamRoleName'] unless params['HostNameSettings'].nil? @HostNameSettings = HostNameSettings.new @HostNameSettings.deserialize(params['HostNameSettings']) end unless params['InstanceNameSettings'].nil? @InstanceNameSettings = InstanceNameSettings.new @InstanceNameSettings.deserialize(params['InstanceNameSettings']) end unless params['InstanceChargePrepaid'].nil? @InstanceChargePrepaid = InstanceChargePrepaid.new @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid']) end @DiskTypePolicy = params['DiskTypePolicy'] end end # CreateLaunchConfiguration返回参数结构体 class CreateLaunchConfigurationResponse < TencentCloud::Common::AbstractModel # @param LaunchConfigurationId: 当通过本接口来创建启动配置时会返回该参数,表示启动配置ID。 # @type LaunchConfigurationId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :LaunchConfigurationId, :RequestId def initialize(launchconfigurationid=nil, requestid=nil) @LaunchConfigurationId = launchconfigurationid @RequestId = requestid end def deserialize(params) @LaunchConfigurationId = params['LaunchConfigurationId'] @RequestId = params['RequestId'] end end # CreateLifecycleHook请求参数结构体 class CreateLifecycleHookRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param LifecycleHookName: 生命周期挂钩名称。名称仅支持中文、英文、数字、下划线(_)、短横线(-)、小数点(.),最大长度不能超128个字节。 # @type LifecycleHookName: String # @param LifecycleTransition: 进行生命周期挂钩的场景,取值范围包括 INSTANCE_LAUNCHING 和 INSTANCE_TERMINATING # @type LifecycleTransition: String # @param DefaultResult: 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值范围是 CONTINUE 或 ABANDON,默认值为 CONTINUE # @type DefaultResult: String # @param HeartbeatTimeout: 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从30到7200秒,默认值为300秒 # @type HeartbeatTimeout: Integer # @param NotificationMetadata: 弹性伸缩向通知目标发送的附加信息,默认值为空字符串""。最大长度不能超过1024个字节。 # @type NotificationMetadata: String # @param NotificationTarget: 通知目标 # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget` # @param LifecycleTransitionType: 进行生命周期挂钩的场景类型,取值范围包括NORMAL 和 EXTENSION。说明:设置为EXTENSION值,在AttachInstances、DetachInstances、RemoveInstaces接口时会触发生命周期挂钩操作,值为NORMAL则不会在这些接口中触发生命周期挂钩。 # @type LifecycleTransitionType: String attr_accessor :AutoScalingGroupId, :LifecycleHookName, :LifecycleTransition, :DefaultResult, :HeartbeatTimeout, :NotificationMetadata, :NotificationTarget, :LifecycleTransitionType def initialize(autoscalinggroupid=nil, lifecyclehookname=nil, lifecycletransition=nil, defaultresult=nil, heartbeattimeout=nil, notificationmetadata=nil, notificationtarget=nil, lifecycletransitiontype=nil) @AutoScalingGroupId = autoscalinggroupid @LifecycleHookName = lifecyclehookname @LifecycleTransition = lifecycletransition @DefaultResult = defaultresult @HeartbeatTimeout = heartbeattimeout @NotificationMetadata = notificationmetadata @NotificationTarget = notificationtarget @LifecycleTransitionType = lifecycletransitiontype end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @LifecycleHookName = params['LifecycleHookName'] @LifecycleTransition = params['LifecycleTransition'] @DefaultResult = params['DefaultResult'] @HeartbeatTimeout = params['HeartbeatTimeout'] @NotificationMetadata = params['NotificationMetadata'] unless params['NotificationTarget'].nil? @NotificationTarget = NotificationTarget.new @NotificationTarget.deserialize(params['NotificationTarget']) end @LifecycleTransitionType = params['LifecycleTransitionType'] end end # CreateLifecycleHook返回参数结构体 class CreateLifecycleHookResponse < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩ID # @type LifecycleHookId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :LifecycleHookId, :RequestId def initialize(lifecyclehookid=nil, requestid=nil) @LifecycleHookId = lifecyclehookid @RequestId = requestid end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] @RequestId = params['RequestId'] end end # CreateNotificationConfiguration请求参数结构体 class CreateNotificationConfigurationRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param NotificationTypes: 通知类型,即为需要订阅的通知类型集合,取值范围如下: #
  • SCALE_OUT_SUCCESSFUL:扩容成功
  • #
  • SCALE_OUT_FAILED:扩容失败
  • #
  • SCALE_IN_SUCCESSFUL:缩容成功
  • #
  • SCALE_IN_FAILED:缩容失败
  • #
  • REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功
  • #
  • REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败
  • # @type NotificationTypes: Array # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 # @type NotificationUserGroupIds: Array # @param TargetType: 通知接收端类型,取值如下 #
  • USER_GROUP:用户组 #
  • CMQ_QUEUE:CMQ 队列 #
  • CMQ_TOPIC:CMQ 主题 #
  • TDMQ_CMQ_TOPIC:TDMQ CMQ 主题 #
  • TDMQ_CMQ_QUEUE:TDMQ CMQ 队列 # 默认值为:`USER_GROUP`。 # @type TargetType: String # @param QueueName: CMQ 队列名称,如 TargetType 取值为 `CMQ_QUEUE` 或 `TDMQ_CMQ_QUEUE` 时,该字段必填。 # @type QueueName: String # @param TopicName: CMQ 主题名称,如 TargetType 取值为 `CMQ_TOPIC` 或 `TDMQ_CMQ_TOPIC` 时,该字段必填。 # @type TopicName: String attr_accessor :AutoScalingGroupId, :NotificationTypes, :NotificationUserGroupIds, :TargetType, :QueueName, :TopicName def initialize(autoscalinggroupid=nil, notificationtypes=nil, notificationusergroupids=nil, targettype=nil, queuename=nil, topicname=nil) @AutoScalingGroupId = autoscalinggroupid @NotificationTypes = notificationtypes @NotificationUserGroupIds = notificationusergroupids @TargetType = targettype @QueueName = queuename @TopicName = topicname end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @NotificationTypes = params['NotificationTypes'] @NotificationUserGroupIds = params['NotificationUserGroupIds'] @TargetType = params['TargetType'] @QueueName = params['QueueName'] @TopicName = params['TopicName'] end end # CreateNotificationConfiguration返回参数结构体 class CreateNotificationConfigurationResponse < TencentCloud::Common::AbstractModel # @param AutoScalingNotificationId: 通知ID。 # @type AutoScalingNotificationId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingNotificationId, :RequestId def initialize(autoscalingnotificationid=nil, requestid=nil) @AutoScalingNotificationId = autoscalingnotificationid @RequestId = requestid end def deserialize(params) @AutoScalingNotificationId = params['AutoScalingNotificationId'] @RequestId = params['RequestId'] end end # CreateScalingPolicy请求参数结构体 class CreateScalingPolicyRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param ScalingPolicyName: 告警触发策略名称。 # @type ScalingPolicyName: String # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :
  • CHANGE_IN_CAPACITY:增加或减少若干期望实例数
  • EXACT_CAPACITY:调整至指定期望实例数
  • PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数
  • # @type AdjustmentType: String # @param AdjustmentValue: 告警触发后,期望实例数的调整值。取值:
  • 当 AdjustmentType 为 CHANGE_IN_CAPACITY 时,AdjustmentValue 为正数表示告警触发后增加实例,为负数表示告警触发后减少实例
  • 当 AdjustmentType 为 EXACT_CAPACITY 时,AdjustmentValue 的值即为告警触发后新的期望实例数,需要大于或等于0
  • 当 AdjustmentType 为 PERCENT_CHANGE_IN_CAPACITY 时,AdjusmentValue 为正数表示告警触发后按百分比增加实例,为负数表示告警触发后按百分比减少实例,单位是:%。 # @type AdjustmentValue: Integer # @param MetricAlarm: 告警监控指标。 # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm` # @param Cooldown: 冷却时间,单位为秒。默认冷却时间300秒。 # @type Cooldown: Integer # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 # @type NotificationUserGroupIds: Array attr_accessor :AutoScalingGroupId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :MetricAlarm, :Cooldown, :NotificationUserGroupIds def initialize(autoscalinggroupid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, metricalarm=nil, cooldown=nil, notificationusergroupids=nil) @AutoScalingGroupId = autoscalinggroupid @ScalingPolicyName = scalingpolicyname @AdjustmentType = adjustmenttype @AdjustmentValue = adjustmentvalue @MetricAlarm = metricalarm @Cooldown = cooldown @NotificationUserGroupIds = notificationusergroupids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @ScalingPolicyName = params['ScalingPolicyName'] @AdjustmentType = params['AdjustmentType'] @AdjustmentValue = params['AdjustmentValue'] unless params['MetricAlarm'].nil? @MetricAlarm = MetricAlarm.new @MetricAlarm.deserialize(params['MetricAlarm']) end @Cooldown = params['Cooldown'] @NotificationUserGroupIds = params['NotificationUserGroupIds'] end end # CreateScalingPolicy返回参数结构体 class CreateScalingPolicyResponse < TencentCloud::Common::AbstractModel # @param AutoScalingPolicyId: 告警触发策略ID。 # @type AutoScalingPolicyId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingPolicyId, :RequestId def initialize(autoscalingpolicyid=nil, requestid=nil) @AutoScalingPolicyId = autoscalingpolicyid @RequestId = requestid end def deserialize(params) @AutoScalingPolicyId = params['AutoScalingPolicyId'] @RequestId = params['RequestId'] end end # CreateScheduledAction请求参数结构体 class CreateScheduledActionRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param ScheduledActionName: 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。 # @type ScheduledActionName: String # @param MaxSize: 当定时任务触发时,设置的伸缩组最大实例数。 # @type MaxSize: Integer # @param MinSize: 当定时任务触发时,设置的伸缩组最小实例数。 # @type MinSize: Integer # @param DesiredCapacity: 当定时任务触发时,设置的伸缩组期望实例数。 # @type DesiredCapacity: Integer # @param StartTime: 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 # @type StartTime: String # @param EndTime: 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。

    此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。 # @type EndTime: String # @param Recurrence: 定时任务的重复方式。为标准 Cron 格式

    此参数与`EndTime`需要同时指定。 # @type Recurrence: String attr_accessor :AutoScalingGroupId, :ScheduledActionName, :MaxSize, :MinSize, :DesiredCapacity, :StartTime, :EndTime, :Recurrence def initialize(autoscalinggroupid=nil, scheduledactionname=nil, maxsize=nil, minsize=nil, desiredcapacity=nil, starttime=nil, endtime=nil, recurrence=nil) @AutoScalingGroupId = autoscalinggroupid @ScheduledActionName = scheduledactionname @MaxSize = maxsize @MinSize = minsize @DesiredCapacity = desiredcapacity @StartTime = starttime @EndTime = endtime @Recurrence = recurrence end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @ScheduledActionName = params['ScheduledActionName'] @MaxSize = params['MaxSize'] @MinSize = params['MinSize'] @DesiredCapacity = params['DesiredCapacity'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @Recurrence = params['Recurrence'] end end # CreateScheduledAction返回参数结构体 class CreateScheduledActionResponse < TencentCloud::Common::AbstractModel # @param ScheduledActionId: 定时任务ID # @type ScheduledActionId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ScheduledActionId, :RequestId def initialize(scheduledactionid=nil, requestid=nil) @ScheduledActionId = scheduledactionid @RequestId = requestid end def deserialize(params) @ScheduledActionId = params['ScheduledActionId'] @RequestId = params['RequestId'] end end # 启动配置的数据盘配置信息。若不指定该参数,则默认不购买数据盘,当前仅支持购买的时候指定一个数据盘。 class DataDisk < TencentCloud::Common::AbstractModel # @param DiskType: 数据盘类型。数据盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值与系统盘类型(SystemDisk.DiskType)保持一致。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DiskType: String # @param DiskSize: 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)。默认值为0,表示不购买数据盘。更多限制详见产品文档。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DiskSize: Integer # @param SnapshotId: 数据盘快照 ID,类似 `snap-l8psqwnt`。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SnapshotId: String # @param DeleteWithInstance: 数据盘是否随子机销毁。取值范围:
  • TRUE:子机销毁时,销毁数据盘,只支持按小时后付费云盘
  • FALSE:子机销毁时,保留数据盘 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DeleteWithInstance: Boolean attr_accessor :DiskType, :DiskSize, :SnapshotId, :DeleteWithInstance def initialize(disktype=nil, disksize=nil, snapshotid=nil, deletewithinstance=nil) @DiskType = disktype @DiskSize = disksize @SnapshotId = snapshotid @DeleteWithInstance = deletewithinstance end def deserialize(params) @DiskType = params['DiskType'] @DiskSize = params['DiskSize'] @SnapshotId = params['SnapshotId'] @DeleteWithInstance = params['DeleteWithInstance'] end end # DeleteAutoScalingGroup请求参数结构体 class DeleteAutoScalingGroupRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String attr_accessor :AutoScalingGroupId def initialize(autoscalinggroupid=nil) @AutoScalingGroupId = autoscalinggroupid end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] end end # DeleteAutoScalingGroup返回参数结构体 class DeleteAutoScalingGroupResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteLaunchConfiguration请求参数结构体 class DeleteLaunchConfigurationRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationId: 需要删除的启动配置ID。 # @type LaunchConfigurationId: String attr_accessor :LaunchConfigurationId def initialize(launchconfigurationid=nil) @LaunchConfigurationId = launchconfigurationid end def deserialize(params) @LaunchConfigurationId = params['LaunchConfigurationId'] end end # DeleteLaunchConfiguration返回参数结构体 class DeleteLaunchConfigurationResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteLifecycleHook请求参数结构体 class DeleteLifecycleHookRequest < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩ID # @type LifecycleHookId: String attr_accessor :LifecycleHookId def initialize(lifecyclehookid=nil) @LifecycleHookId = lifecyclehookid end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] end end # DeleteLifecycleHook返回参数结构体 class DeleteLifecycleHookResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteNotificationConfiguration请求参数结构体 class DeleteNotificationConfigurationRequest < TencentCloud::Common::AbstractModel # @param AutoScalingNotificationId: 待删除的通知ID。 # @type AutoScalingNotificationId: String attr_accessor :AutoScalingNotificationId def initialize(autoscalingnotificationid=nil) @AutoScalingNotificationId = autoscalingnotificationid end def deserialize(params) @AutoScalingNotificationId = params['AutoScalingNotificationId'] end end # DeleteNotificationConfiguration返回参数结构体 class DeleteNotificationConfigurationResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteScalingPolicy请求参数结构体 class DeleteScalingPolicyRequest < TencentCloud::Common::AbstractModel # @param AutoScalingPolicyId: 待删除的告警策略ID。 # @type AutoScalingPolicyId: String attr_accessor :AutoScalingPolicyId def initialize(autoscalingpolicyid=nil) @AutoScalingPolicyId = autoscalingpolicyid end def deserialize(params) @AutoScalingPolicyId = params['AutoScalingPolicyId'] end end # DeleteScalingPolicy返回参数结构体 class DeleteScalingPolicyResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteScheduledAction请求参数结构体 class DeleteScheduledActionRequest < TencentCloud::Common::AbstractModel # @param ScheduledActionId: 待删除的定时任务ID。 # @type ScheduledActionId: String attr_accessor :ScheduledActionId def initialize(scheduledactionid=nil) @ScheduledActionId = scheduledactionid end def deserialize(params) @ScheduledActionId = params['ScheduledActionId'] end end # DeleteScheduledAction返回参数结构体 class DeleteScheduledActionResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DescribeAccountLimits请求参数结构体 class DescribeAccountLimitsRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeAccountLimits返回参数结构体 class DescribeAccountLimitsResponse < TencentCloud::Common::AbstractModel # @param MaxNumberOfLaunchConfigurations: 用户账户被允许创建的启动配置最大数量 # @type MaxNumberOfLaunchConfigurations: Integer # @param NumberOfLaunchConfigurations: 用户账户启动配置的当前数量 # @type NumberOfLaunchConfigurations: Integer # @param MaxNumberOfAutoScalingGroups: 用户账户被允许创建的伸缩组最大数量 # @type MaxNumberOfAutoScalingGroups: Integer # @param NumberOfAutoScalingGroups: 用户账户伸缩组的当前数量 # @type NumberOfAutoScalingGroups: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :MaxNumberOfLaunchConfigurations, :NumberOfLaunchConfigurations, :MaxNumberOfAutoScalingGroups, :NumberOfAutoScalingGroups, :RequestId def initialize(maxnumberoflaunchconfigurations=nil, numberoflaunchconfigurations=nil, maxnumberofautoscalinggroups=nil, numberofautoscalinggroups=nil, requestid=nil) @MaxNumberOfLaunchConfigurations = maxnumberoflaunchconfigurations @NumberOfLaunchConfigurations = numberoflaunchconfigurations @MaxNumberOfAutoScalingGroups = maxnumberofautoscalinggroups @NumberOfAutoScalingGroups = numberofautoscalinggroups @RequestId = requestid end def deserialize(params) @MaxNumberOfLaunchConfigurations = params['MaxNumberOfLaunchConfigurations'] @NumberOfLaunchConfigurations = params['NumberOfLaunchConfigurations'] @MaxNumberOfAutoScalingGroups = params['MaxNumberOfAutoScalingGroups'] @NumberOfAutoScalingGroups = params['NumberOfAutoScalingGroups'] @RequestId = params['RequestId'] end end # DescribeAutoScalingActivities请求参数结构体 class DescribeAutoScalingActivitiesRequest < TencentCloud::Common::AbstractModel # @param ActivityIds: 按照一个或者多个伸缩活动ID查询。伸缩活动ID形如:`asa-5l2ejpfo`。每次请求的上限为100。参数不支持同时指定`ActivityIds`和`Filters`。 # @type ActivityIds: Array # @param Filters: 过滤条件。 #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • #
  • activity-status-code - String - 是否必填:否 -(过滤条件)按照伸缩活动状态过滤。(INIT:初始化中|RUNNING:运行中|SUCCESSFUL:活动成功|PARTIALLY_SUCCESSFUL:活动部分成功|FAILED:活动失败|CANCELLED:活动取消)
  • #
  • activity-type - String - 是否必填:否 -(过滤条件)按照伸缩活动类型过滤。(SCALE_OUT:扩容活动|SCALE_IN:缩容活动|ATTACH_INSTANCES:添加实例|REMOVE_INSTANCES:销毁实例|DETACH_INSTANCES:移出实例|TERMINATE_INSTANCES_UNEXPECTEDLY:实例在CVM控制台被销毁|REPLACE_UNHEALTHY_INSTANCE:替换不健康实例|UPDATE_LOAD_BALANCERS:更新负载均衡器)
  • #
  • activity-id - String - 是否必填:否 -(过滤条件)按照伸缩活动ID过滤。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`ActivityIds`和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer # @param StartTime: 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 # @type StartTime: String # @param EndTime: 伸缩活动最晚的结束时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 # @type EndTime: String attr_accessor :ActivityIds, :Filters, :Limit, :Offset, :StartTime, :EndTime def initialize(activityids=nil, filters=nil, limit=nil, offset=nil, starttime=nil, endtime=nil) @ActivityIds = activityids @Filters = filters @Limit = limit @Offset = offset @StartTime = starttime @EndTime = endtime end def deserialize(params) @ActivityIds = params['ActivityIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] end end # DescribeAutoScalingActivities返回参数结构体 class DescribeAutoScalingActivitiesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的伸缩活动数量。 # @type TotalCount: Integer # @param ActivitySet: 符合条件的伸缩活动信息集合。 # @type ActivitySet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :ActivitySet, :RequestId def initialize(totalcount=nil, activityset=nil, requestid=nil) @TotalCount = totalcount @ActivitySet = activityset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['ActivitySet'].nil? @ActivitySet = [] params['ActivitySet'].each do |i| activity_tmp = Activity.new activity_tmp.deserialize(i) @ActivitySet << activity_tmp end end @RequestId = params['RequestId'] end end # DescribeAutoScalingAdvices请求参数结构体 class DescribeAutoScalingAdvicesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupIds: 待查询的伸缩组列表,上限100。 # @type AutoScalingGroupIds: Array attr_accessor :AutoScalingGroupIds def initialize(autoscalinggroupids=nil) @AutoScalingGroupIds = autoscalinggroupids end def deserialize(params) @AutoScalingGroupIds = params['AutoScalingGroupIds'] end end # DescribeAutoScalingAdvices返回参数结构体 class DescribeAutoScalingAdvicesResponse < TencentCloud::Common::AbstractModel # @param AutoScalingAdviceSet: 伸缩组配置建议集合。 # @type AutoScalingAdviceSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingAdviceSet, :RequestId def initialize(autoscalingadviceset=nil, requestid=nil) @AutoScalingAdviceSet = autoscalingadviceset @RequestId = requestid end def deserialize(params) unless params['AutoScalingAdviceSet'].nil? @AutoScalingAdviceSet = [] params['AutoScalingAdviceSet'].each do |i| autoscalingadvice_tmp = AutoScalingAdvice.new autoscalingadvice_tmp.deserialize(i) @AutoScalingAdviceSet << autoscalingadvice_tmp end end @RequestId = params['RequestId'] end end # DescribeAutoScalingGroupLastActivities请求参数结构体 class DescribeAutoScalingGroupLastActivitiesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupIds: 伸缩组ID列表 # @type AutoScalingGroupIds: Array attr_accessor :AutoScalingGroupIds def initialize(autoscalinggroupids=nil) @AutoScalingGroupIds = autoscalinggroupids end def deserialize(params) @AutoScalingGroupIds = params['AutoScalingGroupIds'] end end # DescribeAutoScalingGroupLastActivities返回参数结构体 class DescribeAutoScalingGroupLastActivitiesResponse < TencentCloud::Common::AbstractModel # @param ActivitySet: 符合条件的伸缩活动信息集合。说明:伸缩组伸缩活动不存在的则不返回,如传50个伸缩组ID,返回45条数据,说明其中有5个伸缩组伸缩活动不存在。 # @type ActivitySet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivitySet, :RequestId def initialize(activityset=nil, requestid=nil) @ActivitySet = activityset @RequestId = requestid end def deserialize(params) unless params['ActivitySet'].nil? @ActivitySet = [] params['ActivitySet'].each do |i| activity_tmp = Activity.new activity_tmp.deserialize(i) @ActivitySet << activity_tmp end end @RequestId = params['RequestId'] end end # DescribeAutoScalingGroups请求参数结构体 class DescribeAutoScalingGroupsRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupIds: 按照一个或者多个伸缩组ID查询。伸缩组ID形如:`asg-nkdwoui0`。每次请求的上限为100。参数不支持同时指定`AutoScalingGroupIds`和`Filters`。 # @type AutoScalingGroupIds: Array # @param Filters: 过滤条件。 #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • #
  • auto-scaling-group-name - String - 是否必填:否 -(过滤条件)按照伸缩组名称过滤。
  • #
  • vague-auto-scaling-group-name - String - 是否必填:否 -(过滤条件)按照伸缩组名称模糊搜索。
  • #
  • launch-configuration-id - String - 是否必填:否 -(过滤条件)按照启动配置ID过滤。
  • #
  • tag-key - String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
  • #
  • tag-value - String - 是否必填:否 -(过滤条件)按照标签值进行过滤。
  • #
  • tag:tag-key - String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例2
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingGroupIds`和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :AutoScalingGroupIds, :Filters, :Limit, :Offset def initialize(autoscalinggroupids=nil, filters=nil, limit=nil, offset=nil) @AutoScalingGroupIds = autoscalinggroupids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @AutoScalingGroupIds = params['AutoScalingGroupIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeAutoScalingGroups返回参数结构体 class DescribeAutoScalingGroupsResponse < TencentCloud::Common::AbstractModel # @param AutoScalingGroupSet: 伸缩组详细信息列表。 # @type AutoScalingGroupSet: Array # @param TotalCount: 符合条件的伸缩组数量。 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingGroupSet, :TotalCount, :RequestId def initialize(autoscalinggroupset=nil, totalcount=nil, requestid=nil) @AutoScalingGroupSet = autoscalinggroupset @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['AutoScalingGroupSet'].nil? @AutoScalingGroupSet = [] params['AutoScalingGroupSet'].each do |i| autoscalinggroup_tmp = AutoScalingGroup.new autoscalinggroup_tmp.deserialize(i) @AutoScalingGroupSet << autoscalinggroup_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeAutoScalingInstances请求参数结构体 class DescribeAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel # @param InstanceIds: 待查询云服务器(CVM)的实例ID。每次请求的上限为100。参数不支持同时指定InstanceIds和Filters。 # @type InstanceIds: Array # @param Filters: 过滤条件。 #
  • instance-id - String - 是否必填:否 -(过滤条件)按照实例ID过滤。
  • #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`InstanceIds`和`Filters`。 # @type Filters: Array # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer attr_accessor :InstanceIds, :Filters, :Offset, :Limit def initialize(instanceids=nil, filters=nil, offset=nil, limit=nil) @InstanceIds = instanceids @Filters = filters @Offset = offset @Limit = limit end def deserialize(params) @InstanceIds = params['InstanceIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeAutoScalingInstances返回参数结构体 class DescribeAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel # @param AutoScalingInstanceSet: 实例详细信息列表。 # @type AutoScalingInstanceSet: Array # @param TotalCount: 符合条件的实例数量。 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AutoScalingInstanceSet, :TotalCount, :RequestId def initialize(autoscalinginstanceset=nil, totalcount=nil, requestid=nil) @AutoScalingInstanceSet = autoscalinginstanceset @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['AutoScalingInstanceSet'].nil? @AutoScalingInstanceSet = [] params['AutoScalingInstanceSet'].each do |i| instance_tmp = Instance.new instance_tmp.deserialize(i) @AutoScalingInstanceSet << instance_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeLaunchConfigurations请求参数结构体 class DescribeLaunchConfigurationsRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationIds: 按照一个或者多个启动配置ID查询。启动配置ID形如:`asc-ouy1ax38`。每次请求的上限为100。参数不支持同时指定`LaunchConfigurationIds`和`Filters` # @type LaunchConfigurationIds: Array # @param Filters: 过滤条件。 #
  • launch-configuration-id - String - 是否必填:否 -(过滤条件)按照启动配置ID过滤。
  • #
  • launch-configuration-name - String - 是否必填:否 -(过滤条件)按照启动配置名称过滤。
  • #
  • vague-launch-configuration-name - String - 是否必填:否 -(过滤条件)按照启动配置名称模糊搜索。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`LaunchConfigurationIds`和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :LaunchConfigurationIds, :Filters, :Limit, :Offset def initialize(launchconfigurationids=nil, filters=nil, limit=nil, offset=nil) @LaunchConfigurationIds = launchconfigurationids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @LaunchConfigurationIds = params['LaunchConfigurationIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeLaunchConfigurations返回参数结构体 class DescribeLaunchConfigurationsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的启动配置数量。 # @type TotalCount: Integer # @param LaunchConfigurationSet: 启动配置详细信息列表。 # @type LaunchConfigurationSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :LaunchConfigurationSet, :RequestId def initialize(totalcount=nil, launchconfigurationset=nil, requestid=nil) @TotalCount = totalcount @LaunchConfigurationSet = launchconfigurationset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['LaunchConfigurationSet'].nil? @LaunchConfigurationSet = [] params['LaunchConfigurationSet'].each do |i| launchconfiguration_tmp = LaunchConfiguration.new launchconfiguration_tmp.deserialize(i) @LaunchConfigurationSet << launchconfiguration_tmp end end @RequestId = params['RequestId'] end end # DescribeLifecycleHooks请求参数结构体 class DescribeLifecycleHooksRequest < TencentCloud::Common::AbstractModel # @param LifecycleHookIds: 按照一个或者多个生命周期挂钩ID查询。生命周期挂钩ID形如:`ash-8azjzxcl`。每次请求的上限为100。参数不支持同时指定`LifecycleHookIds`和`Filters`。 # @type LifecycleHookIds: Array # @param Filters: 过滤条件。 #
  • lifecycle-hook-id - String - 是否必填:否 -(过滤条件)按照生命周期挂钩ID过滤。
  • #
  • lifecycle-hook-name - String - 是否必填:否 -(过滤条件)按照生命周期挂钩名称过滤。
  • #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`LifecycleHookIds `和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :LifecycleHookIds, :Filters, :Limit, :Offset def initialize(lifecyclehookids=nil, filters=nil, limit=nil, offset=nil) @LifecycleHookIds = lifecyclehookids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @LifecycleHookIds = params['LifecycleHookIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeLifecycleHooks返回参数结构体 class DescribeLifecycleHooksResponse < TencentCloud::Common::AbstractModel # @param LifecycleHookSet: 生命周期挂钩数组 # @type LifecycleHookSet: Array # @param TotalCount: 总体数量 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :LifecycleHookSet, :TotalCount, :RequestId def initialize(lifecyclehookset=nil, totalcount=nil, requestid=nil) @LifecycleHookSet = lifecyclehookset @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['LifecycleHookSet'].nil? @LifecycleHookSet = [] params['LifecycleHookSet'].each do |i| lifecyclehook_tmp = LifecycleHook.new lifecyclehook_tmp.deserialize(i) @LifecycleHookSet << lifecyclehook_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeNotificationConfigurations请求参数结构体 class DescribeNotificationConfigurationsRequest < TencentCloud::Common::AbstractModel # @param AutoScalingNotificationIds: 按照一个或者多个通知ID查询。实例ID形如:asn-2sestqbr。每次请求的实例的上限为100。参数不支持同时指定`AutoScalingNotificationIds`和`Filters`。 # @type AutoScalingNotificationIds: Array # @param Filters: 过滤条件。 #
  • auto-scaling-notification-id - String - 是否必填:否 -(过滤条件)按照通知ID过滤。
  • #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingNotificationIds`和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :AutoScalingNotificationIds, :Filters, :Limit, :Offset def initialize(autoscalingnotificationids=nil, filters=nil, limit=nil, offset=nil) @AutoScalingNotificationIds = autoscalingnotificationids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @AutoScalingNotificationIds = params['AutoScalingNotificationIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeNotificationConfigurations返回参数结构体 class DescribeNotificationConfigurationsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的通知数量。 # @type TotalCount: Integer # @param AutoScalingNotificationSet: 弹性伸缩事件通知详细信息列表。 # @type AutoScalingNotificationSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :AutoScalingNotificationSet, :RequestId def initialize(totalcount=nil, autoscalingnotificationset=nil, requestid=nil) @TotalCount = totalcount @AutoScalingNotificationSet = autoscalingnotificationset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['AutoScalingNotificationSet'].nil? @AutoScalingNotificationSet = [] params['AutoScalingNotificationSet'].each do |i| autoscalingnotification_tmp = AutoScalingNotification.new autoscalingnotification_tmp.deserialize(i) @AutoScalingNotificationSet << autoscalingnotification_tmp end end @RequestId = params['RequestId'] end end # DescribePaiInstances请求参数结构体 class DescribePaiInstancesRequest < TencentCloud::Common::AbstractModel # @param InstanceIds: 依据PAI实例的实例ID进行查询。 # @type InstanceIds: Array # @param Filters: 过滤条件。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。 # @type Offset: Integer attr_accessor :InstanceIds, :Filters, :Limit, :Offset def initialize(instanceids=nil, filters=nil, limit=nil, offset=nil) @InstanceIds = instanceids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @InstanceIds = params['InstanceIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribePaiInstances返回参数结构体 class DescribePaiInstancesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的PAI实例数量 # @type TotalCount: Integer # @param PaiInstanceSet: PAI实例详细信息 # @type PaiInstanceSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :PaiInstanceSet, :RequestId def initialize(totalcount=nil, paiinstanceset=nil, requestid=nil) @TotalCount = totalcount @PaiInstanceSet = paiinstanceset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['PaiInstanceSet'].nil? @PaiInstanceSet = [] params['PaiInstanceSet'].each do |i| paiinstance_tmp = PaiInstance.new paiinstance_tmp.deserialize(i) @PaiInstanceSet << paiinstance_tmp end end @RequestId = params['RequestId'] end end # DescribeScalingPolicies请求参数结构体 class DescribeScalingPoliciesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingPolicyIds: 按照一个或者多个告警策略ID查询。告警策略ID形如:asp-i9vkg894。每次请求的实例的上限为100。参数不支持同时指定`AutoScalingPolicyIds`和`Filters`。 # @type AutoScalingPolicyIds: Array # @param Filters: 过滤条件。 #
  • auto-scaling-policy-id - String - 是否必填:否 -(过滤条件)按照告警策略ID过滤。
  • #
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • #
  • scaling-policy-name - String - 是否必填:否 -(过滤条件)按照告警策略名称过滤。
  • # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingPolicyIds`和`Filters`。 # @type Filters: Array # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer attr_accessor :AutoScalingPolicyIds, :Filters, :Limit, :Offset def initialize(autoscalingpolicyids=nil, filters=nil, limit=nil, offset=nil) @AutoScalingPolicyIds = autoscalingpolicyids @Filters = filters @Limit = limit @Offset = offset end def deserialize(params) @AutoScalingPolicyIds = params['AutoScalingPolicyIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Limit = params['Limit'] @Offset = params['Offset'] end end # DescribeScalingPolicies返回参数结构体 class DescribeScalingPoliciesResponse < TencentCloud::Common::AbstractModel # @param ScalingPolicySet: 弹性伸缩告警触发策略详细信息列表。 # @type ScalingPolicySet: Array # @param TotalCount: 符合条件的通知数量。 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ScalingPolicySet, :TotalCount, :RequestId def initialize(scalingpolicyset=nil, totalcount=nil, requestid=nil) @ScalingPolicySet = scalingpolicyset @TotalCount = totalcount @RequestId = requestid end def deserialize(params) unless params['ScalingPolicySet'].nil? @ScalingPolicySet = [] params['ScalingPolicySet'].each do |i| scalingpolicy_tmp = ScalingPolicy.new scalingpolicy_tmp.deserialize(i) @ScalingPolicySet << scalingpolicy_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # DescribeScheduledActions请求参数结构体 class DescribeScheduledActionsRequest < TencentCloud::Common::AbstractModel # @param ScheduledActionIds: 按照一个或者多个定时任务ID查询。实例ID形如:asst-am691zxo。每次请求的实例的上限为100。参数不支持同时指定ScheduledActionIds和Filters。 # @type ScheduledActionIds: Array # @param Filters: 过滤条件。 #
  • scheduled-action-id - String - 是否必填:否 -(过滤条件)按照定时任务ID过滤。
  • #
  • scheduled-action-name - String - 是否必填:否 - (过滤条件) 按照定时任务名称过滤。
  • #
  • auto-scaling-group-id - String - 是否必填:否 - (过滤条件) 按照伸缩组ID过滤。
  • # @type Filters: Array # @param Offset: 偏移量,默认为0。关于Offset的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Offset: Integer # @param Limit: 返回数量,默认为20,最大值为100。关于Limit的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 # @type Limit: Integer attr_accessor :ScheduledActionIds, :Filters, :Offset, :Limit def initialize(scheduledactionids=nil, filters=nil, offset=nil, limit=nil) @ScheduledActionIds = scheduledactionids @Filters = filters @Offset = offset @Limit = limit end def deserialize(params) @ScheduledActionIds = params['ScheduledActionIds'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| filter_tmp = Filter.new filter_tmp.deserialize(i) @Filters << filter_tmp end end @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeScheduledActions返回参数结构体 class DescribeScheduledActionsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的定时任务数量。 # @type TotalCount: Integer # @param ScheduledActionSet: 定时任务详细信息列表。 # @type ScheduledActionSet: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :ScheduledActionSet, :RequestId def initialize(totalcount=nil, scheduledactionset=nil, requestid=nil) @TotalCount = totalcount @ScheduledActionSet = scheduledactionset @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['ScheduledActionSet'].nil? @ScheduledActionSet = [] params['ScheduledActionSet'].each do |i| scheduledaction_tmp = ScheduledAction.new scheduledaction_tmp.deserialize(i) @ScheduledActionSet << scheduledaction_tmp end end @RequestId = params['RequestId'] end end # DetachInstances请求参数结构体 class DetachInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param InstanceIds: CVM实例ID列表 # @type InstanceIds: Array attr_accessor :AutoScalingGroupId, :InstanceIds def initialize(autoscalinggroupid=nil, instanceids=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] end end # DetachInstances返回参数结构体 class DetachInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # DetachLoadBalancers请求参数结构体 class DetachLoadBalancersRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param LoadBalancerIds: 传统负载均衡器ID列表,列表长度上限为20,LoadBalancerIds 和 ForwardLoadBalancerIdentifications 二者同时最多只能指定一个 # @type LoadBalancerIds: Array # @param ForwardLoadBalancerIdentifications: 应用型负载均衡器标识信息列表,列表长度上限为50,LoadBalancerIds 和 ForwardLoadBalancerIdentifications二者同时最多只能指定一个 # @type ForwardLoadBalancerIdentifications: Array attr_accessor :AutoScalingGroupId, :LoadBalancerIds, :ForwardLoadBalancerIdentifications def initialize(autoscalinggroupid=nil, loadbalancerids=nil, forwardloadbalanceridentifications=nil) @AutoScalingGroupId = autoscalinggroupid @LoadBalancerIds = loadbalancerids @ForwardLoadBalancerIdentifications = forwardloadbalanceridentifications end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @LoadBalancerIds = params['LoadBalancerIds'] unless params['ForwardLoadBalancerIdentifications'].nil? @ForwardLoadBalancerIdentifications = [] params['ForwardLoadBalancerIdentifications'].each do |i| forwardloadbalanceridentification_tmp = ForwardLoadBalancerIdentification.new forwardloadbalanceridentification_tmp.deserialize(i) @ForwardLoadBalancerIdentifications << forwardloadbalanceridentification_tmp end end end end # DetachLoadBalancers返回参数结构体 class DetachLoadBalancersResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # 伸缩活动状态详细描述。 class DetailedStatusMessage < TencentCloud::Common::AbstractModel # @param Code: 错误类型。 # @type Code: String # @param Zone: 可用区信息。 # @type Zone: String # @param InstanceId: 实例ID。 # @type InstanceId: String # @param InstanceChargeType: 实例计费类型。 # @type InstanceChargeType: String # @param SubnetId: 子网ID。 # @type SubnetId: String # @param Message: 错误描述。 # @type Message: String # @param InstanceType: 实例类型。 # @type InstanceType: String attr_accessor :Code, :Zone, :InstanceId, :InstanceChargeType, :SubnetId, :Message, :InstanceType def initialize(code=nil, zone=nil, instanceid=nil, instancechargetype=nil, subnetid=nil, message=nil, instancetype=nil) @Code = code @Zone = zone @InstanceId = instanceid @InstanceChargeType = instancechargetype @SubnetId = subnetid @Message = message @InstanceType = instancetype end def deserialize(params) @Code = params['Code'] @Zone = params['Zone'] @InstanceId = params['InstanceId'] @InstanceChargeType = params['InstanceChargeType'] @SubnetId = params['SubnetId'] @Message = params['Message'] @InstanceType = params['InstanceType'] end end # DisableAutoScalingGroup请求参数结构体 class DisableAutoScalingGroupRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String attr_accessor :AutoScalingGroupId def initialize(autoscalinggroupid=nil) @AutoScalingGroupId = autoscalinggroupid end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] end end # DisableAutoScalingGroup返回参数结构体 class DisableAutoScalingGroupResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # EnableAutoScalingGroup请求参数结构体 class EnableAutoScalingGroupRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String attr_accessor :AutoScalingGroupId def initialize(autoscalinggroupid=nil) @AutoScalingGroupId = autoscalinggroupid end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] end end # EnableAutoScalingGroup返回参数结构体 class EnableAutoScalingGroupResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 描述了实例的增强服务启用情况与其设置,如云安全,云监控等实例 Agent。 class EnhancedService < TencentCloud::Common::AbstractModel # @param SecurityService: 开启云安全服务。若不指定该参数,则默认开启云安全服务。 # @type SecurityService: :class:`Tencentcloud::As.v20180419.models.RunSecurityServiceEnabled` # @param MonitorService: 开启云监控服务。若不指定该参数,则默认开启云监控服务。 # @type MonitorService: :class:`Tencentcloud::As.v20180419.models.RunMonitorServiceEnabled` attr_accessor :SecurityService, :MonitorService def initialize(securityservice=nil, monitorservice=nil) @SecurityService = securityservice @MonitorService = monitorservice end def deserialize(params) unless params['SecurityService'].nil? @SecurityService = RunSecurityServiceEnabled.new @SecurityService.deserialize(params['SecurityService']) end unless params['MonitorService'].nil? @MonitorService = RunMonitorServiceEnabled.new @MonitorService.deserialize(params['MonitorService']) end end end # ExecuteScalingPolicy请求参数结构体 class ExecuteScalingPolicyRequest < TencentCloud::Common::AbstractModel # @param AutoScalingPolicyId: 告警伸缩策略ID # @type AutoScalingPolicyId: String # @param HonorCooldown: 是否检查伸缩组活动处于冷却时间内,默认值为false # @type HonorCooldown: Boolean # @param TriggerSource: 执行伸缩策略的触发来源,取值包括 API 和 CLOUD_MONITOR,默认值为 API。CLOUD_MONITOR 专门供云监控触发调用。 # @type TriggerSource: String attr_accessor :AutoScalingPolicyId, :HonorCooldown, :TriggerSource def initialize(autoscalingpolicyid=nil, honorcooldown=nil, triggersource=nil) @AutoScalingPolicyId = autoscalingpolicyid @HonorCooldown = honorcooldown @TriggerSource = triggersource end def deserialize(params) @AutoScalingPolicyId = params['AutoScalingPolicyId'] @HonorCooldown = params['HonorCooldown'] @TriggerSource = params['TriggerSource'] end end # ExecuteScalingPolicy返回参数结构体 class ExecuteScalingPolicyResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等 # > * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。 # > * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。 # > # > 以[DescribeInstances](https://cloud.tencent.com/document/api/213/15728)接口的`Filter`为例。若我们需要查询可用区(`zone`)为广州一区 ***并且*** 实例计费模式(`instance-charge-type`)为包年包月 ***或者*** 按量计费的实例时,可如下实现: # ``` # Filters.0.Name=zone # &Filters.0.Values.0=ap-guangzhou-1 # &Filters.1.Name=instance-charge-type # &Filters.1.Values.0=PREPAID # &Filters.1.Values.1=POSTPAID_BY_HOUR # ``` class Filter < TencentCloud::Common::AbstractModel # @param Name: 需要过滤的字段。 # @type Name: String # @param Values: 字段的过滤值。 # @type Values: Array attr_accessor :Name, :Values def initialize(name=nil, values=nil) @Name = name @Values = values end def deserialize(params) @Name = params['Name'] @Values = params['Values'] end end # 应用型负载均衡器 class ForwardLoadBalancer < TencentCloud::Common::AbstractModel # @param LoadBalancerId: 负载均衡器ID # @type LoadBalancerId: String # @param ListenerId: 应用型负载均衡监听器 ID # @type ListenerId: String # @param TargetAttributes: 目标规则属性列表 # @type TargetAttributes: Array # @param LocationId: 转发规则ID,注意:针对七层监听器此参数必填 # @type LocationId: String # @param Region: 负载均衡实例所属地域,默认取AS服务所在地域。格式与公共参数Region相同,如:"ap-guangzhou"。 # @type Region: String attr_accessor :LoadBalancerId, :ListenerId, :TargetAttributes, :LocationId, :Region def initialize(loadbalancerid=nil, listenerid=nil, targetattributes=nil, locationid=nil, region=nil) @LoadBalancerId = loadbalancerid @ListenerId = listenerid @TargetAttributes = targetattributes @LocationId = locationid @Region = region end def deserialize(params) @LoadBalancerId = params['LoadBalancerId'] @ListenerId = params['ListenerId'] unless params['TargetAttributes'].nil? @TargetAttributes = [] params['TargetAttributes'].each do |i| targetattribute_tmp = TargetAttribute.new targetattribute_tmp.deserialize(i) @TargetAttributes << targetattribute_tmp end end @LocationId = params['LocationId'] @Region = params['Region'] end end # 应用型负载均衡器标识信息 class ForwardLoadBalancerIdentification < TencentCloud::Common::AbstractModel # @param LoadBalancerId: 负载均衡器ID # @type LoadBalancerId: String # @param ListenerId: 应用型负载均衡监听器 ID # @type ListenerId: String # @param LocationId: 转发规则ID,注意:针对七层监听器此参数必填 # @type LocationId: String attr_accessor :LoadBalancerId, :ListenerId, :LocationId def initialize(loadbalancerid=nil, listenerid=nil, locationid=nil) @LoadBalancerId = loadbalancerid @ListenerId = listenerid @LocationId = locationid end def deserialize(params) @LoadBalancerId = params['LoadBalancerId'] @ListenerId = params['ListenerId'] @LocationId = params['LocationId'] end end # 云服务器主机名(HostName)的相关设置 class HostNameSettings < TencentCloud::Common::AbstractModel # @param HostName: 云服务器的主机名。 #
  • 点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。 #
  • 不支持 Windows 实例。 #
  • 其他类型(Linux 等)实例:字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HostName: String # @param HostNameStyle: 云服务器主机名的风格,取值范围包括 ORIGINAL 和 UNIQUE,默认为 ORIGINAL。 #
  • ORIGINAL,AS 直接将入参中所填的 HostName 传递给 CVM,CVM 可能会对 HostName 追加序列号,伸缩组中实例的 HostName 会出现冲突的情况。 #
  • UNIQUE,入参所填的 HostName 相当于主机名前缀,AS 和 CVM 会对其进行拓展,伸缩组中实例的 HostName 可以保证唯一。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HostNameStyle: String attr_accessor :HostName, :HostNameStyle def initialize(hostname=nil, hostnamestyle=nil) @HostName = hostname @HostNameStyle = hostnamestyle end def deserialize(params) @HostName = params['HostName'] @HostNameStyle = params['HostNameStyle'] end end # 实例信息 class Instance < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID # @type InstanceId: String # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param LaunchConfigurationId: 启动配置ID # @type LaunchConfigurationId: String # @param LaunchConfigurationName: 启动配置名称 # @type LaunchConfigurationName: String # @param LifeCycleState: 生命周期状态,取值如下:
    #
  • IN_SERVICE:运行中 #
  • CREATING:创建中 #
  • CREATION_FAILED:创建失败 #
  • TERMINATING:中止中 #
  • TERMINATION_FAILED:中止失败 #
  • ATTACHING:绑定中 #
  • DETACHING:解绑中 #
  • ATTACHING_LB:绑定LB中
  • DETACHING_LB:解绑LB中 #
  • STARTING:开机中 #
  • START_FAILED:开机失败 #
  • STOPPING:关机中 #
  • STOP_FAILED:关机失败 #
  • STOPPED:已关机 # @type LifeCycleState: String # @param HealthStatus: 健康状态,取值包括HEALTHY和UNHEALTHY # @type HealthStatus: String # @param ProtectedFromScaleIn: 是否加入缩容保护 # @type ProtectedFromScaleIn: Boolean # @param Zone: 可用区 # @type Zone: String # @param CreationType: 创建类型,取值包括AUTO_CREATION, MANUAL_ATTACHING。 # @type CreationType: String # @param AddTime: 实例加入时间 # @type AddTime: String # @param InstanceType: 实例类型 # @type InstanceType: String # @param VersionNumber: 版本号 # @type VersionNumber: Integer # @param AutoScalingGroupName: 伸缩组名称 # @type AutoScalingGroupName: String attr_accessor :InstanceId, :AutoScalingGroupId, :LaunchConfigurationId, :LaunchConfigurationName, :LifeCycleState, :HealthStatus, :ProtectedFromScaleIn, :Zone, :CreationType, :AddTime, :InstanceType, :VersionNumber, :AutoScalingGroupName def initialize(instanceid=nil, autoscalinggroupid=nil, launchconfigurationid=nil, launchconfigurationname=nil, lifecyclestate=nil, healthstatus=nil, protectedfromscalein=nil, zone=nil, creationtype=nil, addtime=nil, instancetype=nil, versionnumber=nil, autoscalinggroupname=nil) @InstanceId = instanceid @AutoScalingGroupId = autoscalinggroupid @LaunchConfigurationId = launchconfigurationid @LaunchConfigurationName = launchconfigurationname @LifeCycleState = lifecyclestate @HealthStatus = healthstatus @ProtectedFromScaleIn = protectedfromscalein @Zone = zone @CreationType = creationtype @AddTime = addtime @InstanceType = instancetype @VersionNumber = versionnumber @AutoScalingGroupName = autoscalinggroupname end def deserialize(params) @InstanceId = params['InstanceId'] @AutoScalingGroupId = params['AutoScalingGroupId'] @LaunchConfigurationId = params['LaunchConfigurationId'] @LaunchConfigurationName = params['LaunchConfigurationName'] @LifeCycleState = params['LifeCycleState'] @HealthStatus = params['HealthStatus'] @ProtectedFromScaleIn = params['ProtectedFromScaleIn'] @Zone = params['Zone'] @CreationType = params['CreationType'] @AddTime = params['AddTime'] @InstanceType = params['InstanceType'] @VersionNumber = params['VersionNumber'] @AutoScalingGroupName = params['AutoScalingGroupName'] end end # 描述了实例的计费模式 class InstanceChargePrepaid < TencentCloud::Common::AbstractModel # @param Period: 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。 # @type Period: Integer # @param RenewFlag: 自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 # @type RenewFlag: String attr_accessor :Period, :RenewFlag def initialize(period=nil, renewflag=nil) @Period = period @RenewFlag = renewflag end def deserialize(params) @Period = params['Period'] @RenewFlag = params['RenewFlag'] end end # CVM竞价请求相关选项 class InstanceMarketOptionsRequest < TencentCloud::Common::AbstractModel # @param SpotOptions: 竞价相关选项 # @type SpotOptions: :class:`Tencentcloud::As.v20180419.models.SpotMarketOptions` # @param MarketType: 市场选项类型,当前只支持取值:spot # 注意:此字段可能返回 null,表示取不到有效值。 # @type MarketType: String attr_accessor :SpotOptions, :MarketType def initialize(spotoptions=nil, markettype=nil) @SpotOptions = spotoptions @MarketType = markettype end def deserialize(params) unless params['SpotOptions'].nil? @SpotOptions = SpotMarketOptions.new @SpotOptions.deserialize(params['SpotOptions']) end @MarketType = params['MarketType'] end end # 云服务器实例名称(InstanceName)的相关设置 class InstanceNameSettings < TencentCloud::Common::AbstractModel # @param InstanceName: 云服务器的实例名。 # 点号(.)和短横线(-)不能作为 InstanceName 的首尾字符,不能连续使用。 # 字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。 # @type InstanceName: String # @param InstanceNameStyle: 云服务器实例名的风格,取值范围包括 ORIGINAL 和 UNIQUE,默认为 ORIGINAL。 # ORIGINAL,AS 直接将入参中所填的 InstanceName 传递给 CVM,CVM 可能会对 InstanceName 追加序列号,伸缩组中实例的 InstanceName 会出现冲突的情况。 # UNIQUE,入参所填的 InstanceName 相当于实例名前缀,AS 和 CVM 会对其进行拓展,伸缩组中实例的 InstanceName 可以保证唯一。 # @type InstanceNameStyle: String attr_accessor :InstanceName, :InstanceNameStyle def initialize(instancename=nil, instancenamestyle=nil) @InstanceName = instancename @InstanceNameStyle = instancenamestyle end def deserialize(params) @InstanceName = params['InstanceName'] @InstanceNameStyle = params['InstanceNameStyle'] end end # 实例标签。通过指定该参数,可以为扩容的实例绑定标签。 class InstanceTag < TencentCloud::Common::AbstractModel # @param Key: 标签键 # @type Key: String # @param Value: 标签值 # @type Value: String attr_accessor :Key, :Value def initialize(key=nil, value=nil) @Key = key @Value = value end def deserialize(params) @Key = params['Key'] @Value = params['Value'] end end # 描述了启动配置创建实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等 class InternetAccessible < TencentCloud::Common::AbstractModel # @param InternetChargeType: 网络计费类型。取值范围:
  • BANDWIDTH_PREPAID:预付费按带宽结算
  • TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费
  • BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费
  • BANDWIDTH_PACKAGE:带宽包用户
    默认取值:TRAFFIC_POSTPAID_BY_HOUR。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InternetChargeType: String # @param InternetMaxBandwidthOut: 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见[购买网络带宽](https://cloud.tencent.com/document/product/213/509)。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InternetMaxBandwidthOut: Integer # @param PublicIpAssigned: 是否分配公网IP。取值范围:
  • TRUE:表示分配公网IP
  • FALSE:表示不分配公网IP

    当公网带宽大于0Mbps时,可自由选择开通与否,默认开通公网IP;当公网带宽为0,则不允许分配公网IP。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type PublicIpAssigned: Boolean # @param BandwidthPackageId: 带宽包ID。可通过[DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209)接口返回值中的`BandwidthPackageId`获取。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BandwidthPackageId: String attr_accessor :InternetChargeType, :InternetMaxBandwidthOut, :PublicIpAssigned, :BandwidthPackageId def initialize(internetchargetype=nil, internetmaxbandwidthout=nil, publicipassigned=nil, bandwidthpackageid=nil) @InternetChargeType = internetchargetype @InternetMaxBandwidthOut = internetmaxbandwidthout @PublicIpAssigned = publicipassigned @BandwidthPackageId = bandwidthpackageid end def deserialize(params) @InternetChargeType = params['InternetChargeType'] @InternetMaxBandwidthOut = params['InternetMaxBandwidthOut'] @PublicIpAssigned = params['PublicIpAssigned'] @BandwidthPackageId = params['BandwidthPackageId'] end end # 符合条件的启动配置信息的集合。 class LaunchConfiguration < TencentCloud::Common::AbstractModel # @param ProjectId: 实例所属项目ID。 # @type ProjectId: Integer # @param LaunchConfigurationId: 启动配置ID。 # @type LaunchConfigurationId: String # @param LaunchConfigurationName: 启动配置名称。 # @type LaunchConfigurationName: String # @param InstanceType: 实例机型。 # @type InstanceType: String # @param SystemDisk: 实例系统盘配置信息。 # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk` # @param DataDisks: 实例数据盘配置信息。 # @type DataDisks: Array # @param LoginSettings: 实例登录设置。 # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LimitedLoginSettings` # @param InternetAccessible: 公网带宽相关信息设置。 # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible` # @param SecurityGroupIds: 实例所属安全组。 # @type SecurityGroupIds: Array # @param AutoScalingGroupAbstractSet: 启动配置关联的伸缩组。 # @type AutoScalingGroupAbstractSet: Array # @param UserData: 自定义数据。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UserData: String # @param CreatedTime: 启动配置创建时间。 # @type CreatedTime: String # @param EnhancedService: 实例的增强服务启用情况与其设置。 # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService` # @param ImageId: 镜像ID。 # @type ImageId: String # @param LaunchConfigurationStatus: 启动配置当前状态。取值范围:
  • NORMAL:正常
  • IMAGE_ABNORMAL:启动配置镜像异常
  • CBS_SNAP_ABNORMAL:启动配置数据盘快照异常
  • SECURITY_GROUP_ABNORMAL:启动配置安全组异常
    # @type LaunchConfigurationStatus: String # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。 #
  • POSTPAID_BY_HOUR:按小时后付费 #
  • SPOTPAID:竞价付费 # @type InstanceChargeType: String # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest` # @param InstanceTypes: 实例机型列表。 # @type InstanceTypes: Array # @param InstanceTags: 标签列表。 # @type InstanceTags: Array # @param VersionNumber: 版本号。 # @type VersionNumber: Integer # @param UpdatedTime: 更新时间。 # @type UpdatedTime: String # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 # @type CamRoleName: String # @param LastOperationInstanceTypesCheckPolicy: 上次操作时,InstanceTypesCheckPolicy 取值。 # @type LastOperationInstanceTypesCheckPolicy: String # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。 # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings` # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。 # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings` # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid` # @param DiskTypePolicy: 云盘类型选择策略。取值范围: #
  • ORIGINAL:使用设置的云盘类型 #
  • AUTOMATIC:自动选择当前可用区下可用的云盘类型 # @type DiskTypePolicy: String attr_accessor :ProjectId, :LaunchConfigurationId, :LaunchConfigurationName, :InstanceType, :SystemDisk, :DataDisks, :LoginSettings, :InternetAccessible, :SecurityGroupIds, :AutoScalingGroupAbstractSet, :UserData, :CreatedTime, :EnhancedService, :ImageId, :LaunchConfigurationStatus, :InstanceChargeType, :InstanceMarketOptions, :InstanceTypes, :InstanceTags, :VersionNumber, :UpdatedTime, :CamRoleName, :LastOperationInstanceTypesCheckPolicy, :HostNameSettings, :InstanceNameSettings, :InstanceChargePrepaid, :DiskTypePolicy def initialize(projectid=nil, launchconfigurationid=nil, launchconfigurationname=nil, instancetype=nil, systemdisk=nil, datadisks=nil, loginsettings=nil, internetaccessible=nil, securitygroupids=nil, autoscalinggroupabstractset=nil, userdata=nil, createdtime=nil, enhancedservice=nil, imageid=nil, launchconfigurationstatus=nil, instancechargetype=nil, instancemarketoptions=nil, instancetypes=nil, instancetags=nil, versionnumber=nil, updatedtime=nil, camrolename=nil, lastoperationinstancetypescheckpolicy=nil, hostnamesettings=nil, instancenamesettings=nil, instancechargeprepaid=nil, disktypepolicy=nil) @ProjectId = projectid @LaunchConfigurationId = launchconfigurationid @LaunchConfigurationName = launchconfigurationname @InstanceType = instancetype @SystemDisk = systemdisk @DataDisks = datadisks @LoginSettings = loginsettings @InternetAccessible = internetaccessible @SecurityGroupIds = securitygroupids @AutoScalingGroupAbstractSet = autoscalinggroupabstractset @UserData = userdata @CreatedTime = createdtime @EnhancedService = enhancedservice @ImageId = imageid @LaunchConfigurationStatus = launchconfigurationstatus @InstanceChargeType = instancechargetype @InstanceMarketOptions = instancemarketoptions @InstanceTypes = instancetypes @InstanceTags = instancetags @VersionNumber = versionnumber @UpdatedTime = updatedtime @CamRoleName = camrolename @LastOperationInstanceTypesCheckPolicy = lastoperationinstancetypescheckpolicy @HostNameSettings = hostnamesettings @InstanceNameSettings = instancenamesettings @InstanceChargePrepaid = instancechargeprepaid @DiskTypePolicy = disktypepolicy end def deserialize(params) @ProjectId = params['ProjectId'] @LaunchConfigurationId = params['LaunchConfigurationId'] @LaunchConfigurationName = params['LaunchConfigurationName'] @InstanceType = params['InstanceType'] unless params['SystemDisk'].nil? @SystemDisk = SystemDisk.new @SystemDisk.deserialize(params['SystemDisk']) end unless params['DataDisks'].nil? @DataDisks = [] params['DataDisks'].each do |i| datadisk_tmp = DataDisk.new datadisk_tmp.deserialize(i) @DataDisks << datadisk_tmp end end unless params['LoginSettings'].nil? @LoginSettings = LimitedLoginSettings.new @LoginSettings.deserialize(params['LoginSettings']) end unless params['InternetAccessible'].nil? @InternetAccessible = InternetAccessible.new @InternetAccessible.deserialize(params['InternetAccessible']) end @SecurityGroupIds = params['SecurityGroupIds'] unless params['AutoScalingGroupAbstractSet'].nil? @AutoScalingGroupAbstractSet = [] params['AutoScalingGroupAbstractSet'].each do |i| autoscalinggroupabstract_tmp = AutoScalingGroupAbstract.new autoscalinggroupabstract_tmp.deserialize(i) @AutoScalingGroupAbstractSet << autoscalinggroupabstract_tmp end end @UserData = params['UserData'] @CreatedTime = params['CreatedTime'] unless params['EnhancedService'].nil? @EnhancedService = EnhancedService.new @EnhancedService.deserialize(params['EnhancedService']) end @ImageId = params['ImageId'] @LaunchConfigurationStatus = params['LaunchConfigurationStatus'] @InstanceChargeType = params['InstanceChargeType'] unless params['InstanceMarketOptions'].nil? @InstanceMarketOptions = InstanceMarketOptionsRequest.new @InstanceMarketOptions.deserialize(params['InstanceMarketOptions']) end @InstanceTypes = params['InstanceTypes'] unless params['InstanceTags'].nil? @InstanceTags = [] params['InstanceTags'].each do |i| instancetag_tmp = InstanceTag.new instancetag_tmp.deserialize(i) @InstanceTags << instancetag_tmp end end @VersionNumber = params['VersionNumber'] @UpdatedTime = params['UpdatedTime'] @CamRoleName = params['CamRoleName'] @LastOperationInstanceTypesCheckPolicy = params['LastOperationInstanceTypesCheckPolicy'] unless params['HostNameSettings'].nil? @HostNameSettings = HostNameSettings.new @HostNameSettings.deserialize(params['HostNameSettings']) end unless params['InstanceNameSettings'].nil? @InstanceNameSettings = InstanceNameSettings.new @InstanceNameSettings.deserialize(params['InstanceNameSettings']) end unless params['InstanceChargePrepaid'].nil? @InstanceChargePrepaid = InstanceChargePrepaid.new @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid']) end @DiskTypePolicy = params['DiskTypePolicy'] end end # 生命周期挂钩动作的执行结果信息。 class LifecycleActionResultInfo < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩标识。 # @type LifecycleHookId: String # @param InstanceId: 实例标识。 # @type InstanceId: String # @param NotificationResult: 通知的结果,表示通知CMQ是否成功。 # @type NotificationResult: String # @param LifecycleActionResult: 生命周期挂钩动作的执行结果,取值包括 CONTINUE、ABANDON。 # @type LifecycleActionResult: String # @param ResultReason: 结果的原因。 # @type ResultReason: String attr_accessor :LifecycleHookId, :InstanceId, :NotificationResult, :LifecycleActionResult, :ResultReason def initialize(lifecyclehookid=nil, instanceid=nil, notificationresult=nil, lifecycleactionresult=nil, resultreason=nil) @LifecycleHookId = lifecyclehookid @InstanceId = instanceid @NotificationResult = notificationresult @LifecycleActionResult = lifecycleactionresult @ResultReason = resultreason end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] @InstanceId = params['InstanceId'] @NotificationResult = params['NotificationResult'] @LifecycleActionResult = params['LifecycleActionResult'] @ResultReason = params['ResultReason'] end end # 生命周期挂钩 class LifecycleHook < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩ID # @type LifecycleHookId: String # @param LifecycleHookName: 生命周期挂钩名称 # @type LifecycleHookName: String # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param DefaultResult: 生命周期挂钩默认结果 # @type DefaultResult: String # @param HeartbeatTimeout: 生命周期挂钩等待超时时间 # @type HeartbeatTimeout: Integer # @param LifecycleTransition: 生命周期挂钩适用场景 # @type LifecycleTransition: String # @param NotificationMetadata: 通知目标的附加信息 # @type NotificationMetadata: String # @param CreatedTime: 创建时间 # @type CreatedTime: String # @param NotificationTarget: 通知目标 # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget` # @param LifecycleTransitionType: 生命周期挂钩适用场景 # @type LifecycleTransitionType: String attr_accessor :LifecycleHookId, :LifecycleHookName, :AutoScalingGroupId, :DefaultResult, :HeartbeatTimeout, :LifecycleTransition, :NotificationMetadata, :CreatedTime, :NotificationTarget, :LifecycleTransitionType def initialize(lifecyclehookid=nil, lifecyclehookname=nil, autoscalinggroupid=nil, defaultresult=nil, heartbeattimeout=nil, lifecycletransition=nil, notificationmetadata=nil, createdtime=nil, notificationtarget=nil, lifecycletransitiontype=nil) @LifecycleHookId = lifecyclehookid @LifecycleHookName = lifecyclehookname @AutoScalingGroupId = autoscalinggroupid @DefaultResult = defaultresult @HeartbeatTimeout = heartbeattimeout @LifecycleTransition = lifecycletransition @NotificationMetadata = notificationmetadata @CreatedTime = createdtime @NotificationTarget = notificationtarget @LifecycleTransitionType = lifecycletransitiontype end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] @LifecycleHookName = params['LifecycleHookName'] @AutoScalingGroupId = params['AutoScalingGroupId'] @DefaultResult = params['DefaultResult'] @HeartbeatTimeout = params['HeartbeatTimeout'] @LifecycleTransition = params['LifecycleTransition'] @NotificationMetadata = params['NotificationMetadata'] @CreatedTime = params['CreatedTime'] unless params['NotificationTarget'].nil? @NotificationTarget = NotificationTarget.new @NotificationTarget.deserialize(params['NotificationTarget']) end @LifecycleTransitionType = params['LifecycleTransitionType'] end end # 描述了实例登录相关配置与信息,出于安全性考虑,不会描述敏感信息。 class LimitedLoginSettings < TencentCloud::Common::AbstractModel # @param KeyIds: 密钥ID列表。 # @type KeyIds: Array attr_accessor :KeyIds def initialize(keyids=nil) @KeyIds = keyids end def deserialize(params) @KeyIds = params['KeyIds'] end end # 描述了实例登录相关配置与信息。 class LoginSettings < TencentCloud::Common::AbstractModel # @param Password: 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:
  • Linux实例密码必须8到16位,至少包括两项[a-z,A-Z]、[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。
  • Windows实例密码必须12到16位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = { } [ ] : ; ' , . ? /]中的特殊符号。

    若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Password: String # @param KeyIds: 密钥ID列表。关联密钥后,就可以通过对应的私钥来访问实例;KeyId可通过接口DescribeKeyPairs获取,密钥与密码不能同时指定,同时Windows操作系统不支持指定密钥。当前仅支持购买的时候指定一个密钥。 # @type KeyIds: Array # @param KeepImageLogin: 保持镜像的原始设置。该参数与Password或KeyIds.N不能同时指定。只有使用自定义镜像、共享镜像或外部导入镜像创建实例时才能指定该参数为TRUE。取值范围:
  • TRUE:表示保持镜像的登录设置
  • FALSE:表示不保持镜像的登录设置

    默认取值:FALSE。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type KeepImageLogin: Boolean attr_accessor :Password, :KeyIds, :KeepImageLogin def initialize(password=nil, keyids=nil, keepimagelogin=nil) @Password = password @KeyIds = keyids @KeepImageLogin = keepimagelogin end def deserialize(params) @Password = params['Password'] @KeyIds = params['KeyIds'] @KeepImageLogin = params['KeepImageLogin'] end end # 弹性伸缩告警指标 class MetricAlarm < TencentCloud::Common::AbstractModel # @param ComparisonOperator: 比较运算符,可选值:
  • GREATER_THAN:大于
  • GREATER_THAN_OR_EQUAL_TO:大于或等于
  • LESS_THAN:小于
  • LESS_THAN_OR_EQUAL_TO:小于或等于
  • EQUAL_TO:等于
  • NOT_EQUAL_TO:不等于
  • # @type ComparisonOperator: String # @param MetricName: 指标名称,可选字段如下:
  • CPU_UTILIZATION:CPU利用率
  • MEM_UTILIZATION:内存利用率
  • LAN_TRAFFIC_OUT:内网出带宽
  • LAN_TRAFFIC_IN:内网入带宽
  • WAN_TRAFFIC_OUT:外网出带宽
  • WAN_TRAFFIC_IN:外网入带宽
  • # @type MetricName: String # @param Threshold: 告警阈值:
  • CPU_UTILIZATION:[1, 100],单位:%
  • MEM_UTILIZATION:[1, 100],单位:%
  • LAN_TRAFFIC_OUT:>0,单位:Mbps
  • LAN_TRAFFIC_IN:>0,单位:Mbps
  • WAN_TRAFFIC_OUT:>0,单位:Mbps
  • WAN_TRAFFIC_IN:>0,单位:Mbps
  • # @type Threshold: Integer # @param Period: 时间周期,单位:秒,取值枚举值为60、300。 # @type Period: Integer # @param ContinuousTime: 重复次数。取值范围 [1, 10] # @type ContinuousTime: Integer # @param Statistic: 统计类型,可选字段如下:
  • AVERAGE:平均值
  • MAXIMUM:最大值
  • MINIMUM:最小值

  • 默认取值:AVERAGE # @type Statistic: String attr_accessor :ComparisonOperator, :MetricName, :Threshold, :Period, :ContinuousTime, :Statistic def initialize(comparisonoperator=nil, metricname=nil, threshold=nil, period=nil, continuoustime=nil, statistic=nil) @ComparisonOperator = comparisonoperator @MetricName = metricname @Threshold = threshold @Period = period @ContinuousTime = continuoustime @Statistic = statistic end def deserialize(params) @ComparisonOperator = params['ComparisonOperator'] @MetricName = params['MetricName'] @Threshold = params['Threshold'] @Period = params['Period'] @ContinuousTime = params['ContinuousTime'] @Statistic = params['Statistic'] end end # ModifyAutoScalingGroup请求参数结构体 class ModifyAutoScalingGroupRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。 # @type AutoScalingGroupName: String # @param DefaultCooldown: 默认冷却时间,单位秒,默认值为300 # @type DefaultCooldown: Integer # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间 # @type DesiredCapacity: Integer # @param LaunchConfigurationId: 启动配置ID # @type LaunchConfigurationId: String # @param MaxSize: 最大实例数,取值范围为0-2000。 # @type MaxSize: Integer # @param MinSize: 最小实例数,取值范围为0-2000。 # @type MinSize: Integer # @param ProjectId: 项目ID # @type ProjectId: Integer # @param SubnetIds: 子网ID列表 # @type SubnetIds: Array # @param TerminationPolicies: 销毁策略,目前长度上限为1。取值包括 OLDEST_INSTANCE 和 NEWEST_INSTANCE。 #
  • OLDEST_INSTANCE 优先销毁伸缩组中最旧的实例。 #
  • NEWEST_INSTANCE,优先销毁伸缩组中最新的实例。 # @type TerminationPolicies: Array # @param VpcId: VPC ID,基础网络则填空字符串。修改为具体VPC ID时,需指定相应的SubnetIds;修改为基础网络时,需指定相应的Zones。 # @type VpcId: String # @param Zones: 可用区列表 # @type Zones: Array # @param RetryPolicy: 重试策略,取值包括 IMMEDIATE_RETRY、 INCREMENTAL_INTERVALS、NO_RETRY,默认取值为 IMMEDIATE_RETRY。 #
  • IMMEDIATE_RETRY,立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试。 #
  • INCREMENTAL_INTERVALS,间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,重试间隔从秒级到1天不等。 #
  • NO_RETRY,不进行重试,直到再次收到用户调用或者告警信息后才会重试。 # @type RetryPolicy: String # @param ZonesCheckPolicy: 可用区校验策略,取值包括 ALL 和 ANY,默认取值为ANY。在伸缩组实际变更资源相关字段时(启动配置、可用区、子网)发挥作用。 #
  • ALL,所有可用区(Zone)或子网(SubnetId)都可用则通过校验,否则校验报错。 #
  • ANY,存在任何一个可用区(Zone)或子网(SubnetId)可用则通过校验,否则校验报错。 # 可用区或子网不可用的常见原因包括该可用区CVM实例类型售罄、该可用区CBS云盘售罄、该可用区配额不足、该子网IP不足等。 # 如果 Zones/SubnetIds 中可用区或者子网不存在,则无论 ZonesCheckPolicy 采用何种取值,都会校验报错。 # @type ZonesCheckPolicy: String # @param ServiceSettings: 服务设置,包括云监控不健康替换等服务设置。 # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings` # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置,取值包括0、1。 # @type Ipv6AddressCount: Integer # @param MultiZoneSubnetPolicy: 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。 #
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 #
  • EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡。 # 与本策略相关的注意点: #
  • 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。 #
  • 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。 #
  • 按照 PRIORITY 策略创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3,会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 # @type MultiZoneSubnetPolicy: String # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097) # @type HealthCheckType: String # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期。 # @type LoadBalancerHealthCheckGracePeriod: Integer # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。 #
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 #
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 # @type InstanceAllocationPolicy: String # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。 # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。 # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy` # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: #
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 #
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 # @type CapacityRebalance: Boolean attr_accessor :AutoScalingGroupId, :AutoScalingGroupName, :DefaultCooldown, :DesiredCapacity, :LaunchConfigurationId, :MaxSize, :MinSize, :ProjectId, :SubnetIds, :TerminationPolicies, :VpcId, :Zones, :RetryPolicy, :ZonesCheckPolicy, :ServiceSettings, :Ipv6AddressCount, :MultiZoneSubnetPolicy, :HealthCheckType, :LoadBalancerHealthCheckGracePeriod, :InstanceAllocationPolicy, :SpotMixedAllocationPolicy, :CapacityRebalance def initialize(autoscalinggroupid=nil, autoscalinggroupname=nil, defaultcooldown=nil, desiredcapacity=nil, launchconfigurationid=nil, maxsize=nil, minsize=nil, projectid=nil, subnetids=nil, terminationpolicies=nil, vpcid=nil, zones=nil, retrypolicy=nil, zonescheckpolicy=nil, servicesettings=nil, ipv6addresscount=nil, multizonesubnetpolicy=nil, healthchecktype=nil, loadbalancerhealthcheckgraceperiod=nil, instanceallocationpolicy=nil, spotmixedallocationpolicy=nil, capacityrebalance=nil) @AutoScalingGroupId = autoscalinggroupid @AutoScalingGroupName = autoscalinggroupname @DefaultCooldown = defaultcooldown @DesiredCapacity = desiredcapacity @LaunchConfigurationId = launchconfigurationid @MaxSize = maxsize @MinSize = minsize @ProjectId = projectid @SubnetIds = subnetids @TerminationPolicies = terminationpolicies @VpcId = vpcid @Zones = zones @RetryPolicy = retrypolicy @ZonesCheckPolicy = zonescheckpolicy @ServiceSettings = servicesettings @Ipv6AddressCount = ipv6addresscount @MultiZoneSubnetPolicy = multizonesubnetpolicy @HealthCheckType = healthchecktype @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod @InstanceAllocationPolicy = instanceallocationpolicy @SpotMixedAllocationPolicy = spotmixedallocationpolicy @CapacityRebalance = capacityrebalance end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @AutoScalingGroupName = params['AutoScalingGroupName'] @DefaultCooldown = params['DefaultCooldown'] @DesiredCapacity = params['DesiredCapacity'] @LaunchConfigurationId = params['LaunchConfigurationId'] @MaxSize = params['MaxSize'] @MinSize = params['MinSize'] @ProjectId = params['ProjectId'] @SubnetIds = params['SubnetIds'] @TerminationPolicies = params['TerminationPolicies'] @VpcId = params['VpcId'] @Zones = params['Zones'] @RetryPolicy = params['RetryPolicy'] @ZonesCheckPolicy = params['ZonesCheckPolicy'] unless params['ServiceSettings'].nil? @ServiceSettings = ServiceSettings.new @ServiceSettings.deserialize(params['ServiceSettings']) end @Ipv6AddressCount = params['Ipv6AddressCount'] @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy'] @HealthCheckType = params['HealthCheckType'] @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod'] @InstanceAllocationPolicy = params['InstanceAllocationPolicy'] unless params['SpotMixedAllocationPolicy'].nil? @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy']) end @CapacityRebalance = params['CapacityRebalance'] end end # ModifyAutoScalingGroup返回参数结构体 class ModifyAutoScalingGroupResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyDesiredCapacity请求参数结构体 class ModifyDesiredCapacityRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param DesiredCapacity: 期望实例数 # @type DesiredCapacity: Integer # @param MinSize: 最小实例数,取值范围为0-2000。 # @type MinSize: Integer # @param MaxSize: 最大实例数,取值范围为0-2000。 # @type MaxSize: Integer attr_accessor :AutoScalingGroupId, :DesiredCapacity, :MinSize, :MaxSize def initialize(autoscalinggroupid=nil, desiredcapacity=nil, minsize=nil, maxsize=nil) @AutoScalingGroupId = autoscalinggroupid @DesiredCapacity = desiredcapacity @MinSize = minsize @MaxSize = maxsize end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @DesiredCapacity = params['DesiredCapacity'] @MinSize = params['MinSize'] @MaxSize = params['MaxSize'] end end # ModifyDesiredCapacity返回参数结构体 class ModifyDesiredCapacityResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyLaunchConfigurationAttributes请求参数结构体 class ModifyLaunchConfigurationAttributesRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationId: 启动配置ID # @type LaunchConfigurationId: String # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • # @type ImageId: String # @param InstanceTypes: 实例类型列表,不同实例机型指定了不同的资源规格,最多支持10种实例机型。 # InstanceType 指定单一实例类型,通过设置 InstanceTypes可以指定多实例类型,并使原有的InstanceType失效。 # @type InstanceTypes: Array # @param InstanceTypesCheckPolicy: 实例类型校验策略,在实际修改 InstanceTypes 时发挥作用,取值包括 ALL 和 ANY,默认取值为ANY。 #
  • ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。 #
  • ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。 # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。 # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。 # @type InstanceTypesCheckPolicy: String # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type LaunchConfigurationName: String # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。如果要清空UserData,则指定其为空字符串。 # @type UserData: String # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。 # 若指定该参数,请至少提供一个安全组,列表顺序有先后。 # @type SecurityGroupIds: Array # @param InternetAccessible: 公网带宽相关信息设置。 # 当公网出带宽上限为0Mbps时,不支持修改为开通分配公网IP;相应的,当前为开通分配公网IP时,修改的公网出带宽上限值必须大于0Mbps。 # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible` # @param InstanceChargeType: 实例计费类型。具体取值范围如下: #
  • POSTPAID_BY_HOUR:按小时后付费 #
  • SPOTPAID:竞价付费 #
  • PREPAID:预付费,即包年包月 # @type InstanceChargeType: String # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。 # 若修改实例的付费模式为预付费,则该参数必传;从预付费修改为其他付费模式时,本字段原信息会自动丢弃。 # 当新增该字段时,必须传递购买实例的时长,其它未传递字段会设置为默认值。 # 当修改本字段时,当前付费模式必须为预付费。 # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid` # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数。 # 若修改实例的付费模式为竞价付费,则该参数必传;从竞价付费修改为其他付费模式时,本字段原信息会自动丢弃。 # 当新增该字段时,必须传递竞价相关选项下的竞价出价,其它未传递字段会设置为默认值。 # 当修改本字段时,当前付费模式必须为竞价付费。 # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest` # @param DiskTypePolicy: 云盘类型选择策略,取值范围: #
  • ORIGINAL:使用设置的云盘类型。 #
  • AUTOMATIC:自动选择当前可用的云盘类型。 # @type DiskTypePolicy: String # @param SystemDisk: 实例系统盘配置信息。 # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk` # @param DataDisks: 实例数据盘配置信息。 # 最多支持指定11块数据盘。采取整体修改,因此请提供修改后的全部值。 # 数据盘类型默认与系统盘类型保持一致。 # @type DataDisks: Array # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。 # 不支持windows实例设置主机名。 # 新增该属性时,必须传递云服务器的主机名,其它未传递字段会设置为默认值。 # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings` # @param InstanceNameSettings: 云服务器(InstanceName)实例名的相关设置。 # 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。 # 新增该属性时,必须传递云服务器的实例名称,其它未传递字段会设置为默认值。 # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings` # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。 # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService` # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 # @type CamRoleName: String attr_accessor :LaunchConfigurationId, :ImageId, :InstanceTypes, :InstanceTypesCheckPolicy, :LaunchConfigurationName, :UserData, :SecurityGroupIds, :InternetAccessible, :InstanceChargeType, :InstanceChargePrepaid, :InstanceMarketOptions, :DiskTypePolicy, :SystemDisk, :DataDisks, :HostNameSettings, :InstanceNameSettings, :EnhancedService, :CamRoleName def initialize(launchconfigurationid=nil, imageid=nil, instancetypes=nil, instancetypescheckpolicy=nil, launchconfigurationname=nil, userdata=nil, securitygroupids=nil, internetaccessible=nil, instancechargetype=nil, instancechargeprepaid=nil, instancemarketoptions=nil, disktypepolicy=nil, systemdisk=nil, datadisks=nil, hostnamesettings=nil, instancenamesettings=nil, enhancedservice=nil, camrolename=nil) @LaunchConfigurationId = launchconfigurationid @ImageId = imageid @InstanceTypes = instancetypes @InstanceTypesCheckPolicy = instancetypescheckpolicy @LaunchConfigurationName = launchconfigurationname @UserData = userdata @SecurityGroupIds = securitygroupids @InternetAccessible = internetaccessible @InstanceChargeType = instancechargetype @InstanceChargePrepaid = instancechargeprepaid @InstanceMarketOptions = instancemarketoptions @DiskTypePolicy = disktypepolicy @SystemDisk = systemdisk @DataDisks = datadisks @HostNameSettings = hostnamesettings @InstanceNameSettings = instancenamesettings @EnhancedService = enhancedservice @CamRoleName = camrolename end def deserialize(params) @LaunchConfigurationId = params['LaunchConfigurationId'] @ImageId = params['ImageId'] @InstanceTypes = params['InstanceTypes'] @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy'] @LaunchConfigurationName = params['LaunchConfigurationName'] @UserData = params['UserData'] @SecurityGroupIds = params['SecurityGroupIds'] unless params['InternetAccessible'].nil? @InternetAccessible = InternetAccessible.new @InternetAccessible.deserialize(params['InternetAccessible']) end @InstanceChargeType = params['InstanceChargeType'] unless params['InstanceChargePrepaid'].nil? @InstanceChargePrepaid = InstanceChargePrepaid.new @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid']) end unless params['InstanceMarketOptions'].nil? @InstanceMarketOptions = InstanceMarketOptionsRequest.new @InstanceMarketOptions.deserialize(params['InstanceMarketOptions']) end @DiskTypePolicy = params['DiskTypePolicy'] unless params['SystemDisk'].nil? @SystemDisk = SystemDisk.new @SystemDisk.deserialize(params['SystemDisk']) end unless params['DataDisks'].nil? @DataDisks = [] params['DataDisks'].each do |i| datadisk_tmp = DataDisk.new datadisk_tmp.deserialize(i) @DataDisks << datadisk_tmp end end unless params['HostNameSettings'].nil? @HostNameSettings = HostNameSettings.new @HostNameSettings.deserialize(params['HostNameSettings']) end unless params['InstanceNameSettings'].nil? @InstanceNameSettings = InstanceNameSettings.new @InstanceNameSettings.deserialize(params['InstanceNameSettings']) end unless params['EnhancedService'].nil? @EnhancedService = EnhancedService.new @EnhancedService.deserialize(params['EnhancedService']) end @CamRoleName = params['CamRoleName'] end end # ModifyLaunchConfigurationAttributes返回参数结构体 class ModifyLaunchConfigurationAttributesResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyLoadBalancerTargetAttributes请求参数结构体 class ModifyLoadBalancerTargetAttributesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param ForwardLoadBalancers: 需修改目标规则属性的应用型负载均衡器列表,列表长度上限为50 # @type ForwardLoadBalancers: Array attr_accessor :AutoScalingGroupId, :ForwardLoadBalancers def initialize(autoscalinggroupid=nil, forwardloadbalancers=nil) @AutoScalingGroupId = autoscalinggroupid @ForwardLoadBalancers = forwardloadbalancers end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] unless params['ForwardLoadBalancers'].nil? @ForwardLoadBalancers = [] params['ForwardLoadBalancers'].each do |i| forwardloadbalancer_tmp = ForwardLoadBalancer.new forwardloadbalancer_tmp.deserialize(i) @ForwardLoadBalancers << forwardloadbalancer_tmp end end end end # ModifyLoadBalancerTargetAttributes返回参数结构体 class ModifyLoadBalancerTargetAttributesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # ModifyLoadBalancers请求参数结构体 class ModifyLoadBalancersRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param LoadBalancerIds: 传统负载均衡器ID列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type LoadBalancerIds: Array # @param ForwardLoadBalancers: 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 # @type ForwardLoadBalancers: Array # @param LoadBalancersCheckPolicy: 负载均衡器校验策略,取值包括 ALL 和 DIFF,默认取值为 ALL。 #
  • ALL,所有负载均衡器都合法则通过校验,否则校验报错。 #
  • DIFF,仅校验负载均衡器参数中实际变化的部分,如果合法则通过校验,否则校验报错。 # @type LoadBalancersCheckPolicy: String attr_accessor :AutoScalingGroupId, :LoadBalancerIds, :ForwardLoadBalancers, :LoadBalancersCheckPolicy def initialize(autoscalinggroupid=nil, loadbalancerids=nil, forwardloadbalancers=nil, loadbalancerscheckpolicy=nil) @AutoScalingGroupId = autoscalinggroupid @LoadBalancerIds = loadbalancerids @ForwardLoadBalancers = forwardloadbalancers @LoadBalancersCheckPolicy = loadbalancerscheckpolicy end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @LoadBalancerIds = params['LoadBalancerIds'] unless params['ForwardLoadBalancers'].nil? @ForwardLoadBalancers = [] params['ForwardLoadBalancers'].each do |i| forwardloadbalancer_tmp = ForwardLoadBalancer.new forwardloadbalancer_tmp.deserialize(i) @ForwardLoadBalancers << forwardloadbalancer_tmp end end @LoadBalancersCheckPolicy = params['LoadBalancersCheckPolicy'] end end # ModifyLoadBalancers返回参数结构体 class ModifyLoadBalancersResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # ModifyNotificationConfiguration请求参数结构体 class ModifyNotificationConfigurationRequest < TencentCloud::Common::AbstractModel # @param AutoScalingNotificationId: 待修改的通知ID。 # @type AutoScalingNotificationId: String # @param NotificationTypes: 通知类型,即为需要订阅的通知类型集合,取值范围如下: #
  • SCALE_OUT_SUCCESSFUL:扩容成功
  • #
  • SCALE_OUT_FAILED:扩容失败
  • #
  • SCALE_IN_SUCCESSFUL:缩容成功
  • #
  • SCALE_IN_FAILED:缩容失败
  • #
  • REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功
  • #
  • REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败
  • # @type NotificationTypes: Array # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 # @type NotificationUserGroupIds: Array # @param QueueName: CMQ 队列或 TDMQ CMQ 队列名。 # @type QueueName: String # @param TopicName: CMQ 主题或 TDMQ CMQ 主题名。 # @type TopicName: String attr_accessor :AutoScalingNotificationId, :NotificationTypes, :NotificationUserGroupIds, :QueueName, :TopicName def initialize(autoscalingnotificationid=nil, notificationtypes=nil, notificationusergroupids=nil, queuename=nil, topicname=nil) @AutoScalingNotificationId = autoscalingnotificationid @NotificationTypes = notificationtypes @NotificationUserGroupIds = notificationusergroupids @QueueName = queuename @TopicName = topicname end def deserialize(params) @AutoScalingNotificationId = params['AutoScalingNotificationId'] @NotificationTypes = params['NotificationTypes'] @NotificationUserGroupIds = params['NotificationUserGroupIds'] @QueueName = params['QueueName'] @TopicName = params['TopicName'] end end # ModifyNotificationConfiguration返回参数结构体 class ModifyNotificationConfigurationResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyScalingPolicy请求参数结构体 class ModifyScalingPolicyRequest < TencentCloud::Common::AbstractModel # @param AutoScalingPolicyId: 告警策略ID。 # @type AutoScalingPolicyId: String # @param ScalingPolicyName: 告警策略名称。 # @type ScalingPolicyName: String # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :
  • CHANGE_IN_CAPACITY:增加或减少若干期望实例数
  • EXACT_CAPACITY:调整至指定期望实例数
  • PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数
  • # @type AdjustmentType: String # @param AdjustmentValue: 告警触发后,期望实例数的调整值。取值:
  • 当 AdjustmentType 为 CHANGE_IN_CAPACITY 时,AdjustmentValue 为正数表示告警触发后增加实例,为负数表示告警触发后减少实例
  • 当 AdjustmentType 为 EXACT_CAPACITY 时,AdjustmentValue 的值即为告警触发后新的期望实例数,需要大于或等于0
  • 当 AdjustmentType 为 PERCENT_CHANGE_IN_CAPACITY 时,AdjusmentValue 为正数表示告警触发后按百分比增加实例,为负数表示告警触发后按百分比减少实例,单位是:%。 # @type AdjustmentValue: Integer # @param Cooldown: 冷却时间,单位为秒。 # @type Cooldown: Integer # @param MetricAlarm: 告警监控指标。 # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm` # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 # 如果需要清空通知用户组,需要在列表中传入特定字符串 "NULL"。 # @type NotificationUserGroupIds: Array attr_accessor :AutoScalingPolicyId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :Cooldown, :MetricAlarm, :NotificationUserGroupIds def initialize(autoscalingpolicyid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, cooldown=nil, metricalarm=nil, notificationusergroupids=nil) @AutoScalingPolicyId = autoscalingpolicyid @ScalingPolicyName = scalingpolicyname @AdjustmentType = adjustmenttype @AdjustmentValue = adjustmentvalue @Cooldown = cooldown @MetricAlarm = metricalarm @NotificationUserGroupIds = notificationusergroupids end def deserialize(params) @AutoScalingPolicyId = params['AutoScalingPolicyId'] @ScalingPolicyName = params['ScalingPolicyName'] @AdjustmentType = params['AdjustmentType'] @AdjustmentValue = params['AdjustmentValue'] @Cooldown = params['Cooldown'] unless params['MetricAlarm'].nil? @MetricAlarm = MetricAlarm.new @MetricAlarm.deserialize(params['MetricAlarm']) end @NotificationUserGroupIds = params['NotificationUserGroupIds'] end end # ModifyScalingPolicy返回参数结构体 class ModifyScalingPolicyResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifyScheduledAction请求参数结构体 class ModifyScheduledActionRequest < TencentCloud::Common::AbstractModel # @param ScheduledActionId: 待修改的定时任务ID # @type ScheduledActionId: String # @param ScheduledActionName: 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。 # @type ScheduledActionName: String # @param MaxSize: 当定时任务触发时,设置的伸缩组最大实例数。 # @type MaxSize: Integer # @param MinSize: 当定时任务触发时,设置的伸缩组最小实例数。 # @type MinSize: Integer # @param DesiredCapacity: 当定时任务触发时,设置的伸缩组期望实例数。 # @type DesiredCapacity: Integer # @param StartTime: 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 # @type StartTime: String # @param EndTime: 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。
    此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。 # @type EndTime: String # @param Recurrence: 定时任务的重复方式。为标准 Cron 格式
    此参数与`EndTime`需要同时指定。 # @type Recurrence: String attr_accessor :ScheduledActionId, :ScheduledActionName, :MaxSize, :MinSize, :DesiredCapacity, :StartTime, :EndTime, :Recurrence def initialize(scheduledactionid=nil, scheduledactionname=nil, maxsize=nil, minsize=nil, desiredcapacity=nil, starttime=nil, endtime=nil, recurrence=nil) @ScheduledActionId = scheduledactionid @ScheduledActionName = scheduledactionname @MaxSize = maxsize @MinSize = minsize @DesiredCapacity = desiredcapacity @StartTime = starttime @EndTime = endtime @Recurrence = recurrence end def deserialize(params) @ScheduledActionId = params['ScheduledActionId'] @ScheduledActionName = params['ScheduledActionName'] @MaxSize = params['MaxSize'] @MinSize = params['MinSize'] @DesiredCapacity = params['DesiredCapacity'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @Recurrence = params['Recurrence'] end end # ModifyScheduledAction返回参数结构体 class ModifyScheduledActionResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 通知目标 class NotificationTarget < TencentCloud::Common::AbstractModel # @param TargetType: 目标类型,取值范围包括`CMQ_QUEUE`、`CMQ_TOPIC`、`TDMQ_CMQ_QUEUE`、`TDMQ_CMQ_TOPIC`。 #
  • CMQ_QUEUE,指腾讯云消息队列-队列模型。
  • #
  • CMQ_TOPIC,指腾讯云消息队列-主题模型。
  • #
  • TDMQ_CMQ_QUEUE,指腾讯云 TDMQ 消息队列-队列模型。
  • #
  • TDMQ_CMQ_TOPIC,指腾讯云 TDMQ 消息队列-主题模型。
  • # @type TargetType: String # @param QueueName: 队列名称,如果`TargetType`取值为`CMQ_QUEUE` 或 `TDMQ_CMQ_QUEUE`,则本字段必填。 # @type QueueName: String # @param TopicName: 主题名称,如果`TargetType`取值为`CMQ_TOPIC` 或 `TDMQ_CMQ_TOPIC`,则本字段必填。 # @type TopicName: String attr_accessor :TargetType, :QueueName, :TopicName def initialize(targettype=nil, queuename=nil, topicname=nil) @TargetType = targettype @QueueName = queuename @TopicName = topicname end def deserialize(params) @TargetType = params['TargetType'] @QueueName = params['QueueName'] @TopicName = params['TopicName'] end end # PAI实例 class PaiInstance < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID # @type InstanceId: String # @param DomainName: 实例域名 # @type DomainName: String # @param PaiMateUrl: PAI管理页面URL # @type PaiMateUrl: String attr_accessor :InstanceId, :DomainName, :PaiMateUrl def initialize(instanceid=nil, domainname=nil, paimateurl=nil) @InstanceId = instanceid @DomainName = domainname @PaiMateUrl = paimateurl end def deserialize(params) @InstanceId = params['InstanceId'] @DomainName = params['DomainName'] @PaiMateUrl = params['PaiMateUrl'] end end # RemoveInstances请求参数结构体 class RemoveInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param InstanceIds: CVM实例ID列表 # @type InstanceIds: Array attr_accessor :AutoScalingGroupId, :InstanceIds def initialize(autoscalinggroupid=nil, instanceids=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] end end # RemoveInstances返回参数结构体 class RemoveInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # 描述了 “云监控” 服务相关的信息。 class RunMonitorServiceEnabled < TencentCloud::Common::AbstractModel # @param Enabled: 是否开启[云监控](https://cloud.tencent.com/document/product/248)服务。取值范围:
  • TRUE:表示开启云监控服务
  • FALSE:表示不开启云监控服务

    默认取值:TRUE。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Enabled: Boolean attr_accessor :Enabled def initialize(enabled=nil) @Enabled = enabled end def deserialize(params) @Enabled = params['Enabled'] end end # 描述了 “云安全” 服务相关的信息 class RunSecurityServiceEnabled < TencentCloud::Common::AbstractModel # @param Enabled: 是否开启[云安全](https://cloud.tencent.com/document/product/296)服务。取值范围:
  • TRUE:表示开启云安全服务
  • FALSE:表示不开启云安全服务

    默认取值:TRUE。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Enabled: Boolean attr_accessor :Enabled def initialize(enabled=nil) @Enabled = enabled end def deserialize(params) @Enabled = params['Enabled'] end end # ScaleInInstances请求参数结构体 class ScaleInInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param ScaleInNumber: 希望缩容的实例数量。 # @type ScaleInNumber: Integer attr_accessor :AutoScalingGroupId, :ScaleInNumber def initialize(autoscalinggroupid=nil, scaleinnumber=nil) @AutoScalingGroupId = autoscalinggroupid @ScaleInNumber = scaleinnumber end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @ScaleInNumber = params['ScaleInNumber'] end end # ScaleInInstances返回参数结构体 class ScaleInInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID。 # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # ScaleOutInstances请求参数结构体 class ScaleOutInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param ScaleOutNumber: 希望扩容的实例数量。 # @type ScaleOutNumber: Integer attr_accessor :AutoScalingGroupId, :ScaleOutNumber def initialize(autoscalinggroupid=nil, scaleoutnumber=nil) @AutoScalingGroupId = autoscalinggroupid @ScaleOutNumber = scaleoutnumber end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @ScaleOutNumber = params['ScaleOutNumber'] end end # ScaleOutInstances返回参数结构体 class ScaleOutInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID。 # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # 告警触发策略。 class ScalingPolicy < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param AutoScalingPolicyId: 告警触发策略ID。 # @type AutoScalingPolicyId: String # @param ScalingPolicyName: 告警触发策略名称。 # @type ScalingPolicyName: String # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :
  • CHANGE_IN_CAPACITY:增加或减少若干期望实例数
  • EXACT_CAPACITY:调整至指定期望实例数
  • PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数
  • # @type AdjustmentType: String # @param AdjustmentValue: 告警触发后,期望实例数的调整值。 # @type AdjustmentValue: Integer # @param Cooldown: 冷却时间。 # @type Cooldown: Integer # @param MetricAlarm: 告警监控指标。 # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm` # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合。 # @type NotificationUserGroupIds: Array attr_accessor :AutoScalingGroupId, :AutoScalingPolicyId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :Cooldown, :MetricAlarm, :NotificationUserGroupIds def initialize(autoscalinggroupid=nil, autoscalingpolicyid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, cooldown=nil, metricalarm=nil, notificationusergroupids=nil) @AutoScalingGroupId = autoscalinggroupid @AutoScalingPolicyId = autoscalingpolicyid @ScalingPolicyName = scalingpolicyname @AdjustmentType = adjustmenttype @AdjustmentValue = adjustmentvalue @Cooldown = cooldown @MetricAlarm = metricalarm @NotificationUserGroupIds = notificationusergroupids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @AutoScalingPolicyId = params['AutoScalingPolicyId'] @ScalingPolicyName = params['ScalingPolicyName'] @AdjustmentType = params['AdjustmentType'] @AdjustmentValue = params['AdjustmentValue'] @Cooldown = params['Cooldown'] unless params['MetricAlarm'].nil? @MetricAlarm = MetricAlarm.new @MetricAlarm.deserialize(params['MetricAlarm']) end @NotificationUserGroupIds = params['NotificationUserGroupIds'] end end # 描述定时任务的信息 class ScheduledAction < TencentCloud::Common::AbstractModel # @param ScheduledActionId: 定时任务ID。 # @type ScheduledActionId: String # @param ScheduledActionName: 定时任务名称。 # @type ScheduledActionName: String # @param AutoScalingGroupId: 定时任务所在伸缩组ID。 # @type AutoScalingGroupId: String # @param StartTime: 定时任务的开始时间。取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 # @type StartTime: String # @param Recurrence: 定时任务的重复方式。 # @type Recurrence: String # @param EndTime: 定时任务的结束时间。取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 # @type EndTime: String # @param MaxSize: 定时任务设置的最大实例数。 # @type MaxSize: Integer # @param DesiredCapacity: 定时任务设置的期望实例数。 # @type DesiredCapacity: Integer # @param MinSize: 定时任务设置的最小实例数。 # @type MinSize: Integer # @param CreatedTime: 定时任务的创建时间。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。 # @type CreatedTime: String # @param ScheduledType: 定时任务的执行类型。取值范围:
  • CRONTAB:代表定时任务为重复执行。
  • ONCE:代表定时任务为单次执行。 # @type ScheduledType: String attr_accessor :ScheduledActionId, :ScheduledActionName, :AutoScalingGroupId, :StartTime, :Recurrence, :EndTime, :MaxSize, :DesiredCapacity, :MinSize, :CreatedTime, :ScheduledType def initialize(scheduledactionid=nil, scheduledactionname=nil, autoscalinggroupid=nil, starttime=nil, recurrence=nil, endtime=nil, maxsize=nil, desiredcapacity=nil, minsize=nil, createdtime=nil, scheduledtype=nil) @ScheduledActionId = scheduledactionid @ScheduledActionName = scheduledactionname @AutoScalingGroupId = autoscalinggroupid @StartTime = starttime @Recurrence = recurrence @EndTime = endtime @MaxSize = maxsize @DesiredCapacity = desiredcapacity @MinSize = minsize @CreatedTime = createdtime @ScheduledType = scheduledtype end def deserialize(params) @ScheduledActionId = params['ScheduledActionId'] @ScheduledActionName = params['ScheduledActionName'] @AutoScalingGroupId = params['AutoScalingGroupId'] @StartTime = params['StartTime'] @Recurrence = params['Recurrence'] @EndTime = params['EndTime'] @MaxSize = params['MaxSize'] @DesiredCapacity = params['DesiredCapacity'] @MinSize = params['MinSize'] @CreatedTime = params['CreatedTime'] @ScheduledType = params['ScheduledType'] end end # 服务设置 class ServiceSettings < TencentCloud::Common::AbstractModel # @param ReplaceMonitorUnhealthy: 开启监控不健康替换服务。若开启则对于云监控标记为不健康的实例,弹性伸缩服务会进行替换。若不指定该参数,则默认为 False。 # @type ReplaceMonitorUnhealthy: Boolean # @param ScalingMode: 取值范围: # CLASSIC_SCALING:经典方式,使用创建、销毁实例来实现扩缩容; # WAKE_UP_STOPPED_SCALING:扩容优先开机。扩容时优先对已关机的实例执行开机操作,若开机后实例数仍低于期望实例数,则创建实例,缩容仍采用销毁实例的方式。用户可以使用StopAutoScalingInstances接口来关闭伸缩组内的实例。监控告警触发的扩容仍将创建实例 # 默认取值:CLASSIC_SCALING # @type ScalingMode: String # @param ReplaceLoadBalancerUnhealthy: 开启负载均衡不健康替换服务。若开启则对于负载均衡健康检查判断不健康的实例,弹性伸缩服务会进行替换。若不指定该参数,则默认为 False。 # @type ReplaceLoadBalancerUnhealthy: Boolean attr_accessor :ReplaceMonitorUnhealthy, :ScalingMode, :ReplaceLoadBalancerUnhealthy def initialize(replacemonitorunhealthy=nil, scalingmode=nil, replaceloadbalancerunhealthy=nil) @ReplaceMonitorUnhealthy = replacemonitorunhealthy @ScalingMode = scalingmode @ReplaceLoadBalancerUnhealthy = replaceloadbalancerunhealthy end def deserialize(params) @ReplaceMonitorUnhealthy = params['ReplaceMonitorUnhealthy'] @ScalingMode = params['ScalingMode'] @ReplaceLoadBalancerUnhealthy = params['ReplaceLoadBalancerUnhealthy'] end end # SetInstancesProtection请求参数结构体 class SetInstancesProtectionRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID。 # @type AutoScalingGroupId: String # @param InstanceIds: 实例ID。 # @type InstanceIds: Array # @param ProtectedFromScaleIn: 实例是否需要设置保护。 # @type ProtectedFromScaleIn: Boolean attr_accessor :AutoScalingGroupId, :InstanceIds, :ProtectedFromScaleIn def initialize(autoscalinggroupid=nil, instanceids=nil, protectedfromscalein=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids @ProtectedFromScaleIn = protectedfromscalein end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] @ProtectedFromScaleIn = params['ProtectedFromScaleIn'] end end # SetInstancesProtection返回参数结构体 class SetInstancesProtectionResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 竞价相关选项 class SpotMarketOptions < TencentCloud::Common::AbstractModel # @param MaxPrice: 竞价出价,例如“1.05” # @type MaxPrice: String # @param SpotInstanceType: 竞价请求类型,当前仅支持类型:one-time,默认值为one-time # 注意:此字段可能返回 null,表示取不到有效值。 # @type SpotInstanceType: String attr_accessor :MaxPrice, :SpotInstanceType def initialize(maxprice=nil, spotinstancetype=nil) @MaxPrice = maxprice @SpotInstanceType = spotinstancetype end def deserialize(params) @MaxPrice = params['MaxPrice'] @SpotInstanceType = params['SpotInstanceType'] end end # 竞价混合模式下,各计费类型实例的分配策略。包括按量计费实例和竞价计费实例。 class SpotMixedAllocationPolicy < TencentCloud::Common::AbstractModel # @param BaseCapacity: 混合模式下,基础容量的大小,基础容量部分固定为按量计费实例。默认值 0,最大不可超过伸缩组的最大实例数。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BaseCapacity: Integer # @param OnDemandPercentageAboveBaseCapacity: 超出基础容量部分,按量计费实例所占的比例。取值范围 [0, 100],0 代表超出基础容量的部分仅生产竞价实例,100 代表仅生产按量实例,默认值为 70。按百分比计算按量实例数时,向上取整。 # 比如,总期望实例数取 3,基础容量取 1,超基础部分按量百分比取 1,则最终按量 2 台(1 台来自基础容量,1 台按百分比向上取整得到),竞价 1台。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OnDemandPercentageAboveBaseCapacity: Integer # @param SpotAllocationStrategy: 混合模式下,竞价实例的分配策略。取值包括 COST_OPTIMIZED 和 CAPACITY_OPTIMIZED,默认取 COST_OPTIMIZED。 #
  • COST_OPTIMIZED,成本优化策略。对于启动配置内的所有机型,按照各机型在各可用区的每核单价由小到大依次尝试。优先尝试购买每核单价最便宜的,如果购买失败则尝试购买次便宜的,以此类推。 #
  • CAPACITY_OPTIMIZED,容量优化策略。对于启动配置内的所有机型,按照各机型在各可用区的库存情况由大到小依次尝试。优先尝试购买剩余库存最大的机型,这样可尽量降低竞价实例被动回收的发生概率。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SpotAllocationStrategy: String # @param CompensateWithBaseInstance: 按量实例替补功能。取值范围: #
  • TRUE,开启该功能,当所有竞价机型因库存不足等原因全部购买失败后,尝试购买按量实例。 #
  • FALSE,不开启该功能,伸缩组在需要扩容竞价实例时仅尝试所配置的竞价机型。 # 默认取值: TRUE。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompensateWithBaseInstance: Boolean attr_accessor :BaseCapacity, :OnDemandPercentageAboveBaseCapacity, :SpotAllocationStrategy, :CompensateWithBaseInstance def initialize(basecapacity=nil, ondemandpercentageabovebasecapacity=nil, spotallocationstrategy=nil, compensatewithbaseinstance=nil) @BaseCapacity = basecapacity @OnDemandPercentageAboveBaseCapacity = ondemandpercentageabovebasecapacity @SpotAllocationStrategy = spotallocationstrategy @CompensateWithBaseInstance = compensatewithbaseinstance end def deserialize(params) @BaseCapacity = params['BaseCapacity'] @OnDemandPercentageAboveBaseCapacity = params['OnDemandPercentageAboveBaseCapacity'] @SpotAllocationStrategy = params['SpotAllocationStrategy'] @CompensateWithBaseInstance = params['CompensateWithBaseInstance'] end end # StartAutoScalingInstances请求参数结构体 class StartAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param InstanceIds: 待开启的CVM实例ID列表 # @type InstanceIds: Array attr_accessor :AutoScalingGroupId, :InstanceIds def initialize(autoscalinggroupid=nil, instanceids=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] end end # StartAutoScalingInstances返回参数结构体 class StartAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # StopAutoScalingInstances请求参数结构体 class StopAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel # @param AutoScalingGroupId: 伸缩组ID # @type AutoScalingGroupId: String # @param InstanceIds: 待关闭的CVM实例ID列表 # @type InstanceIds: Array # @param StoppedMode: 关闭的实例是否收费,取值为: # KEEP_CHARGING:关机继续收费 # STOP_CHARGING:关机停止收费 # 默认为 KEEP_CHARGING # @type StoppedMode: String attr_accessor :AutoScalingGroupId, :InstanceIds, :StoppedMode def initialize(autoscalinggroupid=nil, instanceids=nil, stoppedmode=nil) @AutoScalingGroupId = autoscalinggroupid @InstanceIds = instanceids @StoppedMode = stoppedmode end def deserialize(params) @AutoScalingGroupId = params['AutoScalingGroupId'] @InstanceIds = params['InstanceIds'] @StoppedMode = params['StoppedMode'] end end # StopAutoScalingInstances返回参数结构体 class StopAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel # @param ActivityId: 伸缩活动ID # @type ActivityId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ActivityId, :RequestId def initialize(activityid=nil, requestid=nil) @ActivityId = activityid @RequestId = requestid end def deserialize(params) @ActivityId = params['ActivityId'] @RequestId = params['RequestId'] end end # 启动配置的系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 class SystemDisk < TencentCloud::Common::AbstractModel # @param DiskType: 系统盘类型。系统盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:CLOUD_PREMIUM。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DiskType: String # @param DiskSize: 系统盘大小,单位:GB。默认值为 50 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DiskSize: Integer attr_accessor :DiskType, :DiskSize def initialize(disktype=nil, disksize=nil) @DiskType = disktype @DiskSize = disksize end def deserialize(params) @DiskType = params['DiskType'] @DiskSize = params['DiskSize'] end end # 资源类型及标签键值对 class Tag < TencentCloud::Common::AbstractModel # @param Key: 标签键 # @type Key: String # @param Value: 标签值 # @type Value: String # @param ResourceType: 标签绑定的资源类型,当前支持类型:"auto-scaling-group # 注意:此字段可能返回 null,表示取不到有效值。 # @type ResourceType: String attr_accessor :Key, :Value, :ResourceType def initialize(key=nil, value=nil, resourcetype=nil) @Key = key @Value = value @ResourceType = resourcetype end def deserialize(params) @Key = params['Key'] @Value = params['Value'] @ResourceType = params['ResourceType'] end end # 负载均衡器目标属性 class TargetAttribute < TencentCloud::Common::AbstractModel # @param Port: 端口 # @type Port: Integer # @param Weight: 权重 # @type Weight: Integer attr_accessor :Port, :Weight def initialize(port=nil, weight=nil) @Port = port @Weight = weight end def deserialize(params) @Port = params['Port'] @Weight = params['Weight'] end end # UpgradeLaunchConfiguration请求参数结构体 class UpgradeLaunchConfigurationRequest < TencentCloud::Common::AbstractModel # @param LaunchConfigurationId: 启动配置ID。 # @type LaunchConfigurationId: String # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • # @type ImageId: String # @param InstanceTypes: 实例机型列表,不同实例机型指定了不同的资源规格,最多支持5种实例机型。 # @type InstanceTypes: Array # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。 # @type LaunchConfigurationName: String # @param DataDisks: 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘,最多支持指定11块数据盘。 # @type DataDisks: Array # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService` # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。 #
  • POSTPAID_BY_HOUR:按小时后付费 #
  • SPOTPAID:竞价付费 #
  • PREPAID:预付费,即包年包月 # @type InstanceChargeType: String # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest` # @param InstanceTypesCheckPolicy: 实例类型校验策略,取值包括 ALL 和 ANY,默认取值为ANY。 #
  • ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。 #
  • ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。 # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。 # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。 # @type InstanceTypesCheckPolicy: String # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible` # @param LoginSettings: 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LoginSettings` # @param ProjectId: 实例所属项目ID。不填为默认项目。 # @type ProjectId: Integer # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。若不指定该参数,则默认不绑定安全组。 # @type SecurityGroupIds: Array # @param SystemDisk: 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk` # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。 # @type UserData: String # @param InstanceTags: 标签列表。通过指定该参数,可以为扩容的实例绑定标签。最多支持指定10个标签。 # @type InstanceTags: Array # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 # @type CamRoleName: String # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。 # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings` # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。 # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings` # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid` # @param DiskTypePolicy: 云盘类型选择策略,取值范围: #
  • ORIGINAL:使用设置的云盘类型 #
  • AUTOMATIC:自动选择当前可用的云盘类型 # @type DiskTypePolicy: String attr_accessor :LaunchConfigurationId, :ImageId, :InstanceTypes, :LaunchConfigurationName, :DataDisks, :EnhancedService, :InstanceChargeType, :InstanceMarketOptions, :InstanceTypesCheckPolicy, :InternetAccessible, :LoginSettings, :ProjectId, :SecurityGroupIds, :SystemDisk, :UserData, :InstanceTags, :CamRoleName, :HostNameSettings, :InstanceNameSettings, :InstanceChargePrepaid, :DiskTypePolicy def initialize(launchconfigurationid=nil, imageid=nil, instancetypes=nil, launchconfigurationname=nil, datadisks=nil, enhancedservice=nil, instancechargetype=nil, instancemarketoptions=nil, instancetypescheckpolicy=nil, internetaccessible=nil, loginsettings=nil, projectid=nil, securitygroupids=nil, systemdisk=nil, userdata=nil, instancetags=nil, camrolename=nil, hostnamesettings=nil, instancenamesettings=nil, instancechargeprepaid=nil, disktypepolicy=nil) @LaunchConfigurationId = launchconfigurationid @ImageId = imageid @InstanceTypes = instancetypes @LaunchConfigurationName = launchconfigurationname @DataDisks = datadisks @EnhancedService = enhancedservice @InstanceChargeType = instancechargetype @InstanceMarketOptions = instancemarketoptions @InstanceTypesCheckPolicy = instancetypescheckpolicy @InternetAccessible = internetaccessible @LoginSettings = loginsettings @ProjectId = projectid @SecurityGroupIds = securitygroupids @SystemDisk = systemdisk @UserData = userdata @InstanceTags = instancetags @CamRoleName = camrolename @HostNameSettings = hostnamesettings @InstanceNameSettings = instancenamesettings @InstanceChargePrepaid = instancechargeprepaid @DiskTypePolicy = disktypepolicy end def deserialize(params) @LaunchConfigurationId = params['LaunchConfigurationId'] @ImageId = params['ImageId'] @InstanceTypes = params['InstanceTypes'] @LaunchConfigurationName = params['LaunchConfigurationName'] unless params['DataDisks'].nil? @DataDisks = [] params['DataDisks'].each do |i| datadisk_tmp = DataDisk.new datadisk_tmp.deserialize(i) @DataDisks << datadisk_tmp end end unless params['EnhancedService'].nil? @EnhancedService = EnhancedService.new @EnhancedService.deserialize(params['EnhancedService']) end @InstanceChargeType = params['InstanceChargeType'] unless params['InstanceMarketOptions'].nil? @InstanceMarketOptions = InstanceMarketOptionsRequest.new @InstanceMarketOptions.deserialize(params['InstanceMarketOptions']) end @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy'] unless params['InternetAccessible'].nil? @InternetAccessible = InternetAccessible.new @InternetAccessible.deserialize(params['InternetAccessible']) end unless params['LoginSettings'].nil? @LoginSettings = LoginSettings.new @LoginSettings.deserialize(params['LoginSettings']) end @ProjectId = params['ProjectId'] @SecurityGroupIds = params['SecurityGroupIds'] unless params['SystemDisk'].nil? @SystemDisk = SystemDisk.new @SystemDisk.deserialize(params['SystemDisk']) end @UserData = params['UserData'] unless params['InstanceTags'].nil? @InstanceTags = [] params['InstanceTags'].each do |i| instancetag_tmp = InstanceTag.new instancetag_tmp.deserialize(i) @InstanceTags << instancetag_tmp end end @CamRoleName = params['CamRoleName'] unless params['HostNameSettings'].nil? @HostNameSettings = HostNameSettings.new @HostNameSettings.deserialize(params['HostNameSettings']) end unless params['InstanceNameSettings'].nil? @InstanceNameSettings = InstanceNameSettings.new @InstanceNameSettings.deserialize(params['InstanceNameSettings']) end unless params['InstanceChargePrepaid'].nil? @InstanceChargePrepaid = InstanceChargePrepaid.new @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid']) end @DiskTypePolicy = params['DiskTypePolicy'] end end # UpgradeLaunchConfiguration返回参数结构体 class UpgradeLaunchConfigurationResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UpgradeLifecycleHook请求参数结构体 class UpgradeLifecycleHookRequest < TencentCloud::Common::AbstractModel # @param LifecycleHookId: 生命周期挂钩ID # @type LifecycleHookId: String # @param LifecycleHookName: 生命周期挂钩名称 # @type LifecycleHookName: String # @param LifecycleTransition: 进行生命周期挂钩的场景,取值范围包括“INSTANCE_LAUNCHING”和“INSTANCE_TERMINATING” # @type LifecycleTransition: String # @param DefaultResult: 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值范围是“CONTINUE”或“ABANDON”,默认值为“CONTINUE” # @type DefaultResult: String # @param HeartbeatTimeout: 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从30到7200秒,默认值为300秒 # @type HeartbeatTimeout: Integer # @param NotificationMetadata: 弹性伸缩向通知目标发送的附加信息,默认值为空字符串"" # @type NotificationMetadata: String # @param NotificationTarget: 通知目标 # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget` # @param LifecycleTransitionType: 进行生命周期挂钩的场景类型,取值范围包括NORMAL 和 EXTENSION。说明:设置为EXTENSION值,在AttachInstances、DetachInstances、RemoveInstaces接口时会触发生命周期挂钩操作,值为NORMAL则不会在这些接口中触发生命周期挂钩。 # @type LifecycleTransitionType: String attr_accessor :LifecycleHookId, :LifecycleHookName, :LifecycleTransition, :DefaultResult, :HeartbeatTimeout, :NotificationMetadata, :NotificationTarget, :LifecycleTransitionType def initialize(lifecyclehookid=nil, lifecyclehookname=nil, lifecycletransition=nil, defaultresult=nil, heartbeattimeout=nil, notificationmetadata=nil, notificationtarget=nil, lifecycletransitiontype=nil) @LifecycleHookId = lifecyclehookid @LifecycleHookName = lifecyclehookname @LifecycleTransition = lifecycletransition @DefaultResult = defaultresult @HeartbeatTimeout = heartbeattimeout @NotificationMetadata = notificationmetadata @NotificationTarget = notificationtarget @LifecycleTransitionType = lifecycletransitiontype end def deserialize(params) @LifecycleHookId = params['LifecycleHookId'] @LifecycleHookName = params['LifecycleHookName'] @LifecycleTransition = params['LifecycleTransition'] @DefaultResult = params['DefaultResult'] @HeartbeatTimeout = params['HeartbeatTimeout'] @NotificationMetadata = params['NotificationMetadata'] unless params['NotificationTarget'].nil? @NotificationTarget = NotificationTarget.new @NotificationTarget.deserialize(params['NotificationTarget']) end @LifecycleTransitionType = params['LifecycleTransitionType'] end end # UpgradeLifecycleHook返回参数结构体 class UpgradeLifecycleHookResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end end end end