tencentcloud-sdk-thpc 3.0.540 → 3.0.541

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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
+