tencentcloud-sdk-thpc 3.0.539 → 3.0.541

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2056 @@
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 Thpc
19
+ module V20230321
20
+ # AddClusterStorageOption请求参数结构体
21
+ class AddClusterStorageOptionRequest < TencentCloud::Common::AbstractModel
22
+ # @param ClusterId: 集群ID。
23
+ # @type ClusterId: String
24
+ # @param StorageOption: 集群存储选项。
25
+ # @type StorageOption: :class:`Tencentcloud::Thpc.v20230321.models.StorageOption`
26
+
27
+ attr_accessor :ClusterId, :StorageOption
28
+
29
+ def initialize(clusterid=nil, storageoption=nil)
30
+ @ClusterId = clusterid
31
+ @StorageOption = storageoption
32
+ end
33
+
34
+ def deserialize(params)
35
+ @ClusterId = params['ClusterId']
36
+ unless params['StorageOption'].nil?
37
+ @StorageOption = StorageOption.new
38
+ @StorageOption.deserialize(params['StorageOption'])
39
+ end
40
+ end
41
+ end
42
+
43
+ # AddClusterStorageOption返回参数结构体
44
+ class AddClusterStorageOptionResponse < TencentCloud::Common::AbstractModel
45
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
46
+ # @type RequestId: String
47
+
48
+ attr_accessor :RequestId
49
+
50
+ def initialize(requestid=nil)
51
+ @RequestId = requestid
52
+ end
53
+
54
+ def deserialize(params)
55
+ @RequestId = params['RequestId']
56
+ end
57
+ end
58
+
59
+ # AddNodes请求参数结构体
60
+ class AddNodesRequest < TencentCloud::Common::AbstractModel
61
+ # @param Placement: 集群中实例所在的位置。
62
+ # @type Placement: :class:`Tencentcloud::Thpc.v20230321.models.Placement`
63
+ # @param ClusterId: 集群ID。
64
+ # @type ClusterId: String
65
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
66
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20230321.models.VirtualPrivateCloud`
67
+ # @param Count: 添加节点数量。
68
+ # @type Count: Integer
69
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜像和特定自定义镜像。
70
+ # @type ImageId: String
71
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。
72
+ # @type InstanceChargeType: String
73
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
74
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
75
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。<br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
76
+ # @type InstanceType: String
77
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
78
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
79
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
80
+ # @type DataDisks: Array
81
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
82
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
83
+ # @param InstanceName: 节点显示名称。
84
+ # 不指定节点显示名称则默认显示‘未命名’。
85
+ # 最多支持60个字符。
86
+ # @type InstanceName: String
87
+ # @param LoginSettings: 集群登录设置。
88
+ # @type LoginSettings: :class:`Tencentcloud::Thpc.v20230321.models.LoginSettings`
89
+ # @param SecurityGroupIds: 集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
90
+ # @type SecurityGroupIds: Array
91
+ # @param ClientToken: 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
92
+ # @type ClientToken: String
93
+ # @param QueueName: 队列名称。不指定则为默认队列。<li>SLURM默认队列为:compute。<li>SGE默认队列为:all.q。
94
+ # @type QueueName: String
95
+ # @param NodeRole: 添加节点角色。默认值:Compute<br><li>Compute:计算节点。<br><li>Login:登录节点。
96
+ # @type NodeRole: String
97
+ # @param DryRun: 是否只预检此次请求。
98
+ # true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。
99
+ # 如果检查不通过,则返回对应错误码;
100
+ # 如果检查通过,则返回RequestId.
101
+ # false(默认):发送正常请求,通过检查后直接创建实例
102
+ # @type DryRun: Boolean
103
+ # @param NodeType: 添加节点类型。默认取值:STATIC。<li>STATIC:静态节点,不会参与弹性伸缩流程。<li>DYNAMIC:弹性节点,会被弹性缩容的节点。管控节点和登录节点不支持此参数。
104
+ # @type NodeType: String
105
+
106
+ attr_accessor :Placement, :ClusterId, :VirtualPrivateCloud, :Count, :ImageId, :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName, :LoginSettings, :SecurityGroupIds, :ClientToken, :QueueName, :NodeRole, :DryRun, :NodeType
107
+
108
+ def initialize(placement=nil, clusterid=nil, virtualprivatecloud=nil, count=nil, imageid=nil, instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil, loginsettings=nil, securitygroupids=nil, clienttoken=nil, queuename=nil, noderole=nil, dryrun=nil, nodetype=nil)
109
+ @Placement = placement
110
+ @ClusterId = clusterid
111
+ @VirtualPrivateCloud = virtualprivatecloud
112
+ @Count = count
113
+ @ImageId = imageid
114
+ @InstanceChargeType = instancechargetype
115
+ @InstanceChargePrepaid = instancechargeprepaid
116
+ @InstanceType = instancetype
117
+ @SystemDisk = systemdisk
118
+ @DataDisks = datadisks
119
+ @InternetAccessible = internetaccessible
120
+ @InstanceName = instancename
121
+ @LoginSettings = loginsettings
122
+ @SecurityGroupIds = securitygroupids
123
+ @ClientToken = clienttoken
124
+ @QueueName = queuename
125
+ @NodeRole = noderole
126
+ @DryRun = dryrun
127
+ @NodeType = nodetype
128
+ end
129
+
130
+ def deserialize(params)
131
+ unless params['Placement'].nil?
132
+ @Placement = Placement.new
133
+ @Placement.deserialize(params['Placement'])
134
+ end
135
+ @ClusterId = params['ClusterId']
136
+ unless params['VirtualPrivateCloud'].nil?
137
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
138
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
139
+ end
140
+ @Count = params['Count']
141
+ @ImageId = params['ImageId']
142
+ @InstanceChargeType = params['InstanceChargeType']
143
+ unless params['InstanceChargePrepaid'].nil?
144
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
145
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
146
+ end
147
+ @InstanceType = params['InstanceType']
148
+ unless params['SystemDisk'].nil?
149
+ @SystemDisk = SystemDisk.new
150
+ @SystemDisk.deserialize(params['SystemDisk'])
151
+ end
152
+ unless params['DataDisks'].nil?
153
+ @DataDisks = []
154
+ params['DataDisks'].each do |i|
155
+ datadisk_tmp = DataDisk.new
156
+ datadisk_tmp.deserialize(i)
157
+ @DataDisks << datadisk_tmp
158
+ end
159
+ end
160
+ unless params['InternetAccessible'].nil?
161
+ @InternetAccessible = InternetAccessible.new
162
+ @InternetAccessible.deserialize(params['InternetAccessible'])
163
+ end
164
+ @InstanceName = params['InstanceName']
165
+ unless params['LoginSettings'].nil?
166
+ @LoginSettings = LoginSettings.new
167
+ @LoginSettings.deserialize(params['LoginSettings'])
168
+ end
169
+ @SecurityGroupIds = params['SecurityGroupIds']
170
+ @ClientToken = params['ClientToken']
171
+ @QueueName = params['QueueName']
172
+ @NodeRole = params['NodeRole']
173
+ @DryRun = params['DryRun']
174
+ @NodeType = params['NodeType']
175
+ end
176
+ end
177
+
178
+ # AddNodes返回参数结构体
179
+ class AddNodesResponse < TencentCloud::Common::AbstractModel
180
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
181
+ # @type RequestId: String
182
+
183
+ attr_accessor :RequestId
184
+
185
+ def initialize(requestid=nil)
186
+ @RequestId = requestid
187
+ end
188
+
189
+ def deserialize(params)
190
+ @RequestId = params['RequestId']
191
+ end
192
+ end
193
+
194
+ # AddQueue请求参数结构体
195
+ class AddQueueRequest < TencentCloud::Common::AbstractModel
196
+ # @param ClusterId: 集群ID。
197
+ # @type ClusterId: String
198
+ # @param QueueName: 队列名称。<br><li>最多支持32个字符。
199
+ # @type QueueName: String
200
+
201
+ attr_accessor :ClusterId, :QueueName
202
+
203
+ def initialize(clusterid=nil, queuename=nil)
204
+ @ClusterId = clusterid
205
+ @QueueName = queuename
206
+ end
207
+
208
+ def deserialize(params)
209
+ @ClusterId = params['ClusterId']
210
+ @QueueName = params['QueueName']
211
+ end
212
+ end
213
+
214
+ # AddQueue返回参数结构体
215
+ class AddQueueResponse < TencentCloud::Common::AbstractModel
216
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
217
+ # @type RequestId: String
218
+
219
+ attr_accessor :RequestId
220
+
221
+ def initialize(requestid=nil)
222
+ @RequestId = requestid
223
+ end
224
+
225
+ def deserialize(params)
226
+ @RequestId = params['RequestId']
227
+ end
228
+ end
229
+
230
+ # 描述CFS文件系统版本和挂载信息
231
+ class CFSOption < TencentCloud::Common::AbstractModel
232
+ # @param LocalPath: 文件系统本地挂载路径。
233
+ # @type LocalPath: String
234
+ # @param RemotePath: 文件系统远程挂载ip及路径。
235
+ # @type RemotePath: String
236
+ # @param Protocol: 文件系统协议类型,默认值NFS 3.0。
237
+ # <li>NFS 3.0。
238
+ # <li>NFS 4.0。
239
+ # <li>TURBO。
240
+ # @type Protocol: String
241
+ # @param StorageType: 文件系统存储类型,默认值SD;其中 SD 为通用标准型标准型存储, HP为通用性能型存储, TB为turbo标准型, TP 为turbo性能型。
242
+ # @type StorageType: String
243
+
244
+ attr_accessor :LocalPath, :RemotePath, :Protocol, :StorageType
245
+
246
+ def initialize(localpath=nil, remotepath=nil, protocol=nil, storagetype=nil)
247
+ @LocalPath = localpath
248
+ @RemotePath = remotepath
249
+ @Protocol = protocol
250
+ @StorageType = storagetype
251
+ end
252
+
253
+ def deserialize(params)
254
+ @LocalPath = params['LocalPath']
255
+ @RemotePath = params['RemotePath']
256
+ @Protocol = params['Protocol']
257
+ @StorageType = params['StorageType']
258
+ end
259
+ end
260
+
261
+ # CFS存储选项概览信息。
262
+ class CFSOptionOverview < TencentCloud::Common::AbstractModel
263
+ # @param LocalPath: 文件系统本地挂载路径。
264
+ # @type LocalPath: String
265
+ # @param RemotePath: 文件系统远程挂载ip及路径。
266
+ # @type RemotePath: String
267
+ # @param Protocol: 文件系统协议类型。
268
+ # <li>NFS 3.0。
269
+ # <li>NFS 4.0。
270
+ # <li>TURBO。
271
+ # @type Protocol: String
272
+ # @param StorageType: 文件系统存储类型,默认值SD;其中 SD 为通用标准型标准型存储, HP为通用性能型存储, TB为turbo标准型, TP 为turbo性能型。
273
+ # @type StorageType: String
274
+
275
+ attr_accessor :LocalPath, :RemotePath, :Protocol, :StorageType
276
+
277
+ def initialize(localpath=nil, remotepath=nil, protocol=nil, storagetype=nil)
278
+ @LocalPath = localpath
279
+ @RemotePath = remotepath
280
+ @Protocol = protocol
281
+ @StorageType = storagetype
282
+ end
283
+
284
+ def deserialize(params)
285
+ @LocalPath = params['LocalPath']
286
+ @RemotePath = params['RemotePath']
287
+ @Protocol = params['Protocol']
288
+ @StorageType = params['StorageType']
289
+ end
290
+ end
291
+
292
+ # 符合条件的集群活动信息。
293
+ class ClusterActivity < TencentCloud::Common::AbstractModel
294
+ # @param ClusterId: 集群ID。
295
+ # @type ClusterId: String
296
+ # @param ActivityId: 集群活动ID。
297
+ # @type ActivityId: String
298
+ # @param ActivityType: 集群活动类型。取值范围:<br><li>CreateAndAddNodes:创建实例并添加进集群<br><li>RemoveNodesFromCluster:从集群移除实例<br><li>TerminateNodes:销毁实例<br><li>MountStorageOption:增加挂载选项并进行挂载<br><li>UmountStorageOption:删除集群挂载存储选项并解挂载
299
+ # @type ActivityType: String
300
+ # @param ActivityStatus: 集群活动状态。取值范围:<br><li>PENDING:等待运行<br><li>RUNNING:运行中<br><li>SUCCESSFUL:活动成功<br><li>PARTIALLY_SUCCESSFUL:活动部分成功<br><li>FAILED:活动失败
301
+ # @type ActivityStatus: String
302
+ # @param ActivityStatusCode: 集群活动状态码。
303
+ # 注意:此字段可能返回 null,表示取不到有效值。
304
+ # @type ActivityStatusCode: String
305
+ # @param ResultDetail: 集群活动结果详情。
306
+ # 注意:此字段可能返回 null,表示取不到有效值。
307
+ # @type ResultDetail: String
308
+ # @param Cause: 集群活动起因。
309
+ # @type Cause: String
310
+ # @param Description: 集群活动描述。
311
+ # @type Description: String
312
+ # @param RelatedNodeActivitySet: 集群活动相关节点活动集合。
313
+ # @type RelatedNodeActivitySet: Array
314
+ # @param StartTime: 集群活动开始时间。
315
+ # 注意:此字段可能返回 null,表示取不到有效值。
316
+ # @type StartTime: String
317
+ # @param EndTime: 集群活动结束时间。
318
+ # 注意:此字段可能返回 null,表示取不到有效值。
319
+ # @type EndTime: String
320
+
321
+ attr_accessor :ClusterId, :ActivityId, :ActivityType, :ActivityStatus, :ActivityStatusCode, :ResultDetail, :Cause, :Description, :RelatedNodeActivitySet, :StartTime, :EndTime
322
+
323
+ def initialize(clusterid=nil, activityid=nil, activitytype=nil, activitystatus=nil, activitystatuscode=nil, resultdetail=nil, cause=nil, description=nil, relatednodeactivityset=nil, starttime=nil, endtime=nil)
324
+ @ClusterId = clusterid
325
+ @ActivityId = activityid
326
+ @ActivityType = activitytype
327
+ @ActivityStatus = activitystatus
328
+ @ActivityStatusCode = activitystatuscode
329
+ @ResultDetail = resultdetail
330
+ @Cause = cause
331
+ @Description = description
332
+ @RelatedNodeActivitySet = relatednodeactivityset
333
+ @StartTime = starttime
334
+ @EndTime = endtime
335
+ end
336
+
337
+ def deserialize(params)
338
+ @ClusterId = params['ClusterId']
339
+ @ActivityId = params['ActivityId']
340
+ @ActivityType = params['ActivityType']
341
+ @ActivityStatus = params['ActivityStatus']
342
+ @ActivityStatusCode = params['ActivityStatusCode']
343
+ @ResultDetail = params['ResultDetail']
344
+ @Cause = params['Cause']
345
+ @Description = params['Description']
346
+ unless params['RelatedNodeActivitySet'].nil?
347
+ @RelatedNodeActivitySet = []
348
+ params['RelatedNodeActivitySet'].each do |i|
349
+ nodeactivity_tmp = NodeActivity.new
350
+ nodeactivity_tmp.deserialize(i)
351
+ @RelatedNodeActivitySet << nodeactivity_tmp
352
+ end
353
+ end
354
+ @StartTime = params['StartTime']
355
+ @EndTime = params['EndTime']
356
+ end
357
+ end
358
+
359
+ # 集群概览信息。
360
+ class ClusterOverview < TencentCloud::Common::AbstractModel
361
+ # @param ClusterId: 集群ID。
362
+ # @type ClusterId: String
363
+ # @param ClusterStatus: 集群状态。取值范围:<br><li>PENDING:创建中<br><li>INITING:初始化中<br><li>INIT_FAILED:初始化失败<br><li>RUNNING:运行中<br><li>TERMINATING:销毁中
364
+ # @type ClusterStatus: String
365
+ # @param ClusterName: 集群名称。
366
+ # @type ClusterName: String
367
+ # @param Placement: 集群位置信息。
368
+ # @type Placement: :class:`Tencentcloud::Thpc.v20230321.models.Placement`
369
+ # @param CreateTime: 集群创建时间。
370
+ # @type CreateTime: String
371
+ # @param SchedulerType: 集群调度器。
372
+ # @type SchedulerType: String
373
+ # @param ComputeNodeCount: 计算节点数量。
374
+ # @type ComputeNodeCount: Integer
375
+ # @param ComputeNodeSet: 计算节点概览。
376
+ # @type ComputeNodeSet: Array
377
+ # @param ManagerNodeCount: 管控节点数量。
378
+ # @type ManagerNodeCount: Integer
379
+ # @param ManagerNodeSet: 管控节点概览。
380
+ # @type ManagerNodeSet: Array
381
+ # @param LoginNodeSet: 登录节点概览。
382
+ # @type LoginNodeSet: Array
383
+ # @param LoginNodeCount: 登录节点数量。
384
+ # @type LoginNodeCount: Integer
385
+ # @param VpcId: 集群所属私有网络ID。
386
+ # @type VpcId: String
387
+
388
+ attr_accessor :ClusterId, :ClusterStatus, :ClusterName, :Placement, :CreateTime, :SchedulerType, :ComputeNodeCount, :ComputeNodeSet, :ManagerNodeCount, :ManagerNodeSet, :LoginNodeSet, :LoginNodeCount, :VpcId
389
+
390
+ def initialize(clusterid=nil, clusterstatus=nil, clustername=nil, placement=nil, createtime=nil, schedulertype=nil, computenodecount=nil, computenodeset=nil, managernodecount=nil, managernodeset=nil, loginnodeset=nil, loginnodecount=nil, vpcid=nil)
391
+ @ClusterId = clusterid
392
+ @ClusterStatus = clusterstatus
393
+ @ClusterName = clustername
394
+ @Placement = placement
395
+ @CreateTime = createtime
396
+ @SchedulerType = schedulertype
397
+ @ComputeNodeCount = computenodecount
398
+ @ComputeNodeSet = computenodeset
399
+ @ManagerNodeCount = managernodecount
400
+ @ManagerNodeSet = managernodeset
401
+ @LoginNodeSet = loginnodeset
402
+ @LoginNodeCount = loginnodecount
403
+ @VpcId = vpcid
404
+ end
405
+
406
+ def deserialize(params)
407
+ @ClusterId = params['ClusterId']
408
+ @ClusterStatus = params['ClusterStatus']
409
+ @ClusterName = params['ClusterName']
410
+ unless params['Placement'].nil?
411
+ @Placement = Placement.new
412
+ @Placement.deserialize(params['Placement'])
413
+ end
414
+ @CreateTime = params['CreateTime']
415
+ @SchedulerType = params['SchedulerType']
416
+ @ComputeNodeCount = params['ComputeNodeCount']
417
+ unless params['ComputeNodeSet'].nil?
418
+ @ComputeNodeSet = []
419
+ params['ComputeNodeSet'].each do |i|
420
+ computenodeoverview_tmp = ComputeNodeOverview.new
421
+ computenodeoverview_tmp.deserialize(i)
422
+ @ComputeNodeSet << computenodeoverview_tmp
423
+ end
424
+ end
425
+ @ManagerNodeCount = params['ManagerNodeCount']
426
+ unless params['ManagerNodeSet'].nil?
427
+ @ManagerNodeSet = []
428
+ params['ManagerNodeSet'].each do |i|
429
+ managernodeoverview_tmp = ManagerNodeOverview.new
430
+ managernodeoverview_tmp.deserialize(i)
431
+ @ManagerNodeSet << managernodeoverview_tmp
432
+ end
433
+ end
434
+ unless params['LoginNodeSet'].nil?
435
+ @LoginNodeSet = []
436
+ params['LoginNodeSet'].each do |i|
437
+ loginnodeoverview_tmp = LoginNodeOverview.new
438
+ loginnodeoverview_tmp.deserialize(i)
439
+ @LoginNodeSet << loginnodeoverview_tmp
440
+ end
441
+ end
442
+ @LoginNodeCount = params['LoginNodeCount']
443
+ @VpcId = params['VpcId']
444
+ end
445
+ end
446
+
447
+ # 计算节点信息。
448
+ class ComputeNode < TencentCloud::Common::AbstractModel
449
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。
450
+ # @type InstanceChargeType: String
451
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
452
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
453
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
454
+ # <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
455
+ # @type InstanceType: String
456
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
457
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
458
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
459
+ # @type DataDisks: Array
460
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
461
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
462
+ # @param InstanceName: 节点显示名称。<br><li>
463
+ # 不指定节点显示名称则默认显示‘未命名’。
464
+ # 最多支持60个字符。
465
+ # @type InstanceName: String
466
+
467
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
468
+
469
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
470
+ @InstanceChargeType = instancechargetype
471
+ @InstanceChargePrepaid = instancechargeprepaid
472
+ @InstanceType = instancetype
473
+ @SystemDisk = systemdisk
474
+ @DataDisks = datadisks
475
+ @InternetAccessible = internetaccessible
476
+ @InstanceName = instancename
477
+ end
478
+
479
+ def deserialize(params)
480
+ @InstanceChargeType = params['InstanceChargeType']
481
+ unless params['InstanceChargePrepaid'].nil?
482
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
483
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
484
+ end
485
+ @InstanceType = params['InstanceType']
486
+ unless params['SystemDisk'].nil?
487
+ @SystemDisk = SystemDisk.new
488
+ @SystemDisk.deserialize(params['SystemDisk'])
489
+ end
490
+ unless params['DataDisks'].nil?
491
+ @DataDisks = []
492
+ params['DataDisks'].each do |i|
493
+ datadisk_tmp = DataDisk.new
494
+ datadisk_tmp.deserialize(i)
495
+ @DataDisks << datadisk_tmp
496
+ end
497
+ end
498
+ unless params['InternetAccessible'].nil?
499
+ @InternetAccessible = InternetAccessible.new
500
+ @InternetAccessible.deserialize(params['InternetAccessible'])
501
+ end
502
+ @InstanceName = params['InstanceName']
503
+ end
504
+ end
505
+
506
+ # 计算节点概览。
507
+ class ComputeNodeOverview < TencentCloud::Common::AbstractModel
508
+ # @param NodeId: 计算节点ID。
509
+ # 注意:此字段可能返回 null,表示取不到有效值。
510
+ # @type NodeId: String
511
+
512
+ attr_accessor :NodeId
513
+
514
+ def initialize(nodeid=nil)
515
+ @NodeId = nodeid
516
+ end
517
+
518
+ def deserialize(params)
519
+ @NodeId = params['NodeId']
520
+ end
521
+ end
522
+
523
+ # CreateCluster请求参数结构体
524
+ class CreateClusterRequest < TencentCloud::Common::AbstractModel
525
+ # @param Placement: 集群中实例所在的位置。
526
+ # @type Placement: :class:`Tencentcloud::Thpc.v20230321.models.Placement`
527
+ # @param ManagerNode: 指定管理节点。
528
+ # @type ManagerNode: :class:`Tencentcloud::Thpc.v20230321.models.ManagerNode`
529
+ # @param ManagerNodeCount: 指定管理节点的数量。默认取值:1。取值范围:1~2。
530
+ # @type ManagerNodeCount: Integer
531
+ # @param ComputeNode: 指定计算节点。
532
+ # @type ComputeNode: :class:`Tencentcloud::Thpc.v20230321.models.ComputeNode`
533
+ # @param ComputeNodeCount: 指定计算节点的数量。默认取值:0。
534
+ # @type ComputeNodeCount: Integer
535
+ # @param SchedulerType: 调度器类型。默认取值:SLURM。<br><li>SGE:SGE调度器。<br><li>SLURM:SLURM调度器。
536
+ # @type SchedulerType: String
537
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前支持部分公有镜像和自定义镜像。
538
+ # @type ImageId: String
539
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
540
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20230321.models.VirtualPrivateCloud`
541
+ # @param LoginSettings: 集群登录设置。
542
+ # @type LoginSettings: :class:`Tencentcloud::Thpc.v20230321.models.LoginSettings`
543
+ # @param SecurityGroupIds: 集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
544
+ # @type SecurityGroupIds: Array
545
+ # @param ClientToken: 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
546
+ # @type ClientToken: String
547
+ # @param DryRun: 是否只预检此次请求。
548
+ # true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。
549
+ # 如果检查不通过,则返回对应错误码;
550
+ # 如果检查通过,则返回RequestId.
551
+ # false(默认):发送正常请求,通过检查后直接创建实例
552
+ # @type DryRun: Boolean
553
+ # @param AccountType: 域名字服务类型。默认取值:NIS。
554
+ # <li>NIS:NIS域名字服务。
555
+ # @type AccountType: String
556
+ # @param ClusterName: 集群显示名称。
557
+ # @type ClusterName: String
558
+ # @param StorageOption: 集群存储选项
559
+ # @type StorageOption: :class:`Tencentcloud::Thpc.v20230321.models.StorageOption`
560
+ # @param LoginNode: 指定登录节点。
561
+ # @type LoginNode: :class:`Tencentcloud::Thpc.v20230321.models.LoginNode`
562
+ # @param LoginNodeCount: 指定登录节点的数量。默认取值:0。取值范围:0~10。
563
+ # @type LoginNodeCount: Integer
564
+ # @param Tags: 创建集群时同时绑定的标签对说明。
565
+ # @type Tags: Array
566
+ # @param AutoScalingType: 弹性伸缩类型。默认值:THPC_AS<br><li>THPC_AS:集群自动扩缩容由THPC产品内部实现。<br><li>AS:集群自动扩缩容由[弹性伸缩](https://cloud.tencent.com/document/product/377/3154)产品实现。
567
+ # @type AutoScalingType: String
568
+
569
+ attr_accessor :Placement, :ManagerNode, :ManagerNodeCount, :ComputeNode, :ComputeNodeCount, :SchedulerType, :ImageId, :VirtualPrivateCloud, :LoginSettings, :SecurityGroupIds, :ClientToken, :DryRun, :AccountType, :ClusterName, :StorageOption, :LoginNode, :LoginNodeCount, :Tags, :AutoScalingType
570
+
571
+ def initialize(placement=nil, managernode=nil, managernodecount=nil, computenode=nil, computenodecount=nil, schedulertype=nil, imageid=nil, virtualprivatecloud=nil, loginsettings=nil, securitygroupids=nil, clienttoken=nil, dryrun=nil, accounttype=nil, clustername=nil, storageoption=nil, loginnode=nil, loginnodecount=nil, tags=nil, autoscalingtype=nil)
572
+ @Placement = placement
573
+ @ManagerNode = managernode
574
+ @ManagerNodeCount = managernodecount
575
+ @ComputeNode = computenode
576
+ @ComputeNodeCount = computenodecount
577
+ @SchedulerType = schedulertype
578
+ @ImageId = imageid
579
+ @VirtualPrivateCloud = virtualprivatecloud
580
+ @LoginSettings = loginsettings
581
+ @SecurityGroupIds = securitygroupids
582
+ @ClientToken = clienttoken
583
+ @DryRun = dryrun
584
+ @AccountType = accounttype
585
+ @ClusterName = clustername
586
+ @StorageOption = storageoption
587
+ @LoginNode = loginnode
588
+ @LoginNodeCount = loginnodecount
589
+ @Tags = tags
590
+ @AutoScalingType = autoscalingtype
591
+ end
592
+
593
+ def deserialize(params)
594
+ unless params['Placement'].nil?
595
+ @Placement = Placement.new
596
+ @Placement.deserialize(params['Placement'])
597
+ end
598
+ unless params['ManagerNode'].nil?
599
+ @ManagerNode = ManagerNode.new
600
+ @ManagerNode.deserialize(params['ManagerNode'])
601
+ end
602
+ @ManagerNodeCount = params['ManagerNodeCount']
603
+ unless params['ComputeNode'].nil?
604
+ @ComputeNode = ComputeNode.new
605
+ @ComputeNode.deserialize(params['ComputeNode'])
606
+ end
607
+ @ComputeNodeCount = params['ComputeNodeCount']
608
+ @SchedulerType = params['SchedulerType']
609
+ @ImageId = params['ImageId']
610
+ unless params['VirtualPrivateCloud'].nil?
611
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
612
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
613
+ end
614
+ unless params['LoginSettings'].nil?
615
+ @LoginSettings = LoginSettings.new
616
+ @LoginSettings.deserialize(params['LoginSettings'])
617
+ end
618
+ @SecurityGroupIds = params['SecurityGroupIds']
619
+ @ClientToken = params['ClientToken']
620
+ @DryRun = params['DryRun']
621
+ @AccountType = params['AccountType']
622
+ @ClusterName = params['ClusterName']
623
+ unless params['StorageOption'].nil?
624
+ @StorageOption = StorageOption.new
625
+ @StorageOption.deserialize(params['StorageOption'])
626
+ end
627
+ unless params['LoginNode'].nil?
628
+ @LoginNode = LoginNode.new
629
+ @LoginNode.deserialize(params['LoginNode'])
630
+ end
631
+ @LoginNodeCount = params['LoginNodeCount']
632
+ unless params['Tags'].nil?
633
+ @Tags = []
634
+ params['Tags'].each do |i|
635
+ tag_tmp = Tag.new
636
+ tag_tmp.deserialize(i)
637
+ @Tags << tag_tmp
638
+ end
639
+ end
640
+ @AutoScalingType = params['AutoScalingType']
641
+ end
642
+ end
643
+
644
+ # CreateCluster返回参数结构体
645
+ class CreateClusterResponse < TencentCloud::Common::AbstractModel
646
+ # @param ClusterId: 集群ID。
647
+ # 注意:此字段可能返回 null,表示取不到有效值。
648
+ # @type ClusterId: String
649
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
650
+ # @type RequestId: String
651
+
652
+ attr_accessor :ClusterId, :RequestId
653
+
654
+ def initialize(clusterid=nil, requestid=nil)
655
+ @ClusterId = clusterid
656
+ @RequestId = requestid
657
+ end
658
+
659
+ def deserialize(params)
660
+ @ClusterId = params['ClusterId']
661
+ @RequestId = params['RequestId']
662
+ end
663
+ end
664
+
665
+ # 描述了数据盘的信息
666
+ class DataDisk < TencentCloud::Common::AbstractModel
667
+ # @param DiskSize: 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。
668
+ # 注意:此字段可能返回 null,表示取不到有效值。
669
+ # @type DiskSize: Integer
670
+ # @param DiskType: 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:<br><li>LOCAL_NVME:本地NVME硬盘,与InstanceType强相关,不支持指定<br><li>LOCAL_PRO:本地HDD硬盘,与InstanceType强相关,不支持指定<br><li>CLOUD_BASIC:普通云硬盘<br><li>CLOUD_PREMIUM:高性能云硬盘<br><li>CLOUD_SSD:SSD云硬盘<br><li>CLOUD_HSSD:增强型SSD云硬盘<br><li>CLOUD_TSSD:极速型SSD云硬盘<br><li>CLOUD_BSSD:通用型SSD云硬盘
671
+ # 注意:此字段可能返回 null,表示取不到有效值。
672
+ # @type DiskType: String
673
+
674
+ attr_accessor :DiskSize, :DiskType
675
+
676
+ def initialize(disksize=nil, disktype=nil)
677
+ @DiskSize = disksize
678
+ @DiskType = disktype
679
+ end
680
+
681
+ def deserialize(params)
682
+ @DiskSize = params['DiskSize']
683
+ @DiskType = params['DiskType']
684
+ end
685
+ end
686
+
687
+ # DeleteCluster请求参数结构体
688
+ class DeleteClusterRequest < TencentCloud::Common::AbstractModel
689
+ # @param ClusterId: 集群ID。
690
+ # @type ClusterId: String
691
+
692
+ attr_accessor :ClusterId
693
+
694
+ def initialize(clusterid=nil)
695
+ @ClusterId = clusterid
696
+ end
697
+
698
+ def deserialize(params)
699
+ @ClusterId = params['ClusterId']
700
+ end
701
+ end
702
+
703
+ # DeleteCluster返回参数结构体
704
+ class DeleteClusterResponse < TencentCloud::Common::AbstractModel
705
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
706
+ # @type RequestId: String
707
+
708
+ attr_accessor :RequestId
709
+
710
+ def initialize(requestid=nil)
711
+ @RequestId = requestid
712
+ end
713
+
714
+ def deserialize(params)
715
+ @RequestId = params['RequestId']
716
+ end
717
+ end
718
+
719
+ # DeleteClusterStorageOption请求参数结构体
720
+ class DeleteClusterStorageOptionRequest < TencentCloud::Common::AbstractModel
721
+ # @param ClusterId: 集群ID。
722
+ # @type ClusterId: String
723
+ # @param LocalPath: 本地挂载路径。
724
+ # @type LocalPath: String
725
+
726
+ attr_accessor :ClusterId, :LocalPath
727
+
728
+ def initialize(clusterid=nil, localpath=nil)
729
+ @ClusterId = clusterid
730
+ @LocalPath = localpath
731
+ end
732
+
733
+ def deserialize(params)
734
+ @ClusterId = params['ClusterId']
735
+ @LocalPath = params['LocalPath']
736
+ end
737
+ end
738
+
739
+ # DeleteClusterStorageOption返回参数结构体
740
+ class DeleteClusterStorageOptionResponse < TencentCloud::Common::AbstractModel
741
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
742
+ # @type RequestId: String
743
+
744
+ attr_accessor :RequestId
745
+
746
+ def initialize(requestid=nil)
747
+ @RequestId = requestid
748
+ end
749
+
750
+ def deserialize(params)
751
+ @RequestId = params['RequestId']
752
+ end
753
+ end
754
+
755
+ # DeleteNodes请求参数结构体
756
+ class DeleteNodesRequest < TencentCloud::Common::AbstractModel
757
+ # @param ClusterId: 集群ID。
758
+ # @type ClusterId: String
759
+ # @param NodeIds: 节点ID。
760
+ # @type NodeIds: Array
761
+
762
+ attr_accessor :ClusterId, :NodeIds
763
+
764
+ def initialize(clusterid=nil, nodeids=nil)
765
+ @ClusterId = clusterid
766
+ @NodeIds = nodeids
767
+ end
768
+
769
+ def deserialize(params)
770
+ @ClusterId = params['ClusterId']
771
+ @NodeIds = params['NodeIds']
772
+ end
773
+ end
774
+
775
+ # DeleteNodes返回参数结构体
776
+ class DeleteNodesResponse < TencentCloud::Common::AbstractModel
777
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
778
+ # @type RequestId: String
779
+
780
+ attr_accessor :RequestId
781
+
782
+ def initialize(requestid=nil)
783
+ @RequestId = requestid
784
+ end
785
+
786
+ def deserialize(params)
787
+ @RequestId = params['RequestId']
788
+ end
789
+ end
790
+
791
+ # DeleteQueue请求参数结构体
792
+ class DeleteQueueRequest < TencentCloud::Common::AbstractModel
793
+ # @param ClusterId: 集群ID。
794
+ # @type ClusterId: String
795
+ # @param QueueName: 队列名称。<br><li>最多支持32个字符。
796
+ # @type QueueName: String
797
+
798
+ attr_accessor :ClusterId, :QueueName
799
+
800
+ def initialize(clusterid=nil, queuename=nil)
801
+ @ClusterId = clusterid
802
+ @QueueName = queuename
803
+ end
804
+
805
+ def deserialize(params)
806
+ @ClusterId = params['ClusterId']
807
+ @QueueName = params['QueueName']
808
+ end
809
+ end
810
+
811
+ # DeleteQueue返回参数结构体
812
+ class DeleteQueueResponse < TencentCloud::Common::AbstractModel
813
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
814
+ # @type RequestId: String
815
+
816
+ attr_accessor :RequestId
817
+
818
+ def initialize(requestid=nil)
819
+ @RequestId = requestid
820
+ end
821
+
822
+ def deserialize(params)
823
+ @RequestId = params['RequestId']
824
+ end
825
+ end
826
+
827
+ # DescribeAutoScalingConfiguration请求参数结构体
828
+ class DescribeAutoScalingConfigurationRequest < TencentCloud::Common::AbstractModel
829
+ # @param ClusterId: 集群ID。
830
+ # @type ClusterId: String
831
+
832
+ attr_accessor :ClusterId
833
+
834
+ def initialize(clusterid=nil)
835
+ @ClusterId = clusterid
836
+ end
837
+
838
+ def deserialize(params)
839
+ @ClusterId = params['ClusterId']
840
+ end
841
+ end
842
+
843
+ # DescribeAutoScalingConfiguration返回参数结构体
844
+ class DescribeAutoScalingConfigurationResponse < TencentCloud::Common::AbstractModel
845
+ # @param ClusterId: 集群ID。
846
+ # @type ClusterId: String
847
+ # @param ExpansionBusyTime: 任务连续等待时间,队列的任务处于连续等待的时间。单位秒。
848
+ # @type ExpansionBusyTime: Integer
849
+ # @param ShrinkIdleTime: 节点连续空闲(未运行作业)时间,一个节点连续处于空闲状态时间。
850
+ # @type ShrinkIdleTime: Integer
851
+ # @param QueueConfigs: 扩容队列配置概览列表。
852
+ # @type QueueConfigs: Array
853
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
854
+ # @type RequestId: String
855
+
856
+ attr_accessor :ClusterId, :ExpansionBusyTime, :ShrinkIdleTime, :QueueConfigs, :RequestId
857
+
858
+ def initialize(clusterid=nil, expansionbusytime=nil, shrinkidletime=nil, queueconfigs=nil, requestid=nil)
859
+ @ClusterId = clusterid
860
+ @ExpansionBusyTime = expansionbusytime
861
+ @ShrinkIdleTime = shrinkidletime
862
+ @QueueConfigs = queueconfigs
863
+ @RequestId = requestid
864
+ end
865
+
866
+ def deserialize(params)
867
+ @ClusterId = params['ClusterId']
868
+ @ExpansionBusyTime = params['ExpansionBusyTime']
869
+ @ShrinkIdleTime = params['ShrinkIdleTime']
870
+ unless params['QueueConfigs'].nil?
871
+ @QueueConfigs = []
872
+ params['QueueConfigs'].each do |i|
873
+ queueconfigoverview_tmp = QueueConfigOverview.new
874
+ queueconfigoverview_tmp.deserialize(i)
875
+ @QueueConfigs << queueconfigoverview_tmp
876
+ end
877
+ end
878
+ @RequestId = params['RequestId']
879
+ end
880
+ end
881
+
882
+ # DescribeClusterActivities请求参数结构体
883
+ class DescribeClusterActivitiesRequest < TencentCloud::Common::AbstractModel
884
+ # @param ClusterId: 集群ID。通过该参数指定需要查询活动历史记录的集群。
885
+ # @type ClusterId: String
886
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
887
+ # @type Offset: Integer
888
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
889
+ # @type Limit: Integer
890
+
891
+ attr_accessor :ClusterId, :Offset, :Limit
892
+
893
+ def initialize(clusterid=nil, offset=nil, limit=nil)
894
+ @ClusterId = clusterid
895
+ @Offset = offset
896
+ @Limit = limit
897
+ end
898
+
899
+ def deserialize(params)
900
+ @ClusterId = params['ClusterId']
901
+ @Offset = params['Offset']
902
+ @Limit = params['Limit']
903
+ end
904
+ end
905
+
906
+ # DescribeClusterActivities返回参数结构体
907
+ class DescribeClusterActivitiesResponse < TencentCloud::Common::AbstractModel
908
+ # @param ClusterActivitySet: 集群活动历史记录列表。
909
+ # @type ClusterActivitySet: Array
910
+ # @param TotalCount: 集群活动历史记录数量。
911
+ # @type TotalCount: Integer
912
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
913
+ # @type RequestId: String
914
+
915
+ attr_accessor :ClusterActivitySet, :TotalCount, :RequestId
916
+
917
+ def initialize(clusteractivityset=nil, totalcount=nil, requestid=nil)
918
+ @ClusterActivitySet = clusteractivityset
919
+ @TotalCount = totalcount
920
+ @RequestId = requestid
921
+ end
922
+
923
+ def deserialize(params)
924
+ unless params['ClusterActivitySet'].nil?
925
+ @ClusterActivitySet = []
926
+ params['ClusterActivitySet'].each do |i|
927
+ clusteractivity_tmp = ClusterActivity.new
928
+ clusteractivity_tmp.deserialize(i)
929
+ @ClusterActivitySet << clusteractivity_tmp
930
+ end
931
+ end
932
+ @TotalCount = params['TotalCount']
933
+ @RequestId = params['RequestId']
934
+ end
935
+ end
936
+
937
+ # DescribeClusterStorageOption请求参数结构体
938
+ class DescribeClusterStorageOptionRequest < TencentCloud::Common::AbstractModel
939
+ # @param ClusterId: 集群ID。
940
+ # @type ClusterId: String
941
+
942
+ attr_accessor :ClusterId
943
+
944
+ def initialize(clusterid=nil)
945
+ @ClusterId = clusterid
946
+ end
947
+
948
+ def deserialize(params)
949
+ @ClusterId = params['ClusterId']
950
+ end
951
+ end
952
+
953
+ # DescribeClusterStorageOption返回参数结构体
954
+ class DescribeClusterStorageOptionResponse < TencentCloud::Common::AbstractModel
955
+ # @param StorageOption: 集群存储选项信息概览。
956
+ # @type StorageOption: :class:`Tencentcloud::Thpc.v20230321.models.StorageOptionOverview`
957
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
958
+ # @type RequestId: String
959
+
960
+ attr_accessor :StorageOption, :RequestId
961
+
962
+ def initialize(storageoption=nil, requestid=nil)
963
+ @StorageOption = storageoption
964
+ @RequestId = requestid
965
+ end
966
+
967
+ def deserialize(params)
968
+ unless params['StorageOption'].nil?
969
+ @StorageOption = StorageOptionOverview.new
970
+ @StorageOption.deserialize(params['StorageOption'])
971
+ end
972
+ @RequestId = params['RequestId']
973
+ end
974
+ end
975
+
976
+ # DescribeClusters请求参数结构体
977
+ class DescribeClustersRequest < TencentCloud::Common::AbstractModel
978
+ # @param ClusterIds: 集群ID列表。通过该参数可以指定需要查询信息的集群列表。<br>如果您不指定该参数,则返回Limit数量以内的集群信息。
979
+ # @type ClusterIds: Array
980
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
981
+ # @type Offset: Integer
982
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
983
+ # @type Limit: Integer
984
+
985
+ attr_accessor :ClusterIds, :Offset, :Limit
986
+
987
+ def initialize(clusterids=nil, offset=nil, limit=nil)
988
+ @ClusterIds = clusterids
989
+ @Offset = offset
990
+ @Limit = limit
991
+ end
992
+
993
+ def deserialize(params)
994
+ @ClusterIds = params['ClusterIds']
995
+ @Offset = params['Offset']
996
+ @Limit = params['Limit']
997
+ end
998
+ end
999
+
1000
+ # DescribeClusters返回参数结构体
1001
+ class DescribeClustersResponse < TencentCloud::Common::AbstractModel
1002
+ # @param ClusterSet: 集群概览信息列表。
1003
+ # @type ClusterSet: Array
1004
+ # @param TotalCount: 集群数量。
1005
+ # @type TotalCount: Integer
1006
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1007
+ # @type RequestId: String
1008
+
1009
+ attr_accessor :ClusterSet, :TotalCount, :RequestId
1010
+
1011
+ def initialize(clusterset=nil, totalcount=nil, requestid=nil)
1012
+ @ClusterSet = clusterset
1013
+ @TotalCount = totalcount
1014
+ @RequestId = requestid
1015
+ end
1016
+
1017
+ def deserialize(params)
1018
+ unless params['ClusterSet'].nil?
1019
+ @ClusterSet = []
1020
+ params['ClusterSet'].each do |i|
1021
+ clusteroverview_tmp = ClusterOverview.new
1022
+ clusteroverview_tmp.deserialize(i)
1023
+ @ClusterSet << clusteroverview_tmp
1024
+ end
1025
+ end
1026
+ @TotalCount = params['TotalCount']
1027
+ @RequestId = params['RequestId']
1028
+ end
1029
+ end
1030
+
1031
+ # DescribeNodes请求参数结构体
1032
+ class DescribeNodesRequest < TencentCloud::Common::AbstractModel
1033
+ # @param ClusterId: 集群ID。
1034
+ # @type ClusterId: String
1035
+ # @param Filters: <li><strong>queue-name</strong></li> <p style="padding-left: 30px;">按照【<strong>队列名称</strong>】进行过滤。队列名称形如:compute。</p><p style="padding-left: 30px;">类型:String</p><p style="padding-left: 30px;">必选:否</p><p style="padding-left: 30px;"><li><strong>node-role</strong></li> <p style="padding-left: 30px;">按照【<strong>节点角色</strong>】进行过滤。节点角色形如:Manager。(Manager:管控节点。Compute:计算节点。Login:登录节点。ManagerBackup:备用管控节点。)</p><p style="padding-left: 30px;">类型:String</p><p style="padding-left: 30px;">必选:否</p><p style="padding-left: 30px;"><li><strong>node-type</strong></li> <p style="padding-left: 30px;">按照【<strong>节点类型</strong>】进行过滤。节点类型形如:STATIC。(STATIC:静态节点。DYNAMIC:弹性节点。)</p><p style="padding-left: 30px;">类型:String</p><p style="padding-left: 30px;">必选:否</p><p style="padding-left: 30px;">每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。
1036
+ # @type Filters: Array
1037
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1038
+ # @type Offset: Integer
1039
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1040
+ # @type Limit: Integer
1041
+
1042
+ attr_accessor :ClusterId, :Filters, :Offset, :Limit
1043
+
1044
+ def initialize(clusterid=nil, filters=nil, offset=nil, limit=nil)
1045
+ @ClusterId = clusterid
1046
+ @Filters = filters
1047
+ @Offset = offset
1048
+ @Limit = limit
1049
+ end
1050
+
1051
+ def deserialize(params)
1052
+ @ClusterId = params['ClusterId']
1053
+ unless params['Filters'].nil?
1054
+ @Filters = []
1055
+ params['Filters'].each do |i|
1056
+ filter_tmp = Filter.new
1057
+ filter_tmp.deserialize(i)
1058
+ @Filters << filter_tmp
1059
+ end
1060
+ end
1061
+ @Offset = params['Offset']
1062
+ @Limit = params['Limit']
1063
+ end
1064
+ end
1065
+
1066
+ # DescribeNodes返回参数结构体
1067
+ class DescribeNodesResponse < TencentCloud::Common::AbstractModel
1068
+ # @param NodeSet: 节点概览信息列表。
1069
+ # @type NodeSet: Array
1070
+ # @param TotalCount: 符合条件的节点数量。
1071
+ # @type TotalCount: Integer
1072
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1073
+ # @type RequestId: String
1074
+
1075
+ attr_accessor :NodeSet, :TotalCount, :RequestId
1076
+
1077
+ def initialize(nodeset=nil, totalcount=nil, requestid=nil)
1078
+ @NodeSet = nodeset
1079
+ @TotalCount = totalcount
1080
+ @RequestId = requestid
1081
+ end
1082
+
1083
+ def deserialize(params)
1084
+ unless params['NodeSet'].nil?
1085
+ @NodeSet = []
1086
+ params['NodeSet'].each do |i|
1087
+ nodeoverview_tmp = NodeOverview.new
1088
+ nodeoverview_tmp.deserialize(i)
1089
+ @NodeSet << nodeoverview_tmp
1090
+ end
1091
+ end
1092
+ @TotalCount = params['TotalCount']
1093
+ @RequestId = params['RequestId']
1094
+ end
1095
+ end
1096
+
1097
+ # DescribeQueues请求参数结构体
1098
+ class DescribeQueuesRequest < TencentCloud::Common::AbstractModel
1099
+ # @param ClusterId: 集群ID。
1100
+ # @type ClusterId: String
1101
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1102
+ # @type Offset: Integer
1103
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
1104
+ # @type Limit: Integer
1105
+
1106
+ attr_accessor :ClusterId, :Offset, :Limit
1107
+
1108
+ def initialize(clusterid=nil, offset=nil, limit=nil)
1109
+ @ClusterId = clusterid
1110
+ @Offset = offset
1111
+ @Limit = limit
1112
+ end
1113
+
1114
+ def deserialize(params)
1115
+ @ClusterId = params['ClusterId']
1116
+ @Offset = params['Offset']
1117
+ @Limit = params['Limit']
1118
+ end
1119
+ end
1120
+
1121
+ # DescribeQueues返回参数结构体
1122
+ class DescribeQueuesResponse < TencentCloud::Common::AbstractModel
1123
+ # @param QueueSet: 队列概览信息列表。
1124
+ # @type QueueSet: Array
1125
+ # @param TotalCount: 符合条件的节点数量。
1126
+ # @type TotalCount: Integer
1127
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1128
+ # @type RequestId: String
1129
+
1130
+ attr_accessor :QueueSet, :TotalCount, :RequestId
1131
+
1132
+ def initialize(queueset=nil, totalcount=nil, requestid=nil)
1133
+ @QueueSet = queueset
1134
+ @TotalCount = totalcount
1135
+ @RequestId = requestid
1136
+ end
1137
+
1138
+ def deserialize(params)
1139
+ unless params['QueueSet'].nil?
1140
+ @QueueSet = []
1141
+ params['QueueSet'].each do |i|
1142
+ queueoverview_tmp = QueueOverview.new
1143
+ queueoverview_tmp.deserialize(i)
1144
+ @QueueSet << queueoverview_tmp
1145
+ end
1146
+ end
1147
+ @TotalCount = params['TotalCount']
1148
+ @RequestId = params['RequestId']
1149
+ end
1150
+ end
1151
+
1152
+ # 弹性扩容节点配置信息。
1153
+ class ExpansionNodeConfig < TencentCloud::Common::AbstractModel
1154
+ # @param Placement: 扩容实例所在的位置。
1155
+ # @type Placement: :class:`Tencentcloud::Thpc.v20230321.models.Placement`
1156
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br><li>SPOTPAID:竞价付费<br>默认值:POSTPAID_BY_HOUR。
1157
+ # @type InstanceChargeType: String
1158
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
1159
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
1160
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
1161
+ # <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
1162
+ # @type InstanceType: String
1163
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
1164
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20230321.models.VirtualPrivateCloud`
1165
+
1166
+ attr_accessor :Placement, :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :VirtualPrivateCloud
1167
+
1168
+ def initialize(placement=nil, instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, virtualprivatecloud=nil)
1169
+ @Placement = placement
1170
+ @InstanceChargeType = instancechargetype
1171
+ @InstanceChargePrepaid = instancechargeprepaid
1172
+ @InstanceType = instancetype
1173
+ @VirtualPrivateCloud = virtualprivatecloud
1174
+ end
1175
+
1176
+ def deserialize(params)
1177
+ unless params['Placement'].nil?
1178
+ @Placement = Placement.new
1179
+ @Placement.deserialize(params['Placement'])
1180
+ end
1181
+ @InstanceChargeType = params['InstanceChargeType']
1182
+ unless params['InstanceChargePrepaid'].nil?
1183
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
1184
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
1185
+ end
1186
+ @InstanceType = params['InstanceType']
1187
+ unless params['VirtualPrivateCloud'].nil?
1188
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
1189
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
1190
+ end
1191
+ end
1192
+ end
1193
+
1194
+ # 扩容节点配置信息概览。
1195
+ class ExpansionNodeConfigOverview < TencentCloud::Common::AbstractModel
1196
+ # @param InstanceType: 节点机型。
1197
+ # 注意:此字段可能返回 null,表示取不到有效值。
1198
+ # @type InstanceType: String
1199
+ # @param Placement: 扩容实例所在的位置。
1200
+ # 注意:此字段可能返回 null,表示取不到有效值。
1201
+ # @type Placement: :class:`Tencentcloud::Thpc.v20230321.models.Placement`
1202
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。
1203
+ # 注意:此字段可能返回 null,表示取不到有效值。
1204
+ # @type InstanceChargeType: String
1205
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
1206
+ # 注意:此字段可能返回 null,表示取不到有效值。
1207
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
1208
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
1209
+ # 注意:此字段可能返回 null,表示取不到有效值。
1210
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20230321.models.VirtualPrivateCloud`
1211
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。
1212
+ # 注意:此字段可能返回 null,表示取不到有效值。
1213
+ # @type ImageId: String
1214
+ # @param InternetAccessible: 公网带宽相关信息设置。
1215
+ # 注意:此字段可能返回 null,表示取不到有效值。
1216
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
1217
+ # @param SystemDisk: 节点系统盘配置信息。
1218
+ # 注意:此字段可能返回 null,表示取不到有效值。
1219
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
1220
+ # @param DataDisks: 节点数据盘配置信息。
1221
+ # 注意:此字段可能返回 null,表示取不到有效值。
1222
+ # @type DataDisks: Array
1223
+
1224
+ attr_accessor :InstanceType, :Placement, :InstanceChargeType, :InstanceChargePrepaid, :VirtualPrivateCloud, :ImageId, :InternetAccessible, :SystemDisk, :DataDisks
1225
+
1226
+ def initialize(instancetype=nil, placement=nil, instancechargetype=nil, instancechargeprepaid=nil, virtualprivatecloud=nil, imageid=nil, internetaccessible=nil, systemdisk=nil, datadisks=nil)
1227
+ @InstanceType = instancetype
1228
+ @Placement = placement
1229
+ @InstanceChargeType = instancechargetype
1230
+ @InstanceChargePrepaid = instancechargeprepaid
1231
+ @VirtualPrivateCloud = virtualprivatecloud
1232
+ @ImageId = imageid
1233
+ @InternetAccessible = internetaccessible
1234
+ @SystemDisk = systemdisk
1235
+ @DataDisks = datadisks
1236
+ end
1237
+
1238
+ def deserialize(params)
1239
+ @InstanceType = params['InstanceType']
1240
+ unless params['Placement'].nil?
1241
+ @Placement = Placement.new
1242
+ @Placement.deserialize(params['Placement'])
1243
+ end
1244
+ @InstanceChargeType = params['InstanceChargeType']
1245
+ unless params['InstanceChargePrepaid'].nil?
1246
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
1247
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
1248
+ end
1249
+ unless params['VirtualPrivateCloud'].nil?
1250
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
1251
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
1252
+ end
1253
+ @ImageId = params['ImageId']
1254
+ unless params['InternetAccessible'].nil?
1255
+ @InternetAccessible = InternetAccessible.new
1256
+ @InternetAccessible.deserialize(params['InternetAccessible'])
1257
+ end
1258
+ unless params['SystemDisk'].nil?
1259
+ @SystemDisk = SystemDisk.new
1260
+ @SystemDisk.deserialize(params['SystemDisk'])
1261
+ end
1262
+ unless params['DataDisks'].nil?
1263
+ @DataDisks = []
1264
+ params['DataDisks'].each do |i|
1265
+ datadisk_tmp = DataDisk.new
1266
+ datadisk_tmp.deserialize(i)
1267
+ @DataDisks << datadisk_tmp
1268
+ end
1269
+ end
1270
+ end
1271
+ end
1272
+
1273
+ # >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等
1274
+ # > * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。
1275
+ # > * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。
1276
+ class Filter < TencentCloud::Common::AbstractModel
1277
+ # @param Name: 需要过滤的字段。
1278
+ # @type Name: String
1279
+ # @param Values: 字段的过滤值。
1280
+ # @type Values: Array
1281
+
1282
+ attr_accessor :Name, :Values
1283
+
1284
+ def initialize(name=nil, values=nil)
1285
+ @Name = name
1286
+ @Values = values
1287
+ end
1288
+
1289
+ def deserialize(params)
1290
+ @Name = params['Name']
1291
+ @Values = params['Values']
1292
+ end
1293
+ end
1294
+
1295
+ # 描述GooseFS挂载信息
1296
+ class GooseFSOption < TencentCloud::Common::AbstractModel
1297
+ # @param LocalPath: 文件系统本地挂载路径。
1298
+ # @type LocalPath: String
1299
+ # @param RemotePath: 文件系统远程挂载路径。
1300
+ # @type RemotePath: String
1301
+ # @param Masters: 文件系统master的ip和端口。
1302
+ # @type Masters: Array
1303
+
1304
+ attr_accessor :LocalPath, :RemotePath, :Masters
1305
+
1306
+ def initialize(localpath=nil, remotepath=nil, masters=nil)
1307
+ @LocalPath = localpath
1308
+ @RemotePath = remotepath
1309
+ @Masters = masters
1310
+ end
1311
+
1312
+ def deserialize(params)
1313
+ @LocalPath = params['LocalPath']
1314
+ @RemotePath = params['RemotePath']
1315
+ @Masters = params['Masters']
1316
+ end
1317
+ end
1318
+
1319
+ # GooseFS存储选项概览信息。
1320
+ class GooseFSOptionOverview < TencentCloud::Common::AbstractModel
1321
+ # @param LocalPath: 文件系统本地挂载路径。
1322
+ # @type LocalPath: String
1323
+ # @param RemotePath: 文件系统远程挂载路径。
1324
+ # @type RemotePath: String
1325
+ # @param Masters: 文件系统master的ip和端口。
1326
+ # @type Masters: Array
1327
+
1328
+ attr_accessor :LocalPath, :RemotePath, :Masters
1329
+
1330
+ def initialize(localpath=nil, remotepath=nil, masters=nil)
1331
+ @LocalPath = localpath
1332
+ @RemotePath = remotepath
1333
+ @Masters = masters
1334
+ end
1335
+
1336
+ def deserialize(params)
1337
+ @LocalPath = params['LocalPath']
1338
+ @RemotePath = params['RemotePath']
1339
+ @Masters = params['Masters']
1340
+ end
1341
+ end
1342
+
1343
+ # 描述GooseFSx挂载信息
1344
+ class GooseFSxOption < TencentCloud::Common::AbstractModel
1345
+ # @param Masters: 文件系统master的ip和端口列表。
1346
+ # @type Masters: Array
1347
+ # @param LocalPath: 文件系统的本地挂载路径。GooseFSx目前只支持挂载在/goosefsx/{文件系统ID}_proxy/目录下。
1348
+ # @type LocalPath: String
1349
+
1350
+ attr_accessor :Masters, :LocalPath
1351
+
1352
+ def initialize(masters=nil, localpath=nil)
1353
+ @Masters = masters
1354
+ @LocalPath = localpath
1355
+ end
1356
+
1357
+ def deserialize(params)
1358
+ @Masters = params['Masters']
1359
+ @LocalPath = params['LocalPath']
1360
+ end
1361
+ end
1362
+
1363
+ # GooseFSx存储选项概览信息。
1364
+ class GooseFSxOptionOverview < TencentCloud::Common::AbstractModel
1365
+ # @param Masters: 文件系统master的ip和端口列表。
1366
+ # 注意:此字段可能返回 null,表示取不到有效值。
1367
+ # @type Masters: Array
1368
+ # @param LocalPath: 文件系统的本地挂载路径。GooseFSx目前只支持挂载在/goosefsx/{文件系统ID}_proxy/目录下。
1369
+ # 注意:此字段可能返回 null,表示取不到有效值。
1370
+ # @type LocalPath: String
1371
+
1372
+ attr_accessor :Masters, :LocalPath
1373
+
1374
+ def initialize(masters=nil, localpath=nil)
1375
+ @Masters = masters
1376
+ @LocalPath = localpath
1377
+ end
1378
+
1379
+ def deserialize(params)
1380
+ @Masters = params['Masters']
1381
+ @LocalPath = params['LocalPath']
1382
+ end
1383
+ end
1384
+
1385
+ # 描述了实例的计费模式
1386
+ class InstanceChargePrepaid < TencentCloud::Common::AbstractModel
1387
+ # @param Period: 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60。
1388
+ # 注意:此字段可能返回 null,表示取不到有效值。
1389
+ # @type Period: Integer
1390
+ # @param RenewFlag: 自动续费标识。取值范围:
1391
+ # NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
1392
+ # NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
1393
+ # DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
1394
+
1395
+ # 默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。
1396
+ # 注意:此字段可能返回 null,表示取不到有效值。
1397
+ # @type RenewFlag: String
1398
+
1399
+ attr_accessor :Period, :RenewFlag
1400
+
1401
+ def initialize(period=nil, renewflag=nil)
1402
+ @Period = period
1403
+ @RenewFlag = renewflag
1404
+ end
1405
+
1406
+ def deserialize(params)
1407
+ @Period = params['Period']
1408
+ @RenewFlag = params['RenewFlag']
1409
+ end
1410
+ end
1411
+
1412
+ # 描述了实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等
1413
+ class InternetAccessible < TencentCloud::Common::AbstractModel
1414
+ # @param InternetChargeType: 网络计费类型。取值范围:
1415
+ # BANDWIDTH_PREPAID:预付费按带宽结算
1416
+ # TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费
1417
+ # BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费
1418
+ # BANDWIDTH_PACKAGE:带宽包用户
1419
+ # 默认取值:非带宽包用户默认与子机付费类型保持一致。
1420
+ # 注意:此字段可能返回 null,表示取不到有效值。
1421
+ # @type InternetChargeType: String
1422
+ # @param InternetMaxBandwidthOut: 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见购买网络带宽。
1423
+ # 注意:此字段可能返回 null,表示取不到有效值。
1424
+ # @type InternetMaxBandwidthOut: Integer
1425
+
1426
+ attr_accessor :InternetChargeType, :InternetMaxBandwidthOut
1427
+
1428
+ def initialize(internetchargetype=nil, internetmaxbandwidthout=nil)
1429
+ @InternetChargeType = internetchargetype
1430
+ @InternetMaxBandwidthOut = internetmaxbandwidthout
1431
+ end
1432
+
1433
+ def deserialize(params)
1434
+ @InternetChargeType = params['InternetChargeType']
1435
+ @InternetMaxBandwidthOut = params['InternetMaxBandwidthOut']
1436
+ end
1437
+ end
1438
+
1439
+ # 登录节点信息。
1440
+ class LoginNode < TencentCloud::Common::AbstractModel
1441
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br>默认值:POSTPAID_BY_HOUR。
1442
+ # @type InstanceChargeType: String
1443
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
1444
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
1445
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
1446
+ # <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
1447
+ # @type InstanceType: String
1448
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
1449
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
1450
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
1451
+ # @type DataDisks: Array
1452
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
1453
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
1454
+ # @param InstanceName: 节点显示名称。<br><li>
1455
+ # 不指定节点显示名称则默认显示‘未命名’。
1456
+ # 最多支持60个字符。
1457
+ # @type InstanceName: String
1458
+
1459
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
1460
+
1461
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
1462
+ @InstanceChargeType = instancechargetype
1463
+ @InstanceChargePrepaid = instancechargeprepaid
1464
+ @InstanceType = instancetype
1465
+ @SystemDisk = systemdisk
1466
+ @DataDisks = datadisks
1467
+ @InternetAccessible = internetaccessible
1468
+ @InstanceName = instancename
1469
+ end
1470
+
1471
+ def deserialize(params)
1472
+ @InstanceChargeType = params['InstanceChargeType']
1473
+ unless params['InstanceChargePrepaid'].nil?
1474
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
1475
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
1476
+ end
1477
+ @InstanceType = params['InstanceType']
1478
+ unless params['SystemDisk'].nil?
1479
+ @SystemDisk = SystemDisk.new
1480
+ @SystemDisk.deserialize(params['SystemDisk'])
1481
+ end
1482
+ unless params['DataDisks'].nil?
1483
+ @DataDisks = []
1484
+ params['DataDisks'].each do |i|
1485
+ datadisk_tmp = DataDisk.new
1486
+ datadisk_tmp.deserialize(i)
1487
+ @DataDisks << datadisk_tmp
1488
+ end
1489
+ end
1490
+ unless params['InternetAccessible'].nil?
1491
+ @InternetAccessible = InternetAccessible.new
1492
+ @InternetAccessible.deserialize(params['InternetAccessible'])
1493
+ end
1494
+ @InstanceName = params['InstanceName']
1495
+ end
1496
+ end
1497
+
1498
+ # 登录节点概览。
1499
+ class LoginNodeOverview < TencentCloud::Common::AbstractModel
1500
+ # @param NodeId: 登录节点ID。
1501
+ # @type NodeId: String
1502
+
1503
+ attr_accessor :NodeId
1504
+
1505
+ def initialize(nodeid=nil)
1506
+ @NodeId = nodeid
1507
+ end
1508
+
1509
+ def deserialize(params)
1510
+ @NodeId = params['NodeId']
1511
+ end
1512
+ end
1513
+
1514
+ # 描述了实例登录相关配置与信息。
1515
+ class LoginSettings < TencentCloud::Common::AbstractModel
1516
+ # @param Password: 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:<br><li>Linux实例密码必须8到30位,至少包括两项[a-z],[A-Z]、[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。<br><li>Windows实例密码必须12到30位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) \` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? /]中的特殊符号。<br><br>若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。
1517
+ # @type Password: String
1518
+
1519
+ attr_accessor :Password
1520
+
1521
+ def initialize(password=nil)
1522
+ @Password = password
1523
+ end
1524
+
1525
+ def deserialize(params)
1526
+ @Password = params['Password']
1527
+ end
1528
+ end
1529
+
1530
+ # 管控节点信息
1531
+ class ManagerNode < TencentCloud::Common::AbstractModel
1532
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br>默认值:POSTPAID_BY_HOUR。
1533
+ # @type InstanceChargeType: String
1534
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
1535
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20230321.models.InstanceChargePrepaid`
1536
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
1537
+ # <br><li>对于付费模式为PREPAID或POSTPAID\_BY\_HOUR的实例创建,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
1538
+ # @type InstanceType: String
1539
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
1540
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
1541
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
1542
+ # @type DataDisks: Array
1543
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
1544
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
1545
+ # @param InstanceName: 节点显示名称。<br><li>
1546
+ # 不指定节点显示名称则默认显示‘未命名’。
1547
+ # </li><li>购买多个节点,如果指定模式串`{R:x}`,表示生成数字[`[x, x+n-1]`,其中`n`表示购买节点的数量,例如`server_{R:3}`,购买1个时,节点显示名称为`server_3`;购买2个时,节点显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。
1548
+ # 购买多个节点,如果不指定模式串,则在节点显示名称添加后缀`1、2...n`,其中`n`表示购买节点的数量,例如`server_`,购买2个时,节点显示名称分别为`server_1`,`server_2`。</li><li>
1549
+ # 最多支持60个字符(包含模式串)。
1550
+ # @type InstanceName: String
1551
+
1552
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
1553
+
1554
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
1555
+ @InstanceChargeType = instancechargetype
1556
+ @InstanceChargePrepaid = instancechargeprepaid
1557
+ @InstanceType = instancetype
1558
+ @SystemDisk = systemdisk
1559
+ @DataDisks = datadisks
1560
+ @InternetAccessible = internetaccessible
1561
+ @InstanceName = instancename
1562
+ end
1563
+
1564
+ def deserialize(params)
1565
+ @InstanceChargeType = params['InstanceChargeType']
1566
+ unless params['InstanceChargePrepaid'].nil?
1567
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
1568
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
1569
+ end
1570
+ @InstanceType = params['InstanceType']
1571
+ unless params['SystemDisk'].nil?
1572
+ @SystemDisk = SystemDisk.new
1573
+ @SystemDisk.deserialize(params['SystemDisk'])
1574
+ end
1575
+ unless params['DataDisks'].nil?
1576
+ @DataDisks = []
1577
+ params['DataDisks'].each do |i|
1578
+ datadisk_tmp = DataDisk.new
1579
+ datadisk_tmp.deserialize(i)
1580
+ @DataDisks << datadisk_tmp
1581
+ end
1582
+ end
1583
+ unless params['InternetAccessible'].nil?
1584
+ @InternetAccessible = InternetAccessible.new
1585
+ @InternetAccessible.deserialize(params['InternetAccessible'])
1586
+ end
1587
+ @InstanceName = params['InstanceName']
1588
+ end
1589
+ end
1590
+
1591
+ # 管控节点概览。
1592
+ class ManagerNodeOverview < TencentCloud::Common::AbstractModel
1593
+ # @param NodeId: 管控节点ID。
1594
+ # 注意:此字段可能返回 null,表示取不到有效值。
1595
+ # @type NodeId: String
1596
+
1597
+ attr_accessor :NodeId
1598
+
1599
+ def initialize(nodeid=nil)
1600
+ @NodeId = nodeid
1601
+ end
1602
+
1603
+ def deserialize(params)
1604
+ @NodeId = params['NodeId']
1605
+ end
1606
+ end
1607
+
1608
+ # 节点活动信息。
1609
+ class NodeActivity < TencentCloud::Common::AbstractModel
1610
+ # @param NodeInstanceId: 节点活动所在的实例ID。
1611
+ # 注意:此字段可能返回 null,表示取不到有效值。
1612
+ # @type NodeInstanceId: String
1613
+ # @param NodeActivityStatus: 节点活动状态。取值范围:<br><li>RUNNING:运行中<br><li>SUCCESSFUL:活动成功<br><li>FAILED:活动失败
1614
+ # @type NodeActivityStatus: String
1615
+ # @param NodeActivityStatusCode: 节点活动状态码。
1616
+ # 注意:此字段可能返回 null,表示取不到有效值。
1617
+ # @type NodeActivityStatusCode: String
1618
+ # @param NodeActivityStatusReason: 节点活动状态原因。
1619
+ # 注意:此字段可能返回 null,表示取不到有效值。
1620
+ # @type NodeActivityStatusReason: String
1621
+
1622
+ attr_accessor :NodeInstanceId, :NodeActivityStatus, :NodeActivityStatusCode, :NodeActivityStatusReason
1623
+
1624
+ def initialize(nodeinstanceid=nil, nodeactivitystatus=nil, nodeactivitystatuscode=nil, nodeactivitystatusreason=nil)
1625
+ @NodeInstanceId = nodeinstanceid
1626
+ @NodeActivityStatus = nodeactivitystatus
1627
+ @NodeActivityStatusCode = nodeactivitystatuscode
1628
+ @NodeActivityStatusReason = nodeactivitystatusreason
1629
+ end
1630
+
1631
+ def deserialize(params)
1632
+ @NodeInstanceId = params['NodeInstanceId']
1633
+ @NodeActivityStatus = params['NodeActivityStatus']
1634
+ @NodeActivityStatusCode = params['NodeActivityStatusCode']
1635
+ @NodeActivityStatusReason = params['NodeActivityStatusReason']
1636
+ end
1637
+ end
1638
+
1639
+ # 节点概览信息。
1640
+ class NodeOverview < TencentCloud::Common::AbstractModel
1641
+ # @param InstanceId: 节点实例ID。
1642
+ # 注意:此字段可能返回 null,表示取不到有效值。
1643
+ # @type InstanceId: String
1644
+ # @param Zone: 节点所在可用区信息。
1645
+ # 注意:此字段可能返回 null,表示取不到有效值。
1646
+ # @type Zone: String
1647
+ # @param NodeState: 节点状态。<br><li>SUBMITTED:已完成提交。<br><li>CREATING:创建中。<br><li>CREATED:完成创建。<br><li>INITING:初始化中。<br><li>INIT_FAILED:初始化失败。<br><li>RUNNING:运行中。<br><li>DELETING:销毁中。
1648
+ # 注意:此字段可能返回 null,表示取不到有效值。
1649
+ # @type NodeState: String
1650
+ # @param ImageId: 镜像ID。
1651
+ # 注意:此字段可能返回 null,表示取不到有效值。
1652
+ # @type ImageId: String
1653
+ # @param QueueName: 节点所属队列名称。
1654
+ # 注意:此字段可能返回 null,表示取不到有效值。
1655
+ # @type QueueName: String
1656
+ # @param NodeRole: 节点角色。<br><li>Manager:管控节点。<br><li>Compute:计算节点。<br><li>Login:登录节点。<br><li>ManagerBackup:备用管控节点。
1657
+ # 注意:此字段可能返回 null,表示取不到有效值。
1658
+ # @type NodeRole: String
1659
+ # @param NodeType: 节点类型。<br><li>STATIC:静态节点。<br><li>DYNAMIC:弹性节点。
1660
+ # 注意:此字段可能返回 null,表示取不到有效值。
1661
+ # @type NodeType: String
1662
+
1663
+ attr_accessor :InstanceId, :Zone, :NodeState, :ImageId, :QueueName, :NodeRole, :NodeType
1664
+
1665
+ def initialize(instanceid=nil, zone=nil, nodestate=nil, imageid=nil, queuename=nil, noderole=nil, nodetype=nil)
1666
+ @InstanceId = instanceid
1667
+ @Zone = zone
1668
+ @NodeState = nodestate
1669
+ @ImageId = imageid
1670
+ @QueueName = queuename
1671
+ @NodeRole = noderole
1672
+ @NodeType = nodetype
1673
+ end
1674
+
1675
+ def deserialize(params)
1676
+ @InstanceId = params['InstanceId']
1677
+ @Zone = params['Zone']
1678
+ @NodeState = params['NodeState']
1679
+ @ImageId = params['ImageId']
1680
+ @QueueName = params['QueueName']
1681
+ @NodeRole = params['NodeRole']
1682
+ @NodeType = params['NodeType']
1683
+ end
1684
+ end
1685
+
1686
+ # 描述了实例的抽象位置
1687
+ class Placement < TencentCloud::Common::AbstractModel
1688
+ # @param Zone: 实例所属的可用区名称。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 的返回值中的Zone字段来获取。
1689
+ # 注意:此字段可能返回 null,表示取不到有效值。
1690
+ # @type Zone: String
1691
+
1692
+ attr_accessor :Zone
1693
+
1694
+ def initialize(zone=nil)
1695
+ @Zone = zone
1696
+ end
1697
+
1698
+ def deserialize(params)
1699
+ @Zone = params['Zone']
1700
+ end
1701
+ end
1702
+
1703
+ # 扩容队列配置。
1704
+ class QueueConfig < TencentCloud::Common::AbstractModel
1705
+ # @param QueueName: 队列名称。
1706
+ # @type QueueName: String
1707
+ # @param MinSize: 队列中弹性节点数量最小值。取值范围0~200。
1708
+ # @type MinSize: Integer
1709
+ # @param MaxSize: 队列中弹性节点数量最大值。取值范围0~200。
1710
+ # @type MaxSize: Integer
1711
+ # @param EnableAutoExpansion: 是否开启自动扩容。
1712
+ # @type EnableAutoExpansion: Boolean
1713
+ # @param EnableAutoShrink: 是否开启自动缩容。
1714
+ # @type EnableAutoShrink: Boolean
1715
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜和特定自定义镜像。
1716
+ # @type ImageId: String
1717
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
1718
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20230321.models.SystemDisk`
1719
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
1720
+ # @type DataDisks: Array
1721
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
1722
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20230321.models.InternetAccessible`
1723
+ # @param ExpansionNodeConfigs: 扩容节点配置信息。
1724
+ # @type ExpansionNodeConfigs: Array
1725
+
1726
+ attr_accessor :QueueName, :MinSize, :MaxSize, :EnableAutoExpansion, :EnableAutoShrink, :ImageId, :SystemDisk, :DataDisks, :InternetAccessible, :ExpansionNodeConfigs
1727
+
1728
+ def initialize(queuename=nil, minsize=nil, maxsize=nil, enableautoexpansion=nil, enableautoshrink=nil, imageid=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, expansionnodeconfigs=nil)
1729
+ @QueueName = queuename
1730
+ @MinSize = minsize
1731
+ @MaxSize = maxsize
1732
+ @EnableAutoExpansion = enableautoexpansion
1733
+ @EnableAutoShrink = enableautoshrink
1734
+ @ImageId = imageid
1735
+ @SystemDisk = systemdisk
1736
+ @DataDisks = datadisks
1737
+ @InternetAccessible = internetaccessible
1738
+ @ExpansionNodeConfigs = expansionnodeconfigs
1739
+ end
1740
+
1741
+ def deserialize(params)
1742
+ @QueueName = params['QueueName']
1743
+ @MinSize = params['MinSize']
1744
+ @MaxSize = params['MaxSize']
1745
+ @EnableAutoExpansion = params['EnableAutoExpansion']
1746
+ @EnableAutoShrink = params['EnableAutoShrink']
1747
+ @ImageId = params['ImageId']
1748
+ unless params['SystemDisk'].nil?
1749
+ @SystemDisk = SystemDisk.new
1750
+ @SystemDisk.deserialize(params['SystemDisk'])
1751
+ end
1752
+ unless params['DataDisks'].nil?
1753
+ @DataDisks = []
1754
+ params['DataDisks'].each do |i|
1755
+ datadisk_tmp = DataDisk.new
1756
+ datadisk_tmp.deserialize(i)
1757
+ @DataDisks << datadisk_tmp
1758
+ end
1759
+ end
1760
+ unless params['InternetAccessible'].nil?
1761
+ @InternetAccessible = InternetAccessible.new
1762
+ @InternetAccessible.deserialize(params['InternetAccessible'])
1763
+ end
1764
+ unless params['ExpansionNodeConfigs'].nil?
1765
+ @ExpansionNodeConfigs = []
1766
+ params['ExpansionNodeConfigs'].each do |i|
1767
+ expansionnodeconfig_tmp = ExpansionNodeConfig.new
1768
+ expansionnodeconfig_tmp.deserialize(i)
1769
+ @ExpansionNodeConfigs << expansionnodeconfig_tmp
1770
+ end
1771
+ end
1772
+ end
1773
+ end
1774
+
1775
+ # 扩容队列配置概览。
1776
+ class QueueConfigOverview < TencentCloud::Common::AbstractModel
1777
+ # @param QueueName: 队列名称。
1778
+ # @type QueueName: String
1779
+ # @param MinSize: 队列中弹性节点数量最小值。取值范围0~200。
1780
+ # @type MinSize: Integer
1781
+ # @param MaxSize: 队列中弹性节点数量最大值。取值范围0~200。
1782
+ # @type MaxSize: Integer
1783
+ # @param EnableAutoExpansion: 是否开启自动扩容。
1784
+ # @type EnableAutoExpansion: Boolean
1785
+ # @param EnableAutoShrink: 是否开启自动缩容。
1786
+ # @type EnableAutoShrink: Boolean
1787
+ # @param ExpansionNodeConfigs: 扩容节点配置信息。
1788
+ # @type ExpansionNodeConfigs: Array
1789
+
1790
+ attr_accessor :QueueName, :MinSize, :MaxSize, :EnableAutoExpansion, :EnableAutoShrink, :ExpansionNodeConfigs
1791
+
1792
+ def initialize(queuename=nil, minsize=nil, maxsize=nil, enableautoexpansion=nil, enableautoshrink=nil, expansionnodeconfigs=nil)
1793
+ @QueueName = queuename
1794
+ @MinSize = minsize
1795
+ @MaxSize = maxsize
1796
+ @EnableAutoExpansion = enableautoexpansion
1797
+ @EnableAutoShrink = enableautoshrink
1798
+ @ExpansionNodeConfigs = expansionnodeconfigs
1799
+ end
1800
+
1801
+ def deserialize(params)
1802
+ @QueueName = params['QueueName']
1803
+ @MinSize = params['MinSize']
1804
+ @MaxSize = params['MaxSize']
1805
+ @EnableAutoExpansion = params['EnableAutoExpansion']
1806
+ @EnableAutoShrink = params['EnableAutoShrink']
1807
+ unless params['ExpansionNodeConfigs'].nil?
1808
+ @ExpansionNodeConfigs = []
1809
+ params['ExpansionNodeConfigs'].each do |i|
1810
+ expansionnodeconfigoverview_tmp = ExpansionNodeConfigOverview.new
1811
+ expansionnodeconfigoverview_tmp.deserialize(i)
1812
+ @ExpansionNodeConfigs << expansionnodeconfigoverview_tmp
1813
+ end
1814
+ end
1815
+ end
1816
+ end
1817
+
1818
+ # 队列信息概览。
1819
+ class QueueOverview < TencentCloud::Common::AbstractModel
1820
+ # @param QueueName: 队列名称。
1821
+ # 注意:此字段可能返回 null,表示取不到有效值。
1822
+ # @type QueueName: String
1823
+
1824
+ attr_accessor :QueueName
1825
+
1826
+ def initialize(queuename=nil)
1827
+ @QueueName = queuename
1828
+ end
1829
+
1830
+ def deserialize(params)
1831
+ @QueueName = params['QueueName']
1832
+ end
1833
+ end
1834
+
1835
+ # SetAutoScalingConfiguration请求参数结构体
1836
+ class SetAutoScalingConfigurationRequest < TencentCloud::Common::AbstractModel
1837
+ # @param ClusterId: 集群ID。
1838
+ # @type ClusterId: String
1839
+ # @param ExpansionBusyTime: 任务连续等待时间,队列的任务处于连续等待的时间。单位秒。默认值120。
1840
+ # @type ExpansionBusyTime: Integer
1841
+ # @param ShrinkIdleTime: 节点连续空闲(未运行作业)时间,一个节点连续处于空闲状态时间。单位秒。默认值300。
1842
+ # @type ShrinkIdleTime: Integer
1843
+ # @param QueueConfigs: 扩容队列配置列表。
1844
+ # @type QueueConfigs: Array
1845
+ # @param DryRun: 是否只预检此次请求。
1846
+ # true:发送检查请求,不会绑定弹性伸缩组。检查项包括是否填写了必需参数,请求格式,业务限制。
1847
+ # 如果检查不通过,则返回对应错误码;
1848
+ # 如果检查通过,则返回RequestId。
1849
+ # false(默认):发送正常请求,通过检查后直接绑定弹性伸缩组。
1850
+ # @type DryRun: Boolean
1851
+
1852
+ attr_accessor :ClusterId, :ExpansionBusyTime, :ShrinkIdleTime, :QueueConfigs, :DryRun
1853
+
1854
+ def initialize(clusterid=nil, expansionbusytime=nil, shrinkidletime=nil, queueconfigs=nil, dryrun=nil)
1855
+ @ClusterId = clusterid
1856
+ @ExpansionBusyTime = expansionbusytime
1857
+ @ShrinkIdleTime = shrinkidletime
1858
+ @QueueConfigs = queueconfigs
1859
+ @DryRun = dryrun
1860
+ end
1861
+
1862
+ def deserialize(params)
1863
+ @ClusterId = params['ClusterId']
1864
+ @ExpansionBusyTime = params['ExpansionBusyTime']
1865
+ @ShrinkIdleTime = params['ShrinkIdleTime']
1866
+ unless params['QueueConfigs'].nil?
1867
+ @QueueConfigs = []
1868
+ params['QueueConfigs'].each do |i|
1869
+ queueconfig_tmp = QueueConfig.new
1870
+ queueconfig_tmp.deserialize(i)
1871
+ @QueueConfigs << queueconfig_tmp
1872
+ end
1873
+ end
1874
+ @DryRun = params['DryRun']
1875
+ end
1876
+ end
1877
+
1878
+ # SetAutoScalingConfiguration返回参数结构体
1879
+ class SetAutoScalingConfigurationResponse < TencentCloud::Common::AbstractModel
1880
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1881
+ # @type RequestId: String
1882
+
1883
+ attr_accessor :RequestId
1884
+
1885
+ def initialize(requestid=nil)
1886
+ @RequestId = requestid
1887
+ end
1888
+
1889
+ def deserialize(params)
1890
+ @RequestId = params['RequestId']
1891
+ end
1892
+ end
1893
+
1894
+ # 描述集群文件系统选项
1895
+ class StorageOption < TencentCloud::Common::AbstractModel
1896
+ # @param CFSOptions: 集群挂载CFS文件系统选项。
1897
+ # @type CFSOptions: Array
1898
+ # @param GooseFSOptions: 集群挂载GooseFS文件系统选项。
1899
+ # @type GooseFSOptions: Array
1900
+ # @param GooseFSxOptions: 集群挂载GooseFSx文件系统选项。
1901
+ # @type GooseFSxOptions: Array
1902
+
1903
+ attr_accessor :CFSOptions, :GooseFSOptions, :GooseFSxOptions
1904
+
1905
+ def initialize(cfsoptions=nil, goosefsoptions=nil, goosefsxoptions=nil)
1906
+ @CFSOptions = cfsoptions
1907
+ @GooseFSOptions = goosefsoptions
1908
+ @GooseFSxOptions = goosefsxoptions
1909
+ end
1910
+
1911
+ def deserialize(params)
1912
+ unless params['CFSOptions'].nil?
1913
+ @CFSOptions = []
1914
+ params['CFSOptions'].each do |i|
1915
+ cfsoption_tmp = CFSOption.new
1916
+ cfsoption_tmp.deserialize(i)
1917
+ @CFSOptions << cfsoption_tmp
1918
+ end
1919
+ end
1920
+ unless params['GooseFSOptions'].nil?
1921
+ @GooseFSOptions = []
1922
+ params['GooseFSOptions'].each do |i|
1923
+ goosefsoption_tmp = GooseFSOption.new
1924
+ goosefsoption_tmp.deserialize(i)
1925
+ @GooseFSOptions << goosefsoption_tmp
1926
+ end
1927
+ end
1928
+ unless params['GooseFSxOptions'].nil?
1929
+ @GooseFSxOptions = []
1930
+ params['GooseFSxOptions'].each do |i|
1931
+ goosefsxoption_tmp = GooseFSxOption.new
1932
+ goosefsxoption_tmp.deserialize(i)
1933
+ @GooseFSxOptions << goosefsxoption_tmp
1934
+ end
1935
+ end
1936
+ end
1937
+ end
1938
+
1939
+ # 集群存储选项概览信息。
1940
+ class StorageOptionOverview < TencentCloud::Common::AbstractModel
1941
+ # @param CFSOptions: CFS存储选项概览信息列表。
1942
+ # @type CFSOptions: Array
1943
+ # @param GooseFSOptions: GooseFS存储选项概览信息列表。
1944
+ # @type GooseFSOptions: Array
1945
+ # @param GooseFSxOptions: GooseFSx存储选项概览信息列表。
1946
+ # @type GooseFSxOptions: Array
1947
+
1948
+ attr_accessor :CFSOptions, :GooseFSOptions, :GooseFSxOptions
1949
+
1950
+ def initialize(cfsoptions=nil, goosefsoptions=nil, goosefsxoptions=nil)
1951
+ @CFSOptions = cfsoptions
1952
+ @GooseFSOptions = goosefsoptions
1953
+ @GooseFSxOptions = goosefsxoptions
1954
+ end
1955
+
1956
+ def deserialize(params)
1957
+ unless params['CFSOptions'].nil?
1958
+ @CFSOptions = []
1959
+ params['CFSOptions'].each do |i|
1960
+ cfsoptionoverview_tmp = CFSOptionOverview.new
1961
+ cfsoptionoverview_tmp.deserialize(i)
1962
+ @CFSOptions << cfsoptionoverview_tmp
1963
+ end
1964
+ end
1965
+ unless params['GooseFSOptions'].nil?
1966
+ @GooseFSOptions = []
1967
+ params['GooseFSOptions'].each do |i|
1968
+ goosefsoptionoverview_tmp = GooseFSOptionOverview.new
1969
+ goosefsoptionoverview_tmp.deserialize(i)
1970
+ @GooseFSOptions << goosefsoptionoverview_tmp
1971
+ end
1972
+ end
1973
+ unless params['GooseFSxOptions'].nil?
1974
+ @GooseFSxOptions = []
1975
+ params['GooseFSxOptions'].each do |i|
1976
+ goosefsxoptionoverview_tmp = GooseFSxOptionOverview.new
1977
+ goosefsxoptionoverview_tmp.deserialize(i)
1978
+ @GooseFSxOptions << goosefsxoptionoverview_tmp
1979
+ end
1980
+ end
1981
+ end
1982
+ end
1983
+
1984
+ # 描述了操作系统所在块设备即系统盘的信息
1985
+ class SystemDisk < TencentCloud::Common::AbstractModel
1986
+ # @param DiskType: 系统盘类型。系统盘类型限制详见存储概述。取值范围:
1987
+ # CLOUD_BASIC:普通云硬盘
1988
+ # CLOUD_SSD:SSD云硬盘
1989
+ # CLOUD_PREMIUM:高性能云硬盘
1990
+
1991
+ # 默认取值:当前有库存的硬盘类型。
1992
+ # 注意:此字段可能返回 null,表示取不到有效值。
1993
+ # @type DiskType: String
1994
+ # @param DiskSize: 系统盘大小,单位:GB。默认值为 50
1995
+ # 注意:此字段可能返回 null,表示取不到有效值。
1996
+ # @type DiskSize: Integer
1997
+
1998
+ attr_accessor :DiskType, :DiskSize
1999
+
2000
+ def initialize(disktype=nil, disksize=nil)
2001
+ @DiskType = disktype
2002
+ @DiskSize = disksize
2003
+ end
2004
+
2005
+ def deserialize(params)
2006
+ @DiskType = params['DiskType']
2007
+ @DiskSize = params['DiskSize']
2008
+ end
2009
+ end
2010
+
2011
+ # 标签键值对。
2012
+ class Tag < TencentCloud::Common::AbstractModel
2013
+ # @param Key: 标签键
2014
+ # @type Key: String
2015
+ # @param Value: 标签值
2016
+ # @type Value: String
2017
+
2018
+ attr_accessor :Key, :Value
2019
+
2020
+ def initialize(key=nil, value=nil)
2021
+ @Key = key
2022
+ @Value = value
2023
+ end
2024
+
2025
+ def deserialize(params)
2026
+ @Key = params['Key']
2027
+ @Value = params['Value']
2028
+ end
2029
+ end
2030
+
2031
+ # 描述了VPC相关信息
2032
+ class VirtualPrivateCloud < TencentCloud::Common::AbstractModel
2033
+ # @param VpcId: 私有网络ID,形如`vpc-xxx`。有效的VpcId可通过登录[控制台](https://console.cloud.tencent.com/vpc/vpc?rid=1)查询;也可以调用接口 [DescribeVpcEx](/document/api/215/1372) ,从接口返回中的`unVpcId`字段获取。若在创建子机时VpcId与SubnetId同时传入`DEFAULT`,则强制使用默认vpc网络。
2034
+ # 注意:此字段可能返回 null,表示取不到有效值。
2035
+ # @type VpcId: String
2036
+ # @param SubnetId: 私有网络子网ID,形如`subnet-xxx`。有效的私有网络子网ID可通过登录[控制台](https://console.cloud.tencent.com/vpc/subnet?rid=1)查询;也可以调用接口 [DescribeSubnets](/document/api/215/15784) ,从接口返回中的`unSubnetId`字段获取。若在创建子机时SubnetId与VpcId同时传入`DEFAULT`,则强制使用默认vpc网络。
2037
+ # 注意:此字段可能返回 null,表示取不到有效值。
2038
+ # @type SubnetId: String
2039
+
2040
+ attr_accessor :VpcId, :SubnetId
2041
+
2042
+ def initialize(vpcid=nil, subnetid=nil)
2043
+ @VpcId = vpcid
2044
+ @SubnetId = subnetid
2045
+ end
2046
+
2047
+ def deserialize(params)
2048
+ @VpcId = params['VpcId']
2049
+ @SubnetId = params['SubnetId']
2050
+ end
2051
+ end
2052
+
2053
+ end
2054
+ end
2055
+ end
2056
+