tencentcloud-sdk-as 1.0.200

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+