tencentcloud-sdk-as 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4429 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module As
19
+ module V20180419
20
+ # 符合条件的伸缩活动相关信息。
21
+ class Activity < TencentCloud::Common::AbstractModel
22
+ # @param AutoScalingGroupId: 伸缩组ID。
23
+ # @type AutoScalingGroupId: String
24
+ # @param ActivityId: 伸缩活动ID。
25
+ # @type ActivityId: String
26
+ # @param ActivityType: 伸缩活动类型。取值如下:<br>
27
+ # <li>SCALE_OUT:扩容活动<li>SCALE_IN:缩容活动<li>ATTACH_INSTANCES:添加实例<li>REMOVE_INSTANCES:销毁实例<li>DETACH_INSTANCES:移出实例<li>TERMINATE_INSTANCES_UNEXPECTEDLY:实例在CVM控制台被销毁<li>REPLACE_UNHEALTHY_INSTANCE:替换不健康实例
28
+ # <li>START_INSTANCES:开启实例
29
+ # <li>STOP_INSTANCES:关闭实例
30
+ # @type ActivityType: String
31
+ # @param StatusCode: 伸缩活动状态。取值如下:<br>
32
+ # <li>INIT:初始化中
33
+ # <li>RUNNING:运行中
34
+ # <li>SUCCESSFUL:活动成功
35
+ # <li>PARTIALLY_SUCCESSFUL:活动部分成功
36
+ # <li>FAILED:活动失败
37
+ # <li>CANCELLED:活动取消
38
+ # @type StatusCode: String
39
+ # @param StatusMessage: 伸缩活动状态描述。
40
+ # @type StatusMessage: String
41
+ # @param Cause: 伸缩活动起因。
42
+ # @type Cause: String
43
+ # @param Description: 伸缩活动描述。
44
+ # @type Description: String
45
+ # @param StartTime: 伸缩活动开始时间。
46
+ # @type StartTime: String
47
+ # @param EndTime: 伸缩活动结束时间。
48
+ # @type EndTime: String
49
+ # @param CreatedTime: 伸缩活动创建时间。
50
+ # @type CreatedTime: String
51
+ # @param ActivityRelatedInstanceSet: 伸缩活动相关实例信息集合。
52
+ # @type ActivityRelatedInstanceSet: Array
53
+ # @param StatusMessageSimplified: 伸缩活动状态简要描述。
54
+ # @type StatusMessageSimplified: String
55
+ # @param LifecycleActionResultSet: 伸缩活动中生命周期挂钩的执行结果。
56
+ # @type LifecycleActionResultSet: Array
57
+ # @param DetailedStatusMessageSet: 伸缩活动状态详细描述。
58
+ # @type DetailedStatusMessageSet: Array
59
+
60
+ attr_accessor :AutoScalingGroupId, :ActivityId, :ActivityType, :StatusCode, :StatusMessage, :Cause, :Description, :StartTime, :EndTime, :CreatedTime, :ActivityRelatedInstanceSet, :StatusMessageSimplified, :LifecycleActionResultSet, :DetailedStatusMessageSet
61
+
62
+ 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)
63
+ @AutoScalingGroupId = autoscalinggroupid
64
+ @ActivityId = activityid
65
+ @ActivityType = activitytype
66
+ @StatusCode = statuscode
67
+ @StatusMessage = statusmessage
68
+ @Cause = cause
69
+ @Description = description
70
+ @StartTime = starttime
71
+ @EndTime = endtime
72
+ @CreatedTime = createdtime
73
+ @ActivityRelatedInstanceSet = activityrelatedinstanceset
74
+ @StatusMessageSimplified = statusmessagesimplified
75
+ @LifecycleActionResultSet = lifecycleactionresultset
76
+ @DetailedStatusMessageSet = detailedstatusmessageset
77
+ end
78
+
79
+ def deserialize(params)
80
+ @AutoScalingGroupId = params['AutoScalingGroupId']
81
+ @ActivityId = params['ActivityId']
82
+ @ActivityType = params['ActivityType']
83
+ @StatusCode = params['StatusCode']
84
+ @StatusMessage = params['StatusMessage']
85
+ @Cause = params['Cause']
86
+ @Description = params['Description']
87
+ @StartTime = params['StartTime']
88
+ @EndTime = params['EndTime']
89
+ @CreatedTime = params['CreatedTime']
90
+ unless params['ActivityRelatedInstanceSet'].nil?
91
+ @ActivityRelatedInstanceSet = []
92
+ params['ActivityRelatedInstanceSet'].each do |i|
93
+ activtyrelatedinstance_tmp = ActivtyRelatedInstance.new
94
+ activtyrelatedinstance_tmp.deserialize(i)
95
+ @ActivityRelatedInstanceSet << activtyrelatedinstance_tmp
96
+ end
97
+ end
98
+ @StatusMessageSimplified = params['StatusMessageSimplified']
99
+ unless params['LifecycleActionResultSet'].nil?
100
+ @LifecycleActionResultSet = []
101
+ params['LifecycleActionResultSet'].each do |i|
102
+ lifecycleactionresultinfo_tmp = LifecycleActionResultInfo.new
103
+ lifecycleactionresultinfo_tmp.deserialize(i)
104
+ @LifecycleActionResultSet << lifecycleactionresultinfo_tmp
105
+ end
106
+ end
107
+ unless params['DetailedStatusMessageSet'].nil?
108
+ @DetailedStatusMessageSet = []
109
+ params['DetailedStatusMessageSet'].each do |i|
110
+ detailedstatusmessage_tmp = DetailedStatusMessage.new
111
+ detailedstatusmessage_tmp.deserialize(i)
112
+ @DetailedStatusMessageSet << detailedstatusmessage_tmp
113
+ end
114
+ end
115
+ end
116
+ end
117
+
118
+ # 与本次伸缩活动相关的实例信息。
119
+ class ActivtyRelatedInstance < TencentCloud::Common::AbstractModel
120
+ # @param InstanceId: 实例ID。
121
+ # @type InstanceId: String
122
+ # @param InstanceStatus: 实例在伸缩活动中的状态。取值如下:
123
+ # <li>INIT:初始化中
124
+ # <li>RUNNING:实例操作中
125
+ # <li>SUCCESSFUL:活动成功
126
+ # <li>FAILED:活动失败
127
+ # @type InstanceStatus: String
128
+
129
+ attr_accessor :InstanceId, :InstanceStatus
130
+
131
+ def initialize(instanceid=nil, instancestatus=nil)
132
+ @InstanceId = instanceid
133
+ @InstanceStatus = instancestatus
134
+ end
135
+
136
+ def deserialize(params)
137
+ @InstanceId = params['InstanceId']
138
+ @InstanceStatus = params['InstanceStatus']
139
+ end
140
+ end
141
+
142
+ # AttachInstances请求参数结构体
143
+ class AttachInstancesRequest < TencentCloud::Common::AbstractModel
144
+ # @param AutoScalingGroupId: 伸缩组ID
145
+ # @type AutoScalingGroupId: String
146
+ # @param InstanceIds: CVM实例ID列表
147
+ # @type InstanceIds: Array
148
+
149
+ attr_accessor :AutoScalingGroupId, :InstanceIds
150
+
151
+ def initialize(autoscalinggroupid=nil, instanceids=nil)
152
+ @AutoScalingGroupId = autoscalinggroupid
153
+ @InstanceIds = instanceids
154
+ end
155
+
156
+ def deserialize(params)
157
+ @AutoScalingGroupId = params['AutoScalingGroupId']
158
+ @InstanceIds = params['InstanceIds']
159
+ end
160
+ end
161
+
162
+ # AttachInstances返回参数结构体
163
+ class AttachInstancesResponse < TencentCloud::Common::AbstractModel
164
+ # @param ActivityId: 伸缩活动ID
165
+ # @type ActivityId: String
166
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
167
+ # @type RequestId: String
168
+
169
+ attr_accessor :ActivityId, :RequestId
170
+
171
+ def initialize(activityid=nil, requestid=nil)
172
+ @ActivityId = activityid
173
+ @RequestId = requestid
174
+ end
175
+
176
+ def deserialize(params)
177
+ @ActivityId = params['ActivityId']
178
+ @RequestId = params['RequestId']
179
+ end
180
+ end
181
+
182
+ # 伸缩组
183
+ class AutoScalingGroup < TencentCloud::Common::AbstractModel
184
+ # @param AutoScalingGroupId: 伸缩组ID
185
+ # @type AutoScalingGroupId: String
186
+ # @param AutoScalingGroupName: 伸缩组名称
187
+ # @type AutoScalingGroupName: String
188
+ # @param AutoScalingGroupStatus: 伸缩组当前状态。取值范围:<br><li>NORMAL:正常<br><li>CVM_ABNORMAL:启动配置异常<br><li>LB_ABNORMAL:负载均衡器异常<br><li>VPC_ABNORMAL:VPC网络异常<br><li>INSUFFICIENT_BALANCE:余额不足<br><li>LB_BACKEND_REGION_NOT_MATCH:CLB实例后端地域与AS服务所在地域不匹配<br>
189
+ # @type AutoScalingGroupStatus: String
190
+ # @param CreatedTime: 创建时间,采用UTC标准计时
191
+ # @type CreatedTime: String
192
+ # @param DefaultCooldown: 默认冷却时间,单位秒
193
+ # @type DefaultCooldown: Integer
194
+ # @param DesiredCapacity: 期望实例数
195
+ # @type DesiredCapacity: Integer
196
+ # @param EnabledStatus: 启用状态,取值包括`ENABLED`和`DISABLED`
197
+ # @type EnabledStatus: String
198
+ # @param ForwardLoadBalancerSet: 应用型负载均衡器列表
199
+ # @type ForwardLoadBalancerSet: Array
200
+ # @param InstanceCount: 实例数量
201
+ # @type InstanceCount: Integer
202
+ # @param InServiceInstanceCount: 状态为`IN_SERVICE`实例的数量
203
+ # @type InServiceInstanceCount: Integer
204
+ # @param LaunchConfigurationId: 启动配置ID
205
+ # @type LaunchConfigurationId: String
206
+ # @param LaunchConfigurationName: 启动配置名称
207
+ # @type LaunchConfigurationName: String
208
+ # @param LoadBalancerIdSet: 传统型负载均衡器ID列表
209
+ # @type LoadBalancerIdSet: Array
210
+ # @param MaxSize: 最大实例数
211
+ # @type MaxSize: Integer
212
+ # @param MinSize: 最小实例数
213
+ # @type MinSize: Integer
214
+ # @param ProjectId: 项目ID
215
+ # @type ProjectId: Integer
216
+ # @param SubnetIdSet: 子网ID列表
217
+ # @type SubnetIdSet: Array
218
+ # @param TerminationPolicySet: 销毁策略
219
+ # @type TerminationPolicySet: Array
220
+ # @param VpcId: VPC标识
221
+ # @type VpcId: String
222
+ # @param ZoneSet: 可用区列表
223
+ # @type ZoneSet: Array
224
+ # @param RetryPolicy: 重试策略
225
+ # @type RetryPolicy: String
226
+ # @param InActivityStatus: 伸缩组是否处于伸缩活动中,`IN_ACTIVITY`表示处于伸缩活动中,`NOT_IN_ACTIVITY`表示不处于伸缩活动中。
227
+ # @type InActivityStatus: String
228
+ # @param Tags: 伸缩组标签列表
229
+ # @type Tags: Array
230
+ # @param ServiceSettings: 服务设置
231
+ # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings`
232
+ # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置
233
+ # @type Ipv6AddressCount: Integer
234
+ # @param MultiZoneSubnetPolicy: 多可用区/子网策略。
235
+ # <br><li> PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。
236
+ # <br><li> EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。
237
+ # @type MultiZoneSubnetPolicy: String
238
+ # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:<br><li>CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)<br><li>CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097)
239
+ # @type HealthCheckType: String
240
+ # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期
241
+ # @type LoadBalancerHealthCheckGracePeriod: Integer
242
+ # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。
243
+ # <br><li> LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。
244
+ # <br><li> SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。
245
+ # @type InstanceAllocationPolicy: String
246
+ # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。
247
+ # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时才会返回有效值。
248
+ # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy`
249
+ # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围:
250
+ # <br><li> TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。
251
+ # <br><li> FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。
252
+ # @type CapacityRebalance: Boolean
253
+
254
+ 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
255
+
256
+ 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)
257
+ @AutoScalingGroupId = autoscalinggroupid
258
+ @AutoScalingGroupName = autoscalinggroupname
259
+ @AutoScalingGroupStatus = autoscalinggroupstatus
260
+ @CreatedTime = createdtime
261
+ @DefaultCooldown = defaultcooldown
262
+ @DesiredCapacity = desiredcapacity
263
+ @EnabledStatus = enabledstatus
264
+ @ForwardLoadBalancerSet = forwardloadbalancerset
265
+ @InstanceCount = instancecount
266
+ @InServiceInstanceCount = inserviceinstancecount
267
+ @LaunchConfigurationId = launchconfigurationid
268
+ @LaunchConfigurationName = launchconfigurationname
269
+ @LoadBalancerIdSet = loadbalanceridset
270
+ @MaxSize = maxsize
271
+ @MinSize = minsize
272
+ @ProjectId = projectid
273
+ @SubnetIdSet = subnetidset
274
+ @TerminationPolicySet = terminationpolicyset
275
+ @VpcId = vpcid
276
+ @ZoneSet = zoneset
277
+ @RetryPolicy = retrypolicy
278
+ @InActivityStatus = inactivitystatus
279
+ @Tags = tags
280
+ @ServiceSettings = servicesettings
281
+ @Ipv6AddressCount = ipv6addresscount
282
+ @MultiZoneSubnetPolicy = multizonesubnetpolicy
283
+ @HealthCheckType = healthchecktype
284
+ @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod
285
+ @InstanceAllocationPolicy = instanceallocationpolicy
286
+ @SpotMixedAllocationPolicy = spotmixedallocationpolicy
287
+ @CapacityRebalance = capacityrebalance
288
+ end
289
+
290
+ def deserialize(params)
291
+ @AutoScalingGroupId = params['AutoScalingGroupId']
292
+ @AutoScalingGroupName = params['AutoScalingGroupName']
293
+ @AutoScalingGroupStatus = params['AutoScalingGroupStatus']
294
+ @CreatedTime = params['CreatedTime']
295
+ @DefaultCooldown = params['DefaultCooldown']
296
+ @DesiredCapacity = params['DesiredCapacity']
297
+ @EnabledStatus = params['EnabledStatus']
298
+ unless params['ForwardLoadBalancerSet'].nil?
299
+ @ForwardLoadBalancerSet = []
300
+ params['ForwardLoadBalancerSet'].each do |i|
301
+ forwardloadbalancer_tmp = ForwardLoadBalancer.new
302
+ forwardloadbalancer_tmp.deserialize(i)
303
+ @ForwardLoadBalancerSet << forwardloadbalancer_tmp
304
+ end
305
+ end
306
+ @InstanceCount = params['InstanceCount']
307
+ @InServiceInstanceCount = params['InServiceInstanceCount']
308
+ @LaunchConfigurationId = params['LaunchConfigurationId']
309
+ @LaunchConfigurationName = params['LaunchConfigurationName']
310
+ @LoadBalancerIdSet = params['LoadBalancerIdSet']
311
+ @MaxSize = params['MaxSize']
312
+ @MinSize = params['MinSize']
313
+ @ProjectId = params['ProjectId']
314
+ @SubnetIdSet = params['SubnetIdSet']
315
+ @TerminationPolicySet = params['TerminationPolicySet']
316
+ @VpcId = params['VpcId']
317
+ @ZoneSet = params['ZoneSet']
318
+ @RetryPolicy = params['RetryPolicy']
319
+ @InActivityStatus = params['InActivityStatus']
320
+ unless params['Tags'].nil?
321
+ @Tags = []
322
+ params['Tags'].each do |i|
323
+ tag_tmp = Tag.new
324
+ tag_tmp.deserialize(i)
325
+ @Tags << tag_tmp
326
+ end
327
+ end
328
+ unless params['ServiceSettings'].nil?
329
+ @ServiceSettings = ServiceSettings.new
330
+ @ServiceSettings.deserialize(params['ServiceSettings'])
331
+ end
332
+ @Ipv6AddressCount = params['Ipv6AddressCount']
333
+ @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy']
334
+ @HealthCheckType = params['HealthCheckType']
335
+ @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod']
336
+ @InstanceAllocationPolicy = params['InstanceAllocationPolicy']
337
+ unless params['SpotMixedAllocationPolicy'].nil?
338
+ @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new
339
+ @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy'])
340
+ end
341
+ @CapacityRebalance = params['CapacityRebalance']
342
+ end
343
+ end
344
+
345
+ # 伸缩组简明信息。
346
+ class AutoScalingGroupAbstract < TencentCloud::Common::AbstractModel
347
+ # @param AutoScalingGroupId: 伸缩组ID。
348
+ # @type AutoScalingGroupId: String
349
+ # @param AutoScalingGroupName: 伸缩组名称。
350
+ # @type AutoScalingGroupName: String
351
+
352
+ attr_accessor :AutoScalingGroupId, :AutoScalingGroupName
353
+
354
+ def initialize(autoscalinggroupid=nil, autoscalinggroupname=nil)
355
+ @AutoScalingGroupId = autoscalinggroupid
356
+ @AutoScalingGroupName = autoscalinggroupname
357
+ end
358
+
359
+ def deserialize(params)
360
+ @AutoScalingGroupId = params['AutoScalingGroupId']
361
+ @AutoScalingGroupName = params['AutoScalingGroupName']
362
+ end
363
+ end
364
+
365
+ # 弹性伸缩事件通知
366
+ class AutoScalingNotification < TencentCloud::Common::AbstractModel
367
+ # @param AutoScalingGroupId: 伸缩组ID。
368
+ # @type AutoScalingGroupId: String
369
+ # @param NotificationUserGroupIds: 用户组ID列表。
370
+ # @type NotificationUserGroupIds: Array
371
+ # @param NotificationTypes: 通知事件列表。
372
+ # @type NotificationTypes: Array
373
+ # @param AutoScalingNotificationId: 事件通知ID。
374
+ # @type AutoScalingNotificationId: String
375
+ # @param TargetType: 通知接收端类型。
376
+ # @type TargetType: String
377
+ # @param QueueName: CMQ 队列名。
378
+ # @type QueueName: String
379
+ # @param TopicName: CMQ 主题名。
380
+ # @type TopicName: String
381
+
382
+ attr_accessor :AutoScalingGroupId, :NotificationUserGroupIds, :NotificationTypes, :AutoScalingNotificationId, :TargetType, :QueueName, :TopicName
383
+
384
+ def initialize(autoscalinggroupid=nil, notificationusergroupids=nil, notificationtypes=nil, autoscalingnotificationid=nil, targettype=nil, queuename=nil, topicname=nil)
385
+ @AutoScalingGroupId = autoscalinggroupid
386
+ @NotificationUserGroupIds = notificationusergroupids
387
+ @NotificationTypes = notificationtypes
388
+ @AutoScalingNotificationId = autoscalingnotificationid
389
+ @TargetType = targettype
390
+ @QueueName = queuename
391
+ @TopicName = topicname
392
+ end
393
+
394
+ def deserialize(params)
395
+ @AutoScalingGroupId = params['AutoScalingGroupId']
396
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
397
+ @NotificationTypes = params['NotificationTypes']
398
+ @AutoScalingNotificationId = params['AutoScalingNotificationId']
399
+ @TargetType = params['TargetType']
400
+ @QueueName = params['QueueName']
401
+ @TopicName = params['TopicName']
402
+ end
403
+ end
404
+
405
+ # ClearLaunchConfigurationAttributes请求参数结构体
406
+ class ClearLaunchConfigurationAttributesRequest < TencentCloud::Common::AbstractModel
407
+ # @param LaunchConfigurationId: 启动配置ID。
408
+ # @type LaunchConfigurationId: String
409
+ # @param ClearDataDisks: 是否清空数据盘信息,非必填,默认为 false。
410
+ # 填 true 代表清空“数据盘”信息,清空后基于此新创建的云主机将不含有任何数据盘。
411
+ # @type ClearDataDisks: Boolean
412
+ # @param ClearHostNameSettings: 是否清空云服务器主机名相关设置信息,非必填,默认为 false。
413
+ # 填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将不设置主机名。
414
+ # @type ClearHostNameSettings: Boolean
415
+ # @param ClearInstanceNameSettings: 是否清空云服务器实例名相关设置信息,非必填,默认为 false。
416
+ # 填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置。
417
+ # @type ClearInstanceNameSettings: Boolean
418
+
419
+ attr_accessor :LaunchConfigurationId, :ClearDataDisks, :ClearHostNameSettings, :ClearInstanceNameSettings
420
+
421
+ def initialize(launchconfigurationid=nil, cleardatadisks=nil, clearhostnamesettings=nil, clearinstancenamesettings=nil)
422
+ @LaunchConfigurationId = launchconfigurationid
423
+ @ClearDataDisks = cleardatadisks
424
+ @ClearHostNameSettings = clearhostnamesettings
425
+ @ClearInstanceNameSettings = clearinstancenamesettings
426
+ end
427
+
428
+ def deserialize(params)
429
+ @LaunchConfigurationId = params['LaunchConfigurationId']
430
+ @ClearDataDisks = params['ClearDataDisks']
431
+ @ClearHostNameSettings = params['ClearHostNameSettings']
432
+ @ClearInstanceNameSettings = params['ClearInstanceNameSettings']
433
+ end
434
+ end
435
+
436
+ # ClearLaunchConfigurationAttributes返回参数结构体
437
+ class ClearLaunchConfigurationAttributesResponse < TencentCloud::Common::AbstractModel
438
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
439
+ # @type RequestId: String
440
+
441
+ attr_accessor :RequestId
442
+
443
+ def initialize(requestid=nil)
444
+ @RequestId = requestid
445
+ end
446
+
447
+ def deserialize(params)
448
+ @RequestId = params['RequestId']
449
+ end
450
+ end
451
+
452
+ # CompleteLifecycleAction请求参数结构体
453
+ class CompleteLifecycleActionRequest < TencentCloud::Common::AbstractModel
454
+ # @param LifecycleHookId: 生命周期挂钩ID
455
+ # @type LifecycleHookId: String
456
+ # @param LifecycleActionResult: 生命周期动作的结果,取值范围为“CONTINUE”或“ABANDON”
457
+ # @type LifecycleActionResult: String
458
+ # @param InstanceId: 实例ID,“InstanceId”和“LifecycleActionToken”必须填充其中一个
459
+ # @type InstanceId: String
460
+ # @param LifecycleActionToken: “InstanceId”和“LifecycleActionToken”必须填充其中一个
461
+ # @type LifecycleActionToken: String
462
+
463
+ attr_accessor :LifecycleHookId, :LifecycleActionResult, :InstanceId, :LifecycleActionToken
464
+
465
+ def initialize(lifecyclehookid=nil, lifecycleactionresult=nil, instanceid=nil, lifecycleactiontoken=nil)
466
+ @LifecycleHookId = lifecyclehookid
467
+ @LifecycleActionResult = lifecycleactionresult
468
+ @InstanceId = instanceid
469
+ @LifecycleActionToken = lifecycleactiontoken
470
+ end
471
+
472
+ def deserialize(params)
473
+ @LifecycleHookId = params['LifecycleHookId']
474
+ @LifecycleActionResult = params['LifecycleActionResult']
475
+ @InstanceId = params['InstanceId']
476
+ @LifecycleActionToken = params['LifecycleActionToken']
477
+ end
478
+ end
479
+
480
+ # CompleteLifecycleAction返回参数结构体
481
+ class CompleteLifecycleActionResponse < TencentCloud::Common::AbstractModel
482
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
483
+ # @type RequestId: String
484
+
485
+ attr_accessor :RequestId
486
+
487
+ def initialize(requestid=nil)
488
+ @RequestId = requestid
489
+ end
490
+
491
+ def deserialize(params)
492
+ @RequestId = params['RequestId']
493
+ end
494
+ end
495
+
496
+ # CreateAutoScalingGroupFromInstance请求参数结构体
497
+ class CreateAutoScalingGroupFromInstanceRequest < TencentCloud::Common::AbstractModel
498
+ # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。
499
+ # @type AutoScalingGroupName: String
500
+ # @param InstanceId: 实例ID
501
+ # @type InstanceId: String
502
+ # @param MinSize: 最小实例数,取值范围为0-2000。
503
+ # @type MinSize: Integer
504
+ # @param MaxSize: 最大实例数,取值范围为0-2000。
505
+ # @type MaxSize: Integer
506
+ # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间。
507
+ # @type DesiredCapacity: Integer
508
+ # @param InheritInstanceTag: 是否继承实例标签,默认值为False
509
+ # @type InheritInstanceTag: Boolean
510
+
511
+ attr_accessor :AutoScalingGroupName, :InstanceId, :MinSize, :MaxSize, :DesiredCapacity, :InheritInstanceTag
512
+
513
+ def initialize(autoscalinggroupname=nil, instanceid=nil, minsize=nil, maxsize=nil, desiredcapacity=nil, inheritinstancetag=nil)
514
+ @AutoScalingGroupName = autoscalinggroupname
515
+ @InstanceId = instanceid
516
+ @MinSize = minsize
517
+ @MaxSize = maxsize
518
+ @DesiredCapacity = desiredcapacity
519
+ @InheritInstanceTag = inheritinstancetag
520
+ end
521
+
522
+ def deserialize(params)
523
+ @AutoScalingGroupName = params['AutoScalingGroupName']
524
+ @InstanceId = params['InstanceId']
525
+ @MinSize = params['MinSize']
526
+ @MaxSize = params['MaxSize']
527
+ @DesiredCapacity = params['DesiredCapacity']
528
+ @InheritInstanceTag = params['InheritInstanceTag']
529
+ end
530
+ end
531
+
532
+ # CreateAutoScalingGroupFromInstance返回参数结构体
533
+ class CreateAutoScalingGroupFromInstanceResponse < TencentCloud::Common::AbstractModel
534
+ # @param AutoScalingGroupId: 伸缩组ID
535
+ # @type AutoScalingGroupId: String
536
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
537
+ # @type RequestId: String
538
+
539
+ attr_accessor :AutoScalingGroupId, :RequestId
540
+
541
+ def initialize(autoscalinggroupid=nil, requestid=nil)
542
+ @AutoScalingGroupId = autoscalinggroupid
543
+ @RequestId = requestid
544
+ end
545
+
546
+ def deserialize(params)
547
+ @AutoScalingGroupId = params['AutoScalingGroupId']
548
+ @RequestId = params['RequestId']
549
+ end
550
+ end
551
+
552
+ # CreateAutoScalingGroup请求参数结构体
553
+ class CreateAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
554
+ # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。
555
+ # @type AutoScalingGroupName: String
556
+ # @param LaunchConfigurationId: 启动配置ID
557
+ # @type LaunchConfigurationId: String
558
+ # @param MaxSize: 最大实例数,取值范围为0-2000。
559
+ # @type MaxSize: Integer
560
+ # @param MinSize: 最小实例数,取值范围为0-2000。
561
+ # @type MinSize: Integer
562
+ # @param VpcId: VPC ID,基础网络则填空字符串
563
+ # @type VpcId: String
564
+ # @param DefaultCooldown: 默认冷却时间,单位秒,默认值为300
565
+ # @type DefaultCooldown: Integer
566
+ # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间
567
+ # @type DesiredCapacity: Integer
568
+ # @param LoadBalancerIds: 传统负载均衡器ID列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
569
+ # @type LoadBalancerIds: Array
570
+ # @param ProjectId: 伸缩组内实例所属项目ID。不填为默认项目。
571
+ # @type ProjectId: Integer
572
+ # @param ForwardLoadBalancers: 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
573
+ # @type ForwardLoadBalancers: Array
574
+ # @param SubnetIds: 子网ID列表,VPC场景下必须指定子网。多个子网以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。
575
+ # @type SubnetIds: Array
576
+ # @param TerminationPolicies: 销毁策略,目前长度上限为1。取值包括 OLDEST_INSTANCE 和 NEWEST_INSTANCE,默认取值为 OLDEST_INSTANCE。
577
+ # <br><li> OLDEST_INSTANCE 优先销毁伸缩组中最旧的实例。
578
+ # <br><li> NEWEST_INSTANCE,优先销毁伸缩组中最新的实例。
579
+ # @type TerminationPolicies: Array
580
+ # @param Zones: 可用区列表,基础网络场景下必须指定可用区。多个可用区以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。
581
+ # @type Zones: Array
582
+ # @param RetryPolicy: 重试策略,取值包括 IMMEDIATE_RETRY、 INCREMENTAL_INTERVALS、NO_RETRY,默认取值为 IMMEDIATE_RETRY。
583
+ # <br><li> IMMEDIATE_RETRY,立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试。
584
+ # <br><li> INCREMENTAL_INTERVALS,间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,重试间隔从秒级到1天不等。
585
+ # <br><li> NO_RETRY,不进行重试,直到再次收到用户调用或者告警信息后才会重试。
586
+ # @type RetryPolicy: String
587
+ # @param ZonesCheckPolicy: 可用区校验策略,取值包括 ALL 和 ANY,默认取值为ANY。
588
+ # <br><li> ALL,所有可用区(Zone)或子网(SubnetId)都可用则通过校验,否则校验报错。
589
+ # <br><li> ANY,存在任何一个可用区(Zone)或子网(SubnetId)可用则通过校验,否则校验报错。
590
+
591
+ # 可用区或子网不可用的常见原因包括该可用区CVM实例类型售罄、该可用区CBS云盘售罄、该可用区配额不足、该子网IP不足等。
592
+ # 如果 Zones/SubnetIds 中可用区或者子网不存在,则无论 ZonesCheckPolicy 采用何种取值,都会校验报错。
593
+ # @type ZonesCheckPolicy: String
594
+ # @param Tags: 标签描述列表。通过指定该参数可以支持绑定标签到伸缩组。同时绑定标签到相应的资源实例。每个伸缩组最多支持30个标签。
595
+ # @type Tags: Array
596
+ # @param ServiceSettings: 服务设置,包括云监控不健康替换等服务设置。
597
+ # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings`
598
+ # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置,取值包括 0、1,默认值为0。
599
+ # @type Ipv6AddressCount: Integer
600
+ # @param MultiZoneSubnetPolicy: 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。
601
+ # <br><li> PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。
602
+ # <br><li> EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。
603
+
604
+ # 与本策略相关的注意点:
605
+ # <br><li> 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。
606
+ # <br><li> 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。
607
+ # <br><li> 创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3(按照PRIORITY策略),会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。
608
+ # <br><li> 无论使用哪种策略,单次伸缩活动总是优先保持使用一种具体配置(机型 * 可用区/子网)。
609
+ # @type MultiZoneSubnetPolicy: String
610
+ # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:<br><li>CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)<br><li>CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097) <br>如果选择了`CLB`类型,伸缩组将同时检查实例网络状态与CLB健康检查状态,如果出现实例网络状态不健康,实例将被标记为 UNHEALTHY 状态;如果出现 CLB 健康检查状态异常,实例将被标记为CLB_UNHEALTHY 状态,如果两个异常状态同时出现,实例`HealthStatus`字段将返回 UNHEALTHY|CLB_UNHEALTHY。默认值:CLB
611
+ # @type HealthCheckType: String
612
+ # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期,当扩容的实例进入`IN_SERVICE`后,在宽限期时间范围内将不会被标记为不健康`CLB_UNHEALTHY`。<br>默认值:0。取值范围[0, 7200],单位:秒。
613
+ # @type LoadBalancerHealthCheckGracePeriod: Integer
614
+ # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED,默认取 LAUNCH_CONFIGURATION。
615
+ # <br><li> LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。
616
+ # <br><li> SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。
617
+ # @type InstanceAllocationPolicy: String
618
+ # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。
619
+ # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。
620
+ # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy`
621
+ # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围:
622
+ # <br><li> TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。
623
+ # <br><li> FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。
624
+
625
+ # 默认取 FALSE。
626
+ # @type CapacityRebalance: Boolean
627
+
628
+ 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
629
+
630
+ 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)
631
+ @AutoScalingGroupName = autoscalinggroupname
632
+ @LaunchConfigurationId = launchconfigurationid
633
+ @MaxSize = maxsize
634
+ @MinSize = minsize
635
+ @VpcId = vpcid
636
+ @DefaultCooldown = defaultcooldown
637
+ @DesiredCapacity = desiredcapacity
638
+ @LoadBalancerIds = loadbalancerids
639
+ @ProjectId = projectid
640
+ @ForwardLoadBalancers = forwardloadbalancers
641
+ @SubnetIds = subnetids
642
+ @TerminationPolicies = terminationpolicies
643
+ @Zones = zones
644
+ @RetryPolicy = retrypolicy
645
+ @ZonesCheckPolicy = zonescheckpolicy
646
+ @Tags = tags
647
+ @ServiceSettings = servicesettings
648
+ @Ipv6AddressCount = ipv6addresscount
649
+ @MultiZoneSubnetPolicy = multizonesubnetpolicy
650
+ @HealthCheckType = healthchecktype
651
+ @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod
652
+ @InstanceAllocationPolicy = instanceallocationpolicy
653
+ @SpotMixedAllocationPolicy = spotmixedallocationpolicy
654
+ @CapacityRebalance = capacityrebalance
655
+ end
656
+
657
+ def deserialize(params)
658
+ @AutoScalingGroupName = params['AutoScalingGroupName']
659
+ @LaunchConfigurationId = params['LaunchConfigurationId']
660
+ @MaxSize = params['MaxSize']
661
+ @MinSize = params['MinSize']
662
+ @VpcId = params['VpcId']
663
+ @DefaultCooldown = params['DefaultCooldown']
664
+ @DesiredCapacity = params['DesiredCapacity']
665
+ @LoadBalancerIds = params['LoadBalancerIds']
666
+ @ProjectId = params['ProjectId']
667
+ unless params['ForwardLoadBalancers'].nil?
668
+ @ForwardLoadBalancers = []
669
+ params['ForwardLoadBalancers'].each do |i|
670
+ forwardloadbalancer_tmp = ForwardLoadBalancer.new
671
+ forwardloadbalancer_tmp.deserialize(i)
672
+ @ForwardLoadBalancers << forwardloadbalancer_tmp
673
+ end
674
+ end
675
+ @SubnetIds = params['SubnetIds']
676
+ @TerminationPolicies = params['TerminationPolicies']
677
+ @Zones = params['Zones']
678
+ @RetryPolicy = params['RetryPolicy']
679
+ @ZonesCheckPolicy = params['ZonesCheckPolicy']
680
+ unless params['Tags'].nil?
681
+ @Tags = []
682
+ params['Tags'].each do |i|
683
+ tag_tmp = Tag.new
684
+ tag_tmp.deserialize(i)
685
+ @Tags << tag_tmp
686
+ end
687
+ end
688
+ unless params['ServiceSettings'].nil?
689
+ @ServiceSettings = ServiceSettings.new
690
+ @ServiceSettings.deserialize(params['ServiceSettings'])
691
+ end
692
+ @Ipv6AddressCount = params['Ipv6AddressCount']
693
+ @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy']
694
+ @HealthCheckType = params['HealthCheckType']
695
+ @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod']
696
+ @InstanceAllocationPolicy = params['InstanceAllocationPolicy']
697
+ unless params['SpotMixedAllocationPolicy'].nil?
698
+ @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new
699
+ @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy'])
700
+ end
701
+ @CapacityRebalance = params['CapacityRebalance']
702
+ end
703
+ end
704
+
705
+ # CreateAutoScalingGroup返回参数结构体
706
+ class CreateAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
707
+ # @param AutoScalingGroupId: 伸缩组ID
708
+ # @type AutoScalingGroupId: String
709
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
710
+ # @type RequestId: String
711
+
712
+ attr_accessor :AutoScalingGroupId, :RequestId
713
+
714
+ def initialize(autoscalinggroupid=nil, requestid=nil)
715
+ @AutoScalingGroupId = autoscalinggroupid
716
+ @RequestId = requestid
717
+ end
718
+
719
+ def deserialize(params)
720
+ @AutoScalingGroupId = params['AutoScalingGroupId']
721
+ @RequestId = params['RequestId']
722
+ end
723
+ end
724
+
725
+ # CreateLaunchConfiguration请求参数结构体
726
+ class CreateLaunchConfigurationRequest < TencentCloud::Common::AbstractModel
727
+ # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。
728
+ # @type LaunchConfigurationName: String
729
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID:<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。</li>
730
+ # @type ImageId: String
731
+ # @param ProjectId: 启动配置所属项目ID。不填为默认项目。
732
+ # 注意:伸缩组内实例所属项目ID取伸缩组项目ID,与这里取值无关。
733
+ # @type ProjectId: Integer
734
+ # @param InstanceType: 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口 [DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749) 来获得最新的规格表或参见[实例类型](https://cloud.tencent.com/document/product/213/11518)描述。
735
+ # `InstanceType`和`InstanceTypes`参数互斥,二者必填一个且只能填写一个。
736
+ # @type InstanceType: String
737
+ # @param SystemDisk: 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
738
+ # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk`
739
+ # @param DataDisks: 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘,最多支持指定11块数据盘。
740
+ # @type DataDisks: Array
741
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
742
+ # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible`
743
+ # @param LoginSettings: 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。
744
+ # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LoginSettings`
745
+ # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。若不指定该参数,则默认不绑定安全组。
746
+ # @type SecurityGroupIds: Array
747
+ # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
748
+ # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService`
749
+ # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。
750
+ # @type UserData: String
751
+ # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。
752
+ # <br><li>POSTPAID_BY_HOUR:按小时后付费
753
+ # <br><li>SPOTPAID:竞价付费
754
+ # <br><li>PREPAID:预付费,即包年包月
755
+ # @type InstanceChargeType: String
756
+ # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。
757
+ # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest`
758
+ # @param InstanceTypes: 实例机型列表,不同实例机型指定了不同的资源规格,最多支持10种实例机型。
759
+ # `InstanceType`和`InstanceTypes`参数互斥,二者必填一个且只能填写一个。
760
+ # @type InstanceTypes: Array
761
+ # @param InstanceTypesCheckPolicy: 实例类型校验策略,取值包括 ALL 和 ANY,默认取值为ANY。
762
+ # <br><li> ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。
763
+ # <br><li> ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。
764
+
765
+ # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。
766
+ # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。
767
+ # @type InstanceTypesCheckPolicy: String
768
+ # @param InstanceTags: 标签列表。通过指定该参数,可以为扩容的实例绑定标签。最多支持指定10个标签。
769
+ # @type InstanceTags: Array
770
+ # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。
771
+ # @type CamRoleName: String
772
+ # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。
773
+ # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings`
774
+ # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。
775
+ # 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。
776
+ # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings`
777
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
778
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid`
779
+ # @param DiskTypePolicy: 云盘类型选择策略,默认取值 ORIGINAL,取值范围:
780
+ # <br><li>ORIGINAL:使用设置的云盘类型
781
+ # <br><li>AUTOMATIC:自动选择当前可用的云盘类型
782
+ # @type DiskTypePolicy: String
783
+
784
+ attr_accessor :LaunchConfigurationName, :ImageId, :ProjectId, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :LoginSettings, :SecurityGroupIds, :EnhancedService, :UserData, :InstanceChargeType, :InstanceMarketOptions, :InstanceTypes, :InstanceTypesCheckPolicy, :InstanceTags, :CamRoleName, :HostNameSettings, :InstanceNameSettings, :InstanceChargePrepaid, :DiskTypePolicy
785
+
786
+ 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)
787
+ @LaunchConfigurationName = launchconfigurationname
788
+ @ImageId = imageid
789
+ @ProjectId = projectid
790
+ @InstanceType = instancetype
791
+ @SystemDisk = systemdisk
792
+ @DataDisks = datadisks
793
+ @InternetAccessible = internetaccessible
794
+ @LoginSettings = loginsettings
795
+ @SecurityGroupIds = securitygroupids
796
+ @EnhancedService = enhancedservice
797
+ @UserData = userdata
798
+ @InstanceChargeType = instancechargetype
799
+ @InstanceMarketOptions = instancemarketoptions
800
+ @InstanceTypes = instancetypes
801
+ @InstanceTypesCheckPolicy = instancetypescheckpolicy
802
+ @InstanceTags = instancetags
803
+ @CamRoleName = camrolename
804
+ @HostNameSettings = hostnamesettings
805
+ @InstanceNameSettings = instancenamesettings
806
+ @InstanceChargePrepaid = instancechargeprepaid
807
+ @DiskTypePolicy = disktypepolicy
808
+ end
809
+
810
+ def deserialize(params)
811
+ @LaunchConfigurationName = params['LaunchConfigurationName']
812
+ @ImageId = params['ImageId']
813
+ @ProjectId = params['ProjectId']
814
+ @InstanceType = params['InstanceType']
815
+ unless params['SystemDisk'].nil?
816
+ @SystemDisk = SystemDisk.new
817
+ @SystemDisk.deserialize(params['SystemDisk'])
818
+ end
819
+ unless params['DataDisks'].nil?
820
+ @DataDisks = []
821
+ params['DataDisks'].each do |i|
822
+ datadisk_tmp = DataDisk.new
823
+ datadisk_tmp.deserialize(i)
824
+ @DataDisks << datadisk_tmp
825
+ end
826
+ end
827
+ unless params['InternetAccessible'].nil?
828
+ @InternetAccessible = InternetAccessible.new
829
+ @InternetAccessible.deserialize(params['InternetAccessible'])
830
+ end
831
+ unless params['LoginSettings'].nil?
832
+ @LoginSettings = LoginSettings.new
833
+ @LoginSettings.deserialize(params['LoginSettings'])
834
+ end
835
+ @SecurityGroupIds = params['SecurityGroupIds']
836
+ unless params['EnhancedService'].nil?
837
+ @EnhancedService = EnhancedService.new
838
+ @EnhancedService.deserialize(params['EnhancedService'])
839
+ end
840
+ @UserData = params['UserData']
841
+ @InstanceChargeType = params['InstanceChargeType']
842
+ unless params['InstanceMarketOptions'].nil?
843
+ @InstanceMarketOptions = InstanceMarketOptionsRequest.new
844
+ @InstanceMarketOptions.deserialize(params['InstanceMarketOptions'])
845
+ end
846
+ @InstanceTypes = params['InstanceTypes']
847
+ @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy']
848
+ unless params['InstanceTags'].nil?
849
+ @InstanceTags = []
850
+ params['InstanceTags'].each do |i|
851
+ instancetag_tmp = InstanceTag.new
852
+ instancetag_tmp.deserialize(i)
853
+ @InstanceTags << instancetag_tmp
854
+ end
855
+ end
856
+ @CamRoleName = params['CamRoleName']
857
+ unless params['HostNameSettings'].nil?
858
+ @HostNameSettings = HostNameSettings.new
859
+ @HostNameSettings.deserialize(params['HostNameSettings'])
860
+ end
861
+ unless params['InstanceNameSettings'].nil?
862
+ @InstanceNameSettings = InstanceNameSettings.new
863
+ @InstanceNameSettings.deserialize(params['InstanceNameSettings'])
864
+ end
865
+ unless params['InstanceChargePrepaid'].nil?
866
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
867
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
868
+ end
869
+ @DiskTypePolicy = params['DiskTypePolicy']
870
+ end
871
+ end
872
+
873
+ # CreateLaunchConfiguration返回参数结构体
874
+ class CreateLaunchConfigurationResponse < TencentCloud::Common::AbstractModel
875
+ # @param LaunchConfigurationId: 当通过本接口来创建启动配置时会返回该参数,表示启动配置ID。
876
+ # @type LaunchConfigurationId: String
877
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
878
+ # @type RequestId: String
879
+
880
+ attr_accessor :LaunchConfigurationId, :RequestId
881
+
882
+ def initialize(launchconfigurationid=nil, requestid=nil)
883
+ @LaunchConfigurationId = launchconfigurationid
884
+ @RequestId = requestid
885
+ end
886
+
887
+ def deserialize(params)
888
+ @LaunchConfigurationId = params['LaunchConfigurationId']
889
+ @RequestId = params['RequestId']
890
+ end
891
+ end
892
+
893
+ # CreateLifecycleHook请求参数结构体
894
+ class CreateLifecycleHookRequest < TencentCloud::Common::AbstractModel
895
+ # @param AutoScalingGroupId: 伸缩组ID
896
+ # @type AutoScalingGroupId: String
897
+ # @param LifecycleHookName: 生命周期挂钩名称。名称仅支持中文、英文、数字、下划线(_)、短横线(-)、小数点(.),最大长度不能超128个字节。
898
+ # @type LifecycleHookName: String
899
+ # @param LifecycleTransition: 进行生命周期挂钩的场景,取值范围包括 INSTANCE_LAUNCHING 和 INSTANCE_TERMINATING
900
+ # @type LifecycleTransition: String
901
+ # @param DefaultResult: 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值范围是 CONTINUE 或 ABANDON,默认值为 CONTINUE
902
+ # @type DefaultResult: String
903
+ # @param HeartbeatTimeout: 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从30到7200秒,默认值为300秒
904
+ # @type HeartbeatTimeout: Integer
905
+ # @param NotificationMetadata: 弹性伸缩向通知目标发送的附加信息,默认值为空字符串""。最大长度不能超过1024个字节。
906
+ # @type NotificationMetadata: String
907
+ # @param NotificationTarget: 通知目标
908
+ # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget`
909
+ # @param LifecycleTransitionType: 进行生命周期挂钩的场景类型,取值范围包括NORMAL 和 EXTENSION。说明:设置为EXTENSION值,在AttachInstances、DetachInstances、RemoveInstaces接口时会触发生命周期挂钩操作,值为NORMAL则不会在这些接口中触发生命周期挂钩。
910
+ # @type LifecycleTransitionType: String
911
+
912
+ attr_accessor :AutoScalingGroupId, :LifecycleHookName, :LifecycleTransition, :DefaultResult, :HeartbeatTimeout, :NotificationMetadata, :NotificationTarget, :LifecycleTransitionType
913
+
914
+ def initialize(autoscalinggroupid=nil, lifecyclehookname=nil, lifecycletransition=nil, defaultresult=nil, heartbeattimeout=nil, notificationmetadata=nil, notificationtarget=nil, lifecycletransitiontype=nil)
915
+ @AutoScalingGroupId = autoscalinggroupid
916
+ @LifecycleHookName = lifecyclehookname
917
+ @LifecycleTransition = lifecycletransition
918
+ @DefaultResult = defaultresult
919
+ @HeartbeatTimeout = heartbeattimeout
920
+ @NotificationMetadata = notificationmetadata
921
+ @NotificationTarget = notificationtarget
922
+ @LifecycleTransitionType = lifecycletransitiontype
923
+ end
924
+
925
+ def deserialize(params)
926
+ @AutoScalingGroupId = params['AutoScalingGroupId']
927
+ @LifecycleHookName = params['LifecycleHookName']
928
+ @LifecycleTransition = params['LifecycleTransition']
929
+ @DefaultResult = params['DefaultResult']
930
+ @HeartbeatTimeout = params['HeartbeatTimeout']
931
+ @NotificationMetadata = params['NotificationMetadata']
932
+ unless params['NotificationTarget'].nil?
933
+ @NotificationTarget = NotificationTarget.new
934
+ @NotificationTarget.deserialize(params['NotificationTarget'])
935
+ end
936
+ @LifecycleTransitionType = params['LifecycleTransitionType']
937
+ end
938
+ end
939
+
940
+ # CreateLifecycleHook返回参数结构体
941
+ class CreateLifecycleHookResponse < TencentCloud::Common::AbstractModel
942
+ # @param LifecycleHookId: 生命周期挂钩ID
943
+ # @type LifecycleHookId: String
944
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
945
+ # @type RequestId: String
946
+
947
+ attr_accessor :LifecycleHookId, :RequestId
948
+
949
+ def initialize(lifecyclehookid=nil, requestid=nil)
950
+ @LifecycleHookId = lifecyclehookid
951
+ @RequestId = requestid
952
+ end
953
+
954
+ def deserialize(params)
955
+ @LifecycleHookId = params['LifecycleHookId']
956
+ @RequestId = params['RequestId']
957
+ end
958
+ end
959
+
960
+ # CreateNotificationConfiguration请求参数结构体
961
+ class CreateNotificationConfigurationRequest < TencentCloud::Common::AbstractModel
962
+ # @param AutoScalingGroupId: 伸缩组ID。
963
+ # @type AutoScalingGroupId: String
964
+ # @param NotificationTypes: 通知类型,即为需要订阅的通知类型集合,取值范围如下:
965
+ # <li>SCALE_OUT_SUCCESSFUL:扩容成功</li>
966
+ # <li>SCALE_OUT_FAILED:扩容失败</li>
967
+ # <li>SCALE_IN_SUCCESSFUL:缩容成功</li>
968
+ # <li>SCALE_IN_FAILED:缩容失败</li>
969
+ # <li>REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功</li>
970
+ # <li>REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败</li>
971
+ # @type NotificationTypes: Array
972
+ # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。
973
+ # @type NotificationUserGroupIds: Array
974
+ # @param TargetType: 通知接收端类型,取值:`USER_GROUP`,`CMQ_QUEUE`,`CMQ_TOPIC`。默认值为:`USER_GROUP`。
975
+ # @type TargetType: String
976
+ # @param QueueName: CMQ 队列名称,如 TargetType 取值为 `CMQ_QUEUE`,该字段必填。
977
+ # @type QueueName: String
978
+ # @param TopicName: CMQ 主题名称,如 TargetType 取值为 `CMQ_TOPIC`,该字段必填。
979
+ # @type TopicName: String
980
+
981
+ attr_accessor :AutoScalingGroupId, :NotificationTypes, :NotificationUserGroupIds, :TargetType, :QueueName, :TopicName
982
+
983
+ def initialize(autoscalinggroupid=nil, notificationtypes=nil, notificationusergroupids=nil, targettype=nil, queuename=nil, topicname=nil)
984
+ @AutoScalingGroupId = autoscalinggroupid
985
+ @NotificationTypes = notificationtypes
986
+ @NotificationUserGroupIds = notificationusergroupids
987
+ @TargetType = targettype
988
+ @QueueName = queuename
989
+ @TopicName = topicname
990
+ end
991
+
992
+ def deserialize(params)
993
+ @AutoScalingGroupId = params['AutoScalingGroupId']
994
+ @NotificationTypes = params['NotificationTypes']
995
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
996
+ @TargetType = params['TargetType']
997
+ @QueueName = params['QueueName']
998
+ @TopicName = params['TopicName']
999
+ end
1000
+ end
1001
+
1002
+ # CreateNotificationConfiguration返回参数结构体
1003
+ class CreateNotificationConfigurationResponse < TencentCloud::Common::AbstractModel
1004
+ # @param AutoScalingNotificationId: 通知ID。
1005
+ # @type AutoScalingNotificationId: String
1006
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1007
+ # @type RequestId: String
1008
+
1009
+ attr_accessor :AutoScalingNotificationId, :RequestId
1010
+
1011
+ def initialize(autoscalingnotificationid=nil, requestid=nil)
1012
+ @AutoScalingNotificationId = autoscalingnotificationid
1013
+ @RequestId = requestid
1014
+ end
1015
+
1016
+ def deserialize(params)
1017
+ @AutoScalingNotificationId = params['AutoScalingNotificationId']
1018
+ @RequestId = params['RequestId']
1019
+ end
1020
+ end
1021
+
1022
+ # CreatePaiInstance请求参数结构体
1023
+ class CreatePaiInstanceRequest < TencentCloud::Common::AbstractModel
1024
+ # @param DomainName: PAI实例的域名。
1025
+ # @type DomainName: String
1026
+ # @param InternetAccessible: 公网带宽相关信息设置。
1027
+ # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible`
1028
+ # @param InitScript: 启动脚本的base64编码字符串。
1029
+ # @type InitScript: String
1030
+ # @param Zones: 可用区列表。
1031
+ # @type Zones: Array
1032
+ # @param VpcId: VPC ID。
1033
+ # @type VpcId: String
1034
+ # @param SubnetIds: 子网列表。
1035
+ # @type SubnetIds: Array
1036
+ # @param InstanceName: 实例显示名称。
1037
+ # @type InstanceName: String
1038
+ # @param InstanceTypes: 实例机型列表。
1039
+ # @type InstanceTypes: Array
1040
+ # @param LoginSettings: 实例登录设置。
1041
+ # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LoginSettings`
1042
+ # @param InstanceChargeType: 实例计费类型。
1043
+ # @type InstanceChargeType: String
1044
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
1045
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid`
1046
+
1047
+ attr_accessor :DomainName, :InternetAccessible, :InitScript, :Zones, :VpcId, :SubnetIds, :InstanceName, :InstanceTypes, :LoginSettings, :InstanceChargeType, :InstanceChargePrepaid
1048
+
1049
+ def initialize(domainname=nil, internetaccessible=nil, initscript=nil, zones=nil, vpcid=nil, subnetids=nil, instancename=nil, instancetypes=nil, loginsettings=nil, instancechargetype=nil, instancechargeprepaid=nil)
1050
+ @DomainName = domainname
1051
+ @InternetAccessible = internetaccessible
1052
+ @InitScript = initscript
1053
+ @Zones = zones
1054
+ @VpcId = vpcid
1055
+ @SubnetIds = subnetids
1056
+ @InstanceName = instancename
1057
+ @InstanceTypes = instancetypes
1058
+ @LoginSettings = loginsettings
1059
+ @InstanceChargeType = instancechargetype
1060
+ @InstanceChargePrepaid = instancechargeprepaid
1061
+ end
1062
+
1063
+ def deserialize(params)
1064
+ @DomainName = params['DomainName']
1065
+ unless params['InternetAccessible'].nil?
1066
+ @InternetAccessible = InternetAccessible.new
1067
+ @InternetAccessible.deserialize(params['InternetAccessible'])
1068
+ end
1069
+ @InitScript = params['InitScript']
1070
+ @Zones = params['Zones']
1071
+ @VpcId = params['VpcId']
1072
+ @SubnetIds = params['SubnetIds']
1073
+ @InstanceName = params['InstanceName']
1074
+ @InstanceTypes = params['InstanceTypes']
1075
+ unless params['LoginSettings'].nil?
1076
+ @LoginSettings = LoginSettings.new
1077
+ @LoginSettings.deserialize(params['LoginSettings'])
1078
+ end
1079
+ @InstanceChargeType = params['InstanceChargeType']
1080
+ unless params['InstanceChargePrepaid'].nil?
1081
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
1082
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
1083
+ end
1084
+ end
1085
+ end
1086
+
1087
+ # CreatePaiInstance返回参数结构体
1088
+ class CreatePaiInstanceResponse < TencentCloud::Common::AbstractModel
1089
+ # @param InstanceIdSet: 当通过本接口来创建实例时会返回该参数,表示一个或多个实例`ID`。返回实例`ID`列表并不代表实例创建成功,可根据 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口查询返回的InstancesSet中对应实例的`ID`的状态来判断创建是否完成;如果实例状态由“准备中”变为“正在运行”,则为创建成功。
1090
+ # @type InstanceIdSet: Array
1091
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1092
+ # @type RequestId: String
1093
+
1094
+ attr_accessor :InstanceIdSet, :RequestId
1095
+
1096
+ def initialize(instanceidset=nil, requestid=nil)
1097
+ @InstanceIdSet = instanceidset
1098
+ @RequestId = requestid
1099
+ end
1100
+
1101
+ def deserialize(params)
1102
+ @InstanceIdSet = params['InstanceIdSet']
1103
+ @RequestId = params['RequestId']
1104
+ end
1105
+ end
1106
+
1107
+ # CreateScalingPolicy请求参数结构体
1108
+ class CreateScalingPolicyRequest < TencentCloud::Common::AbstractModel
1109
+ # @param AutoScalingGroupId: 伸缩组ID。
1110
+ # @type AutoScalingGroupId: String
1111
+ # @param ScalingPolicyName: 告警触发策略名称。
1112
+ # @type ScalingPolicyName: String
1113
+ # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :<br><li>CHANGE_IN_CAPACITY:增加或减少若干期望实例数</li><li>EXACT_CAPACITY:调整至指定期望实例数</li> <li>PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数</li>
1114
+ # @type AdjustmentType: String
1115
+ # @param AdjustmentValue: 告警触发后,期望实例数的调整值。取值:<br><li>当 AdjustmentType 为 CHANGE_IN_CAPACITY 时,AdjustmentValue 为正数表示告警触发后增加实例,为负数表示告警触发后减少实例 </li> <li> 当 AdjustmentType 为 EXACT_CAPACITY 时,AdjustmentValue 的值即为告警触发后新的期望实例数,需要大于或等于0 </li> <li> 当 AdjustmentType 为 PERCENT_CHANGE_IN_CAPACITY 时,AdjusmentValue 为正数表示告警触发后按百分比增加实例,为负数表示告警触发后按百分比减少实例,单位是:%。
1116
+ # @type AdjustmentValue: Integer
1117
+ # @param MetricAlarm: 告警监控指标。
1118
+ # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm`
1119
+ # @param Cooldown: 冷却时间,单位为秒。默认冷却时间300秒。
1120
+ # @type Cooldown: Integer
1121
+ # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。
1122
+ # @type NotificationUserGroupIds: Array
1123
+
1124
+ attr_accessor :AutoScalingGroupId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :MetricAlarm, :Cooldown, :NotificationUserGroupIds
1125
+
1126
+ def initialize(autoscalinggroupid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, metricalarm=nil, cooldown=nil, notificationusergroupids=nil)
1127
+ @AutoScalingGroupId = autoscalinggroupid
1128
+ @ScalingPolicyName = scalingpolicyname
1129
+ @AdjustmentType = adjustmenttype
1130
+ @AdjustmentValue = adjustmentvalue
1131
+ @MetricAlarm = metricalarm
1132
+ @Cooldown = cooldown
1133
+ @NotificationUserGroupIds = notificationusergroupids
1134
+ end
1135
+
1136
+ def deserialize(params)
1137
+ @AutoScalingGroupId = params['AutoScalingGroupId']
1138
+ @ScalingPolicyName = params['ScalingPolicyName']
1139
+ @AdjustmentType = params['AdjustmentType']
1140
+ @AdjustmentValue = params['AdjustmentValue']
1141
+ unless params['MetricAlarm'].nil?
1142
+ @MetricAlarm = MetricAlarm.new
1143
+ @MetricAlarm.deserialize(params['MetricAlarm'])
1144
+ end
1145
+ @Cooldown = params['Cooldown']
1146
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
1147
+ end
1148
+ end
1149
+
1150
+ # CreateScalingPolicy返回参数结构体
1151
+ class CreateScalingPolicyResponse < TencentCloud::Common::AbstractModel
1152
+ # @param AutoScalingPolicyId: 告警触发策略ID。
1153
+ # @type AutoScalingPolicyId: String
1154
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1155
+ # @type RequestId: String
1156
+
1157
+ attr_accessor :AutoScalingPolicyId, :RequestId
1158
+
1159
+ def initialize(autoscalingpolicyid=nil, requestid=nil)
1160
+ @AutoScalingPolicyId = autoscalingpolicyid
1161
+ @RequestId = requestid
1162
+ end
1163
+
1164
+ def deserialize(params)
1165
+ @AutoScalingPolicyId = params['AutoScalingPolicyId']
1166
+ @RequestId = params['RequestId']
1167
+ end
1168
+ end
1169
+
1170
+ # CreateScheduledAction请求参数结构体
1171
+ class CreateScheduledActionRequest < TencentCloud::Common::AbstractModel
1172
+ # @param AutoScalingGroupId: 伸缩组ID
1173
+ # @type AutoScalingGroupId: String
1174
+ # @param ScheduledActionName: 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。
1175
+ # @type ScheduledActionName: String
1176
+ # @param MaxSize: 当定时任务触发时,设置的伸缩组最大实例数。
1177
+ # @type MaxSize: Integer
1178
+ # @param MinSize: 当定时任务触发时,设置的伸缩组最小实例数。
1179
+ # @type MinSize: Integer
1180
+ # @param DesiredCapacity: 当定时任务触发时,设置的伸缩组期望实例数。
1181
+ # @type DesiredCapacity: Integer
1182
+ # @param StartTime: 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。
1183
+ # @type StartTime: String
1184
+ # @param EndTime: 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。<br><br>此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。
1185
+ # @type EndTime: String
1186
+ # @param Recurrence: 定时任务的重复方式。为标准 Cron 格式<br><br>此参数与`EndTime`需要同时指定。
1187
+ # @type Recurrence: String
1188
+
1189
+ attr_accessor :AutoScalingGroupId, :ScheduledActionName, :MaxSize, :MinSize, :DesiredCapacity, :StartTime, :EndTime, :Recurrence
1190
+
1191
+ def initialize(autoscalinggroupid=nil, scheduledactionname=nil, maxsize=nil, minsize=nil, desiredcapacity=nil, starttime=nil, endtime=nil, recurrence=nil)
1192
+ @AutoScalingGroupId = autoscalinggroupid
1193
+ @ScheduledActionName = scheduledactionname
1194
+ @MaxSize = maxsize
1195
+ @MinSize = minsize
1196
+ @DesiredCapacity = desiredcapacity
1197
+ @StartTime = starttime
1198
+ @EndTime = endtime
1199
+ @Recurrence = recurrence
1200
+ end
1201
+
1202
+ def deserialize(params)
1203
+ @AutoScalingGroupId = params['AutoScalingGroupId']
1204
+ @ScheduledActionName = params['ScheduledActionName']
1205
+ @MaxSize = params['MaxSize']
1206
+ @MinSize = params['MinSize']
1207
+ @DesiredCapacity = params['DesiredCapacity']
1208
+ @StartTime = params['StartTime']
1209
+ @EndTime = params['EndTime']
1210
+ @Recurrence = params['Recurrence']
1211
+ end
1212
+ end
1213
+
1214
+ # CreateScheduledAction返回参数结构体
1215
+ class CreateScheduledActionResponse < TencentCloud::Common::AbstractModel
1216
+ # @param ScheduledActionId: 定时任务ID
1217
+ # @type ScheduledActionId: String
1218
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1219
+ # @type RequestId: String
1220
+
1221
+ attr_accessor :ScheduledActionId, :RequestId
1222
+
1223
+ def initialize(scheduledactionid=nil, requestid=nil)
1224
+ @ScheduledActionId = scheduledactionid
1225
+ @RequestId = requestid
1226
+ end
1227
+
1228
+ def deserialize(params)
1229
+ @ScheduledActionId = params['ScheduledActionId']
1230
+ @RequestId = params['RequestId']
1231
+ end
1232
+ end
1233
+
1234
+ # 启动配置的数据盘配置信息。若不指定该参数,则默认不购买数据盘,当前仅支持购买的时候指定一个数据盘。
1235
+ class DataDisk < TencentCloud::Common::AbstractModel
1236
+ # @param DiskType: 数据盘类型。数据盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:<br><li>LOCAL_BASIC:本地硬盘<br><li>LOCAL_SSD:本地SSD硬盘<br><li>CLOUD_BASIC:普通云硬盘<br><li>CLOUD_PREMIUM:高性能云硬盘<br><li>CLOUD_SSD:SSD云硬盘<br><br>默认取值与系统盘类型(SystemDisk.DiskType)保持一致。
1237
+ # 注意:此字段可能返回 null,表示取不到有效值。
1238
+ # @type DiskType: String
1239
+ # @param DiskSize: 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)。默认值为0,表示不购买数据盘。更多限制详见产品文档。
1240
+ # 注意:此字段可能返回 null,表示取不到有效值。
1241
+ # @type DiskSize: Integer
1242
+ # @param SnapshotId: 数据盘快照 ID,类似 `snap-l8psqwnt`。
1243
+ # 注意:此字段可能返回 null,表示取不到有效值。
1244
+ # @type SnapshotId: String
1245
+
1246
+ attr_accessor :DiskType, :DiskSize, :SnapshotId
1247
+
1248
+ def initialize(disktype=nil, disksize=nil, snapshotid=nil)
1249
+ @DiskType = disktype
1250
+ @DiskSize = disksize
1251
+ @SnapshotId = snapshotid
1252
+ end
1253
+
1254
+ def deserialize(params)
1255
+ @DiskType = params['DiskType']
1256
+ @DiskSize = params['DiskSize']
1257
+ @SnapshotId = params['SnapshotId']
1258
+ end
1259
+ end
1260
+
1261
+ # DeleteAutoScalingGroup请求参数结构体
1262
+ class DeleteAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
1263
+ # @param AutoScalingGroupId: 伸缩组ID
1264
+ # @type AutoScalingGroupId: String
1265
+
1266
+ attr_accessor :AutoScalingGroupId
1267
+
1268
+ def initialize(autoscalinggroupid=nil)
1269
+ @AutoScalingGroupId = autoscalinggroupid
1270
+ end
1271
+
1272
+ def deserialize(params)
1273
+ @AutoScalingGroupId = params['AutoScalingGroupId']
1274
+ end
1275
+ end
1276
+
1277
+ # DeleteAutoScalingGroup返回参数结构体
1278
+ class DeleteAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
1279
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1280
+ # @type RequestId: String
1281
+
1282
+ attr_accessor :RequestId
1283
+
1284
+ def initialize(requestid=nil)
1285
+ @RequestId = requestid
1286
+ end
1287
+
1288
+ def deserialize(params)
1289
+ @RequestId = params['RequestId']
1290
+ end
1291
+ end
1292
+
1293
+ # DeleteLaunchConfiguration请求参数结构体
1294
+ class DeleteLaunchConfigurationRequest < TencentCloud::Common::AbstractModel
1295
+ # @param LaunchConfigurationId: 需要删除的启动配置ID。
1296
+ # @type LaunchConfigurationId: String
1297
+
1298
+ attr_accessor :LaunchConfigurationId
1299
+
1300
+ def initialize(launchconfigurationid=nil)
1301
+ @LaunchConfigurationId = launchconfigurationid
1302
+ end
1303
+
1304
+ def deserialize(params)
1305
+ @LaunchConfigurationId = params['LaunchConfigurationId']
1306
+ end
1307
+ end
1308
+
1309
+ # DeleteLaunchConfiguration返回参数结构体
1310
+ class DeleteLaunchConfigurationResponse < TencentCloud::Common::AbstractModel
1311
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1312
+ # @type RequestId: String
1313
+
1314
+ attr_accessor :RequestId
1315
+
1316
+ def initialize(requestid=nil)
1317
+ @RequestId = requestid
1318
+ end
1319
+
1320
+ def deserialize(params)
1321
+ @RequestId = params['RequestId']
1322
+ end
1323
+ end
1324
+
1325
+ # DeleteLifecycleHook请求参数结构体
1326
+ class DeleteLifecycleHookRequest < TencentCloud::Common::AbstractModel
1327
+ # @param LifecycleHookId: 生命周期挂钩ID
1328
+ # @type LifecycleHookId: String
1329
+
1330
+ attr_accessor :LifecycleHookId
1331
+
1332
+ def initialize(lifecyclehookid=nil)
1333
+ @LifecycleHookId = lifecyclehookid
1334
+ end
1335
+
1336
+ def deserialize(params)
1337
+ @LifecycleHookId = params['LifecycleHookId']
1338
+ end
1339
+ end
1340
+
1341
+ # DeleteLifecycleHook返回参数结构体
1342
+ class DeleteLifecycleHookResponse < TencentCloud::Common::AbstractModel
1343
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1344
+ # @type RequestId: String
1345
+
1346
+ attr_accessor :RequestId
1347
+
1348
+ def initialize(requestid=nil)
1349
+ @RequestId = requestid
1350
+ end
1351
+
1352
+ def deserialize(params)
1353
+ @RequestId = params['RequestId']
1354
+ end
1355
+ end
1356
+
1357
+ # DeleteNotificationConfiguration请求参数结构体
1358
+ class DeleteNotificationConfigurationRequest < TencentCloud::Common::AbstractModel
1359
+ # @param AutoScalingNotificationId: 待删除的通知ID。
1360
+ # @type AutoScalingNotificationId: String
1361
+
1362
+ attr_accessor :AutoScalingNotificationId
1363
+
1364
+ def initialize(autoscalingnotificationid=nil)
1365
+ @AutoScalingNotificationId = autoscalingnotificationid
1366
+ end
1367
+
1368
+ def deserialize(params)
1369
+ @AutoScalingNotificationId = params['AutoScalingNotificationId']
1370
+ end
1371
+ end
1372
+
1373
+ # DeleteNotificationConfiguration返回参数结构体
1374
+ class DeleteNotificationConfigurationResponse < TencentCloud::Common::AbstractModel
1375
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1376
+ # @type RequestId: String
1377
+
1378
+ attr_accessor :RequestId
1379
+
1380
+ def initialize(requestid=nil)
1381
+ @RequestId = requestid
1382
+ end
1383
+
1384
+ def deserialize(params)
1385
+ @RequestId = params['RequestId']
1386
+ end
1387
+ end
1388
+
1389
+ # DeleteScalingPolicy请求参数结构体
1390
+ class DeleteScalingPolicyRequest < TencentCloud::Common::AbstractModel
1391
+ # @param AutoScalingPolicyId: 待删除的告警策略ID。
1392
+ # @type AutoScalingPolicyId: String
1393
+
1394
+ attr_accessor :AutoScalingPolicyId
1395
+
1396
+ def initialize(autoscalingpolicyid=nil)
1397
+ @AutoScalingPolicyId = autoscalingpolicyid
1398
+ end
1399
+
1400
+ def deserialize(params)
1401
+ @AutoScalingPolicyId = params['AutoScalingPolicyId']
1402
+ end
1403
+ end
1404
+
1405
+ # DeleteScalingPolicy返回参数结构体
1406
+ class DeleteScalingPolicyResponse < TencentCloud::Common::AbstractModel
1407
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1408
+ # @type RequestId: String
1409
+
1410
+ attr_accessor :RequestId
1411
+
1412
+ def initialize(requestid=nil)
1413
+ @RequestId = requestid
1414
+ end
1415
+
1416
+ def deserialize(params)
1417
+ @RequestId = params['RequestId']
1418
+ end
1419
+ end
1420
+
1421
+ # DeleteScheduledAction请求参数结构体
1422
+ class DeleteScheduledActionRequest < TencentCloud::Common::AbstractModel
1423
+ # @param ScheduledActionId: 待删除的定时任务ID。
1424
+ # @type ScheduledActionId: String
1425
+
1426
+ attr_accessor :ScheduledActionId
1427
+
1428
+ def initialize(scheduledactionid=nil)
1429
+ @ScheduledActionId = scheduledactionid
1430
+ end
1431
+
1432
+ def deserialize(params)
1433
+ @ScheduledActionId = params['ScheduledActionId']
1434
+ end
1435
+ end
1436
+
1437
+ # DeleteScheduledAction返回参数结构体
1438
+ class DeleteScheduledActionResponse < TencentCloud::Common::AbstractModel
1439
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1440
+ # @type RequestId: String
1441
+
1442
+ attr_accessor :RequestId
1443
+
1444
+ def initialize(requestid=nil)
1445
+ @RequestId = requestid
1446
+ end
1447
+
1448
+ def deserialize(params)
1449
+ @RequestId = params['RequestId']
1450
+ end
1451
+ end
1452
+
1453
+ # DescribeAccountLimits请求参数结构体
1454
+ class DescribeAccountLimitsRequest < TencentCloud::Common::AbstractModel
1455
+
1456
+
1457
+ def initialize()
1458
+ end
1459
+
1460
+ def deserialize(params)
1461
+ end
1462
+ end
1463
+
1464
+ # DescribeAccountLimits返回参数结构体
1465
+ class DescribeAccountLimitsResponse < TencentCloud::Common::AbstractModel
1466
+ # @param MaxNumberOfLaunchConfigurations: 用户账户被允许创建的启动配置最大数量
1467
+ # @type MaxNumberOfLaunchConfigurations: Integer
1468
+ # @param NumberOfLaunchConfigurations: 用户账户启动配置的当前数量
1469
+ # @type NumberOfLaunchConfigurations: Integer
1470
+ # @param MaxNumberOfAutoScalingGroups: 用户账户被允许创建的伸缩组最大数量
1471
+ # @type MaxNumberOfAutoScalingGroups: Integer
1472
+ # @param NumberOfAutoScalingGroups: 用户账户伸缩组的当前数量
1473
+ # @type NumberOfAutoScalingGroups: Integer
1474
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1475
+ # @type RequestId: String
1476
+
1477
+ attr_accessor :MaxNumberOfLaunchConfigurations, :NumberOfLaunchConfigurations, :MaxNumberOfAutoScalingGroups, :NumberOfAutoScalingGroups, :RequestId
1478
+
1479
+ def initialize(maxnumberoflaunchconfigurations=nil, numberoflaunchconfigurations=nil, maxnumberofautoscalinggroups=nil, numberofautoscalinggroups=nil, requestid=nil)
1480
+ @MaxNumberOfLaunchConfigurations = maxnumberoflaunchconfigurations
1481
+ @NumberOfLaunchConfigurations = numberoflaunchconfigurations
1482
+ @MaxNumberOfAutoScalingGroups = maxnumberofautoscalinggroups
1483
+ @NumberOfAutoScalingGroups = numberofautoscalinggroups
1484
+ @RequestId = requestid
1485
+ end
1486
+
1487
+ def deserialize(params)
1488
+ @MaxNumberOfLaunchConfigurations = params['MaxNumberOfLaunchConfigurations']
1489
+ @NumberOfLaunchConfigurations = params['NumberOfLaunchConfigurations']
1490
+ @MaxNumberOfAutoScalingGroups = params['MaxNumberOfAutoScalingGroups']
1491
+ @NumberOfAutoScalingGroups = params['NumberOfAutoScalingGroups']
1492
+ @RequestId = params['RequestId']
1493
+ end
1494
+ end
1495
+
1496
+ # DescribeAutoScalingActivities请求参数结构体
1497
+ class DescribeAutoScalingActivitiesRequest < TencentCloud::Common::AbstractModel
1498
+ # @param ActivityIds: 按照一个或者多个伸缩活动ID查询。伸缩活动ID形如:`asa-5l2ejpfo`。每次请求的上限为100。参数不支持同时指定`ActivityIds`和`Filters`。
1499
+ # @type ActivityIds: Array
1500
+ # @param Filters: 过滤条件。
1501
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
1502
+ # <li> activity-status-code - String - 是否必填:否 -(过滤条件)按照伸缩活动状态过滤。(INIT:初始化中|RUNNING:运行中|SUCCESSFUL:活动成功|PARTIALLY_SUCCESSFUL:活动部分成功|FAILED:活动失败|CANCELLED:活动取消)</li>
1503
+ # <li> activity-type - String - 是否必填:否 -(过滤条件)按照伸缩活动类型过滤。(SCALE_OUT:扩容活动|SCALE_IN:缩容活动|ATTACH_INSTANCES:添加实例|REMOVE_INSTANCES:销毁实例|DETACH_INSTANCES:移出实例|TERMINATE_INSTANCES_UNEXPECTEDLY:实例在CVM控制台被销毁|REPLACE_UNHEALTHY_INSTANCE:替换不健康实例|UPDATE_LOAD_BALANCERS:更新负载均衡器)</li>
1504
+ # <li> activity-id - String - 是否必填:否 -(过滤条件)按照伸缩活动ID过滤。</li>
1505
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`ActivityIds`和`Filters`。
1506
+ # @type Filters: Array
1507
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1508
+ # @type Limit: Integer
1509
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1510
+ # @type Offset: Integer
1511
+ # @param StartTime: 伸缩活动最早的开始时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。
1512
+ # @type StartTime: String
1513
+ # @param EndTime: 伸缩活动最晚的结束时间,如果指定了ActivityIds,此参数将被忽略。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。
1514
+ # @type EndTime: String
1515
+
1516
+ attr_accessor :ActivityIds, :Filters, :Limit, :Offset, :StartTime, :EndTime
1517
+
1518
+ def initialize(activityids=nil, filters=nil, limit=nil, offset=nil, starttime=nil, endtime=nil)
1519
+ @ActivityIds = activityids
1520
+ @Filters = filters
1521
+ @Limit = limit
1522
+ @Offset = offset
1523
+ @StartTime = starttime
1524
+ @EndTime = endtime
1525
+ end
1526
+
1527
+ def deserialize(params)
1528
+ @ActivityIds = params['ActivityIds']
1529
+ unless params['Filters'].nil?
1530
+ @Filters = []
1531
+ params['Filters'].each do |i|
1532
+ filter_tmp = Filter.new
1533
+ filter_tmp.deserialize(i)
1534
+ @Filters << filter_tmp
1535
+ end
1536
+ end
1537
+ @Limit = params['Limit']
1538
+ @Offset = params['Offset']
1539
+ @StartTime = params['StartTime']
1540
+ @EndTime = params['EndTime']
1541
+ end
1542
+ end
1543
+
1544
+ # DescribeAutoScalingActivities返回参数结构体
1545
+ class DescribeAutoScalingActivitiesResponse < TencentCloud::Common::AbstractModel
1546
+ # @param TotalCount: 符合条件的伸缩活动数量。
1547
+ # @type TotalCount: Integer
1548
+ # @param ActivitySet: 符合条件的伸缩活动信息集合。
1549
+ # @type ActivitySet: Array
1550
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1551
+ # @type RequestId: String
1552
+
1553
+ attr_accessor :TotalCount, :ActivitySet, :RequestId
1554
+
1555
+ def initialize(totalcount=nil, activityset=nil, requestid=nil)
1556
+ @TotalCount = totalcount
1557
+ @ActivitySet = activityset
1558
+ @RequestId = requestid
1559
+ end
1560
+
1561
+ def deserialize(params)
1562
+ @TotalCount = params['TotalCount']
1563
+ unless params['ActivitySet'].nil?
1564
+ @ActivitySet = []
1565
+ params['ActivitySet'].each do |i|
1566
+ activity_tmp = Activity.new
1567
+ activity_tmp.deserialize(i)
1568
+ @ActivitySet << activity_tmp
1569
+ end
1570
+ end
1571
+ @RequestId = params['RequestId']
1572
+ end
1573
+ end
1574
+
1575
+ # DescribeAutoScalingGroupLastActivities请求参数结构体
1576
+ class DescribeAutoScalingGroupLastActivitiesRequest < TencentCloud::Common::AbstractModel
1577
+ # @param AutoScalingGroupIds: 伸缩组ID列表
1578
+ # @type AutoScalingGroupIds: Array
1579
+
1580
+ attr_accessor :AutoScalingGroupIds
1581
+
1582
+ def initialize(autoscalinggroupids=nil)
1583
+ @AutoScalingGroupIds = autoscalinggroupids
1584
+ end
1585
+
1586
+ def deserialize(params)
1587
+ @AutoScalingGroupIds = params['AutoScalingGroupIds']
1588
+ end
1589
+ end
1590
+
1591
+ # DescribeAutoScalingGroupLastActivities返回参数结构体
1592
+ class DescribeAutoScalingGroupLastActivitiesResponse < TencentCloud::Common::AbstractModel
1593
+ # @param ActivitySet: 符合条件的伸缩活动信息集合。说明:伸缩组伸缩活动不存在的则不返回,如传50个伸缩组ID,返回45条数据,说明其中有5个伸缩组伸缩活动不存在。
1594
+ # @type ActivitySet: Array
1595
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1596
+ # @type RequestId: String
1597
+
1598
+ attr_accessor :ActivitySet, :RequestId
1599
+
1600
+ def initialize(activityset=nil, requestid=nil)
1601
+ @ActivitySet = activityset
1602
+ @RequestId = requestid
1603
+ end
1604
+
1605
+ def deserialize(params)
1606
+ unless params['ActivitySet'].nil?
1607
+ @ActivitySet = []
1608
+ params['ActivitySet'].each do |i|
1609
+ activity_tmp = Activity.new
1610
+ activity_tmp.deserialize(i)
1611
+ @ActivitySet << activity_tmp
1612
+ end
1613
+ end
1614
+ @RequestId = params['RequestId']
1615
+ end
1616
+ end
1617
+
1618
+ # DescribeAutoScalingGroups请求参数结构体
1619
+ class DescribeAutoScalingGroupsRequest < TencentCloud::Common::AbstractModel
1620
+ # @param AutoScalingGroupIds: 按照一个或者多个伸缩组ID查询。伸缩组ID形如:`asg-nkdwoui0`。每次请求的上限为100。参数不支持同时指定`AutoScalingGroupIds`和`Filters`。
1621
+ # @type AutoScalingGroupIds: Array
1622
+ # @param Filters: 过滤条件。
1623
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
1624
+ # <li> auto-scaling-group-name - String - 是否必填:否 -(过滤条件)按照伸缩组名称过滤。</li>
1625
+ # <li> vague-auto-scaling-group-name - String - 是否必填:否 -(过滤条件)按照伸缩组名称模糊搜索。</li>
1626
+ # <li> launch-configuration-id - String - 是否必填:否 -(过滤条件)按照启动配置ID过滤。</li>
1627
+ # <li> tag-key - String - 是否必填:否 -(过滤条件)按照标签键进行过滤。</li>
1628
+ # <li> tag-value - String - 是否必填:否 -(过滤条件)按照标签值进行过滤。</li>
1629
+ # <li> tag:tag-key - String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例2</li>
1630
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingGroupIds`和`Filters`。
1631
+ # @type Filters: Array
1632
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1633
+ # @type Limit: Integer
1634
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1635
+ # @type Offset: Integer
1636
+
1637
+ attr_accessor :AutoScalingGroupIds, :Filters, :Limit, :Offset
1638
+
1639
+ def initialize(autoscalinggroupids=nil, filters=nil, limit=nil, offset=nil)
1640
+ @AutoScalingGroupIds = autoscalinggroupids
1641
+ @Filters = filters
1642
+ @Limit = limit
1643
+ @Offset = offset
1644
+ end
1645
+
1646
+ def deserialize(params)
1647
+ @AutoScalingGroupIds = params['AutoScalingGroupIds']
1648
+ unless params['Filters'].nil?
1649
+ @Filters = []
1650
+ params['Filters'].each do |i|
1651
+ filter_tmp = Filter.new
1652
+ filter_tmp.deserialize(i)
1653
+ @Filters << filter_tmp
1654
+ end
1655
+ end
1656
+ @Limit = params['Limit']
1657
+ @Offset = params['Offset']
1658
+ end
1659
+ end
1660
+
1661
+ # DescribeAutoScalingGroups返回参数结构体
1662
+ class DescribeAutoScalingGroupsResponse < TencentCloud::Common::AbstractModel
1663
+ # @param AutoScalingGroupSet: 伸缩组详细信息列表。
1664
+ # @type AutoScalingGroupSet: Array
1665
+ # @param TotalCount: 符合条件的伸缩组数量。
1666
+ # @type TotalCount: Integer
1667
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1668
+ # @type RequestId: String
1669
+
1670
+ attr_accessor :AutoScalingGroupSet, :TotalCount, :RequestId
1671
+
1672
+ def initialize(autoscalinggroupset=nil, totalcount=nil, requestid=nil)
1673
+ @AutoScalingGroupSet = autoscalinggroupset
1674
+ @TotalCount = totalcount
1675
+ @RequestId = requestid
1676
+ end
1677
+
1678
+ def deserialize(params)
1679
+ unless params['AutoScalingGroupSet'].nil?
1680
+ @AutoScalingGroupSet = []
1681
+ params['AutoScalingGroupSet'].each do |i|
1682
+ autoscalinggroup_tmp = AutoScalingGroup.new
1683
+ autoscalinggroup_tmp.deserialize(i)
1684
+ @AutoScalingGroupSet << autoscalinggroup_tmp
1685
+ end
1686
+ end
1687
+ @TotalCount = params['TotalCount']
1688
+ @RequestId = params['RequestId']
1689
+ end
1690
+ end
1691
+
1692
+ # DescribeAutoScalingInstances请求参数结构体
1693
+ class DescribeAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel
1694
+ # @param InstanceIds: 待查询云服务器(CVM)的实例ID。参数不支持同时指定InstanceIds和Filters。
1695
+ # @type InstanceIds: Array
1696
+ # @param Filters: 过滤条件。
1697
+ # <li> instance-id - String - 是否必填:否 -(过滤条件)按照实例ID过滤。</li>
1698
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
1699
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`InstanceIds`和`Filters`。
1700
+ # @type Filters: Array
1701
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1702
+ # @type Offset: Integer
1703
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1704
+ # @type Limit: Integer
1705
+
1706
+ attr_accessor :InstanceIds, :Filters, :Offset, :Limit
1707
+
1708
+ def initialize(instanceids=nil, filters=nil, offset=nil, limit=nil)
1709
+ @InstanceIds = instanceids
1710
+ @Filters = filters
1711
+ @Offset = offset
1712
+ @Limit = limit
1713
+ end
1714
+
1715
+ def deserialize(params)
1716
+ @InstanceIds = params['InstanceIds']
1717
+ unless params['Filters'].nil?
1718
+ @Filters = []
1719
+ params['Filters'].each do |i|
1720
+ filter_tmp = Filter.new
1721
+ filter_tmp.deserialize(i)
1722
+ @Filters << filter_tmp
1723
+ end
1724
+ end
1725
+ @Offset = params['Offset']
1726
+ @Limit = params['Limit']
1727
+ end
1728
+ end
1729
+
1730
+ # DescribeAutoScalingInstances返回参数结构体
1731
+ class DescribeAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel
1732
+ # @param AutoScalingInstanceSet: 实例详细信息列表。
1733
+ # @type AutoScalingInstanceSet: Array
1734
+ # @param TotalCount: 符合条件的实例数量。
1735
+ # @type TotalCount: Integer
1736
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1737
+ # @type RequestId: String
1738
+
1739
+ attr_accessor :AutoScalingInstanceSet, :TotalCount, :RequestId
1740
+
1741
+ def initialize(autoscalinginstanceset=nil, totalcount=nil, requestid=nil)
1742
+ @AutoScalingInstanceSet = autoscalinginstanceset
1743
+ @TotalCount = totalcount
1744
+ @RequestId = requestid
1745
+ end
1746
+
1747
+ def deserialize(params)
1748
+ unless params['AutoScalingInstanceSet'].nil?
1749
+ @AutoScalingInstanceSet = []
1750
+ params['AutoScalingInstanceSet'].each do |i|
1751
+ instance_tmp = Instance.new
1752
+ instance_tmp.deserialize(i)
1753
+ @AutoScalingInstanceSet << instance_tmp
1754
+ end
1755
+ end
1756
+ @TotalCount = params['TotalCount']
1757
+ @RequestId = params['RequestId']
1758
+ end
1759
+ end
1760
+
1761
+ # DescribeLaunchConfigurations请求参数结构体
1762
+ class DescribeLaunchConfigurationsRequest < TencentCloud::Common::AbstractModel
1763
+ # @param LaunchConfigurationIds: 按照一个或者多个启动配置ID查询。启动配置ID形如:`asc-ouy1ax38`。每次请求的上限为100。参数不支持同时指定`LaunchConfigurationIds`和`Filters`
1764
+ # @type LaunchConfigurationIds: Array
1765
+ # @param Filters: 过滤条件。
1766
+ # <li> launch-configuration-id - String - 是否必填:否 -(过滤条件)按照启动配置ID过滤。</li>
1767
+ # <li> launch-configuration-name - String - 是否必填:否 -(过滤条件)按照启动配置名称过滤。</li>
1768
+ # <li> vague-launch-configuration-name - String - 是否必填:否 -(过滤条件)按照启动配置名称模糊搜索。</li>
1769
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`LaunchConfigurationIds`和`Filters`。
1770
+ # @type Filters: Array
1771
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1772
+ # @type Limit: Integer
1773
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1774
+ # @type Offset: Integer
1775
+
1776
+ attr_accessor :LaunchConfigurationIds, :Filters, :Limit, :Offset
1777
+
1778
+ def initialize(launchconfigurationids=nil, filters=nil, limit=nil, offset=nil)
1779
+ @LaunchConfigurationIds = launchconfigurationids
1780
+ @Filters = filters
1781
+ @Limit = limit
1782
+ @Offset = offset
1783
+ end
1784
+
1785
+ def deserialize(params)
1786
+ @LaunchConfigurationIds = params['LaunchConfigurationIds']
1787
+ unless params['Filters'].nil?
1788
+ @Filters = []
1789
+ params['Filters'].each do |i|
1790
+ filter_tmp = Filter.new
1791
+ filter_tmp.deserialize(i)
1792
+ @Filters << filter_tmp
1793
+ end
1794
+ end
1795
+ @Limit = params['Limit']
1796
+ @Offset = params['Offset']
1797
+ end
1798
+ end
1799
+
1800
+ # DescribeLaunchConfigurations返回参数结构体
1801
+ class DescribeLaunchConfigurationsResponse < TencentCloud::Common::AbstractModel
1802
+ # @param TotalCount: 符合条件的启动配置数量。
1803
+ # @type TotalCount: Integer
1804
+ # @param LaunchConfigurationSet: 启动配置详细信息列表。
1805
+ # @type LaunchConfigurationSet: Array
1806
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1807
+ # @type RequestId: String
1808
+
1809
+ attr_accessor :TotalCount, :LaunchConfigurationSet, :RequestId
1810
+
1811
+ def initialize(totalcount=nil, launchconfigurationset=nil, requestid=nil)
1812
+ @TotalCount = totalcount
1813
+ @LaunchConfigurationSet = launchconfigurationset
1814
+ @RequestId = requestid
1815
+ end
1816
+
1817
+ def deserialize(params)
1818
+ @TotalCount = params['TotalCount']
1819
+ unless params['LaunchConfigurationSet'].nil?
1820
+ @LaunchConfigurationSet = []
1821
+ params['LaunchConfigurationSet'].each do |i|
1822
+ launchconfiguration_tmp = LaunchConfiguration.new
1823
+ launchconfiguration_tmp.deserialize(i)
1824
+ @LaunchConfigurationSet << launchconfiguration_tmp
1825
+ end
1826
+ end
1827
+ @RequestId = params['RequestId']
1828
+ end
1829
+ end
1830
+
1831
+ # DescribeLifecycleHooks请求参数结构体
1832
+ class DescribeLifecycleHooksRequest < TencentCloud::Common::AbstractModel
1833
+ # @param LifecycleHookIds: 按照一个或者多个生命周期挂钩ID查询。生命周期挂钩ID形如:`ash-8azjzxcl`。每次请求的上限为100。参数不支持同时指定`LifecycleHookIds`和`Filters`。
1834
+ # @type LifecycleHookIds: Array
1835
+ # @param Filters: 过滤条件。
1836
+ # <li> lifecycle-hook-id - String - 是否必填:否 -(过滤条件)按照生命周期挂钩ID过滤。</li>
1837
+ # <li> lifecycle-hook-name - String - 是否必填:否 -(过滤条件)按照生命周期挂钩名称过滤。</li>
1838
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
1839
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`LifecycleHookIds `和`Filters`。
1840
+ # @type Filters: Array
1841
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1842
+ # @type Limit: Integer
1843
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1844
+ # @type Offset: Integer
1845
+
1846
+ attr_accessor :LifecycleHookIds, :Filters, :Limit, :Offset
1847
+
1848
+ def initialize(lifecyclehookids=nil, filters=nil, limit=nil, offset=nil)
1849
+ @LifecycleHookIds = lifecyclehookids
1850
+ @Filters = filters
1851
+ @Limit = limit
1852
+ @Offset = offset
1853
+ end
1854
+
1855
+ def deserialize(params)
1856
+ @LifecycleHookIds = params['LifecycleHookIds']
1857
+ unless params['Filters'].nil?
1858
+ @Filters = []
1859
+ params['Filters'].each do |i|
1860
+ filter_tmp = Filter.new
1861
+ filter_tmp.deserialize(i)
1862
+ @Filters << filter_tmp
1863
+ end
1864
+ end
1865
+ @Limit = params['Limit']
1866
+ @Offset = params['Offset']
1867
+ end
1868
+ end
1869
+
1870
+ # DescribeLifecycleHooks返回参数结构体
1871
+ class DescribeLifecycleHooksResponse < TencentCloud::Common::AbstractModel
1872
+ # @param LifecycleHookSet: 生命周期挂钩数组
1873
+ # @type LifecycleHookSet: Array
1874
+ # @param TotalCount: 总体数量
1875
+ # @type TotalCount: Integer
1876
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1877
+ # @type RequestId: String
1878
+
1879
+ attr_accessor :LifecycleHookSet, :TotalCount, :RequestId
1880
+
1881
+ def initialize(lifecyclehookset=nil, totalcount=nil, requestid=nil)
1882
+ @LifecycleHookSet = lifecyclehookset
1883
+ @TotalCount = totalcount
1884
+ @RequestId = requestid
1885
+ end
1886
+
1887
+ def deserialize(params)
1888
+ unless params['LifecycleHookSet'].nil?
1889
+ @LifecycleHookSet = []
1890
+ params['LifecycleHookSet'].each do |i|
1891
+ lifecyclehook_tmp = LifecycleHook.new
1892
+ lifecyclehook_tmp.deserialize(i)
1893
+ @LifecycleHookSet << lifecyclehook_tmp
1894
+ end
1895
+ end
1896
+ @TotalCount = params['TotalCount']
1897
+ @RequestId = params['RequestId']
1898
+ end
1899
+ end
1900
+
1901
+ # DescribeNotificationConfigurations请求参数结构体
1902
+ class DescribeNotificationConfigurationsRequest < TencentCloud::Common::AbstractModel
1903
+ # @param AutoScalingNotificationIds: 按照一个或者多个通知ID查询。实例ID形如:asn-2sestqbr。每次请求的实例的上限为100。参数不支持同时指定`AutoScalingNotificationIds`和`Filters`。
1904
+ # @type AutoScalingNotificationIds: Array
1905
+ # @param Filters: 过滤条件。
1906
+ # <li> auto-scaling-notification-id - String - 是否必填:否 -(过滤条件)按照通知ID过滤。</li>
1907
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
1908
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingNotificationIds`和`Filters`。
1909
+ # @type Filters: Array
1910
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1911
+ # @type Limit: Integer
1912
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1913
+ # @type Offset: Integer
1914
+
1915
+ attr_accessor :AutoScalingNotificationIds, :Filters, :Limit, :Offset
1916
+
1917
+ def initialize(autoscalingnotificationids=nil, filters=nil, limit=nil, offset=nil)
1918
+ @AutoScalingNotificationIds = autoscalingnotificationids
1919
+ @Filters = filters
1920
+ @Limit = limit
1921
+ @Offset = offset
1922
+ end
1923
+
1924
+ def deserialize(params)
1925
+ @AutoScalingNotificationIds = params['AutoScalingNotificationIds']
1926
+ unless params['Filters'].nil?
1927
+ @Filters = []
1928
+ params['Filters'].each do |i|
1929
+ filter_tmp = Filter.new
1930
+ filter_tmp.deserialize(i)
1931
+ @Filters << filter_tmp
1932
+ end
1933
+ end
1934
+ @Limit = params['Limit']
1935
+ @Offset = params['Offset']
1936
+ end
1937
+ end
1938
+
1939
+ # DescribeNotificationConfigurations返回参数结构体
1940
+ class DescribeNotificationConfigurationsResponse < TencentCloud::Common::AbstractModel
1941
+ # @param TotalCount: 符合条件的通知数量。
1942
+ # @type TotalCount: Integer
1943
+ # @param AutoScalingNotificationSet: 弹性伸缩事件通知详细信息列表。
1944
+ # @type AutoScalingNotificationSet: Array
1945
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1946
+ # @type RequestId: String
1947
+
1948
+ attr_accessor :TotalCount, :AutoScalingNotificationSet, :RequestId
1949
+
1950
+ def initialize(totalcount=nil, autoscalingnotificationset=nil, requestid=nil)
1951
+ @TotalCount = totalcount
1952
+ @AutoScalingNotificationSet = autoscalingnotificationset
1953
+ @RequestId = requestid
1954
+ end
1955
+
1956
+ def deserialize(params)
1957
+ @TotalCount = params['TotalCount']
1958
+ unless params['AutoScalingNotificationSet'].nil?
1959
+ @AutoScalingNotificationSet = []
1960
+ params['AutoScalingNotificationSet'].each do |i|
1961
+ autoscalingnotification_tmp = AutoScalingNotification.new
1962
+ autoscalingnotification_tmp.deserialize(i)
1963
+ @AutoScalingNotificationSet << autoscalingnotification_tmp
1964
+ end
1965
+ end
1966
+ @RequestId = params['RequestId']
1967
+ end
1968
+ end
1969
+
1970
+ # DescribePaiInstances请求参数结构体
1971
+ class DescribePaiInstancesRequest < TencentCloud::Common::AbstractModel
1972
+ # @param InstanceIds: 依据PAI实例的实例ID进行查询。
1973
+ # @type InstanceIds: Array
1974
+ # @param Filters: 过滤条件。
1975
+ # @type Filters: Array
1976
+ # @param Limit: 返回数量,默认为20,最大值为100。
1977
+ # @type Limit: Integer
1978
+ # @param Offset: 偏移量,默认为0。
1979
+ # @type Offset: Integer
1980
+
1981
+ attr_accessor :InstanceIds, :Filters, :Limit, :Offset
1982
+
1983
+ def initialize(instanceids=nil, filters=nil, limit=nil, offset=nil)
1984
+ @InstanceIds = instanceids
1985
+ @Filters = filters
1986
+ @Limit = limit
1987
+ @Offset = offset
1988
+ end
1989
+
1990
+ def deserialize(params)
1991
+ @InstanceIds = params['InstanceIds']
1992
+ unless params['Filters'].nil?
1993
+ @Filters = []
1994
+ params['Filters'].each do |i|
1995
+ filter_tmp = Filter.new
1996
+ filter_tmp.deserialize(i)
1997
+ @Filters << filter_tmp
1998
+ end
1999
+ end
2000
+ @Limit = params['Limit']
2001
+ @Offset = params['Offset']
2002
+ end
2003
+ end
2004
+
2005
+ # DescribePaiInstances返回参数结构体
2006
+ class DescribePaiInstancesResponse < TencentCloud::Common::AbstractModel
2007
+ # @param TotalCount: 符合条件的PAI实例数量
2008
+ # @type TotalCount: Integer
2009
+ # @param PaiInstanceSet: PAI实例详细信息
2010
+ # @type PaiInstanceSet: Array
2011
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2012
+ # @type RequestId: String
2013
+
2014
+ attr_accessor :TotalCount, :PaiInstanceSet, :RequestId
2015
+
2016
+ def initialize(totalcount=nil, paiinstanceset=nil, requestid=nil)
2017
+ @TotalCount = totalcount
2018
+ @PaiInstanceSet = paiinstanceset
2019
+ @RequestId = requestid
2020
+ end
2021
+
2022
+ def deserialize(params)
2023
+ @TotalCount = params['TotalCount']
2024
+ unless params['PaiInstanceSet'].nil?
2025
+ @PaiInstanceSet = []
2026
+ params['PaiInstanceSet'].each do |i|
2027
+ paiinstance_tmp = PaiInstance.new
2028
+ paiinstance_tmp.deserialize(i)
2029
+ @PaiInstanceSet << paiinstance_tmp
2030
+ end
2031
+ end
2032
+ @RequestId = params['RequestId']
2033
+ end
2034
+ end
2035
+
2036
+ # DescribeScalingPolicies请求参数结构体
2037
+ class DescribeScalingPoliciesRequest < TencentCloud::Common::AbstractModel
2038
+ # @param AutoScalingPolicyIds: 按照一个或者多个告警策略ID查询。告警策略ID形如:asp-i9vkg894。每次请求的实例的上限为100。参数不支持同时指定`AutoScalingPolicyIds`和`Filters`。
2039
+ # @type AutoScalingPolicyIds: Array
2040
+ # @param Filters: 过滤条件。
2041
+ # <li> auto-scaling-policy-id - String - 是否必填:否 -(过滤条件)按照告警策略ID过滤。</li>
2042
+ # <li> auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。</li>
2043
+ # <li> scaling-policy-name - String - 是否必填:否 -(过滤条件)按照告警策略名称过滤。</li>
2044
+ # 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AutoScalingPolicyIds`和`Filters`。
2045
+ # @type Filters: Array
2046
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
2047
+ # @type Limit: Integer
2048
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
2049
+ # @type Offset: Integer
2050
+
2051
+ attr_accessor :AutoScalingPolicyIds, :Filters, :Limit, :Offset
2052
+
2053
+ def initialize(autoscalingpolicyids=nil, filters=nil, limit=nil, offset=nil)
2054
+ @AutoScalingPolicyIds = autoscalingpolicyids
2055
+ @Filters = filters
2056
+ @Limit = limit
2057
+ @Offset = offset
2058
+ end
2059
+
2060
+ def deserialize(params)
2061
+ @AutoScalingPolicyIds = params['AutoScalingPolicyIds']
2062
+ unless params['Filters'].nil?
2063
+ @Filters = []
2064
+ params['Filters'].each do |i|
2065
+ filter_tmp = Filter.new
2066
+ filter_tmp.deserialize(i)
2067
+ @Filters << filter_tmp
2068
+ end
2069
+ end
2070
+ @Limit = params['Limit']
2071
+ @Offset = params['Offset']
2072
+ end
2073
+ end
2074
+
2075
+ # DescribeScalingPolicies返回参数结构体
2076
+ class DescribeScalingPoliciesResponse < TencentCloud::Common::AbstractModel
2077
+ # @param ScalingPolicySet: 弹性伸缩告警触发策略详细信息列表。
2078
+ # @type ScalingPolicySet: Array
2079
+ # @param TotalCount: 符合条件的通知数量。
2080
+ # @type TotalCount: Integer
2081
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2082
+ # @type RequestId: String
2083
+
2084
+ attr_accessor :ScalingPolicySet, :TotalCount, :RequestId
2085
+
2086
+ def initialize(scalingpolicyset=nil, totalcount=nil, requestid=nil)
2087
+ @ScalingPolicySet = scalingpolicyset
2088
+ @TotalCount = totalcount
2089
+ @RequestId = requestid
2090
+ end
2091
+
2092
+ def deserialize(params)
2093
+ unless params['ScalingPolicySet'].nil?
2094
+ @ScalingPolicySet = []
2095
+ params['ScalingPolicySet'].each do |i|
2096
+ scalingpolicy_tmp = ScalingPolicy.new
2097
+ scalingpolicy_tmp.deserialize(i)
2098
+ @ScalingPolicySet << scalingpolicy_tmp
2099
+ end
2100
+ end
2101
+ @TotalCount = params['TotalCount']
2102
+ @RequestId = params['RequestId']
2103
+ end
2104
+ end
2105
+
2106
+ # DescribeScheduledActions请求参数结构体
2107
+ class DescribeScheduledActionsRequest < TencentCloud::Common::AbstractModel
2108
+ # @param ScheduledActionIds: 按照一个或者多个定时任务ID查询。实例ID形如:asst-am691zxo。每次请求的实例的上限为100。参数不支持同时指定ScheduledActionIds和Filters。
2109
+ # @type ScheduledActionIds: Array
2110
+ # @param Filters: 过滤条件。
2111
+ # <li> scheduled-action-id - String - 是否必填:否 -(过滤条件)按照定时任务ID过滤。</li>
2112
+ # <li> scheduled-action-name - String - 是否必填:否 - (过滤条件) 按照定时任务名称过滤。</li>
2113
+ # <li> auto-scaling-group-id - String - 是否必填:否 - (过滤条件) 按照伸缩组ID过滤。</li>
2114
+ # @type Filters: Array
2115
+ # @param Offset: 偏移量,默认为0。关于Offset的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
2116
+ # @type Offset: Integer
2117
+ # @param Limit: 返回数量,默认为20,最大值为100。关于Limit的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
2118
+ # @type Limit: Integer
2119
+
2120
+ attr_accessor :ScheduledActionIds, :Filters, :Offset, :Limit
2121
+
2122
+ def initialize(scheduledactionids=nil, filters=nil, offset=nil, limit=nil)
2123
+ @ScheduledActionIds = scheduledactionids
2124
+ @Filters = filters
2125
+ @Offset = offset
2126
+ @Limit = limit
2127
+ end
2128
+
2129
+ def deserialize(params)
2130
+ @ScheduledActionIds = params['ScheduledActionIds']
2131
+ unless params['Filters'].nil?
2132
+ @Filters = []
2133
+ params['Filters'].each do |i|
2134
+ filter_tmp = Filter.new
2135
+ filter_tmp.deserialize(i)
2136
+ @Filters << filter_tmp
2137
+ end
2138
+ end
2139
+ @Offset = params['Offset']
2140
+ @Limit = params['Limit']
2141
+ end
2142
+ end
2143
+
2144
+ # DescribeScheduledActions返回参数结构体
2145
+ class DescribeScheduledActionsResponse < TencentCloud::Common::AbstractModel
2146
+ # @param TotalCount: 符合条件的定时任务数量。
2147
+ # @type TotalCount: Integer
2148
+ # @param ScheduledActionSet: 定时任务详细信息列表。
2149
+ # @type ScheduledActionSet: Array
2150
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2151
+ # @type RequestId: String
2152
+
2153
+ attr_accessor :TotalCount, :ScheduledActionSet, :RequestId
2154
+
2155
+ def initialize(totalcount=nil, scheduledactionset=nil, requestid=nil)
2156
+ @TotalCount = totalcount
2157
+ @ScheduledActionSet = scheduledactionset
2158
+ @RequestId = requestid
2159
+ end
2160
+
2161
+ def deserialize(params)
2162
+ @TotalCount = params['TotalCount']
2163
+ unless params['ScheduledActionSet'].nil?
2164
+ @ScheduledActionSet = []
2165
+ params['ScheduledActionSet'].each do |i|
2166
+ scheduledaction_tmp = ScheduledAction.new
2167
+ scheduledaction_tmp.deserialize(i)
2168
+ @ScheduledActionSet << scheduledaction_tmp
2169
+ end
2170
+ end
2171
+ @RequestId = params['RequestId']
2172
+ end
2173
+ end
2174
+
2175
+ # DetachInstances请求参数结构体
2176
+ class DetachInstancesRequest < TencentCloud::Common::AbstractModel
2177
+ # @param AutoScalingGroupId: 伸缩组ID
2178
+ # @type AutoScalingGroupId: String
2179
+ # @param InstanceIds: CVM实例ID列表
2180
+ # @type InstanceIds: Array
2181
+
2182
+ attr_accessor :AutoScalingGroupId, :InstanceIds
2183
+
2184
+ def initialize(autoscalinggroupid=nil, instanceids=nil)
2185
+ @AutoScalingGroupId = autoscalinggroupid
2186
+ @InstanceIds = instanceids
2187
+ end
2188
+
2189
+ def deserialize(params)
2190
+ @AutoScalingGroupId = params['AutoScalingGroupId']
2191
+ @InstanceIds = params['InstanceIds']
2192
+ end
2193
+ end
2194
+
2195
+ # DetachInstances返回参数结构体
2196
+ class DetachInstancesResponse < TencentCloud::Common::AbstractModel
2197
+ # @param ActivityId: 伸缩活动ID
2198
+ # @type ActivityId: String
2199
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2200
+ # @type RequestId: String
2201
+
2202
+ attr_accessor :ActivityId, :RequestId
2203
+
2204
+ def initialize(activityid=nil, requestid=nil)
2205
+ @ActivityId = activityid
2206
+ @RequestId = requestid
2207
+ end
2208
+
2209
+ def deserialize(params)
2210
+ @ActivityId = params['ActivityId']
2211
+ @RequestId = params['RequestId']
2212
+ end
2213
+ end
2214
+
2215
+ # 伸缩活动状态详细描述。
2216
+ class DetailedStatusMessage < TencentCloud::Common::AbstractModel
2217
+ # @param Code: 错误类型。
2218
+ # @type Code: String
2219
+ # @param Zone: 可用区信息。
2220
+ # @type Zone: String
2221
+ # @param InstanceId: 实例ID。
2222
+ # @type InstanceId: String
2223
+ # @param InstanceChargeType: 实例计费类型。
2224
+ # @type InstanceChargeType: String
2225
+ # @param SubnetId: 子网ID。
2226
+ # @type SubnetId: String
2227
+ # @param Message: 错误描述。
2228
+ # @type Message: String
2229
+ # @param InstanceType: 实例类型。
2230
+ # @type InstanceType: String
2231
+
2232
+ attr_accessor :Code, :Zone, :InstanceId, :InstanceChargeType, :SubnetId, :Message, :InstanceType
2233
+
2234
+ def initialize(code=nil, zone=nil, instanceid=nil, instancechargetype=nil, subnetid=nil, message=nil, instancetype=nil)
2235
+ @Code = code
2236
+ @Zone = zone
2237
+ @InstanceId = instanceid
2238
+ @InstanceChargeType = instancechargetype
2239
+ @SubnetId = subnetid
2240
+ @Message = message
2241
+ @InstanceType = instancetype
2242
+ end
2243
+
2244
+ def deserialize(params)
2245
+ @Code = params['Code']
2246
+ @Zone = params['Zone']
2247
+ @InstanceId = params['InstanceId']
2248
+ @InstanceChargeType = params['InstanceChargeType']
2249
+ @SubnetId = params['SubnetId']
2250
+ @Message = params['Message']
2251
+ @InstanceType = params['InstanceType']
2252
+ end
2253
+ end
2254
+
2255
+ # DisableAutoScalingGroup请求参数结构体
2256
+ class DisableAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
2257
+ # @param AutoScalingGroupId: 伸缩组ID
2258
+ # @type AutoScalingGroupId: String
2259
+
2260
+ attr_accessor :AutoScalingGroupId
2261
+
2262
+ def initialize(autoscalinggroupid=nil)
2263
+ @AutoScalingGroupId = autoscalinggroupid
2264
+ end
2265
+
2266
+ def deserialize(params)
2267
+ @AutoScalingGroupId = params['AutoScalingGroupId']
2268
+ end
2269
+ end
2270
+
2271
+ # DisableAutoScalingGroup返回参数结构体
2272
+ class DisableAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
2273
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2274
+ # @type RequestId: String
2275
+
2276
+ attr_accessor :RequestId
2277
+
2278
+ def initialize(requestid=nil)
2279
+ @RequestId = requestid
2280
+ end
2281
+
2282
+ def deserialize(params)
2283
+ @RequestId = params['RequestId']
2284
+ end
2285
+ end
2286
+
2287
+ # EnableAutoScalingGroup请求参数结构体
2288
+ class EnableAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
2289
+ # @param AutoScalingGroupId: 伸缩组ID
2290
+ # @type AutoScalingGroupId: String
2291
+
2292
+ attr_accessor :AutoScalingGroupId
2293
+
2294
+ def initialize(autoscalinggroupid=nil)
2295
+ @AutoScalingGroupId = autoscalinggroupid
2296
+ end
2297
+
2298
+ def deserialize(params)
2299
+ @AutoScalingGroupId = params['AutoScalingGroupId']
2300
+ end
2301
+ end
2302
+
2303
+ # EnableAutoScalingGroup返回参数结构体
2304
+ class EnableAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
2305
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2306
+ # @type RequestId: String
2307
+
2308
+ attr_accessor :RequestId
2309
+
2310
+ def initialize(requestid=nil)
2311
+ @RequestId = requestid
2312
+ end
2313
+
2314
+ def deserialize(params)
2315
+ @RequestId = params['RequestId']
2316
+ end
2317
+ end
2318
+
2319
+ # 描述了实例的增强服务启用情况与其设置,如云安全,云监控等实例 Agent。
2320
+ class EnhancedService < TencentCloud::Common::AbstractModel
2321
+ # @param SecurityService: 开启云安全服务。若不指定该参数,则默认开启云安全服务。
2322
+ # @type SecurityService: :class:`Tencentcloud::As.v20180419.models.RunSecurityServiceEnabled`
2323
+ # @param MonitorService: 开启云监控服务。若不指定该参数,则默认开启云监控服务。
2324
+ # @type MonitorService: :class:`Tencentcloud::As.v20180419.models.RunMonitorServiceEnabled`
2325
+
2326
+ attr_accessor :SecurityService, :MonitorService
2327
+
2328
+ def initialize(securityservice=nil, monitorservice=nil)
2329
+ @SecurityService = securityservice
2330
+ @MonitorService = monitorservice
2331
+ end
2332
+
2333
+ def deserialize(params)
2334
+ unless params['SecurityService'].nil?
2335
+ @SecurityService = RunSecurityServiceEnabled.new
2336
+ @SecurityService.deserialize(params['SecurityService'])
2337
+ end
2338
+ unless params['MonitorService'].nil?
2339
+ @MonitorService = RunMonitorServiceEnabled.new
2340
+ @MonitorService.deserialize(params['MonitorService'])
2341
+ end
2342
+ end
2343
+ end
2344
+
2345
+ # ExecuteScalingPolicy请求参数结构体
2346
+ class ExecuteScalingPolicyRequest < TencentCloud::Common::AbstractModel
2347
+ # @param AutoScalingPolicyId: 告警伸缩策略ID
2348
+ # @type AutoScalingPolicyId: String
2349
+ # @param HonorCooldown: 是否检查伸缩组活动处于冷却时间内,默认值为false
2350
+ # @type HonorCooldown: Boolean
2351
+ # @param TriggerSource: 执行伸缩策略的触发来源,取值包括 API 和 CLOUD_MONITOR,默认值为 API。CLOUD_MONITOR 专门供云监控触发调用。
2352
+ # @type TriggerSource: String
2353
+
2354
+ attr_accessor :AutoScalingPolicyId, :HonorCooldown, :TriggerSource
2355
+
2356
+ def initialize(autoscalingpolicyid=nil, honorcooldown=nil, triggersource=nil)
2357
+ @AutoScalingPolicyId = autoscalingpolicyid
2358
+ @HonorCooldown = honorcooldown
2359
+ @TriggerSource = triggersource
2360
+ end
2361
+
2362
+ def deserialize(params)
2363
+ @AutoScalingPolicyId = params['AutoScalingPolicyId']
2364
+ @HonorCooldown = params['HonorCooldown']
2365
+ @TriggerSource = params['TriggerSource']
2366
+ end
2367
+ end
2368
+
2369
+ # ExecuteScalingPolicy返回参数结构体
2370
+ class ExecuteScalingPolicyResponse < TencentCloud::Common::AbstractModel
2371
+ # @param ActivityId: 伸缩活动ID
2372
+ # @type ActivityId: String
2373
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2374
+ # @type RequestId: String
2375
+
2376
+ attr_accessor :ActivityId, :RequestId
2377
+
2378
+ def initialize(activityid=nil, requestid=nil)
2379
+ @ActivityId = activityid
2380
+ @RequestId = requestid
2381
+ end
2382
+
2383
+ def deserialize(params)
2384
+ @ActivityId = params['ActivityId']
2385
+ @RequestId = params['RequestId']
2386
+ end
2387
+ end
2388
+
2389
+ # >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等
2390
+ # > * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。
2391
+ # > * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。
2392
+ # >
2393
+ # > 以[DescribeInstances](https://cloud.tencent.com/document/api/213/15728)接口的`Filter`为例。若我们需要查询可用区(`zone`)为广州一区 ***并且*** 实例计费模式(`instance-charge-type`)为包年包月 ***或者*** 按量计费的实例时,可如下实现:
2394
+ # ```
2395
+ # Filters.0.Name=zone
2396
+ # &Filters.0.Values.0=ap-guangzhou-1
2397
+ # &Filters.1.Name=instance-charge-type
2398
+ # &Filters.1.Values.0=PREPAID
2399
+ # &Filters.1.Values.1=POSTPAID_BY_HOUR
2400
+ # ```
2401
+ class Filter < TencentCloud::Common::AbstractModel
2402
+ # @param Name: 需要过滤的字段。
2403
+ # @type Name: String
2404
+ # @param Values: 字段的过滤值。
2405
+ # @type Values: Array
2406
+
2407
+ attr_accessor :Name, :Values
2408
+
2409
+ def initialize(name=nil, values=nil)
2410
+ @Name = name
2411
+ @Values = values
2412
+ end
2413
+
2414
+ def deserialize(params)
2415
+ @Name = params['Name']
2416
+ @Values = params['Values']
2417
+ end
2418
+ end
2419
+
2420
+ # 应用型负载均衡器
2421
+ class ForwardLoadBalancer < TencentCloud::Common::AbstractModel
2422
+ # @param LoadBalancerId: 负载均衡器ID
2423
+ # @type LoadBalancerId: String
2424
+ # @param ListenerId: 应用型负载均衡监听器 ID
2425
+ # @type ListenerId: String
2426
+ # @param TargetAttributes: 目标规则属性列表
2427
+ # @type TargetAttributes: Array
2428
+ # @param LocationId: 转发规则ID,注意:针对七层监听器此参数必填
2429
+ # @type LocationId: String
2430
+ # @param Region: 负载均衡实例所属地域,默认取AS服务所在地域。格式与公共参数Region相同,如:"ap-guangzhou"。
2431
+ # @type Region: String
2432
+
2433
+ attr_accessor :LoadBalancerId, :ListenerId, :TargetAttributes, :LocationId, :Region
2434
+
2435
+ def initialize(loadbalancerid=nil, listenerid=nil, targetattributes=nil, locationid=nil, region=nil)
2436
+ @LoadBalancerId = loadbalancerid
2437
+ @ListenerId = listenerid
2438
+ @TargetAttributes = targetattributes
2439
+ @LocationId = locationid
2440
+ @Region = region
2441
+ end
2442
+
2443
+ def deserialize(params)
2444
+ @LoadBalancerId = params['LoadBalancerId']
2445
+ @ListenerId = params['ListenerId']
2446
+ unless params['TargetAttributes'].nil?
2447
+ @TargetAttributes = []
2448
+ params['TargetAttributes'].each do |i|
2449
+ targetattribute_tmp = TargetAttribute.new
2450
+ targetattribute_tmp.deserialize(i)
2451
+ @TargetAttributes << targetattribute_tmp
2452
+ end
2453
+ end
2454
+ @LocationId = params['LocationId']
2455
+ @Region = params['Region']
2456
+ end
2457
+ end
2458
+
2459
+ # 云服务器主机名(HostName)的相关设置
2460
+ class HostNameSettings < TencentCloud::Common::AbstractModel
2461
+ # @param HostName: 云服务器的主机名。
2462
+ # <br><li> 点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。
2463
+ # <br><li> 不支持 Windows 实例。
2464
+ # <br><li> 其他类型(Linux 等)实例:字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。
2465
+ # 注意:此字段可能返回 null,表示取不到有效值。
2466
+ # @type HostName: String
2467
+ # @param HostNameStyle: 云服务器主机名的风格,取值范围包括 ORIGINAL 和 UNIQUE,默认为 ORIGINAL。
2468
+ # <br><li> ORIGINAL,AS 直接将入参中所填的 HostName 传递给 CVM,CVM 可能会对 HostName 追加序列号,伸缩组中实例的 HostName 会出现冲突的情况。
2469
+ # <br><li> UNIQUE,入参所填的 HostName 相当于主机名前缀,AS 和 CVM 会对其进行拓展,伸缩组中实例的 HostName 可以保证唯一。
2470
+ # 注意:此字段可能返回 null,表示取不到有效值。
2471
+ # @type HostNameStyle: String
2472
+
2473
+ attr_accessor :HostName, :HostNameStyle
2474
+
2475
+ def initialize(hostname=nil, hostnamestyle=nil)
2476
+ @HostName = hostname
2477
+ @HostNameStyle = hostnamestyle
2478
+ end
2479
+
2480
+ def deserialize(params)
2481
+ @HostName = params['HostName']
2482
+ @HostNameStyle = params['HostNameStyle']
2483
+ end
2484
+ end
2485
+
2486
+ # 实例信息
2487
+ class Instance < TencentCloud::Common::AbstractModel
2488
+ # @param InstanceId: 实例ID
2489
+ # @type InstanceId: String
2490
+ # @param AutoScalingGroupId: 伸缩组ID
2491
+ # @type AutoScalingGroupId: String
2492
+ # @param LaunchConfigurationId: 启动配置ID
2493
+ # @type LaunchConfigurationId: String
2494
+ # @param LaunchConfigurationName: 启动配置名称
2495
+ # @type LaunchConfigurationName: String
2496
+ # @param LifeCycleState: 生命周期状态,取值如下:<br>
2497
+ # <li>IN_SERVICE:运行中
2498
+ # <li>CREATING:创建中
2499
+ # <li>CREATION_FAILED:创建失败
2500
+ # <li>TERMINATING:中止中
2501
+ # <li>TERMINATION_FAILED:中止失败
2502
+ # <li>ATTACHING:绑定中
2503
+ # <li>DETACHING:解绑中
2504
+ # <li>ATTACHING_LB:绑定LB中<li>DETACHING_LB:解绑LB中
2505
+ # <li>STARTING:开机中
2506
+ # <li>START_FAILED:开机失败
2507
+ # <li>STOPPING:关机中
2508
+ # <li>STOP_FAILED:关机失败
2509
+ # <li>STOPPED:已关机
2510
+ # @type LifeCycleState: String
2511
+ # @param HealthStatus: 健康状态,取值包括HEALTHY和UNHEALTHY
2512
+ # @type HealthStatus: String
2513
+ # @param ProtectedFromScaleIn: 是否加入缩容保护
2514
+ # @type ProtectedFromScaleIn: Boolean
2515
+ # @param Zone: 可用区
2516
+ # @type Zone: String
2517
+ # @param CreationType: 创建类型,取值包括AUTO_CREATION, MANUAL_ATTACHING。
2518
+ # @type CreationType: String
2519
+ # @param AddTime: 实例加入时间
2520
+ # @type AddTime: String
2521
+ # @param InstanceType: 实例类型
2522
+ # @type InstanceType: String
2523
+ # @param VersionNumber: 版本号
2524
+ # @type VersionNumber: Integer
2525
+ # @param AutoScalingGroupName: 伸缩组名称
2526
+ # @type AutoScalingGroupName: String
2527
+
2528
+ attr_accessor :InstanceId, :AutoScalingGroupId, :LaunchConfigurationId, :LaunchConfigurationName, :LifeCycleState, :HealthStatus, :ProtectedFromScaleIn, :Zone, :CreationType, :AddTime, :InstanceType, :VersionNumber, :AutoScalingGroupName
2529
+
2530
+ 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)
2531
+ @InstanceId = instanceid
2532
+ @AutoScalingGroupId = autoscalinggroupid
2533
+ @LaunchConfigurationId = launchconfigurationid
2534
+ @LaunchConfigurationName = launchconfigurationname
2535
+ @LifeCycleState = lifecyclestate
2536
+ @HealthStatus = healthstatus
2537
+ @ProtectedFromScaleIn = protectedfromscalein
2538
+ @Zone = zone
2539
+ @CreationType = creationtype
2540
+ @AddTime = addtime
2541
+ @InstanceType = instancetype
2542
+ @VersionNumber = versionnumber
2543
+ @AutoScalingGroupName = autoscalinggroupname
2544
+ end
2545
+
2546
+ def deserialize(params)
2547
+ @InstanceId = params['InstanceId']
2548
+ @AutoScalingGroupId = params['AutoScalingGroupId']
2549
+ @LaunchConfigurationId = params['LaunchConfigurationId']
2550
+ @LaunchConfigurationName = params['LaunchConfigurationName']
2551
+ @LifeCycleState = params['LifeCycleState']
2552
+ @HealthStatus = params['HealthStatus']
2553
+ @ProtectedFromScaleIn = params['ProtectedFromScaleIn']
2554
+ @Zone = params['Zone']
2555
+ @CreationType = params['CreationType']
2556
+ @AddTime = params['AddTime']
2557
+ @InstanceType = params['InstanceType']
2558
+ @VersionNumber = params['VersionNumber']
2559
+ @AutoScalingGroupName = params['AutoScalingGroupName']
2560
+ end
2561
+ end
2562
+
2563
+ # 描述了实例的计费模式
2564
+ class InstanceChargePrepaid < TencentCloud::Common::AbstractModel
2565
+ # @param Period: 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。
2566
+ # @type Period: Integer
2567
+ # @param RenewFlag: 自动续费标识。取值范围:<br><li>NOTIFY_AND_AUTO_RENEW:通知过期且自动续费<br><li>NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费<br><li>DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费<br><br>默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。
2568
+ # @type RenewFlag: String
2569
+
2570
+ attr_accessor :Period, :RenewFlag
2571
+
2572
+ def initialize(period=nil, renewflag=nil)
2573
+ @Period = period
2574
+ @RenewFlag = renewflag
2575
+ end
2576
+
2577
+ def deserialize(params)
2578
+ @Period = params['Period']
2579
+ @RenewFlag = params['RenewFlag']
2580
+ end
2581
+ end
2582
+
2583
+ # CVM竞价请求相关选项
2584
+ class InstanceMarketOptionsRequest < TencentCloud::Common::AbstractModel
2585
+ # @param SpotOptions: 竞价相关选项
2586
+ # @type SpotOptions: :class:`Tencentcloud::As.v20180419.models.SpotMarketOptions`
2587
+ # @param MarketType: 市场选项类型,当前只支持取值:spot
2588
+ # 注意:此字段可能返回 null,表示取不到有效值。
2589
+ # @type MarketType: String
2590
+
2591
+ attr_accessor :SpotOptions, :MarketType
2592
+
2593
+ def initialize(spotoptions=nil, markettype=nil)
2594
+ @SpotOptions = spotoptions
2595
+ @MarketType = markettype
2596
+ end
2597
+
2598
+ def deserialize(params)
2599
+ unless params['SpotOptions'].nil?
2600
+ @SpotOptions = SpotMarketOptions.new
2601
+ @SpotOptions.deserialize(params['SpotOptions'])
2602
+ end
2603
+ @MarketType = params['MarketType']
2604
+ end
2605
+ end
2606
+
2607
+ # 云服务器实例名称(InstanceName)的相关设置
2608
+ class InstanceNameSettings < TencentCloud::Common::AbstractModel
2609
+ # @param InstanceName: 云服务器的实例名。
2610
+
2611
+ # 点号(.)和短横线(-)不能作为 InstanceName 的首尾字符,不能连续使用。
2612
+ # 字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。
2613
+ # @type InstanceName: String
2614
+ # @param InstanceNameStyle: 云服务器实例名的风格,取值范围包括 ORIGINAL 和 UNIQUE,默认为 ORIGINAL。
2615
+
2616
+ # ORIGINAL,AS 直接将入参中所填的 InstanceName 传递给 CVM,CVM 可能会对 InstanceName 追加序列号,伸缩组中实例的 InstanceName 会出现冲突的情况。
2617
+
2618
+ # UNIQUE,入参所填的 InstanceName 相当于实例名前缀,AS 和 CVM 会对其进行拓展,伸缩组中实例的 InstanceName 可以保证唯一。
2619
+ # @type InstanceNameStyle: String
2620
+
2621
+ attr_accessor :InstanceName, :InstanceNameStyle
2622
+
2623
+ def initialize(instancename=nil, instancenamestyle=nil)
2624
+ @InstanceName = instancename
2625
+ @InstanceNameStyle = instancenamestyle
2626
+ end
2627
+
2628
+ def deserialize(params)
2629
+ @InstanceName = params['InstanceName']
2630
+ @InstanceNameStyle = params['InstanceNameStyle']
2631
+ end
2632
+ end
2633
+
2634
+ # 实例标签。通过指定该参数,可以为扩容的实例绑定标签。
2635
+ class InstanceTag < TencentCloud::Common::AbstractModel
2636
+ # @param Key: 标签键
2637
+ # @type Key: String
2638
+ # @param Value: 标签值
2639
+ # @type Value: String
2640
+
2641
+ attr_accessor :Key, :Value
2642
+
2643
+ def initialize(key=nil, value=nil)
2644
+ @Key = key
2645
+ @Value = value
2646
+ end
2647
+
2648
+ def deserialize(params)
2649
+ @Key = params['Key']
2650
+ @Value = params['Value']
2651
+ end
2652
+ end
2653
+
2654
+ # 描述了启动配置创建实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等
2655
+ class InternetAccessible < TencentCloud::Common::AbstractModel
2656
+ # @param InternetChargeType: 网络计费类型。取值范围:<br><li>BANDWIDTH_PREPAID:预付费按带宽结算<br><li>TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费<br><li>BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费<br><li>BANDWIDTH_PACKAGE:带宽包用户<br>默认取值:TRAFFIC_POSTPAID_BY_HOUR。
2657
+ # 注意:此字段可能返回 null,表示取不到有效值。
2658
+ # @type InternetChargeType: String
2659
+ # @param InternetMaxBandwidthOut: 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见[购买网络带宽](https://cloud.tencent.com/document/product/213/509)。
2660
+ # 注意:此字段可能返回 null,表示取不到有效值。
2661
+ # @type InternetMaxBandwidthOut: Integer
2662
+ # @param PublicIpAssigned: 是否分配公网IP。取值范围:<br><li>TRUE:表示分配公网IP<br><li>FALSE:表示不分配公网IP<br><br>当公网带宽大于0Mbps时,可自由选择开通与否,默认开通公网IP;当公网带宽为0,则不允许分配公网IP。
2663
+ # 注意:此字段可能返回 null,表示取不到有效值。
2664
+ # @type PublicIpAssigned: Boolean
2665
+ # @param BandwidthPackageId: 带宽包ID。可通过[DescribeBandwidthPackages](https://cloud.tencent.com/document/api/215/19209)接口返回值中的`BandwidthPackageId`获取。
2666
+ # 注意:此字段可能返回 null,表示取不到有效值。
2667
+ # @type BandwidthPackageId: String
2668
+
2669
+ attr_accessor :InternetChargeType, :InternetMaxBandwidthOut, :PublicIpAssigned, :BandwidthPackageId
2670
+
2671
+ def initialize(internetchargetype=nil, internetmaxbandwidthout=nil, publicipassigned=nil, bandwidthpackageid=nil)
2672
+ @InternetChargeType = internetchargetype
2673
+ @InternetMaxBandwidthOut = internetmaxbandwidthout
2674
+ @PublicIpAssigned = publicipassigned
2675
+ @BandwidthPackageId = bandwidthpackageid
2676
+ end
2677
+
2678
+ def deserialize(params)
2679
+ @InternetChargeType = params['InternetChargeType']
2680
+ @InternetMaxBandwidthOut = params['InternetMaxBandwidthOut']
2681
+ @PublicIpAssigned = params['PublicIpAssigned']
2682
+ @BandwidthPackageId = params['BandwidthPackageId']
2683
+ end
2684
+ end
2685
+
2686
+ # 符合条件的启动配置信息的集合。
2687
+ class LaunchConfiguration < TencentCloud::Common::AbstractModel
2688
+ # @param ProjectId: 实例所属项目ID。
2689
+ # @type ProjectId: Integer
2690
+ # @param LaunchConfigurationId: 启动配置ID。
2691
+ # @type LaunchConfigurationId: String
2692
+ # @param LaunchConfigurationName: 启动配置名称。
2693
+ # @type LaunchConfigurationName: String
2694
+ # @param InstanceType: 实例机型。
2695
+ # @type InstanceType: String
2696
+ # @param SystemDisk: 实例系统盘配置信息。
2697
+ # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk`
2698
+ # @param DataDisks: 实例数据盘配置信息。
2699
+ # @type DataDisks: Array
2700
+ # @param LoginSettings: 实例登录设置。
2701
+ # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LimitedLoginSettings`
2702
+ # @param InternetAccessible: 公网带宽相关信息设置。
2703
+ # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible`
2704
+ # @param SecurityGroupIds: 实例所属安全组。
2705
+ # @type SecurityGroupIds: Array
2706
+ # @param AutoScalingGroupAbstractSet: 启动配置关联的伸缩组。
2707
+ # @type AutoScalingGroupAbstractSet: Array
2708
+ # @param UserData: 自定义数据。
2709
+ # 注意:此字段可能返回 null,表示取不到有效值。
2710
+ # @type UserData: String
2711
+ # @param CreatedTime: 启动配置创建时间。
2712
+ # @type CreatedTime: String
2713
+ # @param EnhancedService: 实例的增强服务启用情况与其设置。
2714
+ # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService`
2715
+ # @param ImageId: 镜像ID。
2716
+ # @type ImageId: String
2717
+ # @param LaunchConfigurationStatus: 启动配置当前状态。取值范围:<br><li>NORMAL:正常<br><li>IMAGE_ABNORMAL:启动配置镜像异常<br><li>CBS_SNAP_ABNORMAL:启动配置数据盘快照异常<br><li>SECURITY_GROUP_ABNORMAL:启动配置安全组异常<br>
2718
+ # @type LaunchConfigurationStatus: String
2719
+ # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。
2720
+ # <br><li>POSTPAID_BY_HOUR:按小时后付费
2721
+ # <br><li>SPOTPAID:竞价付费
2722
+ # @type InstanceChargeType: String
2723
+ # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。
2724
+ # 注意:此字段可能返回 null,表示取不到有效值。
2725
+ # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest`
2726
+ # @param InstanceTypes: 实例机型列表。
2727
+ # @type InstanceTypes: Array
2728
+ # @param InstanceTags: 标签列表。
2729
+ # @type InstanceTags: Array
2730
+ # @param VersionNumber: 版本号。
2731
+ # @type VersionNumber: Integer
2732
+ # @param UpdatedTime: 更新时间。
2733
+ # @type UpdatedTime: String
2734
+ # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。
2735
+ # @type CamRoleName: String
2736
+ # @param LastOperationInstanceTypesCheckPolicy: 上次操作时,InstanceTypesCheckPolicy 取值。
2737
+ # @type LastOperationInstanceTypesCheckPolicy: String
2738
+ # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。
2739
+ # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings`
2740
+ # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。
2741
+ # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings`
2742
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
2743
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid`
2744
+ # @param DiskTypePolicy: 云盘类型选择策略。取值范围:
2745
+ # <br><li>ORIGINAL:使用设置的云盘类型
2746
+ # <br><li>AUTOMATIC:自动选择当前可用区下可用的云盘类型
2747
+ # @type DiskTypePolicy: String
2748
+
2749
+ 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
2750
+
2751
+ 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)
2752
+ @ProjectId = projectid
2753
+ @LaunchConfigurationId = launchconfigurationid
2754
+ @LaunchConfigurationName = launchconfigurationname
2755
+ @InstanceType = instancetype
2756
+ @SystemDisk = systemdisk
2757
+ @DataDisks = datadisks
2758
+ @LoginSettings = loginsettings
2759
+ @InternetAccessible = internetaccessible
2760
+ @SecurityGroupIds = securitygroupids
2761
+ @AutoScalingGroupAbstractSet = autoscalinggroupabstractset
2762
+ @UserData = userdata
2763
+ @CreatedTime = createdtime
2764
+ @EnhancedService = enhancedservice
2765
+ @ImageId = imageid
2766
+ @LaunchConfigurationStatus = launchconfigurationstatus
2767
+ @InstanceChargeType = instancechargetype
2768
+ @InstanceMarketOptions = instancemarketoptions
2769
+ @InstanceTypes = instancetypes
2770
+ @InstanceTags = instancetags
2771
+ @VersionNumber = versionnumber
2772
+ @UpdatedTime = updatedtime
2773
+ @CamRoleName = camrolename
2774
+ @LastOperationInstanceTypesCheckPolicy = lastoperationinstancetypescheckpolicy
2775
+ @HostNameSettings = hostnamesettings
2776
+ @InstanceNameSettings = instancenamesettings
2777
+ @InstanceChargePrepaid = instancechargeprepaid
2778
+ @DiskTypePolicy = disktypepolicy
2779
+ end
2780
+
2781
+ def deserialize(params)
2782
+ @ProjectId = params['ProjectId']
2783
+ @LaunchConfigurationId = params['LaunchConfigurationId']
2784
+ @LaunchConfigurationName = params['LaunchConfigurationName']
2785
+ @InstanceType = params['InstanceType']
2786
+ unless params['SystemDisk'].nil?
2787
+ @SystemDisk = SystemDisk.new
2788
+ @SystemDisk.deserialize(params['SystemDisk'])
2789
+ end
2790
+ unless params['DataDisks'].nil?
2791
+ @DataDisks = []
2792
+ params['DataDisks'].each do |i|
2793
+ datadisk_tmp = DataDisk.new
2794
+ datadisk_tmp.deserialize(i)
2795
+ @DataDisks << datadisk_tmp
2796
+ end
2797
+ end
2798
+ unless params['LoginSettings'].nil?
2799
+ @LoginSettings = LimitedLoginSettings.new
2800
+ @LoginSettings.deserialize(params['LoginSettings'])
2801
+ end
2802
+ unless params['InternetAccessible'].nil?
2803
+ @InternetAccessible = InternetAccessible.new
2804
+ @InternetAccessible.deserialize(params['InternetAccessible'])
2805
+ end
2806
+ @SecurityGroupIds = params['SecurityGroupIds']
2807
+ unless params['AutoScalingGroupAbstractSet'].nil?
2808
+ @AutoScalingGroupAbstractSet = []
2809
+ params['AutoScalingGroupAbstractSet'].each do |i|
2810
+ autoscalinggroupabstract_tmp = AutoScalingGroupAbstract.new
2811
+ autoscalinggroupabstract_tmp.deserialize(i)
2812
+ @AutoScalingGroupAbstractSet << autoscalinggroupabstract_tmp
2813
+ end
2814
+ end
2815
+ @UserData = params['UserData']
2816
+ @CreatedTime = params['CreatedTime']
2817
+ unless params['EnhancedService'].nil?
2818
+ @EnhancedService = EnhancedService.new
2819
+ @EnhancedService.deserialize(params['EnhancedService'])
2820
+ end
2821
+ @ImageId = params['ImageId']
2822
+ @LaunchConfigurationStatus = params['LaunchConfigurationStatus']
2823
+ @InstanceChargeType = params['InstanceChargeType']
2824
+ unless params['InstanceMarketOptions'].nil?
2825
+ @InstanceMarketOptions = InstanceMarketOptionsRequest.new
2826
+ @InstanceMarketOptions.deserialize(params['InstanceMarketOptions'])
2827
+ end
2828
+ @InstanceTypes = params['InstanceTypes']
2829
+ unless params['InstanceTags'].nil?
2830
+ @InstanceTags = []
2831
+ params['InstanceTags'].each do |i|
2832
+ instancetag_tmp = InstanceTag.new
2833
+ instancetag_tmp.deserialize(i)
2834
+ @InstanceTags << instancetag_tmp
2835
+ end
2836
+ end
2837
+ @VersionNumber = params['VersionNumber']
2838
+ @UpdatedTime = params['UpdatedTime']
2839
+ @CamRoleName = params['CamRoleName']
2840
+ @LastOperationInstanceTypesCheckPolicy = params['LastOperationInstanceTypesCheckPolicy']
2841
+ unless params['HostNameSettings'].nil?
2842
+ @HostNameSettings = HostNameSettings.new
2843
+ @HostNameSettings.deserialize(params['HostNameSettings'])
2844
+ end
2845
+ unless params['InstanceNameSettings'].nil?
2846
+ @InstanceNameSettings = InstanceNameSettings.new
2847
+ @InstanceNameSettings.deserialize(params['InstanceNameSettings'])
2848
+ end
2849
+ unless params['InstanceChargePrepaid'].nil?
2850
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
2851
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
2852
+ end
2853
+ @DiskTypePolicy = params['DiskTypePolicy']
2854
+ end
2855
+ end
2856
+
2857
+ # 生命周期挂钩动作的执行结果信息。
2858
+ class LifecycleActionResultInfo < TencentCloud::Common::AbstractModel
2859
+ # @param LifecycleHookId: 生命周期挂钩标识。
2860
+ # @type LifecycleHookId: String
2861
+ # @param InstanceId: 实例标识。
2862
+ # @type InstanceId: String
2863
+ # @param NotificationResult: 通知的结果,表示通知CMQ是否成功。
2864
+ # @type NotificationResult: String
2865
+ # @param LifecycleActionResult: 生命周期挂钩动作的执行结果,取值包括 CONTINUE、ABANDON。
2866
+ # @type LifecycleActionResult: String
2867
+ # @param ResultReason: 结果的原因。
2868
+ # @type ResultReason: String
2869
+
2870
+ attr_accessor :LifecycleHookId, :InstanceId, :NotificationResult, :LifecycleActionResult, :ResultReason
2871
+
2872
+ def initialize(lifecyclehookid=nil, instanceid=nil, notificationresult=nil, lifecycleactionresult=nil, resultreason=nil)
2873
+ @LifecycleHookId = lifecyclehookid
2874
+ @InstanceId = instanceid
2875
+ @NotificationResult = notificationresult
2876
+ @LifecycleActionResult = lifecycleactionresult
2877
+ @ResultReason = resultreason
2878
+ end
2879
+
2880
+ def deserialize(params)
2881
+ @LifecycleHookId = params['LifecycleHookId']
2882
+ @InstanceId = params['InstanceId']
2883
+ @NotificationResult = params['NotificationResult']
2884
+ @LifecycleActionResult = params['LifecycleActionResult']
2885
+ @ResultReason = params['ResultReason']
2886
+ end
2887
+ end
2888
+
2889
+ # 生命周期挂钩
2890
+ class LifecycleHook < TencentCloud::Common::AbstractModel
2891
+ # @param LifecycleHookId: 生命周期挂钩ID
2892
+ # @type LifecycleHookId: String
2893
+ # @param LifecycleHookName: 生命周期挂钩名称
2894
+ # @type LifecycleHookName: String
2895
+ # @param AutoScalingGroupId: 伸缩组ID
2896
+ # @type AutoScalingGroupId: String
2897
+ # @param DefaultResult: 生命周期挂钩默认结果
2898
+ # @type DefaultResult: String
2899
+ # @param HeartbeatTimeout: 生命周期挂钩等待超时时间
2900
+ # @type HeartbeatTimeout: Integer
2901
+ # @param LifecycleTransition: 生命周期挂钩适用场景
2902
+ # @type LifecycleTransition: String
2903
+ # @param NotificationMetadata: 通知目标的附加信息
2904
+ # @type NotificationMetadata: String
2905
+ # @param CreatedTime: 创建时间
2906
+ # @type CreatedTime: String
2907
+ # @param NotificationTarget: 通知目标
2908
+ # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget`
2909
+ # @param LifecycleTransitionType: 生命周期挂钩适用场景
2910
+ # @type LifecycleTransitionType: String
2911
+
2912
+ attr_accessor :LifecycleHookId, :LifecycleHookName, :AutoScalingGroupId, :DefaultResult, :HeartbeatTimeout, :LifecycleTransition, :NotificationMetadata, :CreatedTime, :NotificationTarget, :LifecycleTransitionType
2913
+
2914
+ def initialize(lifecyclehookid=nil, lifecyclehookname=nil, autoscalinggroupid=nil, defaultresult=nil, heartbeattimeout=nil, lifecycletransition=nil, notificationmetadata=nil, createdtime=nil, notificationtarget=nil, lifecycletransitiontype=nil)
2915
+ @LifecycleHookId = lifecyclehookid
2916
+ @LifecycleHookName = lifecyclehookname
2917
+ @AutoScalingGroupId = autoscalinggroupid
2918
+ @DefaultResult = defaultresult
2919
+ @HeartbeatTimeout = heartbeattimeout
2920
+ @LifecycleTransition = lifecycletransition
2921
+ @NotificationMetadata = notificationmetadata
2922
+ @CreatedTime = createdtime
2923
+ @NotificationTarget = notificationtarget
2924
+ @LifecycleTransitionType = lifecycletransitiontype
2925
+ end
2926
+
2927
+ def deserialize(params)
2928
+ @LifecycleHookId = params['LifecycleHookId']
2929
+ @LifecycleHookName = params['LifecycleHookName']
2930
+ @AutoScalingGroupId = params['AutoScalingGroupId']
2931
+ @DefaultResult = params['DefaultResult']
2932
+ @HeartbeatTimeout = params['HeartbeatTimeout']
2933
+ @LifecycleTransition = params['LifecycleTransition']
2934
+ @NotificationMetadata = params['NotificationMetadata']
2935
+ @CreatedTime = params['CreatedTime']
2936
+ unless params['NotificationTarget'].nil?
2937
+ @NotificationTarget = NotificationTarget.new
2938
+ @NotificationTarget.deserialize(params['NotificationTarget'])
2939
+ end
2940
+ @LifecycleTransitionType = params['LifecycleTransitionType']
2941
+ end
2942
+ end
2943
+
2944
+ # 描述了实例登录相关配置与信息,出于安全性考虑,不会描述敏感信息。
2945
+ class LimitedLoginSettings < TencentCloud::Common::AbstractModel
2946
+ # @param KeyIds: 密钥ID列表。
2947
+ # @type KeyIds: Array
2948
+
2949
+ attr_accessor :KeyIds
2950
+
2951
+ def initialize(keyids=nil)
2952
+ @KeyIds = keyids
2953
+ end
2954
+
2955
+ def deserialize(params)
2956
+ @KeyIds = params['KeyIds']
2957
+ end
2958
+ end
2959
+
2960
+ # 描述了实例登录相关配置与信息。
2961
+ class LoginSettings < TencentCloud::Common::AbstractModel
2962
+ # @param Password: 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:<br><li>Linux实例密码必须8到16位,至少包括两项[a-z,A-Z]、[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。<br><li>Windows实例密码必须12到16位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = { } [ ] : ; ' , . ? /]中的特殊符号。<br><br>若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。
2963
+ # 注意:此字段可能返回 null,表示取不到有效值。
2964
+ # @type Password: String
2965
+ # @param KeyIds: 密钥ID列表。关联密钥后,就可以通过对应的私钥来访问实例;KeyId可通过接口DescribeKeyPairs获取,密钥与密码不能同时指定,同时Windows操作系统不支持指定密钥。当前仅支持购买的时候指定一个密钥。
2966
+ # @type KeyIds: Array
2967
+ # @param KeepImageLogin: 保持镜像的原始设置。该参数与Password或KeyIds.N不能同时指定。只有使用自定义镜像、共享镜像或外部导入镜像创建实例时才能指定该参数为TRUE。取值范围:<br><li>TRUE:表示保持镜像的登录设置<br><li>FALSE:表示不保持镜像的登录设置<br><br>默认取值:FALSE。
2968
+ # 注意:此字段可能返回 null,表示取不到有效值。
2969
+ # @type KeepImageLogin: Boolean
2970
+
2971
+ attr_accessor :Password, :KeyIds, :KeepImageLogin
2972
+
2973
+ def initialize(password=nil, keyids=nil, keepimagelogin=nil)
2974
+ @Password = password
2975
+ @KeyIds = keyids
2976
+ @KeepImageLogin = keepimagelogin
2977
+ end
2978
+
2979
+ def deserialize(params)
2980
+ @Password = params['Password']
2981
+ @KeyIds = params['KeyIds']
2982
+ @KeepImageLogin = params['KeepImageLogin']
2983
+ end
2984
+ end
2985
+
2986
+ # 弹性伸缩告警指标
2987
+ class MetricAlarm < TencentCloud::Common::AbstractModel
2988
+ # @param ComparisonOperator: 比较运算符,可选值:<br><li>GREATER_THAN:大于</li><li>GREATER_THAN_OR_EQUAL_TO:大于或等于</li><li>LESS_THAN:小于</li><li> LESS_THAN_OR_EQUAL_TO:小于或等于</li><li> EQUAL_TO:等于</li> <li>NOT_EQUAL_TO:不等于</li>
2989
+ # @type ComparisonOperator: String
2990
+ # @param MetricName: 指标名称,可选字段如下:<br><li>CPU_UTILIZATION:CPU利用率</li><li>MEM_UTILIZATION:内存利用率</li><li>LAN_TRAFFIC_OUT:内网出带宽</li><li>LAN_TRAFFIC_IN:内网入带宽</li><li>WAN_TRAFFIC_OUT:外网出带宽</li><li>WAN_TRAFFIC_IN:外网入带宽</li>
2991
+ # @type MetricName: String
2992
+ # @param Threshold: 告警阈值:<br><li>CPU_UTILIZATION:[1, 100],单位:%</li><li>MEM_UTILIZATION:[1, 100],单位:%</li><li>LAN_TRAFFIC_OUT:>0,单位:Mbps </li><li>LAN_TRAFFIC_IN:>0,单位:Mbps</li><li>WAN_TRAFFIC_OUT:>0,单位:Mbps</li><li>WAN_TRAFFIC_IN:>0,单位:Mbps</li>
2993
+ # @type Threshold: Integer
2994
+ # @param Period: 时间周期,单位:秒,取值枚举值为60、300。
2995
+ # @type Period: Integer
2996
+ # @param ContinuousTime: 重复次数。取值范围 [1, 10]
2997
+ # @type ContinuousTime: Integer
2998
+ # @param Statistic: 统计类型,可选字段如下:<br><li>AVERAGE:平均值</li><li>MAXIMUM:最大值<li>MINIMUM:最小值</li><br> 默认取值:AVERAGE
2999
+ # @type Statistic: String
3000
+
3001
+ attr_accessor :ComparisonOperator, :MetricName, :Threshold, :Period, :ContinuousTime, :Statistic
3002
+
3003
+ def initialize(comparisonoperator=nil, metricname=nil, threshold=nil, period=nil, continuoustime=nil, statistic=nil)
3004
+ @ComparisonOperator = comparisonoperator
3005
+ @MetricName = metricname
3006
+ @Threshold = threshold
3007
+ @Period = period
3008
+ @ContinuousTime = continuoustime
3009
+ @Statistic = statistic
3010
+ end
3011
+
3012
+ def deserialize(params)
3013
+ @ComparisonOperator = params['ComparisonOperator']
3014
+ @MetricName = params['MetricName']
3015
+ @Threshold = params['Threshold']
3016
+ @Period = params['Period']
3017
+ @ContinuousTime = params['ContinuousTime']
3018
+ @Statistic = params['Statistic']
3019
+ end
3020
+ end
3021
+
3022
+ # ModifyAutoScalingGroup请求参数结构体
3023
+ class ModifyAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
3024
+ # @param AutoScalingGroupId: 伸缩组ID
3025
+ # @type AutoScalingGroupId: String
3026
+ # @param AutoScalingGroupName: 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。
3027
+ # @type AutoScalingGroupName: String
3028
+ # @param DefaultCooldown: 默认冷却时间,单位秒,默认值为300
3029
+ # @type DefaultCooldown: Integer
3030
+ # @param DesiredCapacity: 期望实例数,大小介于最小实例数和最大实例数之间
3031
+ # @type DesiredCapacity: Integer
3032
+ # @param LaunchConfigurationId: 启动配置ID
3033
+ # @type LaunchConfigurationId: String
3034
+ # @param MaxSize: 最大实例数,取值范围为0-2000。
3035
+ # @type MaxSize: Integer
3036
+ # @param MinSize: 最小实例数,取值范围为0-2000。
3037
+ # @type MinSize: Integer
3038
+ # @param ProjectId: 项目ID
3039
+ # @type ProjectId: Integer
3040
+ # @param SubnetIds: 子网ID列表
3041
+ # @type SubnetIds: Array
3042
+ # @param TerminationPolicies: 销毁策略,目前长度上限为1。取值包括 OLDEST_INSTANCE 和 NEWEST_INSTANCE。
3043
+ # <br><li> OLDEST_INSTANCE 优先销毁伸缩组中最旧的实例。
3044
+ # <br><li> NEWEST_INSTANCE,优先销毁伸缩组中最新的实例。
3045
+ # @type TerminationPolicies: Array
3046
+ # @param VpcId: VPC ID,基础网络则填空字符串。修改为具体VPC ID时,需指定相应的SubnetIds;修改为基础网络时,需指定相应的Zones。
3047
+ # @type VpcId: String
3048
+ # @param Zones: 可用区列表
3049
+ # @type Zones: Array
3050
+ # @param RetryPolicy: 重试策略,取值包括 IMMEDIATE_RETRY、 INCREMENTAL_INTERVALS、NO_RETRY,默认取值为 IMMEDIATE_RETRY。
3051
+ # <br><li> IMMEDIATE_RETRY,立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试。
3052
+ # <br><li> INCREMENTAL_INTERVALS,间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,重试间隔从秒级到1天不等。
3053
+ # <br><li> NO_RETRY,不进行重试,直到再次收到用户调用或者告警信息后才会重试。
3054
+ # @type RetryPolicy: String
3055
+ # @param ZonesCheckPolicy: 可用区校验策略,取值包括 ALL 和 ANY,默认取值为ANY。在伸缩组实际变更资源相关字段时(启动配置、可用区、子网)发挥作用。
3056
+ # <br><li> ALL,所有可用区(Zone)或子网(SubnetId)都可用则通过校验,否则校验报错。
3057
+ # <br><li> ANY,存在任何一个可用区(Zone)或子网(SubnetId)可用则通过校验,否则校验报错。
3058
+
3059
+ # 可用区或子网不可用的常见原因包括该可用区CVM实例类型售罄、该可用区CBS云盘售罄、该可用区配额不足、该子网IP不足等。
3060
+ # 如果 Zones/SubnetIds 中可用区或者子网不存在,则无论 ZonesCheckPolicy 采用何种取值,都会校验报错。
3061
+ # @type ZonesCheckPolicy: String
3062
+ # @param ServiceSettings: 服务设置,包括云监控不健康替换等服务设置。
3063
+ # @type ServiceSettings: :class:`Tencentcloud::As.v20180419.models.ServiceSettings`
3064
+ # @param Ipv6AddressCount: 实例具有IPv6地址数量的配置,取值包括0、1。
3065
+ # @type Ipv6AddressCount: Integer
3066
+ # @param MultiZoneSubnetPolicy: 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY。
3067
+ # <br><li> PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。
3068
+ # <br><li> EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。
3069
+
3070
+ # 与本策略相关的注意点:
3071
+ # <br><li> 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。
3072
+ # <br><li> 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。
3073
+ # <br><li> 创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3(按照PRIORITY策略),会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。
3074
+ # <br><li> 无论使用哪种策略,单次伸缩活动总是优先保持使用一种具体配置(机型 * 可用区/子网)。
3075
+ # @type MultiZoneSubnetPolicy: String
3076
+ # @param HealthCheckType: 伸缩组实例健康检查类型,取值如下:<br><li>CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)<br><li>CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097)
3077
+ # @type HealthCheckType: String
3078
+ # @param LoadBalancerHealthCheckGracePeriod: CLB健康检查宽限期。
3079
+ # @type LoadBalancerHealthCheckGracePeriod: Integer
3080
+ # @param InstanceAllocationPolicy: 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。
3081
+ # <br><li> LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。
3082
+ # <br><li> SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。
3083
+ # @type InstanceAllocationPolicy: String
3084
+ # @param SpotMixedAllocationPolicy: 竞价混合模式下,各计费类型实例的分配策略。
3085
+ # 仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。
3086
+ # @type SpotMixedAllocationPolicy: :class:`Tencentcloud::As.v20180419.models.SpotMixedAllocationPolicy`
3087
+ # @param CapacityRebalance: 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围:
3088
+ # <br><li> TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。
3089
+ # <br><li> FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。
3090
+ # @type CapacityRebalance: Boolean
3091
+
3092
+ attr_accessor :AutoScalingGroupId, :AutoScalingGroupName, :DefaultCooldown, :DesiredCapacity, :LaunchConfigurationId, :MaxSize, :MinSize, :ProjectId, :SubnetIds, :TerminationPolicies, :VpcId, :Zones, :RetryPolicy, :ZonesCheckPolicy, :ServiceSettings, :Ipv6AddressCount, :MultiZoneSubnetPolicy, :HealthCheckType, :LoadBalancerHealthCheckGracePeriod, :InstanceAllocationPolicy, :SpotMixedAllocationPolicy, :CapacityRebalance
3093
+
3094
+ 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)
3095
+ @AutoScalingGroupId = autoscalinggroupid
3096
+ @AutoScalingGroupName = autoscalinggroupname
3097
+ @DefaultCooldown = defaultcooldown
3098
+ @DesiredCapacity = desiredcapacity
3099
+ @LaunchConfigurationId = launchconfigurationid
3100
+ @MaxSize = maxsize
3101
+ @MinSize = minsize
3102
+ @ProjectId = projectid
3103
+ @SubnetIds = subnetids
3104
+ @TerminationPolicies = terminationpolicies
3105
+ @VpcId = vpcid
3106
+ @Zones = zones
3107
+ @RetryPolicy = retrypolicy
3108
+ @ZonesCheckPolicy = zonescheckpolicy
3109
+ @ServiceSettings = servicesettings
3110
+ @Ipv6AddressCount = ipv6addresscount
3111
+ @MultiZoneSubnetPolicy = multizonesubnetpolicy
3112
+ @HealthCheckType = healthchecktype
3113
+ @LoadBalancerHealthCheckGracePeriod = loadbalancerhealthcheckgraceperiod
3114
+ @InstanceAllocationPolicy = instanceallocationpolicy
3115
+ @SpotMixedAllocationPolicy = spotmixedallocationpolicy
3116
+ @CapacityRebalance = capacityrebalance
3117
+ end
3118
+
3119
+ def deserialize(params)
3120
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3121
+ @AutoScalingGroupName = params['AutoScalingGroupName']
3122
+ @DefaultCooldown = params['DefaultCooldown']
3123
+ @DesiredCapacity = params['DesiredCapacity']
3124
+ @LaunchConfigurationId = params['LaunchConfigurationId']
3125
+ @MaxSize = params['MaxSize']
3126
+ @MinSize = params['MinSize']
3127
+ @ProjectId = params['ProjectId']
3128
+ @SubnetIds = params['SubnetIds']
3129
+ @TerminationPolicies = params['TerminationPolicies']
3130
+ @VpcId = params['VpcId']
3131
+ @Zones = params['Zones']
3132
+ @RetryPolicy = params['RetryPolicy']
3133
+ @ZonesCheckPolicy = params['ZonesCheckPolicy']
3134
+ unless params['ServiceSettings'].nil?
3135
+ @ServiceSettings = ServiceSettings.new
3136
+ @ServiceSettings.deserialize(params['ServiceSettings'])
3137
+ end
3138
+ @Ipv6AddressCount = params['Ipv6AddressCount']
3139
+ @MultiZoneSubnetPolicy = params['MultiZoneSubnetPolicy']
3140
+ @HealthCheckType = params['HealthCheckType']
3141
+ @LoadBalancerHealthCheckGracePeriod = params['LoadBalancerHealthCheckGracePeriod']
3142
+ @InstanceAllocationPolicy = params['InstanceAllocationPolicy']
3143
+ unless params['SpotMixedAllocationPolicy'].nil?
3144
+ @SpotMixedAllocationPolicy = SpotMixedAllocationPolicy.new
3145
+ @SpotMixedAllocationPolicy.deserialize(params['SpotMixedAllocationPolicy'])
3146
+ end
3147
+ @CapacityRebalance = params['CapacityRebalance']
3148
+ end
3149
+ end
3150
+
3151
+ # ModifyAutoScalingGroup返回参数结构体
3152
+ class ModifyAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
3153
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3154
+ # @type RequestId: String
3155
+
3156
+ attr_accessor :RequestId
3157
+
3158
+ def initialize(requestid=nil)
3159
+ @RequestId = requestid
3160
+ end
3161
+
3162
+ def deserialize(params)
3163
+ @RequestId = params['RequestId']
3164
+ end
3165
+ end
3166
+
3167
+ # ModifyDesiredCapacity请求参数结构体
3168
+ class ModifyDesiredCapacityRequest < TencentCloud::Common::AbstractModel
3169
+ # @param AutoScalingGroupId: 伸缩组ID
3170
+ # @type AutoScalingGroupId: String
3171
+ # @param DesiredCapacity: 期望实例数
3172
+ # @type DesiredCapacity: Integer
3173
+
3174
+ attr_accessor :AutoScalingGroupId, :DesiredCapacity
3175
+
3176
+ def initialize(autoscalinggroupid=nil, desiredcapacity=nil)
3177
+ @AutoScalingGroupId = autoscalinggroupid
3178
+ @DesiredCapacity = desiredcapacity
3179
+ end
3180
+
3181
+ def deserialize(params)
3182
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3183
+ @DesiredCapacity = params['DesiredCapacity']
3184
+ end
3185
+ end
3186
+
3187
+ # ModifyDesiredCapacity返回参数结构体
3188
+ class ModifyDesiredCapacityResponse < TencentCloud::Common::AbstractModel
3189
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3190
+ # @type RequestId: String
3191
+
3192
+ attr_accessor :RequestId
3193
+
3194
+ def initialize(requestid=nil)
3195
+ @RequestId = requestid
3196
+ end
3197
+
3198
+ def deserialize(params)
3199
+ @RequestId = params['RequestId']
3200
+ end
3201
+ end
3202
+
3203
+ # ModifyLaunchConfigurationAttributes请求参数结构体
3204
+ class ModifyLaunchConfigurationAttributesRequest < TencentCloud::Common::AbstractModel
3205
+ # @param LaunchConfigurationId: 启动配置ID
3206
+ # @type LaunchConfigurationId: String
3207
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID:<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。</li>
3208
+ # @type ImageId: String
3209
+ # @param InstanceTypes: 实例类型列表,不同实例机型指定了不同的资源规格,最多支持10种实例机型。
3210
+ # InstanceType 指定单一实例类型,通过设置 InstanceTypes可以指定多实例类型,并使原有的InstanceType失效。
3211
+ # @type InstanceTypes: Array
3212
+ # @param InstanceTypesCheckPolicy: 实例类型校验策略,在实际修改 InstanceTypes 时发挥作用,取值包括 ALL 和 ANY,默认取值为ANY。
3213
+ # <br><li> ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。
3214
+ # <br><li> ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。
3215
+
3216
+ # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。
3217
+ # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。
3218
+ # @type InstanceTypesCheckPolicy: String
3219
+ # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。
3220
+ # @type LaunchConfigurationName: String
3221
+ # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。如果要清空UserData,则指定其为空字符串。
3222
+ # @type UserData: String
3223
+ # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。
3224
+ # 若指定该参数,请至少提供一个安全组,列表顺序有先后。
3225
+ # @type SecurityGroupIds: Array
3226
+ # @param InternetAccessible: 公网带宽相关信息设置。
3227
+ # 当公网出带宽上限为0Mbps时,不支持修改为开通分配公网IP;相应的,当前为开通分配公网IP时,修改的公网出带宽上限值必须大于0Mbps。
3228
+ # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible`
3229
+ # @param InstanceChargeType: 实例计费类型。具体取值范围如下:
3230
+ # <br><li>POSTPAID_BY_HOUR:按小时后付费
3231
+ # <br><li>SPOTPAID:竞价付费
3232
+ # <br><li>PREPAID:预付费,即包年包月
3233
+ # @type InstanceChargeType: String
3234
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。
3235
+ # 若修改实例的付费模式为预付费,则该参数必传;从预付费修改为其他付费模式时,本字段原信息会自动丢弃。
3236
+ # 当新增该字段时,必须传递购买实例的时长,其它未传递字段会设置为默认值。
3237
+ # 当修改本字段时,当前付费模式必须为预付费。
3238
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid`
3239
+ # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数。
3240
+ # 若修改实例的付费模式为竞价付费,则该参数必传;从竞价付费修改为其他付费模式时,本字段原信息会自动丢弃。
3241
+ # 当新增该字段时,必须传递竞价相关选项下的竞价出价,其它未传递字段会设置为默认值。
3242
+ # 当修改本字段时,当前付费模式必须为竞价付费。
3243
+ # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest`
3244
+ # @param DiskTypePolicy: 云盘类型选择策略,取值范围:
3245
+ # <br><li>ORIGINAL:使用设置的云盘类型。
3246
+ # <br><li>AUTOMATIC:自动选择当前可用的云盘类型。
3247
+ # @type DiskTypePolicy: String
3248
+ # @param SystemDisk: 实例系统盘配置信息。
3249
+ # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk`
3250
+ # @param DataDisks: 实例数据盘配置信息。
3251
+ # 最多支持指定11块数据盘。采取整体修改,因此请提供修改后的全部值。
3252
+ # 数据盘类型默认与系统盘类型保持一致。
3253
+ # @type DataDisks: Array
3254
+ # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。
3255
+ # 不支持windows实例设置主机名。
3256
+ # 新增该属性时,必须传递云服务器的主机名,其它未传递字段会设置为默认值。
3257
+ # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings`
3258
+ # @param InstanceNameSettings: 云服务器(InstanceName)实例名的相关设置。
3259
+ # 如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。
3260
+ # 新增该属性时,必须传递云服务器的实例名称,其它未传递字段会设置为默认值。
3261
+ # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings`
3262
+ # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。
3263
+ # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService`
3264
+
3265
+ attr_accessor :LaunchConfigurationId, :ImageId, :InstanceTypes, :InstanceTypesCheckPolicy, :LaunchConfigurationName, :UserData, :SecurityGroupIds, :InternetAccessible, :InstanceChargeType, :InstanceChargePrepaid, :InstanceMarketOptions, :DiskTypePolicy, :SystemDisk, :DataDisks, :HostNameSettings, :InstanceNameSettings, :EnhancedService
3266
+
3267
+ 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)
3268
+ @LaunchConfigurationId = launchconfigurationid
3269
+ @ImageId = imageid
3270
+ @InstanceTypes = instancetypes
3271
+ @InstanceTypesCheckPolicy = instancetypescheckpolicy
3272
+ @LaunchConfigurationName = launchconfigurationname
3273
+ @UserData = userdata
3274
+ @SecurityGroupIds = securitygroupids
3275
+ @InternetAccessible = internetaccessible
3276
+ @InstanceChargeType = instancechargetype
3277
+ @InstanceChargePrepaid = instancechargeprepaid
3278
+ @InstanceMarketOptions = instancemarketoptions
3279
+ @DiskTypePolicy = disktypepolicy
3280
+ @SystemDisk = systemdisk
3281
+ @DataDisks = datadisks
3282
+ @HostNameSettings = hostnamesettings
3283
+ @InstanceNameSettings = instancenamesettings
3284
+ @EnhancedService = enhancedservice
3285
+ end
3286
+
3287
+ def deserialize(params)
3288
+ @LaunchConfigurationId = params['LaunchConfigurationId']
3289
+ @ImageId = params['ImageId']
3290
+ @InstanceTypes = params['InstanceTypes']
3291
+ @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy']
3292
+ @LaunchConfigurationName = params['LaunchConfigurationName']
3293
+ @UserData = params['UserData']
3294
+ @SecurityGroupIds = params['SecurityGroupIds']
3295
+ unless params['InternetAccessible'].nil?
3296
+ @InternetAccessible = InternetAccessible.new
3297
+ @InternetAccessible.deserialize(params['InternetAccessible'])
3298
+ end
3299
+ @InstanceChargeType = params['InstanceChargeType']
3300
+ unless params['InstanceChargePrepaid'].nil?
3301
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
3302
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
3303
+ end
3304
+ unless params['InstanceMarketOptions'].nil?
3305
+ @InstanceMarketOptions = InstanceMarketOptionsRequest.new
3306
+ @InstanceMarketOptions.deserialize(params['InstanceMarketOptions'])
3307
+ end
3308
+ @DiskTypePolicy = params['DiskTypePolicy']
3309
+ unless params['SystemDisk'].nil?
3310
+ @SystemDisk = SystemDisk.new
3311
+ @SystemDisk.deserialize(params['SystemDisk'])
3312
+ end
3313
+ unless params['DataDisks'].nil?
3314
+ @DataDisks = []
3315
+ params['DataDisks'].each do |i|
3316
+ datadisk_tmp = DataDisk.new
3317
+ datadisk_tmp.deserialize(i)
3318
+ @DataDisks << datadisk_tmp
3319
+ end
3320
+ end
3321
+ unless params['HostNameSettings'].nil?
3322
+ @HostNameSettings = HostNameSettings.new
3323
+ @HostNameSettings.deserialize(params['HostNameSettings'])
3324
+ end
3325
+ unless params['InstanceNameSettings'].nil?
3326
+ @InstanceNameSettings = InstanceNameSettings.new
3327
+ @InstanceNameSettings.deserialize(params['InstanceNameSettings'])
3328
+ end
3329
+ unless params['EnhancedService'].nil?
3330
+ @EnhancedService = EnhancedService.new
3331
+ @EnhancedService.deserialize(params['EnhancedService'])
3332
+ end
3333
+ end
3334
+ end
3335
+
3336
+ # ModifyLaunchConfigurationAttributes返回参数结构体
3337
+ class ModifyLaunchConfigurationAttributesResponse < TencentCloud::Common::AbstractModel
3338
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3339
+ # @type RequestId: String
3340
+
3341
+ attr_accessor :RequestId
3342
+
3343
+ def initialize(requestid=nil)
3344
+ @RequestId = requestid
3345
+ end
3346
+
3347
+ def deserialize(params)
3348
+ @RequestId = params['RequestId']
3349
+ end
3350
+ end
3351
+
3352
+ # ModifyLoadBalancers请求参数结构体
3353
+ class ModifyLoadBalancersRequest < TencentCloud::Common::AbstractModel
3354
+ # @param AutoScalingGroupId: 伸缩组ID
3355
+ # @type AutoScalingGroupId: String
3356
+ # @param LoadBalancerIds: 传统负载均衡器ID列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
3357
+ # @type LoadBalancerIds: Array
3358
+ # @param ForwardLoadBalancers: 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
3359
+ # @type ForwardLoadBalancers: Array
3360
+ # @param LoadBalancersCheckPolicy: 负载均衡器校验策略,取值包括 ALL 和 DIFF,默认取值为 ALL。
3361
+ # <br><li> ALL,所有负载均衡器都合法则通过校验,否则校验报错。
3362
+ # <br><li> DIFF,仅校验负载均衡器参数中实际变化的部分,如果合法则通过校验,否则校验报错。
3363
+ # @type LoadBalancersCheckPolicy: String
3364
+
3365
+ attr_accessor :AutoScalingGroupId, :LoadBalancerIds, :ForwardLoadBalancers, :LoadBalancersCheckPolicy
3366
+
3367
+ def initialize(autoscalinggroupid=nil, loadbalancerids=nil, forwardloadbalancers=nil, loadbalancerscheckpolicy=nil)
3368
+ @AutoScalingGroupId = autoscalinggroupid
3369
+ @LoadBalancerIds = loadbalancerids
3370
+ @ForwardLoadBalancers = forwardloadbalancers
3371
+ @LoadBalancersCheckPolicy = loadbalancerscheckpolicy
3372
+ end
3373
+
3374
+ def deserialize(params)
3375
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3376
+ @LoadBalancerIds = params['LoadBalancerIds']
3377
+ unless params['ForwardLoadBalancers'].nil?
3378
+ @ForwardLoadBalancers = []
3379
+ params['ForwardLoadBalancers'].each do |i|
3380
+ forwardloadbalancer_tmp = ForwardLoadBalancer.new
3381
+ forwardloadbalancer_tmp.deserialize(i)
3382
+ @ForwardLoadBalancers << forwardloadbalancer_tmp
3383
+ end
3384
+ end
3385
+ @LoadBalancersCheckPolicy = params['LoadBalancersCheckPolicy']
3386
+ end
3387
+ end
3388
+
3389
+ # ModifyLoadBalancers返回参数结构体
3390
+ class ModifyLoadBalancersResponse < TencentCloud::Common::AbstractModel
3391
+ # @param ActivityId: 伸缩活动ID
3392
+ # @type ActivityId: String
3393
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3394
+ # @type RequestId: String
3395
+
3396
+ attr_accessor :ActivityId, :RequestId
3397
+
3398
+ def initialize(activityid=nil, requestid=nil)
3399
+ @ActivityId = activityid
3400
+ @RequestId = requestid
3401
+ end
3402
+
3403
+ def deserialize(params)
3404
+ @ActivityId = params['ActivityId']
3405
+ @RequestId = params['RequestId']
3406
+ end
3407
+ end
3408
+
3409
+ # ModifyNotificationConfiguration请求参数结构体
3410
+ class ModifyNotificationConfigurationRequest < TencentCloud::Common::AbstractModel
3411
+ # @param AutoScalingNotificationId: 待修改的通知ID。
3412
+ # @type AutoScalingNotificationId: String
3413
+ # @param NotificationTypes: 通知类型,即为需要订阅的通知类型集合,取值范围如下:
3414
+ # <li>SCALE_OUT_SUCCESSFUL:扩容成功</li>
3415
+ # <li>SCALE_OUT_FAILED:扩容失败</li>
3416
+ # <li>SCALE_IN_SUCCESSFUL:缩容成功</li>
3417
+ # <li>SCALE_IN_FAILED:缩容失败</li>
3418
+ # <li>REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功</li>
3419
+ # <li>REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败</li>
3420
+ # @type NotificationTypes: Array
3421
+ # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。
3422
+ # @type NotificationUserGroupIds: Array
3423
+ # @param QueueName: CMQ 队列名。
3424
+ # @type QueueName: String
3425
+ # @param TopicName: CMQ 主题名。
3426
+ # @type TopicName: String
3427
+
3428
+ attr_accessor :AutoScalingNotificationId, :NotificationTypes, :NotificationUserGroupIds, :QueueName, :TopicName
3429
+
3430
+ def initialize(autoscalingnotificationid=nil, notificationtypes=nil, notificationusergroupids=nil, queuename=nil, topicname=nil)
3431
+ @AutoScalingNotificationId = autoscalingnotificationid
3432
+ @NotificationTypes = notificationtypes
3433
+ @NotificationUserGroupIds = notificationusergroupids
3434
+ @QueueName = queuename
3435
+ @TopicName = topicname
3436
+ end
3437
+
3438
+ def deserialize(params)
3439
+ @AutoScalingNotificationId = params['AutoScalingNotificationId']
3440
+ @NotificationTypes = params['NotificationTypes']
3441
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
3442
+ @QueueName = params['QueueName']
3443
+ @TopicName = params['TopicName']
3444
+ end
3445
+ end
3446
+
3447
+ # ModifyNotificationConfiguration返回参数结构体
3448
+ class ModifyNotificationConfigurationResponse < TencentCloud::Common::AbstractModel
3449
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3450
+ # @type RequestId: String
3451
+
3452
+ attr_accessor :RequestId
3453
+
3454
+ def initialize(requestid=nil)
3455
+ @RequestId = requestid
3456
+ end
3457
+
3458
+ def deserialize(params)
3459
+ @RequestId = params['RequestId']
3460
+ end
3461
+ end
3462
+
3463
+ # ModifyScalingPolicy请求参数结构体
3464
+ class ModifyScalingPolicyRequest < TencentCloud::Common::AbstractModel
3465
+ # @param AutoScalingPolicyId: 告警策略ID。
3466
+ # @type AutoScalingPolicyId: String
3467
+ # @param ScalingPolicyName: 告警策略名称。
3468
+ # @type ScalingPolicyName: String
3469
+ # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :<br><li>CHANGE_IN_CAPACITY:增加或减少若干期望实例数</li><li>EXACT_CAPACITY:调整至指定期望实例数</li> <li>PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数</li>
3470
+ # @type AdjustmentType: String
3471
+ # @param AdjustmentValue: 告警触发后,期望实例数的调整值。取值:<br><li>当 AdjustmentType 为 CHANGE_IN_CAPACITY 时,AdjustmentValue 为正数表示告警触发后增加实例,为负数表示告警触发后减少实例 </li> <li> 当 AdjustmentType 为 EXACT_CAPACITY 时,AdjustmentValue 的值即为告警触发后新的期望实例数,需要大于或等于0 </li> <li> 当 AdjustmentType 为 PERCENT_CHANGE_IN_CAPACITY 时,AdjusmentValue 为正数表示告警触发后按百分比增加实例,为负数表示告警触发后按百分比减少实例,单位是:%。
3472
+ # @type AdjustmentValue: Integer
3473
+ # @param Cooldown: 冷却时间,单位为秒。
3474
+ # @type Cooldown: Integer
3475
+ # @param MetricAlarm: 告警监控指标。
3476
+ # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm`
3477
+ # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。
3478
+ # 如果需要清空通知用户组,需要在列表中传入特定字符串 "NULL"。
3479
+ # @type NotificationUserGroupIds: Array
3480
+
3481
+ attr_accessor :AutoScalingPolicyId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :Cooldown, :MetricAlarm, :NotificationUserGroupIds
3482
+
3483
+ def initialize(autoscalingpolicyid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, cooldown=nil, metricalarm=nil, notificationusergroupids=nil)
3484
+ @AutoScalingPolicyId = autoscalingpolicyid
3485
+ @ScalingPolicyName = scalingpolicyname
3486
+ @AdjustmentType = adjustmenttype
3487
+ @AdjustmentValue = adjustmentvalue
3488
+ @Cooldown = cooldown
3489
+ @MetricAlarm = metricalarm
3490
+ @NotificationUserGroupIds = notificationusergroupids
3491
+ end
3492
+
3493
+ def deserialize(params)
3494
+ @AutoScalingPolicyId = params['AutoScalingPolicyId']
3495
+ @ScalingPolicyName = params['ScalingPolicyName']
3496
+ @AdjustmentType = params['AdjustmentType']
3497
+ @AdjustmentValue = params['AdjustmentValue']
3498
+ @Cooldown = params['Cooldown']
3499
+ unless params['MetricAlarm'].nil?
3500
+ @MetricAlarm = MetricAlarm.new
3501
+ @MetricAlarm.deserialize(params['MetricAlarm'])
3502
+ end
3503
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
3504
+ end
3505
+ end
3506
+
3507
+ # ModifyScalingPolicy返回参数结构体
3508
+ class ModifyScalingPolicyResponse < TencentCloud::Common::AbstractModel
3509
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3510
+ # @type RequestId: String
3511
+
3512
+ attr_accessor :RequestId
3513
+
3514
+ def initialize(requestid=nil)
3515
+ @RequestId = requestid
3516
+ end
3517
+
3518
+ def deserialize(params)
3519
+ @RequestId = params['RequestId']
3520
+ end
3521
+ end
3522
+
3523
+ # ModifyScheduledAction请求参数结构体
3524
+ class ModifyScheduledActionRequest < TencentCloud::Common::AbstractModel
3525
+ # @param ScheduledActionId: 待修改的定时任务ID
3526
+ # @type ScheduledActionId: String
3527
+ # @param ScheduledActionName: 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。
3528
+ # @type ScheduledActionName: String
3529
+ # @param MaxSize: 当定时任务触发时,设置的伸缩组最大实例数。
3530
+ # @type MaxSize: Integer
3531
+ # @param MinSize: 当定时任务触发时,设置的伸缩组最小实例数。
3532
+ # @type MinSize: Integer
3533
+ # @param DesiredCapacity: 当定时任务触发时,设置的伸缩组期望实例数。
3534
+ # @type DesiredCapacity: Integer
3535
+ # @param StartTime: 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。
3536
+ # @type StartTime: String
3537
+ # @param EndTime: 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。<br>此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。
3538
+ # @type EndTime: String
3539
+ # @param Recurrence: 定时任务的重复方式。为标准 Cron 格式<br>此参数与`EndTime`需要同时指定。
3540
+ # @type Recurrence: String
3541
+
3542
+ attr_accessor :ScheduledActionId, :ScheduledActionName, :MaxSize, :MinSize, :DesiredCapacity, :StartTime, :EndTime, :Recurrence
3543
+
3544
+ def initialize(scheduledactionid=nil, scheduledactionname=nil, maxsize=nil, minsize=nil, desiredcapacity=nil, starttime=nil, endtime=nil, recurrence=nil)
3545
+ @ScheduledActionId = scheduledactionid
3546
+ @ScheduledActionName = scheduledactionname
3547
+ @MaxSize = maxsize
3548
+ @MinSize = minsize
3549
+ @DesiredCapacity = desiredcapacity
3550
+ @StartTime = starttime
3551
+ @EndTime = endtime
3552
+ @Recurrence = recurrence
3553
+ end
3554
+
3555
+ def deserialize(params)
3556
+ @ScheduledActionId = params['ScheduledActionId']
3557
+ @ScheduledActionName = params['ScheduledActionName']
3558
+ @MaxSize = params['MaxSize']
3559
+ @MinSize = params['MinSize']
3560
+ @DesiredCapacity = params['DesiredCapacity']
3561
+ @StartTime = params['StartTime']
3562
+ @EndTime = params['EndTime']
3563
+ @Recurrence = params['Recurrence']
3564
+ end
3565
+ end
3566
+
3567
+ # ModifyScheduledAction返回参数结构体
3568
+ class ModifyScheduledActionResponse < TencentCloud::Common::AbstractModel
3569
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3570
+ # @type RequestId: String
3571
+
3572
+ attr_accessor :RequestId
3573
+
3574
+ def initialize(requestid=nil)
3575
+ @RequestId = requestid
3576
+ end
3577
+
3578
+ def deserialize(params)
3579
+ @RequestId = params['RequestId']
3580
+ end
3581
+ end
3582
+
3583
+ # 通知目标
3584
+ class NotificationTarget < TencentCloud::Common::AbstractModel
3585
+ # @param TargetType: 目标类型,取值范围包括`CMQ_QUEUE`、`CMQ_TOPIC`。
3586
+ # <li> CMQ_QUEUE,指腾讯云消息队列-队列模型。</li>
3587
+ # <li> CMQ_TOPIC,指腾讯云消息队列-主题模型。</li>
3588
+ # @type TargetType: String
3589
+ # @param QueueName: 队列名称,如果`TargetType`取值为`CMQ_QUEUE`,则本字段必填。
3590
+ # @type QueueName: String
3591
+ # @param TopicName: 主题名称,如果`TargetType`取值为`CMQ_TOPIC`,则本字段必填。
3592
+ # @type TopicName: String
3593
+
3594
+ attr_accessor :TargetType, :QueueName, :TopicName
3595
+
3596
+ def initialize(targettype=nil, queuename=nil, topicname=nil)
3597
+ @TargetType = targettype
3598
+ @QueueName = queuename
3599
+ @TopicName = topicname
3600
+ end
3601
+
3602
+ def deserialize(params)
3603
+ @TargetType = params['TargetType']
3604
+ @QueueName = params['QueueName']
3605
+ @TopicName = params['TopicName']
3606
+ end
3607
+ end
3608
+
3609
+ # PAI实例
3610
+ class PaiInstance < TencentCloud::Common::AbstractModel
3611
+ # @param InstanceId: 实例ID
3612
+ # @type InstanceId: String
3613
+ # @param DomainName: 实例域名
3614
+ # @type DomainName: String
3615
+ # @param PaiMateUrl: PAI管理页面URL
3616
+ # @type PaiMateUrl: String
3617
+
3618
+ attr_accessor :InstanceId, :DomainName, :PaiMateUrl
3619
+
3620
+ def initialize(instanceid=nil, domainname=nil, paimateurl=nil)
3621
+ @InstanceId = instanceid
3622
+ @DomainName = domainname
3623
+ @PaiMateUrl = paimateurl
3624
+ end
3625
+
3626
+ def deserialize(params)
3627
+ @InstanceId = params['InstanceId']
3628
+ @DomainName = params['DomainName']
3629
+ @PaiMateUrl = params['PaiMateUrl']
3630
+ end
3631
+ end
3632
+
3633
+ # PreviewPaiDomainName请求参数结构体
3634
+ class PreviewPaiDomainNameRequest < TencentCloud::Common::AbstractModel
3635
+ # @param DomainNameType: 域名类型
3636
+ # @type DomainNameType: String
3637
+
3638
+ attr_accessor :DomainNameType
3639
+
3640
+ def initialize(domainnametype=nil)
3641
+ @DomainNameType = domainnametype
3642
+ end
3643
+
3644
+ def deserialize(params)
3645
+ @DomainNameType = params['DomainNameType']
3646
+ end
3647
+ end
3648
+
3649
+ # PreviewPaiDomainName返回参数结构体
3650
+ class PreviewPaiDomainNameResponse < TencentCloud::Common::AbstractModel
3651
+ # @param DomainName: 可用的PAI域名
3652
+ # @type DomainName: String
3653
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3654
+ # @type RequestId: String
3655
+
3656
+ attr_accessor :DomainName, :RequestId
3657
+
3658
+ def initialize(domainname=nil, requestid=nil)
3659
+ @DomainName = domainname
3660
+ @RequestId = requestid
3661
+ end
3662
+
3663
+ def deserialize(params)
3664
+ @DomainName = params['DomainName']
3665
+ @RequestId = params['RequestId']
3666
+ end
3667
+ end
3668
+
3669
+ # RemoveInstances请求参数结构体
3670
+ class RemoveInstancesRequest < TencentCloud::Common::AbstractModel
3671
+ # @param AutoScalingGroupId: 伸缩组ID
3672
+ # @type AutoScalingGroupId: String
3673
+ # @param InstanceIds: CVM实例ID列表
3674
+ # @type InstanceIds: Array
3675
+
3676
+ attr_accessor :AutoScalingGroupId, :InstanceIds
3677
+
3678
+ def initialize(autoscalinggroupid=nil, instanceids=nil)
3679
+ @AutoScalingGroupId = autoscalinggroupid
3680
+ @InstanceIds = instanceids
3681
+ end
3682
+
3683
+ def deserialize(params)
3684
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3685
+ @InstanceIds = params['InstanceIds']
3686
+ end
3687
+ end
3688
+
3689
+ # RemoveInstances返回参数结构体
3690
+ class RemoveInstancesResponse < TencentCloud::Common::AbstractModel
3691
+ # @param ActivityId: 伸缩活动ID
3692
+ # @type ActivityId: String
3693
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3694
+ # @type RequestId: String
3695
+
3696
+ attr_accessor :ActivityId, :RequestId
3697
+
3698
+ def initialize(activityid=nil, requestid=nil)
3699
+ @ActivityId = activityid
3700
+ @RequestId = requestid
3701
+ end
3702
+
3703
+ def deserialize(params)
3704
+ @ActivityId = params['ActivityId']
3705
+ @RequestId = params['RequestId']
3706
+ end
3707
+ end
3708
+
3709
+ # 描述了 “云监控” 服务相关的信息。
3710
+ class RunMonitorServiceEnabled < TencentCloud::Common::AbstractModel
3711
+ # @param Enabled: 是否开启[云监控](https://cloud.tencent.com/document/product/248)服务。取值范围:<br><li>TRUE:表示开启云监控服务<br><li>FALSE:表示不开启云监控服务<br><br>默认取值:TRUE。
3712
+ # 注意:此字段可能返回 null,表示取不到有效值。
3713
+ # @type Enabled: Boolean
3714
+
3715
+ attr_accessor :Enabled
3716
+
3717
+ def initialize(enabled=nil)
3718
+ @Enabled = enabled
3719
+ end
3720
+
3721
+ def deserialize(params)
3722
+ @Enabled = params['Enabled']
3723
+ end
3724
+ end
3725
+
3726
+ # 描述了 “云安全” 服务相关的信息
3727
+ class RunSecurityServiceEnabled < TencentCloud::Common::AbstractModel
3728
+ # @param Enabled: 是否开启[云安全](https://cloud.tencent.com/document/product/296)服务。取值范围:<br><li>TRUE:表示开启云安全服务<br><li>FALSE:表示不开启云安全服务<br><br>默认取值:TRUE。
3729
+ # 注意:此字段可能返回 null,表示取不到有效值。
3730
+ # @type Enabled: Boolean
3731
+
3732
+ attr_accessor :Enabled
3733
+
3734
+ def initialize(enabled=nil)
3735
+ @Enabled = enabled
3736
+ end
3737
+
3738
+ def deserialize(params)
3739
+ @Enabled = params['Enabled']
3740
+ end
3741
+ end
3742
+
3743
+ # ScaleInInstances请求参数结构体
3744
+ class ScaleInInstancesRequest < TencentCloud::Common::AbstractModel
3745
+ # @param AutoScalingGroupId: 伸缩组ID。
3746
+ # @type AutoScalingGroupId: String
3747
+ # @param ScaleInNumber: 希望缩容的实例数量。
3748
+ # @type ScaleInNumber: Integer
3749
+
3750
+ attr_accessor :AutoScalingGroupId, :ScaleInNumber
3751
+
3752
+ def initialize(autoscalinggroupid=nil, scaleinnumber=nil)
3753
+ @AutoScalingGroupId = autoscalinggroupid
3754
+ @ScaleInNumber = scaleinnumber
3755
+ end
3756
+
3757
+ def deserialize(params)
3758
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3759
+ @ScaleInNumber = params['ScaleInNumber']
3760
+ end
3761
+ end
3762
+
3763
+ # ScaleInInstances返回参数结构体
3764
+ class ScaleInInstancesResponse < TencentCloud::Common::AbstractModel
3765
+ # @param ActivityId: 伸缩活动ID。
3766
+ # @type ActivityId: String
3767
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3768
+ # @type RequestId: String
3769
+
3770
+ attr_accessor :ActivityId, :RequestId
3771
+
3772
+ def initialize(activityid=nil, requestid=nil)
3773
+ @ActivityId = activityid
3774
+ @RequestId = requestid
3775
+ end
3776
+
3777
+ def deserialize(params)
3778
+ @ActivityId = params['ActivityId']
3779
+ @RequestId = params['RequestId']
3780
+ end
3781
+ end
3782
+
3783
+ # ScaleOutInstances请求参数结构体
3784
+ class ScaleOutInstancesRequest < TencentCloud::Common::AbstractModel
3785
+ # @param AutoScalingGroupId: 伸缩组ID。
3786
+ # @type AutoScalingGroupId: String
3787
+ # @param ScaleOutNumber: 希望扩容的实例数量。
3788
+ # @type ScaleOutNumber: Integer
3789
+
3790
+ attr_accessor :AutoScalingGroupId, :ScaleOutNumber
3791
+
3792
+ def initialize(autoscalinggroupid=nil, scaleoutnumber=nil)
3793
+ @AutoScalingGroupId = autoscalinggroupid
3794
+ @ScaleOutNumber = scaleoutnumber
3795
+ end
3796
+
3797
+ def deserialize(params)
3798
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3799
+ @ScaleOutNumber = params['ScaleOutNumber']
3800
+ end
3801
+ end
3802
+
3803
+ # ScaleOutInstances返回参数结构体
3804
+ class ScaleOutInstancesResponse < TencentCloud::Common::AbstractModel
3805
+ # @param ActivityId: 伸缩活动ID。
3806
+ # @type ActivityId: String
3807
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3808
+ # @type RequestId: String
3809
+
3810
+ attr_accessor :ActivityId, :RequestId
3811
+
3812
+ def initialize(activityid=nil, requestid=nil)
3813
+ @ActivityId = activityid
3814
+ @RequestId = requestid
3815
+ end
3816
+
3817
+ def deserialize(params)
3818
+ @ActivityId = params['ActivityId']
3819
+ @RequestId = params['RequestId']
3820
+ end
3821
+ end
3822
+
3823
+ # 告警触发策略。
3824
+ class ScalingPolicy < TencentCloud::Common::AbstractModel
3825
+ # @param AutoScalingGroupId: 伸缩组ID。
3826
+ # @type AutoScalingGroupId: String
3827
+ # @param AutoScalingPolicyId: 告警触发策略ID。
3828
+ # @type AutoScalingPolicyId: String
3829
+ # @param ScalingPolicyName: 告警触发策略名称。
3830
+ # @type ScalingPolicyName: String
3831
+ # @param AdjustmentType: 告警触发后,期望实例数修改方式。取值 :<br><li>CHANGE_IN_CAPACITY:增加或减少若干期望实例数</li><li>EXACT_CAPACITY:调整至指定期望实例数</li> <li>PERCENT_CHANGE_IN_CAPACITY:按百分比调整期望实例数</li>
3832
+ # @type AdjustmentType: String
3833
+ # @param AdjustmentValue: 告警触发后,期望实例数的调整值。
3834
+ # @type AdjustmentValue: Integer
3835
+ # @param Cooldown: 冷却时间。
3836
+ # @type Cooldown: Integer
3837
+ # @param MetricAlarm: 告警监控指标。
3838
+ # @type MetricAlarm: :class:`Tencentcloud::As.v20180419.models.MetricAlarm`
3839
+ # @param NotificationUserGroupIds: 通知组ID,即为用户组ID集合。
3840
+ # @type NotificationUserGroupIds: Array
3841
+
3842
+ attr_accessor :AutoScalingGroupId, :AutoScalingPolicyId, :ScalingPolicyName, :AdjustmentType, :AdjustmentValue, :Cooldown, :MetricAlarm, :NotificationUserGroupIds
3843
+
3844
+ def initialize(autoscalinggroupid=nil, autoscalingpolicyid=nil, scalingpolicyname=nil, adjustmenttype=nil, adjustmentvalue=nil, cooldown=nil, metricalarm=nil, notificationusergroupids=nil)
3845
+ @AutoScalingGroupId = autoscalinggroupid
3846
+ @AutoScalingPolicyId = autoscalingpolicyid
3847
+ @ScalingPolicyName = scalingpolicyname
3848
+ @AdjustmentType = adjustmenttype
3849
+ @AdjustmentValue = adjustmentvalue
3850
+ @Cooldown = cooldown
3851
+ @MetricAlarm = metricalarm
3852
+ @NotificationUserGroupIds = notificationusergroupids
3853
+ end
3854
+
3855
+ def deserialize(params)
3856
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3857
+ @AutoScalingPolicyId = params['AutoScalingPolicyId']
3858
+ @ScalingPolicyName = params['ScalingPolicyName']
3859
+ @AdjustmentType = params['AdjustmentType']
3860
+ @AdjustmentValue = params['AdjustmentValue']
3861
+ @Cooldown = params['Cooldown']
3862
+ unless params['MetricAlarm'].nil?
3863
+ @MetricAlarm = MetricAlarm.new
3864
+ @MetricAlarm.deserialize(params['MetricAlarm'])
3865
+ end
3866
+ @NotificationUserGroupIds = params['NotificationUserGroupIds']
3867
+ end
3868
+ end
3869
+
3870
+ # 描述定时任务的信息
3871
+ class ScheduledAction < TencentCloud::Common::AbstractModel
3872
+ # @param ScheduledActionId: 定时任务ID。
3873
+ # @type ScheduledActionId: String
3874
+ # @param ScheduledActionName: 定时任务名称。
3875
+ # @type ScheduledActionName: String
3876
+ # @param AutoScalingGroupId: 定时任务所在伸缩组ID。
3877
+ # @type AutoScalingGroupId: String
3878
+ # @param StartTime: 定时任务的开始时间。取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。
3879
+ # @type StartTime: String
3880
+ # @param Recurrence: 定时任务的重复方式。
3881
+ # @type Recurrence: String
3882
+ # @param EndTime: 定时任务的结束时间。取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。
3883
+ # @type EndTime: String
3884
+ # @param MaxSize: 定时任务设置的最大实例数。
3885
+ # @type MaxSize: Integer
3886
+ # @param DesiredCapacity: 定时任务设置的期望实例数。
3887
+ # @type DesiredCapacity: Integer
3888
+ # @param MinSize: 定时任务设置的最小实例数。
3889
+ # @type MinSize: Integer
3890
+ # @param CreatedTime: 定时任务的创建时间。取值为`UTC`时间,按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ssZ`。
3891
+ # @type CreatedTime: String
3892
+
3893
+ attr_accessor :ScheduledActionId, :ScheduledActionName, :AutoScalingGroupId, :StartTime, :Recurrence, :EndTime, :MaxSize, :DesiredCapacity, :MinSize, :CreatedTime
3894
+
3895
+ def initialize(scheduledactionid=nil, scheduledactionname=nil, autoscalinggroupid=nil, starttime=nil, recurrence=nil, endtime=nil, maxsize=nil, desiredcapacity=nil, minsize=nil, createdtime=nil)
3896
+ @ScheduledActionId = scheduledactionid
3897
+ @ScheduledActionName = scheduledactionname
3898
+ @AutoScalingGroupId = autoscalinggroupid
3899
+ @StartTime = starttime
3900
+ @Recurrence = recurrence
3901
+ @EndTime = endtime
3902
+ @MaxSize = maxsize
3903
+ @DesiredCapacity = desiredcapacity
3904
+ @MinSize = minsize
3905
+ @CreatedTime = createdtime
3906
+ end
3907
+
3908
+ def deserialize(params)
3909
+ @ScheduledActionId = params['ScheduledActionId']
3910
+ @ScheduledActionName = params['ScheduledActionName']
3911
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3912
+ @StartTime = params['StartTime']
3913
+ @Recurrence = params['Recurrence']
3914
+ @EndTime = params['EndTime']
3915
+ @MaxSize = params['MaxSize']
3916
+ @DesiredCapacity = params['DesiredCapacity']
3917
+ @MinSize = params['MinSize']
3918
+ @CreatedTime = params['CreatedTime']
3919
+ end
3920
+ end
3921
+
3922
+ # 服务设置
3923
+ class ServiceSettings < TencentCloud::Common::AbstractModel
3924
+ # @param ReplaceMonitorUnhealthy: 开启监控不健康替换服务。若开启则对于云监控标记为不健康的实例,弹性伸缩服务会进行替换。若不指定该参数,则默认为 False。
3925
+ # @type ReplaceMonitorUnhealthy: Boolean
3926
+ # @param ScalingMode: 取值范围:
3927
+ # CLASSIC_SCALING:经典方式,使用创建、销毁实例来实现扩缩容;
3928
+ # WAKE_UP_STOPPED_SCALING:扩容优先开机。扩容时优先对已关机的实例执行开机操作,若开机后实例数仍低于期望实例数,则创建实例,缩容仍采用销毁实例的方式。用户可以使用StopAutoScalingInstances接口来关闭伸缩组内的实例。监控告警触发的扩容仍将创建实例
3929
+ # 默认取值:CLASSIC_SCALING
3930
+ # @type ScalingMode: String
3931
+ # @param ReplaceLoadBalancerUnhealthy: 开启负载均衡不健康替换服务。若开启则对于负载均衡健康检查判断不健康的实例,弹性伸缩服务会进行替换。若不指定该参数,则默认为 False。
3932
+ # @type ReplaceLoadBalancerUnhealthy: Boolean
3933
+
3934
+ attr_accessor :ReplaceMonitorUnhealthy, :ScalingMode, :ReplaceLoadBalancerUnhealthy
3935
+
3936
+ def initialize(replacemonitorunhealthy=nil, scalingmode=nil, replaceloadbalancerunhealthy=nil)
3937
+ @ReplaceMonitorUnhealthy = replacemonitorunhealthy
3938
+ @ScalingMode = scalingmode
3939
+ @ReplaceLoadBalancerUnhealthy = replaceloadbalancerunhealthy
3940
+ end
3941
+
3942
+ def deserialize(params)
3943
+ @ReplaceMonitorUnhealthy = params['ReplaceMonitorUnhealthy']
3944
+ @ScalingMode = params['ScalingMode']
3945
+ @ReplaceLoadBalancerUnhealthy = params['ReplaceLoadBalancerUnhealthy']
3946
+ end
3947
+ end
3948
+
3949
+ # SetInstancesProtection请求参数结构体
3950
+ class SetInstancesProtectionRequest < TencentCloud::Common::AbstractModel
3951
+ # @param AutoScalingGroupId: 伸缩组ID。
3952
+ # @type AutoScalingGroupId: String
3953
+ # @param InstanceIds: 实例ID。
3954
+ # @type InstanceIds: Array
3955
+ # @param ProtectedFromScaleIn: 实例是否需要设置保护。
3956
+ # @type ProtectedFromScaleIn: Boolean
3957
+
3958
+ attr_accessor :AutoScalingGroupId, :InstanceIds, :ProtectedFromScaleIn
3959
+
3960
+ def initialize(autoscalinggroupid=nil, instanceids=nil, protectedfromscalein=nil)
3961
+ @AutoScalingGroupId = autoscalinggroupid
3962
+ @InstanceIds = instanceids
3963
+ @ProtectedFromScaleIn = protectedfromscalein
3964
+ end
3965
+
3966
+ def deserialize(params)
3967
+ @AutoScalingGroupId = params['AutoScalingGroupId']
3968
+ @InstanceIds = params['InstanceIds']
3969
+ @ProtectedFromScaleIn = params['ProtectedFromScaleIn']
3970
+ end
3971
+ end
3972
+
3973
+ # SetInstancesProtection返回参数结构体
3974
+ class SetInstancesProtectionResponse < TencentCloud::Common::AbstractModel
3975
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3976
+ # @type RequestId: String
3977
+
3978
+ attr_accessor :RequestId
3979
+
3980
+ def initialize(requestid=nil)
3981
+ @RequestId = requestid
3982
+ end
3983
+
3984
+ def deserialize(params)
3985
+ @RequestId = params['RequestId']
3986
+ end
3987
+ end
3988
+
3989
+ # 竞价相关选项
3990
+ class SpotMarketOptions < TencentCloud::Common::AbstractModel
3991
+ # @param MaxPrice: 竞价出价,例如“1.05”
3992
+ # @type MaxPrice: String
3993
+ # @param SpotInstanceType: 竞价请求类型,当前仅支持类型:one-time,默认值为one-time
3994
+ # 注意:此字段可能返回 null,表示取不到有效值。
3995
+ # @type SpotInstanceType: String
3996
+
3997
+ attr_accessor :MaxPrice, :SpotInstanceType
3998
+
3999
+ def initialize(maxprice=nil, spotinstancetype=nil)
4000
+ @MaxPrice = maxprice
4001
+ @SpotInstanceType = spotinstancetype
4002
+ end
4003
+
4004
+ def deserialize(params)
4005
+ @MaxPrice = params['MaxPrice']
4006
+ @SpotInstanceType = params['SpotInstanceType']
4007
+ end
4008
+ end
4009
+
4010
+ # 竞价混合模式下,各计费类型实例的分配策略。包括按量计费实例和竞价计费实例。
4011
+ class SpotMixedAllocationPolicy < TencentCloud::Common::AbstractModel
4012
+ # @param BaseCapacity: 混合模式下,基础容量的大小,基础容量部分固定为按量计费实例。默认值 0,最大不可超过伸缩组的最大实例数。
4013
+ # 注意:此字段可能返回 null,表示取不到有效值。
4014
+ # @type BaseCapacity: Integer
4015
+ # @param OnDemandPercentageAboveBaseCapacity: 超出基础容量部分,按量计费实例所占的比例。取值范围 [0, 100],0 代表超出基础容量的部分仅生产竞价实例,100 代表仅生产按量实例,默认值为 70。按百分比计算按量实例数时,向上取整。
4016
+ # 比如,总期望实例数取 3,基础容量取 1,超基础部分按量百分比取 1,则最终按量 2 台(1 台来自基础容量,1 台按百分比向上取整得到),竞价 1台。
4017
+ # 注意:此字段可能返回 null,表示取不到有效值。
4018
+ # @type OnDemandPercentageAboveBaseCapacity: Integer
4019
+ # @param SpotAllocationStrategy: 混合模式下,竞价实例的分配策略。取值包括 COST_OPTIMIZED 和 CAPACITY_OPTIMIZED,默认取 COST_OPTIMIZED。
4020
+ # <br><li> COST_OPTIMIZED,成本优化策略。对于启动配置内的所有机型,按照各机型在各可用区的每核单价由小到大依次尝试。优先尝试购买每核单价最便宜的,如果购买失败则尝试购买次便宜的,以此类推。
4021
+ # <br><li> CAPACITY_OPTIMIZED,容量优化策略。对于启动配置内的所有机型,按照各机型在各可用区的库存情况由大到小依次尝试。优先尝试购买剩余库存最大的机型,这样可尽量降低竞价实例被动回收的发生概率。
4022
+ # 注意:此字段可能返回 null,表示取不到有效值。
4023
+ # @type SpotAllocationStrategy: String
4024
+ # @param CompensateWithBaseInstance: 按量实例替补功能。取值范围:
4025
+ # <br><li> TRUE,开启该功能,当所有竞价机型因库存不足等原因全部购买失败后,尝试购买按量实例。
4026
+ # <br><li> FALSE,不开启该功能,伸缩组在需要扩容竞价实例时仅尝试所配置的竞价机型。
4027
+
4028
+ # 默认取值: TRUE。
4029
+ # 注意:此字段可能返回 null,表示取不到有效值。
4030
+ # @type CompensateWithBaseInstance: Boolean
4031
+
4032
+ attr_accessor :BaseCapacity, :OnDemandPercentageAboveBaseCapacity, :SpotAllocationStrategy, :CompensateWithBaseInstance
4033
+
4034
+ def initialize(basecapacity=nil, ondemandpercentageabovebasecapacity=nil, spotallocationstrategy=nil, compensatewithbaseinstance=nil)
4035
+ @BaseCapacity = basecapacity
4036
+ @OnDemandPercentageAboveBaseCapacity = ondemandpercentageabovebasecapacity
4037
+ @SpotAllocationStrategy = spotallocationstrategy
4038
+ @CompensateWithBaseInstance = compensatewithbaseinstance
4039
+ end
4040
+
4041
+ def deserialize(params)
4042
+ @BaseCapacity = params['BaseCapacity']
4043
+ @OnDemandPercentageAboveBaseCapacity = params['OnDemandPercentageAboveBaseCapacity']
4044
+ @SpotAllocationStrategy = params['SpotAllocationStrategy']
4045
+ @CompensateWithBaseInstance = params['CompensateWithBaseInstance']
4046
+ end
4047
+ end
4048
+
4049
+ # StartAutoScalingInstances请求参数结构体
4050
+ class StartAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel
4051
+ # @param AutoScalingGroupId: 伸缩组ID
4052
+ # @type AutoScalingGroupId: String
4053
+ # @param InstanceIds: 待开启的CVM实例ID列表
4054
+ # @type InstanceIds: Array
4055
+
4056
+ attr_accessor :AutoScalingGroupId, :InstanceIds
4057
+
4058
+ def initialize(autoscalinggroupid=nil, instanceids=nil)
4059
+ @AutoScalingGroupId = autoscalinggroupid
4060
+ @InstanceIds = instanceids
4061
+ end
4062
+
4063
+ def deserialize(params)
4064
+ @AutoScalingGroupId = params['AutoScalingGroupId']
4065
+ @InstanceIds = params['InstanceIds']
4066
+ end
4067
+ end
4068
+
4069
+ # StartAutoScalingInstances返回参数结构体
4070
+ class StartAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel
4071
+ # @param ActivityId: 伸缩活动ID
4072
+ # @type ActivityId: String
4073
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4074
+ # @type RequestId: String
4075
+
4076
+ attr_accessor :ActivityId, :RequestId
4077
+
4078
+ def initialize(activityid=nil, requestid=nil)
4079
+ @ActivityId = activityid
4080
+ @RequestId = requestid
4081
+ end
4082
+
4083
+ def deserialize(params)
4084
+ @ActivityId = params['ActivityId']
4085
+ @RequestId = params['RequestId']
4086
+ end
4087
+ end
4088
+
4089
+ # StopAutoScalingInstances请求参数结构体
4090
+ class StopAutoScalingInstancesRequest < TencentCloud::Common::AbstractModel
4091
+ # @param AutoScalingGroupId: 伸缩组ID
4092
+ # @type AutoScalingGroupId: String
4093
+ # @param InstanceIds: 待关闭的CVM实例ID列表
4094
+ # @type InstanceIds: Array
4095
+ # @param StoppedMode: 关闭的实例是否收费,取值为:
4096
+ # KEEP_CHARGING:关机继续收费
4097
+ # STOP_CHARGING:关机停止收费
4098
+ # 默认为 KEEP_CHARGING
4099
+ # @type StoppedMode: String
4100
+
4101
+ attr_accessor :AutoScalingGroupId, :InstanceIds, :StoppedMode
4102
+
4103
+ def initialize(autoscalinggroupid=nil, instanceids=nil, stoppedmode=nil)
4104
+ @AutoScalingGroupId = autoscalinggroupid
4105
+ @InstanceIds = instanceids
4106
+ @StoppedMode = stoppedmode
4107
+ end
4108
+
4109
+ def deserialize(params)
4110
+ @AutoScalingGroupId = params['AutoScalingGroupId']
4111
+ @InstanceIds = params['InstanceIds']
4112
+ @StoppedMode = params['StoppedMode']
4113
+ end
4114
+ end
4115
+
4116
+ # StopAutoScalingInstances返回参数结构体
4117
+ class StopAutoScalingInstancesResponse < TencentCloud::Common::AbstractModel
4118
+ # @param ActivityId: 伸缩活动ID
4119
+ # @type ActivityId: String
4120
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4121
+ # @type RequestId: String
4122
+
4123
+ attr_accessor :ActivityId, :RequestId
4124
+
4125
+ def initialize(activityid=nil, requestid=nil)
4126
+ @ActivityId = activityid
4127
+ @RequestId = requestid
4128
+ end
4129
+
4130
+ def deserialize(params)
4131
+ @ActivityId = params['ActivityId']
4132
+ @RequestId = params['RequestId']
4133
+ end
4134
+ end
4135
+
4136
+ # 启动配置的系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
4137
+ class SystemDisk < TencentCloud::Common::AbstractModel
4138
+ # @param DiskType: 系统盘类型。系统盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:<br><li>LOCAL_BASIC:本地硬盘<br><li>LOCAL_SSD:本地SSD硬盘<br><li>CLOUD_BASIC:普通云硬盘<br><li>CLOUD_PREMIUM:高性能云硬盘<br><li>CLOUD_SSD:SSD云硬盘<br><br>默认取值:CLOUD_PREMIUM。
4139
+ # 注意:此字段可能返回 null,表示取不到有效值。
4140
+ # @type DiskType: String
4141
+ # @param DiskSize: 系统盘大小,单位:GB。默认值为 50
4142
+ # 注意:此字段可能返回 null,表示取不到有效值。
4143
+ # @type DiskSize: Integer
4144
+
4145
+ attr_accessor :DiskType, :DiskSize
4146
+
4147
+ def initialize(disktype=nil, disksize=nil)
4148
+ @DiskType = disktype
4149
+ @DiskSize = disksize
4150
+ end
4151
+
4152
+ def deserialize(params)
4153
+ @DiskType = params['DiskType']
4154
+ @DiskSize = params['DiskSize']
4155
+ end
4156
+ end
4157
+
4158
+ # 资源类型及标签键值对
4159
+ class Tag < TencentCloud::Common::AbstractModel
4160
+ # @param Key: 标签键
4161
+ # @type Key: String
4162
+ # @param Value: 标签值
4163
+ # @type Value: String
4164
+ # @param ResourceType: 标签绑定的资源类型,当前支持类型:"auto-scaling-group
4165
+ # 注意:此字段可能返回 null,表示取不到有效值。
4166
+ # @type ResourceType: String
4167
+
4168
+ attr_accessor :Key, :Value, :ResourceType
4169
+
4170
+ def initialize(key=nil, value=nil, resourcetype=nil)
4171
+ @Key = key
4172
+ @Value = value
4173
+ @ResourceType = resourcetype
4174
+ end
4175
+
4176
+ def deserialize(params)
4177
+ @Key = params['Key']
4178
+ @Value = params['Value']
4179
+ @ResourceType = params['ResourceType']
4180
+ end
4181
+ end
4182
+
4183
+ # 负载均衡器目标属性
4184
+ class TargetAttribute < TencentCloud::Common::AbstractModel
4185
+ # @param Port: 端口
4186
+ # @type Port: Integer
4187
+ # @param Weight: 权重
4188
+ # @type Weight: Integer
4189
+
4190
+ attr_accessor :Port, :Weight
4191
+
4192
+ def initialize(port=nil, weight=nil)
4193
+ @Port = port
4194
+ @Weight = weight
4195
+ end
4196
+
4197
+ def deserialize(params)
4198
+ @Port = params['Port']
4199
+ @Weight = params['Weight']
4200
+ end
4201
+ end
4202
+
4203
+ # UpgradeLaunchConfiguration请求参数结构体
4204
+ class UpgradeLaunchConfigurationRequest < TencentCloud::Common::AbstractModel
4205
+ # @param LaunchConfigurationId: 启动配置ID。
4206
+ # @type LaunchConfigurationId: String
4207
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-8toqc6s3`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID:<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。</li>
4208
+ # @type ImageId: String
4209
+ # @param InstanceTypes: 实例机型列表,不同实例机型指定了不同的资源规格,最多支持5种实例机型。
4210
+ # @type InstanceTypes: Array
4211
+ # @param LaunchConfigurationName: 启动配置显示名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。
4212
+ # @type LaunchConfigurationName: String
4213
+ # @param DataDisks: 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘,最多支持指定11块数据盘。
4214
+ # @type DataDisks: Array
4215
+ # @param EnhancedService: 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
4216
+ # @type EnhancedService: :class:`Tencentcloud::As.v20180419.models.EnhancedService`
4217
+ # @param InstanceChargeType: 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。
4218
+ # <br><li>POSTPAID_BY_HOUR:按小时后付费
4219
+ # <br><li>SPOTPAID:竞价付费
4220
+ # <br><li>PREPAID:预付费,即包年包月
4221
+ # @type InstanceChargeType: String
4222
+ # @param InstanceMarketOptions: 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。
4223
+ # @type InstanceMarketOptions: :class:`Tencentcloud::As.v20180419.models.InstanceMarketOptionsRequest`
4224
+ # @param InstanceTypesCheckPolicy: 实例类型校验策略,取值包括 ALL 和 ANY,默认取值为ANY。
4225
+ # <br><li> ALL,所有实例类型(InstanceType)都可用则通过校验,否则校验报错。
4226
+ # <br><li> ANY,存在任何一个实例类型(InstanceType)可用则通过校验,否则校验报错。
4227
+
4228
+ # 实例类型不可用的常见原因包括该实例类型售罄、对应云盘售罄等。
4229
+ # 如果 InstanceTypes 中一款机型不存在或者已下线,则无论 InstanceTypesCheckPolicy 采用何种取值,都会校验报错。
4230
+ # @type InstanceTypesCheckPolicy: String
4231
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
4232
+ # @type InternetAccessible: :class:`Tencentcloud::As.v20180419.models.InternetAccessible`
4233
+ # @param LoginSettings: 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。
4234
+ # @type LoginSettings: :class:`Tencentcloud::As.v20180419.models.LoginSettings`
4235
+ # @param ProjectId: 实例所属项目ID。不填为默认项目。
4236
+ # @type ProjectId: Integer
4237
+ # @param SecurityGroupIds: 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的`SecurityGroupId`字段来获取。若不指定该参数,则默认不绑定安全组。
4238
+ # @type SecurityGroupIds: Array
4239
+ # @param SystemDisk: 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
4240
+ # @type SystemDisk: :class:`Tencentcloud::As.v20180419.models.SystemDisk`
4241
+ # @param UserData: 经过 Base64 编码后的自定义数据,最大长度不超过16KB。
4242
+ # @type UserData: String
4243
+ # @param InstanceTags: 标签列表。通过指定该参数,可以为扩容的实例绑定标签。最多支持指定10个标签。
4244
+ # @type InstanceTags: Array
4245
+ # @param CamRoleName: CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。
4246
+ # @type CamRoleName: String
4247
+ # @param HostNameSettings: 云服务器主机名(HostName)的相关设置。
4248
+ # @type HostNameSettings: :class:`Tencentcloud::As.v20180419.models.HostNameSettings`
4249
+ # @param InstanceNameSettings: 云服务器实例名(InstanceName)的相关设置。
4250
+ # @type InstanceNameSettings: :class:`Tencentcloud::As.v20180419.models.InstanceNameSettings`
4251
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
4252
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::As.v20180419.models.InstanceChargePrepaid`
4253
+ # @param DiskTypePolicy: 云盘类型选择策略,取值范围:
4254
+ # <br><li>ORIGINAL:使用设置的云盘类型
4255
+ # <br><li>AUTOMATIC:自动选择当前可用的云盘类型
4256
+ # @type DiskTypePolicy: String
4257
+
4258
+ attr_accessor :LaunchConfigurationId, :ImageId, :InstanceTypes, :LaunchConfigurationName, :DataDisks, :EnhancedService, :InstanceChargeType, :InstanceMarketOptions, :InstanceTypesCheckPolicy, :InternetAccessible, :LoginSettings, :ProjectId, :SecurityGroupIds, :SystemDisk, :UserData, :InstanceTags, :CamRoleName, :HostNameSettings, :InstanceNameSettings, :InstanceChargePrepaid, :DiskTypePolicy
4259
+
4260
+ 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)
4261
+ @LaunchConfigurationId = launchconfigurationid
4262
+ @ImageId = imageid
4263
+ @InstanceTypes = instancetypes
4264
+ @LaunchConfigurationName = launchconfigurationname
4265
+ @DataDisks = datadisks
4266
+ @EnhancedService = enhancedservice
4267
+ @InstanceChargeType = instancechargetype
4268
+ @InstanceMarketOptions = instancemarketoptions
4269
+ @InstanceTypesCheckPolicy = instancetypescheckpolicy
4270
+ @InternetAccessible = internetaccessible
4271
+ @LoginSettings = loginsettings
4272
+ @ProjectId = projectid
4273
+ @SecurityGroupIds = securitygroupids
4274
+ @SystemDisk = systemdisk
4275
+ @UserData = userdata
4276
+ @InstanceTags = instancetags
4277
+ @CamRoleName = camrolename
4278
+ @HostNameSettings = hostnamesettings
4279
+ @InstanceNameSettings = instancenamesettings
4280
+ @InstanceChargePrepaid = instancechargeprepaid
4281
+ @DiskTypePolicy = disktypepolicy
4282
+ end
4283
+
4284
+ def deserialize(params)
4285
+ @LaunchConfigurationId = params['LaunchConfigurationId']
4286
+ @ImageId = params['ImageId']
4287
+ @InstanceTypes = params['InstanceTypes']
4288
+ @LaunchConfigurationName = params['LaunchConfigurationName']
4289
+ unless params['DataDisks'].nil?
4290
+ @DataDisks = []
4291
+ params['DataDisks'].each do |i|
4292
+ datadisk_tmp = DataDisk.new
4293
+ datadisk_tmp.deserialize(i)
4294
+ @DataDisks << datadisk_tmp
4295
+ end
4296
+ end
4297
+ unless params['EnhancedService'].nil?
4298
+ @EnhancedService = EnhancedService.new
4299
+ @EnhancedService.deserialize(params['EnhancedService'])
4300
+ end
4301
+ @InstanceChargeType = params['InstanceChargeType']
4302
+ unless params['InstanceMarketOptions'].nil?
4303
+ @InstanceMarketOptions = InstanceMarketOptionsRequest.new
4304
+ @InstanceMarketOptions.deserialize(params['InstanceMarketOptions'])
4305
+ end
4306
+ @InstanceTypesCheckPolicy = params['InstanceTypesCheckPolicy']
4307
+ unless params['InternetAccessible'].nil?
4308
+ @InternetAccessible = InternetAccessible.new
4309
+ @InternetAccessible.deserialize(params['InternetAccessible'])
4310
+ end
4311
+ unless params['LoginSettings'].nil?
4312
+ @LoginSettings = LoginSettings.new
4313
+ @LoginSettings.deserialize(params['LoginSettings'])
4314
+ end
4315
+ @ProjectId = params['ProjectId']
4316
+ @SecurityGroupIds = params['SecurityGroupIds']
4317
+ unless params['SystemDisk'].nil?
4318
+ @SystemDisk = SystemDisk.new
4319
+ @SystemDisk.deserialize(params['SystemDisk'])
4320
+ end
4321
+ @UserData = params['UserData']
4322
+ unless params['InstanceTags'].nil?
4323
+ @InstanceTags = []
4324
+ params['InstanceTags'].each do |i|
4325
+ instancetag_tmp = InstanceTag.new
4326
+ instancetag_tmp.deserialize(i)
4327
+ @InstanceTags << instancetag_tmp
4328
+ end
4329
+ end
4330
+ @CamRoleName = params['CamRoleName']
4331
+ unless params['HostNameSettings'].nil?
4332
+ @HostNameSettings = HostNameSettings.new
4333
+ @HostNameSettings.deserialize(params['HostNameSettings'])
4334
+ end
4335
+ unless params['InstanceNameSettings'].nil?
4336
+ @InstanceNameSettings = InstanceNameSettings.new
4337
+ @InstanceNameSettings.deserialize(params['InstanceNameSettings'])
4338
+ end
4339
+ unless params['InstanceChargePrepaid'].nil?
4340
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
4341
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
4342
+ end
4343
+ @DiskTypePolicy = params['DiskTypePolicy']
4344
+ end
4345
+ end
4346
+
4347
+ # UpgradeLaunchConfiguration返回参数结构体
4348
+ class UpgradeLaunchConfigurationResponse < TencentCloud::Common::AbstractModel
4349
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4350
+ # @type RequestId: String
4351
+
4352
+ attr_accessor :RequestId
4353
+
4354
+ def initialize(requestid=nil)
4355
+ @RequestId = requestid
4356
+ end
4357
+
4358
+ def deserialize(params)
4359
+ @RequestId = params['RequestId']
4360
+ end
4361
+ end
4362
+
4363
+ # UpgradeLifecycleHook请求参数结构体
4364
+ class UpgradeLifecycleHookRequest < TencentCloud::Common::AbstractModel
4365
+ # @param LifecycleHookId: 生命周期挂钩ID
4366
+ # @type LifecycleHookId: String
4367
+ # @param LifecycleHookName: 生命周期挂钩名称
4368
+ # @type LifecycleHookName: String
4369
+ # @param LifecycleTransition: 进行生命周期挂钩的场景,取值范围包括“INSTANCE_LAUNCHING”和“INSTANCE_TERMINATING”
4370
+ # @type LifecycleTransition: String
4371
+ # @param DefaultResult: 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值范围是“CONTINUE”或“ABANDON”,默认值为“CONTINUE”
4372
+ # @type DefaultResult: String
4373
+ # @param HeartbeatTimeout: 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从30到7200秒,默认值为300秒
4374
+ # @type HeartbeatTimeout: Integer
4375
+ # @param NotificationMetadata: 弹性伸缩向通知目标发送的附加信息,默认值为空字符串""
4376
+ # @type NotificationMetadata: String
4377
+ # @param NotificationTarget: 通知目标
4378
+ # @type NotificationTarget: :class:`Tencentcloud::As.v20180419.models.NotificationTarget`
4379
+ # @param LifecycleTransitionType: 进行生命周期挂钩的场景类型,取值范围包括NORMAL 和 EXTENSION。说明:设置为EXTENSION值,在AttachInstances、DetachInstances、RemoveInstaces接口时会触发生命周期挂钩操作,值为NORMAL则不会在这些接口中触发生命周期挂钩。
4380
+ # @type LifecycleTransitionType: String
4381
+
4382
+ attr_accessor :LifecycleHookId, :LifecycleHookName, :LifecycleTransition, :DefaultResult, :HeartbeatTimeout, :NotificationMetadata, :NotificationTarget, :LifecycleTransitionType
4383
+
4384
+ def initialize(lifecyclehookid=nil, lifecyclehookname=nil, lifecycletransition=nil, defaultresult=nil, heartbeattimeout=nil, notificationmetadata=nil, notificationtarget=nil, lifecycletransitiontype=nil)
4385
+ @LifecycleHookId = lifecyclehookid
4386
+ @LifecycleHookName = lifecyclehookname
4387
+ @LifecycleTransition = lifecycletransition
4388
+ @DefaultResult = defaultresult
4389
+ @HeartbeatTimeout = heartbeattimeout
4390
+ @NotificationMetadata = notificationmetadata
4391
+ @NotificationTarget = notificationtarget
4392
+ @LifecycleTransitionType = lifecycletransitiontype
4393
+ end
4394
+
4395
+ def deserialize(params)
4396
+ @LifecycleHookId = params['LifecycleHookId']
4397
+ @LifecycleHookName = params['LifecycleHookName']
4398
+ @LifecycleTransition = params['LifecycleTransition']
4399
+ @DefaultResult = params['DefaultResult']
4400
+ @HeartbeatTimeout = params['HeartbeatTimeout']
4401
+ @NotificationMetadata = params['NotificationMetadata']
4402
+ unless params['NotificationTarget'].nil?
4403
+ @NotificationTarget = NotificationTarget.new
4404
+ @NotificationTarget.deserialize(params['NotificationTarget'])
4405
+ end
4406
+ @LifecycleTransitionType = params['LifecycleTransitionType']
4407
+ end
4408
+ end
4409
+
4410
+ # UpgradeLifecycleHook返回参数结构体
4411
+ class UpgradeLifecycleHookResponse < TencentCloud::Common::AbstractModel
4412
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4413
+ # @type RequestId: String
4414
+
4415
+ attr_accessor :RequestId
4416
+
4417
+ def initialize(requestid=nil)
4418
+ @RequestId = requestid
4419
+ end
4420
+
4421
+ def deserialize(params)
4422
+ @RequestId = params['RequestId']
4423
+ end
4424
+ end
4425
+
4426
+ end
4427
+ end
4428
+ end
4429
+