tencentcloud-sdk-thpc 1.0.287 → 1.0.290

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,1062 @@
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 V20220401
20
+ # AddNodes请求参数结构体
21
+ class AddNodesRequest < TencentCloud::Common::AbstractModel
22
+ # @param Placement: 集群中实例所在的位置。
23
+ # @type Placement: :class:`Tencentcloud::Thpc.v20220401.models.Placement`
24
+ # @param ClusterId: 集群ID。
25
+ # @type ClusterId: String
26
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜像和自定义镜像。
27
+ # @type ImageId: String
28
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
29
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20220401.models.VirtualPrivateCloud`
30
+ # @param Count: 添加节点数量。
31
+ # @type Count: Integer
32
+ # @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。
33
+ # @type InstanceChargeType: String
34
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
35
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20220401.models.InstanceChargePrepaid`
36
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。<br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
37
+ # @type InstanceType: String
38
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
39
+ # @type SystemDisk: Array
40
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
41
+ # @type DataDisks: Array
42
+ # @param InternetAccessible: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
43
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20220401.models.InternetAccessible`
44
+ # @param InstanceName: 节点显示名称。
45
+ # 不指定节点显示名称则默认显示‘未命名’。
46
+ # 最多支持60个字符。
47
+ # @type InstanceName: String
48
+ # @param LoginSettings: 集群登录设置。
49
+ # @type LoginSettings: :class:`Tencentcloud::Thpc.v20220401.models.LoginSettings`
50
+ # @param SecurityGroupIds: 集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
51
+ # @type SecurityGroupIds: Array
52
+ # @param ClientToken: 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
53
+ # @type ClientToken: String
54
+ # @param QueueName: 队列名称。
55
+ # @type QueueName: String
56
+ # @param NodeRole: 添加节点类型。默认值:Compute<br><li>Compute:计算节点。<br><li>Login:登录节点。
57
+ # @type NodeRole: String
58
+ # @param DryRun: 是否只预检此次请求。
59
+ # true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。
60
+ # 如果检查不通过,则返回对应错误码;
61
+ # 如果检查通过,则返回RequestId.
62
+ # false(默认):发送正常请求,通过检查后直接创建实例
63
+ # @type DryRun: Boolean
64
+
65
+ attr_accessor :Placement, :ClusterId, :ImageId, :VirtualPrivateCloud, :Count, :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName, :LoginSettings, :SecurityGroupIds, :ClientToken, :QueueName, :NodeRole, :DryRun
66
+
67
+ def initialize(placement=nil, clusterid=nil, imageid=nil, virtualprivatecloud=nil, count=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)
68
+ @Placement = placement
69
+ @ClusterId = clusterid
70
+ @ImageId = imageid
71
+ @VirtualPrivateCloud = virtualprivatecloud
72
+ @Count = count
73
+ @InstanceChargeType = instancechargetype
74
+ @InstanceChargePrepaid = instancechargeprepaid
75
+ @InstanceType = instancetype
76
+ @SystemDisk = systemdisk
77
+ @DataDisks = datadisks
78
+ @InternetAccessible = internetaccessible
79
+ @InstanceName = instancename
80
+ @LoginSettings = loginsettings
81
+ @SecurityGroupIds = securitygroupids
82
+ @ClientToken = clienttoken
83
+ @QueueName = queuename
84
+ @NodeRole = noderole
85
+ @DryRun = dryrun
86
+ end
87
+
88
+ def deserialize(params)
89
+ unless params['Placement'].nil?
90
+ @Placement = Placement.new
91
+ @Placement.deserialize(params['Placement'])
92
+ end
93
+ @ClusterId = params['ClusterId']
94
+ @ImageId = params['ImageId']
95
+ unless params['VirtualPrivateCloud'].nil?
96
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
97
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
98
+ end
99
+ @Count = params['Count']
100
+ @InstanceChargeType = params['InstanceChargeType']
101
+ unless params['InstanceChargePrepaid'].nil?
102
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
103
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
104
+ end
105
+ @InstanceType = params['InstanceType']
106
+ unless params['SystemDisk'].nil?
107
+ @SystemDisk = []
108
+ params['SystemDisk'].each do |i|
109
+ systemdisk_tmp = SystemDisk.new
110
+ systemdisk_tmp.deserialize(i)
111
+ @SystemDisk << systemdisk_tmp
112
+ end
113
+ end
114
+ unless params['DataDisks'].nil?
115
+ @DataDisks = []
116
+ params['DataDisks'].each do |i|
117
+ datadisk_tmp = DataDisk.new
118
+ datadisk_tmp.deserialize(i)
119
+ @DataDisks << datadisk_tmp
120
+ end
121
+ end
122
+ unless params['InternetAccessible'].nil?
123
+ @InternetAccessible = InternetAccessible.new
124
+ @InternetAccessible.deserialize(params['InternetAccessible'])
125
+ end
126
+ @InstanceName = params['InstanceName']
127
+ unless params['LoginSettings'].nil?
128
+ @LoginSettings = LoginSettings.new
129
+ @LoginSettings.deserialize(params['LoginSettings'])
130
+ end
131
+ @SecurityGroupIds = params['SecurityGroupIds']
132
+ @ClientToken = params['ClientToken']
133
+ @QueueName = params['QueueName']
134
+ @NodeRole = params['NodeRole']
135
+ @DryRun = params['DryRun']
136
+ end
137
+ end
138
+
139
+ # AddNodes返回参数结构体
140
+ class AddNodesResponse < TencentCloud::Common::AbstractModel
141
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
142
+ # @type RequestId: String
143
+
144
+ attr_accessor :RequestId
145
+
146
+ def initialize(requestid=nil)
147
+ @RequestId = requestid
148
+ end
149
+
150
+ def deserialize(params)
151
+ @RequestId = params['RequestId']
152
+ end
153
+ end
154
+
155
+ # BindAutoScalingGroup请求参数结构体
156
+ class BindAutoScalingGroupRequest < TencentCloud::Common::AbstractModel
157
+ # @param ClusterId: 集群ID。
158
+ # @type ClusterId: String
159
+ # @param LaunchConfigurationId: 弹性伸缩启动配置ID。
160
+ # @type LaunchConfigurationId: String
161
+ # @param AutoScalingGroupId: 弹性伸缩组ID。
162
+ # @type AutoScalingGroupId: String
163
+ # @param ExpansionBusyTime: 任务连续等待时间,队列的任务处于连续等待的时间。单位秒。默认值120。
164
+ # @type ExpansionBusyTime: Integer
165
+ # @param ShrinkIdleTime: 节点连续空闲(未运行作业)时间,一个节点连续处于空闲状态时间。单位秒。默认值300。
166
+ # @type ShrinkIdleTime: Integer
167
+ # @param EnableAutoExpansion: 是否开启自动扩容,默认值true。
168
+ # @type EnableAutoExpansion: Boolean
169
+ # @param EnableAutoShrink: 是否开启自动缩容,默认值true。
170
+ # @type EnableAutoShrink: Boolean
171
+ # @param DryRun: 是否只预检此次请求。
172
+ # true:发送检查请求,不会绑定弹性伸缩组。检查项包括是否填写了必需参数,请求格式,业务限制。
173
+ # 如果检查不通过,则返回对应错误码;
174
+ # 如果检查通过,则返回RequestId。
175
+ # false(默认):发送正常请求,通过检查后直接绑定弹性伸缩组。
176
+ # @type DryRun: Boolean
177
+
178
+ attr_accessor :ClusterId, :LaunchConfigurationId, :AutoScalingGroupId, :ExpansionBusyTime, :ShrinkIdleTime, :EnableAutoExpansion, :EnableAutoShrink, :DryRun
179
+
180
+ def initialize(clusterid=nil, launchconfigurationid=nil, autoscalinggroupid=nil, expansionbusytime=nil, shrinkidletime=nil, enableautoexpansion=nil, enableautoshrink=nil, dryrun=nil)
181
+ @ClusterId = clusterid
182
+ @LaunchConfigurationId = launchconfigurationid
183
+ @AutoScalingGroupId = autoscalinggroupid
184
+ @ExpansionBusyTime = expansionbusytime
185
+ @ShrinkIdleTime = shrinkidletime
186
+ @EnableAutoExpansion = enableautoexpansion
187
+ @EnableAutoShrink = enableautoshrink
188
+ @DryRun = dryrun
189
+ end
190
+
191
+ def deserialize(params)
192
+ @ClusterId = params['ClusterId']
193
+ @LaunchConfigurationId = params['LaunchConfigurationId']
194
+ @AutoScalingGroupId = params['AutoScalingGroupId']
195
+ @ExpansionBusyTime = params['ExpansionBusyTime']
196
+ @ShrinkIdleTime = params['ShrinkIdleTime']
197
+ @EnableAutoExpansion = params['EnableAutoExpansion']
198
+ @EnableAutoShrink = params['EnableAutoShrink']
199
+ @DryRun = params['DryRun']
200
+ end
201
+ end
202
+
203
+ # BindAutoScalingGroup返回参数结构体
204
+ class BindAutoScalingGroupResponse < TencentCloud::Common::AbstractModel
205
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
206
+ # @type RequestId: String
207
+
208
+ attr_accessor :RequestId
209
+
210
+ def initialize(requestid=nil)
211
+ @RequestId = requestid
212
+ end
213
+
214
+ def deserialize(params)
215
+ @RequestId = params['RequestId']
216
+ end
217
+ end
218
+
219
+ # 描述CFS文件系统版本和挂载信息
220
+ class CFSOption < TencentCloud::Common::AbstractModel
221
+ # @param LocalPath: 文件系统本地挂载路径
222
+ # @type LocalPath: String
223
+ # @param RemotePath: 文件系统远程挂载ip及路径
224
+ # @type RemotePath: String
225
+ # @param Protocol: 文件系统协议类型,默认值NFS 3.0。
226
+ # <li>NFS 3.0。
227
+ # <li>NFS 4.0。
228
+ # <li>TURBO。
229
+ # @type Protocol: String
230
+ # @param StorageType: 文件系统存储类型,默认值SD;其中 SD 为通用标准型标准型存储, HP为通用性能型存储, TB为turbo标准型, TP 为turbo性能型。
231
+ # @type StorageType: String
232
+
233
+ attr_accessor :LocalPath, :RemotePath, :Protocol, :StorageType
234
+
235
+ def initialize(localpath=nil, remotepath=nil, protocol=nil, storagetype=nil)
236
+ @LocalPath = localpath
237
+ @RemotePath = remotepath
238
+ @Protocol = protocol
239
+ @StorageType = storagetype
240
+ end
241
+
242
+ def deserialize(params)
243
+ @LocalPath = params['LocalPath']
244
+ @RemotePath = params['RemotePath']
245
+ @Protocol = params['Protocol']
246
+ @StorageType = params['StorageType']
247
+ end
248
+ end
249
+
250
+ # 集群概览信息。
251
+ class ClusterOverview < TencentCloud::Common::AbstractModel
252
+ # @param ClusterId: 集群ID。
253
+ # @type ClusterId: String
254
+ # @param ClusterStatus: 集群状态。取值范围:<br><li>PENDING:创建中<br><li>INITING:初始化中<br><li>INIT_FAILED:初始化失败<br><li>RUNNING:运行中<br><li>TERMINATING:销毁中
255
+ # @type ClusterStatus: String
256
+ # @param ClusterName: 集群名称。
257
+ # @type ClusterName: String
258
+ # @param Placement: 集群位置信息。
259
+ # @type Placement: :class:`Tencentcloud::Thpc.v20220401.models.Placement`
260
+ # @param CreateTime: 集群创建时间。
261
+ # @type CreateTime: String
262
+ # @param SchedulerType: 集群调度器。
263
+ # @type SchedulerType: String
264
+ # @param ComputeNodeCount: 计算节点数量。
265
+ # @type ComputeNodeCount: Integer
266
+ # @param ComputeNodeSet: 计算节点概览。
267
+ # @type ComputeNodeSet: Array
268
+ # @param ManagerNodeCount: 管控节点数量。
269
+ # @type ManagerNodeCount: Integer
270
+ # @param ManagerNodeSet: 管控节点概览。
271
+ # @type ManagerNodeSet: Array
272
+ # @param LoginNodeSet: 登录节点概览。
273
+ # @type LoginNodeSet: Array
274
+ # @param LoginNodeCount: 登录节点数量。
275
+ # @type LoginNodeCount: Integer
276
+
277
+ attr_accessor :ClusterId, :ClusterStatus, :ClusterName, :Placement, :CreateTime, :SchedulerType, :ComputeNodeCount, :ComputeNodeSet, :ManagerNodeCount, :ManagerNodeSet, :LoginNodeSet, :LoginNodeCount
278
+
279
+ 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)
280
+ @ClusterId = clusterid
281
+ @ClusterStatus = clusterstatus
282
+ @ClusterName = clustername
283
+ @Placement = placement
284
+ @CreateTime = createtime
285
+ @SchedulerType = schedulertype
286
+ @ComputeNodeCount = computenodecount
287
+ @ComputeNodeSet = computenodeset
288
+ @ManagerNodeCount = managernodecount
289
+ @ManagerNodeSet = managernodeset
290
+ @LoginNodeSet = loginnodeset
291
+ @LoginNodeCount = loginnodecount
292
+ end
293
+
294
+ def deserialize(params)
295
+ @ClusterId = params['ClusterId']
296
+ @ClusterStatus = params['ClusterStatus']
297
+ @ClusterName = params['ClusterName']
298
+ unless params['Placement'].nil?
299
+ @Placement = Placement.new
300
+ @Placement.deserialize(params['Placement'])
301
+ end
302
+ @CreateTime = params['CreateTime']
303
+ @SchedulerType = params['SchedulerType']
304
+ @ComputeNodeCount = params['ComputeNodeCount']
305
+ unless params['ComputeNodeSet'].nil?
306
+ @ComputeNodeSet = []
307
+ params['ComputeNodeSet'].each do |i|
308
+ computenodeoverview_tmp = ComputeNodeOverview.new
309
+ computenodeoverview_tmp.deserialize(i)
310
+ @ComputeNodeSet << computenodeoverview_tmp
311
+ end
312
+ end
313
+ @ManagerNodeCount = params['ManagerNodeCount']
314
+ unless params['ManagerNodeSet'].nil?
315
+ @ManagerNodeSet = []
316
+ params['ManagerNodeSet'].each do |i|
317
+ managernodeoverview_tmp = ManagerNodeOverview.new
318
+ managernodeoverview_tmp.deserialize(i)
319
+ @ManagerNodeSet << managernodeoverview_tmp
320
+ end
321
+ end
322
+ unless params['LoginNodeSet'].nil?
323
+ @LoginNodeSet = []
324
+ params['LoginNodeSet'].each do |i|
325
+ loginnodeoverview_tmp = LoginNodeOverview.new
326
+ loginnodeoverview_tmp.deserialize(i)
327
+ @LoginNodeSet << loginnodeoverview_tmp
328
+ end
329
+ end
330
+ @LoginNodeCount = params['LoginNodeCount']
331
+ end
332
+ end
333
+
334
+ # 计算节点信息。
335
+ class ComputeNode < TencentCloud::Common::AbstractModel
336
+ # @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。
337
+ # @type InstanceChargeType: String
338
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
339
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20220401.models.InstanceChargePrepaid`
340
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
341
+ # <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
342
+ # @type InstanceType: String
343
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
344
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20220401.models.SystemDisk`
345
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
346
+ # @type DataDisks: Array
347
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
348
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20220401.models.InternetAccessible`
349
+ # @param InstanceName: 节点显示名称。<br><li>
350
+ # 不指定节点显示名称则默认显示‘未命名’。
351
+ # 最多支持60个字符。
352
+ # @type InstanceName: String
353
+
354
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
355
+
356
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
357
+ @InstanceChargeType = instancechargetype
358
+ @InstanceChargePrepaid = instancechargeprepaid
359
+ @InstanceType = instancetype
360
+ @SystemDisk = systemdisk
361
+ @DataDisks = datadisks
362
+ @InternetAccessible = internetaccessible
363
+ @InstanceName = instancename
364
+ end
365
+
366
+ def deserialize(params)
367
+ @InstanceChargeType = params['InstanceChargeType']
368
+ unless params['InstanceChargePrepaid'].nil?
369
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
370
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
371
+ end
372
+ @InstanceType = params['InstanceType']
373
+ unless params['SystemDisk'].nil?
374
+ @SystemDisk = SystemDisk.new
375
+ @SystemDisk.deserialize(params['SystemDisk'])
376
+ end
377
+ unless params['DataDisks'].nil?
378
+ @DataDisks = []
379
+ params['DataDisks'].each do |i|
380
+ datadisk_tmp = DataDisk.new
381
+ datadisk_tmp.deserialize(i)
382
+ @DataDisks << datadisk_tmp
383
+ end
384
+ end
385
+ unless params['InternetAccessible'].nil?
386
+ @InternetAccessible = InternetAccessible.new
387
+ @InternetAccessible.deserialize(params['InternetAccessible'])
388
+ end
389
+ @InstanceName = params['InstanceName']
390
+ end
391
+ end
392
+
393
+ # 计算节点概览。
394
+ class ComputeNodeOverview < TencentCloud::Common::AbstractModel
395
+ # @param NodeId: 计算节点ID。
396
+ # 注意:此字段可能返回 null,表示取不到有效值。
397
+ # @type NodeId: String
398
+
399
+ attr_accessor :NodeId
400
+
401
+ def initialize(nodeid=nil)
402
+ @NodeId = nodeid
403
+ end
404
+
405
+ def deserialize(params)
406
+ @NodeId = params['NodeId']
407
+ end
408
+ end
409
+
410
+ # CreateCluster请求参数结构体
411
+ class CreateClusterRequest < TencentCloud::Common::AbstractModel
412
+ # @param Placement: 集群中实例所在的位置。
413
+ # @type Placement: :class:`Tencentcloud::Thpc.v20220401.models.Placement`
414
+ # @param ManagerNode: 指定管理节点。
415
+ # @type ManagerNode: :class:`Tencentcloud::Thpc.v20220401.models.ManagerNode`
416
+ # @param ManagerNodeCount: 指定管理节点的数量。默认取值:1。取值范围:1~2。
417
+ # @type ManagerNodeCount: Integer
418
+ # @param ComputeNode: 指定计算节点。
419
+ # @type ComputeNode: :class:`Tencentcloud::Thpc.v20220401.models.ComputeNode`
420
+ # @param ComputeNodeCount: 指定计算节点的数量。默认取值:0。
421
+ # @type ComputeNodeCount: Integer
422
+ # @param SchedulerType: 调度器类型。<br><li>SGE:SGE调度器。<br><li>SLURM:SLURM调度器。
423
+ # @type SchedulerType: String
424
+ # @param ImageId: 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。目前仅支持公有镜像。
425
+ # @type ImageId: String
426
+ # @param VirtualPrivateCloud: 私有网络相关信息配置。
427
+ # @type VirtualPrivateCloud: :class:`Tencentcloud::Thpc.v20220401.models.VirtualPrivateCloud`
428
+ # @param LoginSettings: 集群登录设置。
429
+ # @type LoginSettings: :class:`Tencentcloud::Thpc.v20220401.models.LoginSettings`
430
+ # @param SecurityGroupIds: 集群中实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。
431
+ # @type SecurityGroupIds: Array
432
+ # @param ClientToken: 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
433
+ # @type ClientToken: String
434
+ # @param DryRun: 是否只预检此次请求。
435
+ # true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数,请求格式,业务限制和云服务器库存。
436
+ # 如果检查不通过,则返回对应错误码;
437
+ # 如果检查通过,则返回RequestId.
438
+ # false(默认):发送正常请求,通过检查后直接创建实例
439
+ # @type DryRun: Boolean
440
+ # @param AccountType: 域名字服务类型。默认值:NIS
441
+ # <li>NIS:NIS域名字服务。
442
+ # @type AccountType: String
443
+ # @param ClusterName: 集群显示名称。
444
+ # @type ClusterName: String
445
+ # @param StorageOption: 集群存储选项
446
+ # @type StorageOption: :class:`Tencentcloud::Thpc.v20220401.models.StorageOption`
447
+ # @param LoginNode: 指定登录节点。
448
+ # @type LoginNode: :class:`Tencentcloud::Thpc.v20220401.models.LoginNode`
449
+ # @param LoginNodeCount: 指定登录节点的数量。默认取值:0。取值范围:0~10。
450
+ # @type LoginNodeCount: Integer
451
+ # @param Tags: 创建集群时同时绑定的标签对说明。
452
+ # @type Tags: Array
453
+
454
+ attr_accessor :Placement, :ManagerNode, :ManagerNodeCount, :ComputeNode, :ComputeNodeCount, :SchedulerType, :ImageId, :VirtualPrivateCloud, :LoginSettings, :SecurityGroupIds, :ClientToken, :DryRun, :AccountType, :ClusterName, :StorageOption, :LoginNode, :LoginNodeCount, :Tags
455
+
456
+ 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)
457
+ @Placement = placement
458
+ @ManagerNode = managernode
459
+ @ManagerNodeCount = managernodecount
460
+ @ComputeNode = computenode
461
+ @ComputeNodeCount = computenodecount
462
+ @SchedulerType = schedulertype
463
+ @ImageId = imageid
464
+ @VirtualPrivateCloud = virtualprivatecloud
465
+ @LoginSettings = loginsettings
466
+ @SecurityGroupIds = securitygroupids
467
+ @ClientToken = clienttoken
468
+ @DryRun = dryrun
469
+ @AccountType = accounttype
470
+ @ClusterName = clustername
471
+ @StorageOption = storageoption
472
+ @LoginNode = loginnode
473
+ @LoginNodeCount = loginnodecount
474
+ @Tags = tags
475
+ end
476
+
477
+ def deserialize(params)
478
+ unless params['Placement'].nil?
479
+ @Placement = Placement.new
480
+ @Placement.deserialize(params['Placement'])
481
+ end
482
+ unless params['ManagerNode'].nil?
483
+ @ManagerNode = ManagerNode.new
484
+ @ManagerNode.deserialize(params['ManagerNode'])
485
+ end
486
+ @ManagerNodeCount = params['ManagerNodeCount']
487
+ unless params['ComputeNode'].nil?
488
+ @ComputeNode = ComputeNode.new
489
+ @ComputeNode.deserialize(params['ComputeNode'])
490
+ end
491
+ @ComputeNodeCount = params['ComputeNodeCount']
492
+ @SchedulerType = params['SchedulerType']
493
+ @ImageId = params['ImageId']
494
+ unless params['VirtualPrivateCloud'].nil?
495
+ @VirtualPrivateCloud = VirtualPrivateCloud.new
496
+ @VirtualPrivateCloud.deserialize(params['VirtualPrivateCloud'])
497
+ end
498
+ unless params['LoginSettings'].nil?
499
+ @LoginSettings = LoginSettings.new
500
+ @LoginSettings.deserialize(params['LoginSettings'])
501
+ end
502
+ @SecurityGroupIds = params['SecurityGroupIds']
503
+ @ClientToken = params['ClientToken']
504
+ @DryRun = params['DryRun']
505
+ @AccountType = params['AccountType']
506
+ @ClusterName = params['ClusterName']
507
+ unless params['StorageOption'].nil?
508
+ @StorageOption = StorageOption.new
509
+ @StorageOption.deserialize(params['StorageOption'])
510
+ end
511
+ unless params['LoginNode'].nil?
512
+ @LoginNode = LoginNode.new
513
+ @LoginNode.deserialize(params['LoginNode'])
514
+ end
515
+ @LoginNodeCount = params['LoginNodeCount']
516
+ unless params['Tags'].nil?
517
+ @Tags = []
518
+ params['Tags'].each do |i|
519
+ tag_tmp = Tag.new
520
+ tag_tmp.deserialize(i)
521
+ @Tags << tag_tmp
522
+ end
523
+ end
524
+ end
525
+ end
526
+
527
+ # CreateCluster返回参数结构体
528
+ class CreateClusterResponse < TencentCloud::Common::AbstractModel
529
+ # @param ClusterId: 集群ID。
530
+ # 注意:此字段可能返回 null,表示取不到有效值。
531
+ # @type ClusterId: String
532
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
533
+ # @type RequestId: String
534
+
535
+ attr_accessor :ClusterId, :RequestId
536
+
537
+ def initialize(clusterid=nil, requestid=nil)
538
+ @ClusterId = clusterid
539
+ @RequestId = requestid
540
+ end
541
+
542
+ def deserialize(params)
543
+ @ClusterId = params['ClusterId']
544
+ @RequestId = params['RequestId']
545
+ end
546
+ end
547
+
548
+ # 描述了数据盘的信息
549
+ class DataDisk < TencentCloud::Common::AbstractModel
550
+ # @param DiskSize: 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。
551
+ # @type DiskSize: Integer
552
+ # @param DiskType: 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:<br><li>LOCAL_BASIC:本地硬盘<br><li>LOCAL_SSD:本地SSD硬盘<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><br>默认取值:LOCAL_BASIC。
553
+ # @type DiskType: String
554
+
555
+ attr_accessor :DiskSize, :DiskType
556
+
557
+ def initialize(disksize=nil, disktype=nil)
558
+ @DiskSize = disksize
559
+ @DiskType = disktype
560
+ end
561
+
562
+ def deserialize(params)
563
+ @DiskSize = params['DiskSize']
564
+ @DiskType = params['DiskType']
565
+ end
566
+ end
567
+
568
+ # DeleteCluster请求参数结构体
569
+ class DeleteClusterRequest < TencentCloud::Common::AbstractModel
570
+ # @param ClusterId: 集群ID。
571
+ # @type ClusterId: String
572
+
573
+ attr_accessor :ClusterId
574
+
575
+ def initialize(clusterid=nil)
576
+ @ClusterId = clusterid
577
+ end
578
+
579
+ def deserialize(params)
580
+ @ClusterId = params['ClusterId']
581
+ end
582
+ end
583
+
584
+ # DeleteCluster返回参数结构体
585
+ class DeleteClusterResponse < TencentCloud::Common::AbstractModel
586
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
587
+ # @type RequestId: String
588
+
589
+ attr_accessor :RequestId
590
+
591
+ def initialize(requestid=nil)
592
+ @RequestId = requestid
593
+ end
594
+
595
+ def deserialize(params)
596
+ @RequestId = params['RequestId']
597
+ end
598
+ end
599
+
600
+ # DeleteNodes请求参数结构体
601
+ class DeleteNodesRequest < TencentCloud::Common::AbstractModel
602
+ # @param ClusterId: 集群ID。
603
+ # @type ClusterId: String
604
+ # @param NodeIds: 节点ID。
605
+ # @type NodeIds: Array
606
+
607
+ attr_accessor :ClusterId, :NodeIds
608
+
609
+ def initialize(clusterid=nil, nodeids=nil)
610
+ @ClusterId = clusterid
611
+ @NodeIds = nodeids
612
+ end
613
+
614
+ def deserialize(params)
615
+ @ClusterId = params['ClusterId']
616
+ @NodeIds = params['NodeIds']
617
+ end
618
+ end
619
+
620
+ # DeleteNodes返回参数结构体
621
+ class DeleteNodesResponse < TencentCloud::Common::AbstractModel
622
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
623
+ # @type RequestId: String
624
+
625
+ attr_accessor :RequestId
626
+
627
+ def initialize(requestid=nil)
628
+ @RequestId = requestid
629
+ end
630
+
631
+ def deserialize(params)
632
+ @RequestId = params['RequestId']
633
+ end
634
+ end
635
+
636
+ # DescribeClusters请求参数结构体
637
+ class DescribeClustersRequest < TencentCloud::Common::AbstractModel
638
+ # @param ClusterIds: 集群ID列表。通过该参数可以指定需要查询信息的集群列表。<br>如果您不指定该参数,则返回Limit数量以内的集群信息。
639
+ # @type ClusterIds: Array
640
+ # @param Offset: 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
641
+ # @type Offset: Integer
642
+ # @param Limit: 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。
643
+ # @type Limit: Integer
644
+
645
+ attr_accessor :ClusterIds, :Offset, :Limit
646
+
647
+ def initialize(clusterids=nil, offset=nil, limit=nil)
648
+ @ClusterIds = clusterids
649
+ @Offset = offset
650
+ @Limit = limit
651
+ end
652
+
653
+ def deserialize(params)
654
+ @ClusterIds = params['ClusterIds']
655
+ @Offset = params['Offset']
656
+ @Limit = params['Limit']
657
+ end
658
+ end
659
+
660
+ # DescribeClusters返回参数结构体
661
+ class DescribeClustersResponse < TencentCloud::Common::AbstractModel
662
+ # @param ClusterSet: 集群概览信息列表。
663
+ # @type ClusterSet: Array
664
+ # @param TotalCount: 集群数量。
665
+ # @type TotalCount: Integer
666
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
667
+ # @type RequestId: String
668
+
669
+ attr_accessor :ClusterSet, :TotalCount, :RequestId
670
+
671
+ def initialize(clusterset=nil, totalcount=nil, requestid=nil)
672
+ @ClusterSet = clusterset
673
+ @TotalCount = totalcount
674
+ @RequestId = requestid
675
+ end
676
+
677
+ def deserialize(params)
678
+ unless params['ClusterSet'].nil?
679
+ @ClusterSet = []
680
+ params['ClusterSet'].each do |i|
681
+ clusteroverview_tmp = ClusterOverview.new
682
+ clusteroverview_tmp.deserialize(i)
683
+ @ClusterSet << clusteroverview_tmp
684
+ end
685
+ end
686
+ @TotalCount = params['TotalCount']
687
+ @RequestId = params['RequestId']
688
+ end
689
+ end
690
+
691
+ # 描述GooseFS挂载信息
692
+ class GooseFSOption < TencentCloud::Common::AbstractModel
693
+ # @param LocalPath: 文件系统本地挂载路径
694
+ # @type LocalPath: String
695
+ # @param RemotePath: 文件系统远程挂载路径
696
+ # @type RemotePath: String
697
+ # @param Masters: 文件系统master的ip和端口
698
+ # @type Masters: Array
699
+
700
+ attr_accessor :LocalPath, :RemotePath, :Masters
701
+
702
+ def initialize(localpath=nil, remotepath=nil, masters=nil)
703
+ @LocalPath = localpath
704
+ @RemotePath = remotepath
705
+ @Masters = masters
706
+ end
707
+
708
+ def deserialize(params)
709
+ @LocalPath = params['LocalPath']
710
+ @RemotePath = params['RemotePath']
711
+ @Masters = params['Masters']
712
+ end
713
+ end
714
+
715
+ # 描述了实例的计费模式
716
+ class InstanceChargePrepaid < TencentCloud::Common::AbstractModel
717
+ # @param Period: 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60。
718
+ # @type Period: Integer
719
+ # @param RenewFlag: 自动续费标识。取值范围:
720
+ # NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
721
+ # NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
722
+ # DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
723
+
724
+ # 默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。
725
+ # @type RenewFlag: String
726
+
727
+ attr_accessor :Period, :RenewFlag
728
+
729
+ def initialize(period=nil, renewflag=nil)
730
+ @Period = period
731
+ @RenewFlag = renewflag
732
+ end
733
+
734
+ def deserialize(params)
735
+ @Period = params['Period']
736
+ @RenewFlag = params['RenewFlag']
737
+ end
738
+ end
739
+
740
+ # 描述了实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等
741
+ class InternetAccessible < TencentCloud::Common::AbstractModel
742
+ # @param InternetChargeType: 网络计费类型。取值范围:
743
+ # BANDWIDTH_PREPAID:预付费按带宽结算
744
+ # TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费
745
+ # BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费
746
+ # BANDWIDTH_PACKAGE:带宽包用户
747
+ # 默认取值:非带宽包用户默认与子机付费类型保持一致。
748
+ # @type InternetChargeType: String
749
+ # @param InternetMaxBandwidthOut: 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见购买网络带宽。
750
+ # @type InternetMaxBandwidthOut: Integer
751
+
752
+ attr_accessor :InternetChargeType, :InternetMaxBandwidthOut
753
+
754
+ def initialize(internetchargetype=nil, internetmaxbandwidthout=nil)
755
+ @InternetChargeType = internetchargetype
756
+ @InternetMaxBandwidthOut = internetmaxbandwidthout
757
+ end
758
+
759
+ def deserialize(params)
760
+ @InternetChargeType = params['InternetChargeType']
761
+ @InternetMaxBandwidthOut = params['InternetMaxBandwidthOut']
762
+ end
763
+ end
764
+
765
+ # 登录节点信息。
766
+ class LoginNode < TencentCloud::Common::AbstractModel
767
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br>默认值:POSTPAID_BY_HOUR。
768
+ # @type InstanceChargeType: String
769
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
770
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20220401.models.InstanceChargePrepaid`
771
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
772
+ # <br><li>具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
773
+ # @type InstanceType: String
774
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
775
+ # @type SystemDisk: Array
776
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
777
+ # @type DataDisks: Array
778
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
779
+ # @type InternetAccessible: Array
780
+ # @param InstanceName: 节点显示名称。<br><li>
781
+ # 不指定节点显示名称则默认显示‘未命名’。
782
+ # 最多支持60个字符。
783
+ # @type InstanceName: String
784
+
785
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
786
+
787
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
788
+ @InstanceChargeType = instancechargetype
789
+ @InstanceChargePrepaid = instancechargeprepaid
790
+ @InstanceType = instancetype
791
+ @SystemDisk = systemdisk
792
+ @DataDisks = datadisks
793
+ @InternetAccessible = internetaccessible
794
+ @InstanceName = instancename
795
+ end
796
+
797
+ def deserialize(params)
798
+ @InstanceChargeType = params['InstanceChargeType']
799
+ unless params['InstanceChargePrepaid'].nil?
800
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
801
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
802
+ end
803
+ @InstanceType = params['InstanceType']
804
+ unless params['SystemDisk'].nil?
805
+ @SystemDisk = []
806
+ params['SystemDisk'].each do |i|
807
+ systemdisk_tmp = SystemDisk.new
808
+ systemdisk_tmp.deserialize(i)
809
+ @SystemDisk << systemdisk_tmp
810
+ end
811
+ end
812
+ unless params['DataDisks'].nil?
813
+ @DataDisks = []
814
+ params['DataDisks'].each do |i|
815
+ datadisk_tmp = DataDisk.new
816
+ datadisk_tmp.deserialize(i)
817
+ @DataDisks << datadisk_tmp
818
+ end
819
+ end
820
+ unless params['InternetAccessible'].nil?
821
+ @InternetAccessible = []
822
+ params['InternetAccessible'].each do |i|
823
+ internetaccessible_tmp = InternetAccessible.new
824
+ internetaccessible_tmp.deserialize(i)
825
+ @InternetAccessible << internetaccessible_tmp
826
+ end
827
+ end
828
+ @InstanceName = params['InstanceName']
829
+ end
830
+ end
831
+
832
+ # 登录节点概览。
833
+ class LoginNodeOverview < TencentCloud::Common::AbstractModel
834
+ # @param NodeId: 登录节点ID。
835
+ # @type NodeId: String
836
+
837
+ attr_accessor :NodeId
838
+
839
+ def initialize(nodeid=nil)
840
+ @NodeId = nodeid
841
+ end
842
+
843
+ def deserialize(params)
844
+ @NodeId = params['NodeId']
845
+ end
846
+ end
847
+
848
+ # 描述了实例登录相关配置与信息。
849
+ class LoginSettings < TencentCloud::Common::AbstractModel
850
+ # @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>若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。
851
+ # @type Password: String
852
+
853
+ attr_accessor :Password
854
+
855
+ def initialize(password=nil)
856
+ @Password = password
857
+ end
858
+
859
+ def deserialize(params)
860
+ @Password = params['Password']
861
+ end
862
+ end
863
+
864
+ # 管控节点信息
865
+ class ManagerNode < TencentCloud::Common::AbstractModel
866
+ # @param InstanceChargeType: 节点[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID:预付费,即包年包月<br><li>POSTPAID_BY_HOUR:按小时后付费<br>默认值:POSTPAID_BY_HOUR。
867
+ # @type InstanceChargeType: String
868
+ # @param InstanceChargePrepaid: 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月节点的购买时长、是否设置自动续费等属性。若指定节点的付费模式为预付费则该参数必传。
869
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Thpc.v20220401.models.InstanceChargePrepaid`
870
+ # @param InstanceType: 节点机型。不同实例机型指定了不同的资源规格。
871
+ # <br><li>对于付费模式为PREPAID或POSTPAID\_BY\_HOUR的实例创建,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。
872
+ # @type InstanceType: String
873
+ # @param SystemDisk: 节点系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
874
+ # @type SystemDisk: :class:`Tencentcloud::Thpc.v20220401.models.SystemDisk`
875
+ # @param DataDisks: 节点数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
876
+ # @type DataDisks: Array
877
+ # @param InternetAccessible: 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
878
+ # @type InternetAccessible: :class:`Tencentcloud::Thpc.v20220401.models.InternetAccessible`
879
+ # @param InstanceName: 节点显示名称。<br><li>
880
+ # 不指定节点显示名称则默认显示‘未命名’。
881
+ # </li><li>购买多个节点,如果指定模式串`{R:x}`,表示生成数字[`[x, x+n-1]`,其中`n`表示购买节点的数量,例如`server_{R:3}`,购买1个时,节点显示名称为`server_3`;购买2个时,节点显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。
882
+ # 购买多个节点,如果不指定模式串,则在节点显示名称添加后缀`1、2...n`,其中`n`表示购买节点的数量,例如`server_`,购买2个时,节点显示名称分别为`server_1`,`server_2`。</li><li>
883
+ # 最多支持60个字符(包含模式串)。
884
+ # @type InstanceName: String
885
+
886
+ attr_accessor :InstanceChargeType, :InstanceChargePrepaid, :InstanceType, :SystemDisk, :DataDisks, :InternetAccessible, :InstanceName
887
+
888
+ def initialize(instancechargetype=nil, instancechargeprepaid=nil, instancetype=nil, systemdisk=nil, datadisks=nil, internetaccessible=nil, instancename=nil)
889
+ @InstanceChargeType = instancechargetype
890
+ @InstanceChargePrepaid = instancechargeprepaid
891
+ @InstanceType = instancetype
892
+ @SystemDisk = systemdisk
893
+ @DataDisks = datadisks
894
+ @InternetAccessible = internetaccessible
895
+ @InstanceName = instancename
896
+ end
897
+
898
+ def deserialize(params)
899
+ @InstanceChargeType = params['InstanceChargeType']
900
+ unless params['InstanceChargePrepaid'].nil?
901
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
902
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
903
+ end
904
+ @InstanceType = params['InstanceType']
905
+ unless params['SystemDisk'].nil?
906
+ @SystemDisk = SystemDisk.new
907
+ @SystemDisk.deserialize(params['SystemDisk'])
908
+ end
909
+ unless params['DataDisks'].nil?
910
+ @DataDisks = []
911
+ params['DataDisks'].each do |i|
912
+ datadisk_tmp = DataDisk.new
913
+ datadisk_tmp.deserialize(i)
914
+ @DataDisks << datadisk_tmp
915
+ end
916
+ end
917
+ unless params['InternetAccessible'].nil?
918
+ @InternetAccessible = InternetAccessible.new
919
+ @InternetAccessible.deserialize(params['InternetAccessible'])
920
+ end
921
+ @InstanceName = params['InstanceName']
922
+ end
923
+ end
924
+
925
+ # 管控节点概览。
926
+ class ManagerNodeOverview < TencentCloud::Common::AbstractModel
927
+ # @param NodeId: 管控节点ID。
928
+ # 注意:此字段可能返回 null,表示取不到有效值。
929
+ # @type NodeId: String
930
+
931
+ attr_accessor :NodeId
932
+
933
+ def initialize(nodeid=nil)
934
+ @NodeId = nodeid
935
+ end
936
+
937
+ def deserialize(params)
938
+ @NodeId = params['NodeId']
939
+ end
940
+ end
941
+
942
+ # 描述了实例的抽象位置
943
+ class Placement < TencentCloud::Common::AbstractModel
944
+ # @param Zone: 实例所属的可用区名称。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/product/213/15707) 的返回值中的Zone字段来获取。
945
+ # @type Zone: String
946
+
947
+ attr_accessor :Zone
948
+
949
+ def initialize(zone=nil)
950
+ @Zone = zone
951
+ end
952
+
953
+ def deserialize(params)
954
+ @Zone = params['Zone']
955
+ end
956
+ end
957
+
958
+ # 描述集群文件系统选项
959
+ class StorageOption < TencentCloud::Common::AbstractModel
960
+ # @param CFSOptions: 集群挂载CFS文件系统选项
961
+ # @type CFSOptions: Array
962
+ # @param GooseFSOptions: 集群挂在GooseFS文件系统选项
963
+ # @type GooseFSOptions: Array
964
+
965
+ attr_accessor :CFSOptions, :GooseFSOptions
966
+
967
+ def initialize(cfsoptions=nil, goosefsoptions=nil)
968
+ @CFSOptions = cfsoptions
969
+ @GooseFSOptions = goosefsoptions
970
+ end
971
+
972
+ def deserialize(params)
973
+ unless params['CFSOptions'].nil?
974
+ @CFSOptions = []
975
+ params['CFSOptions'].each do |i|
976
+ cfsoption_tmp = CFSOption.new
977
+ cfsoption_tmp.deserialize(i)
978
+ @CFSOptions << cfsoption_tmp
979
+ end
980
+ end
981
+ unless params['GooseFSOptions'].nil?
982
+ @GooseFSOptions = []
983
+ params['GooseFSOptions'].each do |i|
984
+ goosefsoption_tmp = GooseFSOption.new
985
+ goosefsoption_tmp.deserialize(i)
986
+ @GooseFSOptions << goosefsoption_tmp
987
+ end
988
+ end
989
+ end
990
+ end
991
+
992
+ # 描述了操作系统所在块设备即系统盘的信息
993
+ class SystemDisk < TencentCloud::Common::AbstractModel
994
+ # @param DiskType: 系统盘类型。系统盘类型限制详见存储概述。取值范围:
995
+ # LOCAL_BASIC:本地硬盘
996
+ # LOCAL_SSD:本地SSD硬盘
997
+ # CLOUD_BASIC:普通云硬盘
998
+ # CLOUD_SSD:SSD云硬盘
999
+ # CLOUD_PREMIUM:高性能云硬盘
1000
+
1001
+ # 默认取值:当前有库存的硬盘类型。
1002
+ # @type DiskType: String
1003
+ # @param DiskSize: 系统盘大小,单位:GB。默认值为 50
1004
+ # @type DiskSize: Integer
1005
+
1006
+ attr_accessor :DiskType, :DiskSize
1007
+
1008
+ def initialize(disktype=nil, disksize=nil)
1009
+ @DiskType = disktype
1010
+ @DiskSize = disksize
1011
+ end
1012
+
1013
+ def deserialize(params)
1014
+ @DiskType = params['DiskType']
1015
+ @DiskSize = params['DiskSize']
1016
+ end
1017
+ end
1018
+
1019
+ # 标签键值对。
1020
+ class Tag < TencentCloud::Common::AbstractModel
1021
+ # @param Key: 标签键
1022
+ # @type Key: String
1023
+ # @param Value: 标签值
1024
+ # @type Value: String
1025
+
1026
+ attr_accessor :Key, :Value
1027
+
1028
+ def initialize(key=nil, value=nil)
1029
+ @Key = key
1030
+ @Value = value
1031
+ end
1032
+
1033
+ def deserialize(params)
1034
+ @Key = params['Key']
1035
+ @Value = params['Value']
1036
+ end
1037
+ end
1038
+
1039
+ # 描述了VPC相关信息
1040
+ class VirtualPrivateCloud < TencentCloud::Common::AbstractModel
1041
+ # @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网络。
1042
+ # @type VpcId: String
1043
+ # @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网络。
1044
+ # @type SubnetId: String
1045
+
1046
+ attr_accessor :VpcId, :SubnetId
1047
+
1048
+ def initialize(vpcid=nil, subnetid=nil)
1049
+ @VpcId = vpcid
1050
+ @SubnetId = subnetid
1051
+ end
1052
+
1053
+ def deserialize(params)
1054
+ @VpcId = params['VpcId']
1055
+ @SubnetId = params['SubnetId']
1056
+ end
1057
+ end
1058
+
1059
+ end
1060
+ end
1061
+ end
1062
+