tencentcloud-sdk-emr 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3571 @@
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 Emr
19
+ module V20190103
20
+ # 引导脚本
21
+ class BootstrapAction < TencentCloud::Common::AbstractModel
22
+ # @param Path: 脚本位置,支持cos上的文件,且只支持https协议。
23
+ # @type Path: String
24
+ # @param WhenRun: 执行时间。
25
+ # resourceAfter 表示在机器资源申请成功后执行。
26
+ # clusterBefore 表示在集群初始化前执行。
27
+ # clusterAfter 表示在集群初始化后执行。
28
+ # @type WhenRun: String
29
+ # @param Args: 脚本参数
30
+ # @type Args: Array
31
+
32
+ attr_accessor :Path, :WhenRun, :Args
33
+
34
+ def initialize(path=nil, whenrun=nil, args=nil)
35
+ @Path = path
36
+ @WhenRun = whenrun
37
+ @Args = args
38
+ end
39
+
40
+ def deserialize(params)
41
+ @Path = params['Path']
42
+ @WhenRun = params['WhenRun']
43
+ @Args = params['Args']
44
+ end
45
+ end
46
+
47
+ # COS 相关配置
48
+ class COSSettings < TencentCloud::Common::AbstractModel
49
+ # @param CosSecretId: COS SecretId
50
+ # @type CosSecretId: String
51
+ # @param CosSecretKey: COS SecrectKey
52
+ # @type CosSecretKey: String
53
+ # @param LogOnCosPath: 日志存储在COS上的路径
54
+ # @type LogOnCosPath: String
55
+
56
+ attr_accessor :CosSecretId, :CosSecretKey, :LogOnCosPath
57
+
58
+ def initialize(cossecretid=nil, cossecretkey=nil, logoncospath=nil)
59
+ @CosSecretId = cossecretid
60
+ @CosSecretKey = cossecretkey
61
+ @LogOnCosPath = logoncospath
62
+ end
63
+
64
+ def deserialize(params)
65
+ @CosSecretId = params['CosSecretId']
66
+ @CosSecretKey = params['CosSecretKey']
67
+ @LogOnCosPath = params['LogOnCosPath']
68
+ end
69
+ end
70
+
71
+ # 出参
72
+ class CdbInfo < TencentCloud::Common::AbstractModel
73
+ # @param InstanceName: 数据库实例
74
+ # 注意:此字段可能返回 null,表示取不到有效值。
75
+ # @type InstanceName: String
76
+ # @param Ip: 数据库IP
77
+ # 注意:此字段可能返回 null,表示取不到有效值。
78
+ # @type Ip: String
79
+ # @param Port: 数据库端口
80
+ # 注意:此字段可能返回 null,表示取不到有效值。
81
+ # @type Port: Integer
82
+ # @param MemSize: 数据库内存规格
83
+ # 注意:此字段可能返回 null,表示取不到有效值。
84
+ # @type MemSize: Integer
85
+ # @param Volume: 数据库磁盘规格
86
+ # 注意:此字段可能返回 null,表示取不到有效值。
87
+ # @type Volume: Integer
88
+ # @param Service: 服务标识
89
+ # 注意:此字段可能返回 null,表示取不到有效值。
90
+ # @type Service: String
91
+ # @param ExpireTime: 过期时间
92
+ # 注意:此字段可能返回 null,表示取不到有效值。
93
+ # @type ExpireTime: String
94
+ # @param ApplyTime: 申请时间
95
+ # 注意:此字段可能返回 null,表示取不到有效值。
96
+ # @type ApplyTime: String
97
+ # @param PayType: 付费类型
98
+ # 注意:此字段可能返回 null,表示取不到有效值。
99
+ # @type PayType: Integer
100
+ # @param ExpireFlag: 过期标识
101
+ # 注意:此字段可能返回 null,表示取不到有效值。
102
+ # @type ExpireFlag: Boolean
103
+ # @param Status: 数据库状态
104
+ # 注意:此字段可能返回 null,表示取不到有效值。
105
+ # @type Status: Integer
106
+ # @param IsAutoRenew: 续费标识
107
+ # 注意:此字段可能返回 null,表示取不到有效值。
108
+ # @type IsAutoRenew: Integer
109
+ # @param SerialNo: 数据库字符串
110
+ # 注意:此字段可能返回 null,表示取不到有效值。
111
+ # @type SerialNo: String
112
+ # @param ZoneId: ZoneId
113
+ # 注意:此字段可能返回 null,表示取不到有效值。
114
+ # @type ZoneId: Integer
115
+ # @param RegionId: RegionId
116
+ # 注意:此字段可能返回 null,表示取不到有效值。
117
+ # @type RegionId: Integer
118
+
119
+ attr_accessor :InstanceName, :Ip, :Port, :MemSize, :Volume, :Service, :ExpireTime, :ApplyTime, :PayType, :ExpireFlag, :Status, :IsAutoRenew, :SerialNo, :ZoneId, :RegionId
120
+
121
+ def initialize(instancename=nil, ip=nil, port=nil, memsize=nil, volume=nil, service=nil, expiretime=nil, applytime=nil, paytype=nil, expireflag=nil, status=nil, isautorenew=nil, serialno=nil, zoneid=nil, regionid=nil)
122
+ @InstanceName = instancename
123
+ @Ip = ip
124
+ @Port = port
125
+ @MemSize = memsize
126
+ @Volume = volume
127
+ @Service = service
128
+ @ExpireTime = expiretime
129
+ @ApplyTime = applytime
130
+ @PayType = paytype
131
+ @ExpireFlag = expireflag
132
+ @Status = status
133
+ @IsAutoRenew = isautorenew
134
+ @SerialNo = serialno
135
+ @ZoneId = zoneid
136
+ @RegionId = regionid
137
+ end
138
+
139
+ def deserialize(params)
140
+ @InstanceName = params['InstanceName']
141
+ @Ip = params['Ip']
142
+ @Port = params['Port']
143
+ @MemSize = params['MemSize']
144
+ @Volume = params['Volume']
145
+ @Service = params['Service']
146
+ @ExpireTime = params['ExpireTime']
147
+ @ApplyTime = params['ApplyTime']
148
+ @PayType = params['PayType']
149
+ @ExpireFlag = params['ExpireFlag']
150
+ @Status = params['Status']
151
+ @IsAutoRenew = params['IsAutoRenew']
152
+ @SerialNo = params['SerialNo']
153
+ @ZoneId = params['ZoneId']
154
+ @RegionId = params['RegionId']
155
+ end
156
+ end
157
+
158
+ # 集群实例信息
159
+ class ClusterInstancesInfo < TencentCloud::Common::AbstractModel
160
+ # @param Id: ID号
161
+ # 注意:此字段可能返回 null,表示取不到有效值。
162
+ # @type Id: Integer
163
+ # @param ClusterId: 集群ID
164
+ # 注意:此字段可能返回 null,表示取不到有效值。
165
+ # @type ClusterId: String
166
+ # @param Ftitle: 标题
167
+ # 注意:此字段可能返回 null,表示取不到有效值。
168
+ # @type Ftitle: String
169
+ # @param ClusterName: 集群名
170
+ # 注意:此字段可能返回 null,表示取不到有效值。
171
+ # @type ClusterName: String
172
+ # @param RegionId: 地域ID
173
+ # 注意:此字段可能返回 null,表示取不到有效值。
174
+ # @type RegionId: Integer
175
+ # @param ZoneId: 地区ID
176
+ # 注意:此字段可能返回 null,表示取不到有效值。
177
+ # @type ZoneId: Integer
178
+ # @param AppId: 用户APPID
179
+ # 注意:此字段可能返回 null,表示取不到有效值。
180
+ # @type AppId: Integer
181
+ # @param Uin: 用户UIN
182
+ # 注意:此字段可能返回 null,表示取不到有效值。
183
+ # @type Uin: String
184
+ # @param ProjectId: 项目Id
185
+ # 注意:此字段可能返回 null,表示取不到有效值。
186
+ # @type ProjectId: Integer
187
+ # @param VpcId: 集群VPCID
188
+ # 注意:此字段可能返回 null,表示取不到有效值。
189
+ # @type VpcId: Integer
190
+ # @param SubnetId: 子网ID
191
+ # 注意:此字段可能返回 null,表示取不到有效值。
192
+ # @type SubnetId: Integer
193
+ # @param Status: 实例的状态码。取值范围:
194
+ # <li>2:表示集群运行中。</li>
195
+ # <li>3:表示集群创建中。</li>
196
+ # <li>4:表示集群扩容中。</li>
197
+ # <li>5:表示集群增加router节点中。</li>
198
+ # <li>6:表示集群安装组件中。</li>
199
+ # <li>7:表示集群执行命令中。</li>
200
+ # <li>8:表示重启服务中。</li>
201
+ # <li>9:表示进入维护中。</li>
202
+ # <li>10:表示服务暂停中。</li>
203
+ # <li>11:表示退出维护中。</li>
204
+ # <li>12:表示退出暂停中。</li>
205
+ # <li>13:表示配置下发中。</li>
206
+ # <li>14:表示销毁集群中。</li>
207
+ # <li>15:表示销毁core节点中。</li>
208
+ # <li>16:销毁task节点中。</li>
209
+ # <li>17:表示销毁router节点中。</li>
210
+ # <li>18:表示更改webproxy密码中。</li>
211
+ # <li>19:表示集群隔离中。</li>
212
+ # <li>20:表示集群冲正中。</li>
213
+ # <li>21:表示集群回收中。</li>
214
+ # <li>22:表示变配等待中。</li>
215
+ # <li>23:表示集群已隔离。</li>
216
+ # <li>24:表示缩容节点中。</li>
217
+ # <li>33:表示集群等待退费中。</li>
218
+ # <li>34:表示集群已退费。</li>
219
+ # <li>301:表示创建失败。</li>
220
+ # <li>302:表示扩容失败。</li>
221
+ # 注意:此字段可能返回 null,表示取不到有效值。
222
+ # @type Status: Integer
223
+ # @param AddTime: 添加时间
224
+ # 注意:此字段可能返回 null,表示取不到有效值。
225
+ # @type AddTime: String
226
+ # @param RunTime: 已经运行时间
227
+ # 注意:此字段可能返回 null,表示取不到有效值。
228
+ # @type RunTime: String
229
+ # @param Config: 集群产品配置信息
230
+ # 注意:此字段可能返回 null,表示取不到有效值。
231
+ # @type Config: :class:`Tencentcloud::Emr.v20190103.models.EmrProductConfigOutter`
232
+ # @param MasterIp: 主节点外网IP
233
+ # 注意:此字段可能返回 null,表示取不到有效值。
234
+ # @type MasterIp: String
235
+ # @param EmrVersion: EMR版本
236
+ # 注意:此字段可能返回 null,表示取不到有效值。
237
+ # @type EmrVersion: String
238
+ # @param ChargeType: 收费类型
239
+ # 注意:此字段可能返回 null,表示取不到有效值。
240
+ # @type ChargeType: Integer
241
+ # @param TradeVersion: 交易版本
242
+ # 注意:此字段可能返回 null,表示取不到有效值。
243
+ # @type TradeVersion: Integer
244
+ # @param ResourceOrderId: 资源订单ID
245
+ # 注意:此字段可能返回 null,表示取不到有效值。
246
+ # @type ResourceOrderId: Integer
247
+ # @param IsTradeCluster: 是否计费集群
248
+ # 注意:此字段可能返回 null,表示取不到有效值。
249
+ # @type IsTradeCluster: Integer
250
+ # @param AlarmInfo: 集群错误状态告警信息
251
+ # 注意:此字段可能返回 null,表示取不到有效值。
252
+ # @type AlarmInfo: String
253
+ # @param IsWoodpeckerCluster: 是否采用新架构
254
+ # 注意:此字段可能返回 null,表示取不到有效值。
255
+ # @type IsWoodpeckerCluster: Integer
256
+ # @param MetaDb: 元数据库信息
257
+ # 注意:此字段可能返回 null,表示取不到有效值。
258
+ # @type MetaDb: String
259
+ # @param Tags: 标签信息
260
+ # 注意:此字段可能返回 null,表示取不到有效值。
261
+ # @type Tags: Array
262
+ # @param HiveMetaDb: Hive元数据信息
263
+ # 注意:此字段可能返回 null,表示取不到有效值。
264
+ # @type HiveMetaDb: String
265
+ # @param ServiceClass: 集群类型:EMR,CLICKHOUSE,DRUID
266
+ # 注意:此字段可能返回 null,表示取不到有效值。
267
+ # @type ServiceClass: String
268
+ # @param AliasInfo: 集群所有节点的别名序列化
269
+ # 注意:此字段可能返回 null,表示取不到有效值。
270
+ # @type AliasInfo: String
271
+ # @param ProductId: 集群版本Id
272
+ # 注意:此字段可能返回 null,表示取不到有效值。
273
+ # @type ProductId: Integer
274
+ # @param Zone: 地区ID
275
+ # 注意:此字段可能返回 null,表示取不到有效值。
276
+ # @type Zone: String
277
+
278
+ attr_accessor :Id, :ClusterId, :Ftitle, :ClusterName, :RegionId, :ZoneId, :AppId, :Uin, :ProjectId, :VpcId, :SubnetId, :Status, :AddTime, :RunTime, :Config, :MasterIp, :EmrVersion, :ChargeType, :TradeVersion, :ResourceOrderId, :IsTradeCluster, :AlarmInfo, :IsWoodpeckerCluster, :MetaDb, :Tags, :HiveMetaDb, :ServiceClass, :AliasInfo, :ProductId, :Zone
279
+
280
+ def initialize(id=nil, clusterid=nil, ftitle=nil, clustername=nil, regionid=nil, zoneid=nil, appid=nil, uin=nil, projectid=nil, vpcid=nil, subnetid=nil, status=nil, addtime=nil, runtime=nil, config=nil, masterip=nil, emrversion=nil, chargetype=nil, tradeversion=nil, resourceorderid=nil, istradecluster=nil, alarminfo=nil, iswoodpeckercluster=nil, metadb=nil, tags=nil, hivemetadb=nil, serviceclass=nil, aliasinfo=nil, productid=nil, zone=nil)
281
+ @Id = id
282
+ @ClusterId = clusterid
283
+ @Ftitle = ftitle
284
+ @ClusterName = clustername
285
+ @RegionId = regionid
286
+ @ZoneId = zoneid
287
+ @AppId = appid
288
+ @Uin = uin
289
+ @ProjectId = projectid
290
+ @VpcId = vpcid
291
+ @SubnetId = subnetid
292
+ @Status = status
293
+ @AddTime = addtime
294
+ @RunTime = runtime
295
+ @Config = config
296
+ @MasterIp = masterip
297
+ @EmrVersion = emrversion
298
+ @ChargeType = chargetype
299
+ @TradeVersion = tradeversion
300
+ @ResourceOrderId = resourceorderid
301
+ @IsTradeCluster = istradecluster
302
+ @AlarmInfo = alarminfo
303
+ @IsWoodpeckerCluster = iswoodpeckercluster
304
+ @MetaDb = metadb
305
+ @Tags = tags
306
+ @HiveMetaDb = hivemetadb
307
+ @ServiceClass = serviceclass
308
+ @AliasInfo = aliasinfo
309
+ @ProductId = productid
310
+ @Zone = zone
311
+ end
312
+
313
+ def deserialize(params)
314
+ @Id = params['Id']
315
+ @ClusterId = params['ClusterId']
316
+ @Ftitle = params['Ftitle']
317
+ @ClusterName = params['ClusterName']
318
+ @RegionId = params['RegionId']
319
+ @ZoneId = params['ZoneId']
320
+ @AppId = params['AppId']
321
+ @Uin = params['Uin']
322
+ @ProjectId = params['ProjectId']
323
+ @VpcId = params['VpcId']
324
+ @SubnetId = params['SubnetId']
325
+ @Status = params['Status']
326
+ @AddTime = params['AddTime']
327
+ @RunTime = params['RunTime']
328
+ unless params['Config'].nil?
329
+ @Config = EmrProductConfigOutter.new
330
+ @Config.deserialize(params['Config'])
331
+ end
332
+ @MasterIp = params['MasterIp']
333
+ @EmrVersion = params['EmrVersion']
334
+ @ChargeType = params['ChargeType']
335
+ @TradeVersion = params['TradeVersion']
336
+ @ResourceOrderId = params['ResourceOrderId']
337
+ @IsTradeCluster = params['IsTradeCluster']
338
+ @AlarmInfo = params['AlarmInfo']
339
+ @IsWoodpeckerCluster = params['IsWoodpeckerCluster']
340
+ @MetaDb = params['MetaDb']
341
+ unless params['Tags'].nil?
342
+ @Tags = []
343
+ params['Tags'].each do |i|
344
+ tag_tmp = Tag.new
345
+ tag_tmp.deserialize(i)
346
+ @Tags << tag_tmp
347
+ end
348
+ end
349
+ @HiveMetaDb = params['HiveMetaDb']
350
+ @ServiceClass = params['ServiceClass']
351
+ @AliasInfo = params['AliasInfo']
352
+ @ProductId = params['ProductId']
353
+ @Zone = params['Zone']
354
+ end
355
+ end
356
+
357
+ # 集群配置。
358
+ class ClusterSetting < TencentCloud::Common::AbstractModel
359
+ # @param InstanceChargeType: 付费方式。
360
+ # PREPAID 包年包月。
361
+ # POSTPAID_BY_HOUR 按量计费,默认方式。
362
+ # @type InstanceChargeType: String
363
+ # @param SupportHA: 是否为HA集群。
364
+ # @type SupportHA: Boolean
365
+ # @param SecurityGroupIds: 集群所使用的安全组,目前仅支持一个。
366
+ # @type SecurityGroupIds: Array
367
+ # @param Placement: 实例位置。
368
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
369
+ # @param VPCSettings: 实例所在VPC。
370
+ # @type VPCSettings: :class:`Tencentcloud::Emr.v20190103.models.VPCSettings`
371
+ # @param LoginSettings: 实例登录配置。
372
+ # @type LoginSettings: :class:`Tencentcloud::Emr.v20190103.models.LoginSettings`
373
+ # @param TagSpecification: 实例标签。
374
+ # @type TagSpecification: Array
375
+ # @param MetaDB: 元数据库配置。
376
+ # @type MetaDB: :class:`Tencentcloud::Emr.v20190103.models.MetaDbInfo`
377
+ # @param ResourceSpec: 实例硬件配置。
378
+ # @type ResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.JobFlowResourceSpec`
379
+ # @param PublicIpAssigned: 是否申请公网IP,默认为false。
380
+ # @type PublicIpAssigned: Boolean
381
+ # @param InstanceChargePrepaid: 包年包月配置,只对包年包月集群生效。
382
+ # @type InstanceChargePrepaid: :class:`Tencentcloud::Emr.v20190103.models.InstanceChargePrepaid`
383
+ # @param DisasterRecoverGroupIds: 集群置放群组。
384
+ # @type DisasterRecoverGroupIds: String
385
+ # @param CbsEncryptFlag: 是否使用cbs加密。
386
+ # @type CbsEncryptFlag: Boolean
387
+ # @param RemoteTcpDefaultPort: 是否使用远程登录,默认为false。
388
+ # @type RemoteTcpDefaultPort: Boolean
389
+
390
+ attr_accessor :InstanceChargeType, :SupportHA, :SecurityGroupIds, :Placement, :VPCSettings, :LoginSettings, :TagSpecification, :MetaDB, :ResourceSpec, :PublicIpAssigned, :InstanceChargePrepaid, :DisasterRecoverGroupIds, :CbsEncryptFlag, :RemoteTcpDefaultPort
391
+
392
+ def initialize(instancechargetype=nil, supportha=nil, securitygroupids=nil, placement=nil, vpcsettings=nil, loginsettings=nil, tagspecification=nil, metadb=nil, resourcespec=nil, publicipassigned=nil, instancechargeprepaid=nil, disasterrecovergroupids=nil, cbsencryptflag=nil, remotetcpdefaultport=nil)
393
+ @InstanceChargeType = instancechargetype
394
+ @SupportHA = supportha
395
+ @SecurityGroupIds = securitygroupids
396
+ @Placement = placement
397
+ @VPCSettings = vpcsettings
398
+ @LoginSettings = loginsettings
399
+ @TagSpecification = tagspecification
400
+ @MetaDB = metadb
401
+ @ResourceSpec = resourcespec
402
+ @PublicIpAssigned = publicipassigned
403
+ @InstanceChargePrepaid = instancechargeprepaid
404
+ @DisasterRecoverGroupIds = disasterrecovergroupids
405
+ @CbsEncryptFlag = cbsencryptflag
406
+ @RemoteTcpDefaultPort = remotetcpdefaultport
407
+ end
408
+
409
+ def deserialize(params)
410
+ @InstanceChargeType = params['InstanceChargeType']
411
+ @SupportHA = params['SupportHA']
412
+ @SecurityGroupIds = params['SecurityGroupIds']
413
+ unless params['Placement'].nil?
414
+ @Placement = Placement.new
415
+ @Placement.deserialize(params['Placement'])
416
+ end
417
+ unless params['VPCSettings'].nil?
418
+ @VPCSettings = VPCSettings.new
419
+ @VPCSettings.deserialize(params['VPCSettings'])
420
+ end
421
+ unless params['LoginSettings'].nil?
422
+ @LoginSettings = LoginSettings.new
423
+ @LoginSettings.deserialize(params['LoginSettings'])
424
+ end
425
+ @TagSpecification = params['TagSpecification']
426
+ unless params['MetaDB'].nil?
427
+ @MetaDB = MetaDbInfo.new
428
+ @MetaDB.deserialize(params['MetaDB'])
429
+ end
430
+ unless params['ResourceSpec'].nil?
431
+ @ResourceSpec = JobFlowResourceSpec.new
432
+ @ResourceSpec.deserialize(params['ResourceSpec'])
433
+ end
434
+ @PublicIpAssigned = params['PublicIpAssigned']
435
+ unless params['InstanceChargePrepaid'].nil?
436
+ @InstanceChargePrepaid = InstanceChargePrepaid.new
437
+ @InstanceChargePrepaid.deserialize(params['InstanceChargePrepaid'])
438
+ end
439
+ @DisasterRecoverGroupIds = params['DisasterRecoverGroupIds']
440
+ @CbsEncryptFlag = params['CbsEncryptFlag']
441
+ @RemoteTcpDefaultPort = params['RemoteTcpDefaultPort']
442
+ end
443
+ end
444
+
445
+ # 自定义配置参数
446
+ class Configuration < TencentCloud::Common::AbstractModel
447
+ # @param Classification: 配置文件名,支持SPARK、HIVE、HDFS、YARN的部分配置文件自定义。
448
+ # @type Classification: String
449
+ # @param Properties: 配置参数通过KV的形式传入,部分文件支持自定义,可以通过特殊的键"content"传入所有内容。
450
+ # @type Properties: String
451
+
452
+ attr_accessor :Classification, :Properties
453
+
454
+ def initialize(classification=nil, properties=nil)
455
+ @Classification = classification
456
+ @Properties = properties
457
+ end
458
+
459
+ def deserialize(params)
460
+ @Classification = params['Classification']
461
+ @Properties = params['Properties']
462
+ end
463
+ end
464
+
465
+ # CreateInstance请求参数结构体
466
+ class CreateInstanceRequest < TencentCloud::Common::AbstractModel
467
+ # @param ProductId: 产品ID,不同产品ID表示不同的EMR产品版本。取值范围:
468
+ # <li>1:表示EMR-V1.3.1。</li>
469
+ # <li>2:表示EMR-V2.0.1。</li>
470
+ # <li>4:表示EMR-V2.1.0。</li>
471
+ # <li>7:表示EMR-V3.0.0。</li>
472
+ # <li>9:表示EMR-V2.2.0。</li>
473
+ # <li>11:表示CLICKHOUSE-V1.0.0。</li>
474
+ # <li>13:表示DRUID-V1.0.0。</li>
475
+ # <li>15:表示EMR-V2.2.1。</li>
476
+ # <li>16:表示EMR-V2.3.0。</li>
477
+ # <li>17:表示CLICKHOUSE-V1.1.0。</li>
478
+ # <li>19:表示EMR-V2.4.0。</li>
479
+ # <li>20:表示EMR-V2.5.0。</li>
480
+ # <li>22:表示CLICKHOUSE-V1.2.0。</li>
481
+ # <li>24:表示EMR-TianQiong-V1.0.0。</li>
482
+ # <li>25:表示EMR-V3.1.0。</li>
483
+ # <li>26:表示DORIS-V1.0.0。</li>
484
+ # <li>27:表示KAFKA-V1.0.0。</li>
485
+ # <li>28:表示EMR-V3.2.0。</li>
486
+ # <li>29:表示EMR-V2.5.1。</li>
487
+ # <li>30:表示EMR-V2.6.0。</li>
488
+ # @type ProductId: Integer
489
+ # @param VPCSettings: 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。
490
+ # @type VPCSettings: :class:`Tencentcloud::Emr.v20190103.models.VPCSettings`
491
+ # @param Software: 部署的组件列表。不同的EMR产品ID(ProductId:具体含义参考入参ProductId字段)对应不同可选组件列表,不同产品版本可选组件列表查询:[组件版本](https://cloud.tencent.com/document/product/589/20279) ;
492
+ # 填写实例值:hive、flink。
493
+ # @type Software: Array
494
+ # @param ResourceSpec: 节点资源的规格。
495
+ # @type ResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.NewResourceSpec`
496
+ # @param SupportHA: 是否开启节点高可用。取值范围:
497
+ # <li>0:表示不开启节点高可用。</li>
498
+ # <li>1:表示开启节点高可用。</li>
499
+ # @type SupportHA: Integer
500
+ # @param InstanceName: 实例名称。
501
+ # <li>长度限制为6-36个字符。</li>
502
+ # <li>只允许包含中文、字母、数字、-、_。</li>
503
+ # @type InstanceName: String
504
+ # @param PayMode: 实例计费模式。取值范围:
505
+ # <li>0:表示按量计费。</li>
506
+ # <li>1:表示包年包月。</li>
507
+ # @type PayMode: Integer
508
+ # @param Placement: 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
509
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
510
+ # @param TimeSpan: 购买实例的时长。结合TimeUnit一起使用。
511
+ # <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
512
+ # <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
513
+ # @type TimeSpan: Integer
514
+ # @param TimeUnit: 购买实例的时间单位。取值范围:
515
+ # <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
516
+ # <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
517
+ # @type TimeUnit: String
518
+ # @param LoginSettings: 实例登录设置。通过该参数可以设置所购买节点的登录方式密码或者密钥。
519
+ # <li>设置密钥时,密码仅用于组件原生WebUI快捷入口登录。</li>
520
+ # <li>未设置密钥时,密码用于登录所购节点以及组件原生WebUI快捷入口登录。</li>
521
+ # @type LoginSettings: :class:`Tencentcloud::Emr.v20190103.models.LoginSettings`
522
+ # @param COSSettings: 开启COS访问需要设置的参数。
523
+ # @type COSSettings: :class:`Tencentcloud::Emr.v20190103.models.COSSettings`
524
+ # @param SgId: 实例所属安全组的ID,形如sg-xxxxxxxx。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的SecurityGroupId字段来获取。
525
+ # @type SgId: String
526
+ # @param PreExecutedFileSettings: [引导操作](https://cloud.tencent.com/document/product/589/35656)脚本设置。
527
+ # @type PreExecutedFileSettings: Array
528
+ # @param AutoRenew: 包年包月实例是否自动续费。取值范围:
529
+ # <li>0:表示不自动续费。</li>
530
+ # <li>1:表示自动续费。</li>
531
+ # @type AutoRenew: Integer
532
+ # @param ClientToken: 客户端Token。
533
+ # @type ClientToken: String
534
+ # @param NeedMasterWan: 是否开启集群Master节点公网。取值范围:
535
+ # <li>NEED_MASTER_WAN:表示开启集群Master节点公网。</li>
536
+ # <li>NOT_NEED_MASTER_WAN:表示不开启。</li>默认开启集群Master节点公网。
537
+ # @type NeedMasterWan: String
538
+ # @param RemoteLoginAtCreate: 是否需要开启外网远程登录,即22号端口。在SgId不为空时,该参数无效。
539
+ # @type RemoteLoginAtCreate: Integer
540
+ # @param CheckSecurity: 是否开启安全集群。0表示不开启,非0表示开启。
541
+ # @type CheckSecurity: Integer
542
+ # @param ExtendFsField: 访问外部文件系统。
543
+ # @type ExtendFsField: String
544
+ # @param Tags: 标签描述列表。通过指定该参数可以同时绑定标签到相应的实例。
545
+ # @type Tags: Array
546
+ # @param DisasterRecoverGroupIds: 分散置放群组ID列表,当前只支持指定一个。
547
+ # 该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/213/15486 ) 的返回值中的SecurityGroupId字段来获取。
548
+ # @type DisasterRecoverGroupIds: Array
549
+ # @param CbsEncrypt: 集群维度CBS加密盘,默认0表示不加密,1表示加密
550
+ # @type CbsEncrypt: Integer
551
+ # @param MetaType: hive共享元数据库类型。取值范围:
552
+ # <li>EMR_NEW_META:表示集群默认创建</li>
553
+ # <li>EMR_EXIT_META:表示集群使用指定EMR-MetaDB。</li>
554
+ # <li>USER_CUSTOM_META:表示集群使用自定义MetaDB。</li>
555
+ # @type MetaType: String
556
+ # @param UnifyMetaInstanceId: EMR-MetaDB实例
557
+ # @type UnifyMetaInstanceId: String
558
+ # @param MetaDBInfo: 自定义MetaDB信息
559
+ # @type MetaDBInfo: :class:`Tencentcloud::Emr.v20190103.models.CustomMetaInfo`
560
+ # @param ApplicationRole: 自定义应用角色。
561
+ # @type ApplicationRole: String
562
+
563
+ attr_accessor :ProductId, :VPCSettings, :Software, :ResourceSpec, :SupportHA, :InstanceName, :PayMode, :Placement, :TimeSpan, :TimeUnit, :LoginSettings, :COSSettings, :SgId, :PreExecutedFileSettings, :AutoRenew, :ClientToken, :NeedMasterWan, :RemoteLoginAtCreate, :CheckSecurity, :ExtendFsField, :Tags, :DisasterRecoverGroupIds, :CbsEncrypt, :MetaType, :UnifyMetaInstanceId, :MetaDBInfo, :ApplicationRole
564
+
565
+ def initialize(productid=nil, vpcsettings=nil, software=nil, resourcespec=nil, supportha=nil, instancename=nil, paymode=nil, placement=nil, timespan=nil, timeunit=nil, loginsettings=nil, cossettings=nil, sgid=nil, preexecutedfilesettings=nil, autorenew=nil, clienttoken=nil, needmasterwan=nil, remoteloginatcreate=nil, checksecurity=nil, extendfsfield=nil, tags=nil, disasterrecovergroupids=nil, cbsencrypt=nil, metatype=nil, unifymetainstanceid=nil, metadbinfo=nil, applicationrole=nil)
566
+ @ProductId = productid
567
+ @VPCSettings = vpcsettings
568
+ @Software = software
569
+ @ResourceSpec = resourcespec
570
+ @SupportHA = supportha
571
+ @InstanceName = instancename
572
+ @PayMode = paymode
573
+ @Placement = placement
574
+ @TimeSpan = timespan
575
+ @TimeUnit = timeunit
576
+ @LoginSettings = loginsettings
577
+ @COSSettings = cossettings
578
+ @SgId = sgid
579
+ @PreExecutedFileSettings = preexecutedfilesettings
580
+ @AutoRenew = autorenew
581
+ @ClientToken = clienttoken
582
+ @NeedMasterWan = needmasterwan
583
+ @RemoteLoginAtCreate = remoteloginatcreate
584
+ @CheckSecurity = checksecurity
585
+ @ExtendFsField = extendfsfield
586
+ @Tags = tags
587
+ @DisasterRecoverGroupIds = disasterrecovergroupids
588
+ @CbsEncrypt = cbsencrypt
589
+ @MetaType = metatype
590
+ @UnifyMetaInstanceId = unifymetainstanceid
591
+ @MetaDBInfo = metadbinfo
592
+ @ApplicationRole = applicationrole
593
+ end
594
+
595
+ def deserialize(params)
596
+ @ProductId = params['ProductId']
597
+ unless params['VPCSettings'].nil?
598
+ @VPCSettings = VPCSettings.new
599
+ @VPCSettings.deserialize(params['VPCSettings'])
600
+ end
601
+ @Software = params['Software']
602
+ unless params['ResourceSpec'].nil?
603
+ @ResourceSpec = NewResourceSpec.new
604
+ @ResourceSpec.deserialize(params['ResourceSpec'])
605
+ end
606
+ @SupportHA = params['SupportHA']
607
+ @InstanceName = params['InstanceName']
608
+ @PayMode = params['PayMode']
609
+ unless params['Placement'].nil?
610
+ @Placement = Placement.new
611
+ @Placement.deserialize(params['Placement'])
612
+ end
613
+ @TimeSpan = params['TimeSpan']
614
+ @TimeUnit = params['TimeUnit']
615
+ unless params['LoginSettings'].nil?
616
+ @LoginSettings = LoginSettings.new
617
+ @LoginSettings.deserialize(params['LoginSettings'])
618
+ end
619
+ unless params['COSSettings'].nil?
620
+ @COSSettings = COSSettings.new
621
+ @COSSettings.deserialize(params['COSSettings'])
622
+ end
623
+ @SgId = params['SgId']
624
+ unless params['PreExecutedFileSettings'].nil?
625
+ @PreExecutedFileSettings = []
626
+ params['PreExecutedFileSettings'].each do |i|
627
+ preexecutefilesettings_tmp = PreExecuteFileSettings.new
628
+ preexecutefilesettings_tmp.deserialize(i)
629
+ @PreExecutedFileSettings << preexecutefilesettings_tmp
630
+ end
631
+ end
632
+ @AutoRenew = params['AutoRenew']
633
+ @ClientToken = params['ClientToken']
634
+ @NeedMasterWan = params['NeedMasterWan']
635
+ @RemoteLoginAtCreate = params['RemoteLoginAtCreate']
636
+ @CheckSecurity = params['CheckSecurity']
637
+ @ExtendFsField = params['ExtendFsField']
638
+ unless params['Tags'].nil?
639
+ @Tags = []
640
+ params['Tags'].each do |i|
641
+ tag_tmp = Tag.new
642
+ tag_tmp.deserialize(i)
643
+ @Tags << tag_tmp
644
+ end
645
+ end
646
+ @DisasterRecoverGroupIds = params['DisasterRecoverGroupIds']
647
+ @CbsEncrypt = params['CbsEncrypt']
648
+ @MetaType = params['MetaType']
649
+ @UnifyMetaInstanceId = params['UnifyMetaInstanceId']
650
+ unless params['MetaDBInfo'].nil?
651
+ @MetaDBInfo = CustomMetaInfo.new
652
+ @MetaDBInfo.deserialize(params['MetaDBInfo'])
653
+ end
654
+ @ApplicationRole = params['ApplicationRole']
655
+ end
656
+ end
657
+
658
+ # CreateInstance返回参数结构体
659
+ class CreateInstanceResponse < TencentCloud::Common::AbstractModel
660
+ # @param InstanceId: 实例ID
661
+ # 注意:此字段可能返回 null,表示取不到有效值。
662
+ # @type InstanceId: String
663
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
664
+ # @type RequestId: String
665
+
666
+ attr_accessor :InstanceId, :RequestId
667
+
668
+ def initialize(instanceid=nil, requestid=nil)
669
+ @InstanceId = instanceid
670
+ @RequestId = requestid
671
+ end
672
+
673
+ def deserialize(params)
674
+ @InstanceId = params['InstanceId']
675
+ @RequestId = params['RequestId']
676
+ end
677
+ end
678
+
679
+ # 用户自建Hive-MetaDB信息
680
+ class CustomMetaInfo < TencentCloud::Common::AbstractModel
681
+ # @param MetaDataJdbcUrl: 自定义MetaDB的JDBC连接,请以 jdbc:mysql:// 开头
682
+ # @type MetaDataJdbcUrl: String
683
+ # @param MetaDataUser: 自定义MetaDB用户名
684
+ # @type MetaDataUser: String
685
+ # @param MetaDataPass: 自定义MetaDB密码
686
+ # @type MetaDataPass: String
687
+
688
+ attr_accessor :MetaDataJdbcUrl, :MetaDataUser, :MetaDataPass
689
+
690
+ def initialize(metadatajdbcurl=nil, metadatauser=nil, metadatapass=nil)
691
+ @MetaDataJdbcUrl = metadatajdbcurl
692
+ @MetaDataUser = metadatauser
693
+ @MetaDataPass = metadatapass
694
+ end
695
+
696
+ def deserialize(params)
697
+ @MetaDataJdbcUrl = params['MetaDataJdbcUrl']
698
+ @MetaDataUser = params['MetaDataUser']
699
+ @MetaDataPass = params['MetaDataPass']
700
+ end
701
+ end
702
+
703
+ # DescribeClusterNodes请求参数结构体
704
+ class DescribeClusterNodesRequest < TencentCloud::Common::AbstractModel
705
+ # @param InstanceId: 集群实例ID,实例ID形如: emr-xxxxxxxx
706
+ # @type InstanceId: String
707
+ # @param NodeFlag: 节点标识,取值为:
708
+ # <li>all:表示获取全部类型节点,cdb信息除外。</li>
709
+ # <li>master:表示获取master节点信息。</li>
710
+ # <li>core:表示获取core节点信息。</li>
711
+ # <li>task:表示获取task节点信息。</li>
712
+ # <li>common:表示获取common节点信息。</li>
713
+ # <li>router:表示获取router节点信息。</li>
714
+ # <li>db:表示获取正常状态的cdb信息。</li>
715
+ # <li>recyle:表示获取回收站隔离中的节点信息,包括cdb信息。</li>
716
+ # <li>renew:表示获取所有待续费的节点信息,包括cdb信息,自动续费节点不会返回。</li>
717
+ # 注意:现在只支持以上取值,输入其他值会导致错误。
718
+ # @type NodeFlag: String
719
+ # @param Offset: 页编号,默认值为0,表示第一页。
720
+ # @type Offset: Integer
721
+ # @param Limit: 每页返回数量,默认值为100,最大值为100。
722
+ # @type Limit: Integer
723
+ # @param HardwareResourceType: 资源类型:支持all/host/pod,默认为all
724
+ # @type HardwareResourceType: String
725
+ # @param SearchFields: 支持搜索的字段
726
+ # @type SearchFields: Array
727
+
728
+ attr_accessor :InstanceId, :NodeFlag, :Offset, :Limit, :HardwareResourceType, :SearchFields
729
+
730
+ def initialize(instanceid=nil, nodeflag=nil, offset=nil, limit=nil, hardwareresourcetype=nil, searchfields=nil)
731
+ @InstanceId = instanceid
732
+ @NodeFlag = nodeflag
733
+ @Offset = offset
734
+ @Limit = limit
735
+ @HardwareResourceType = hardwareresourcetype
736
+ @SearchFields = searchfields
737
+ end
738
+
739
+ def deserialize(params)
740
+ @InstanceId = params['InstanceId']
741
+ @NodeFlag = params['NodeFlag']
742
+ @Offset = params['Offset']
743
+ @Limit = params['Limit']
744
+ @HardwareResourceType = params['HardwareResourceType']
745
+ unless params['SearchFields'].nil?
746
+ @SearchFields = []
747
+ params['SearchFields'].each do |i|
748
+ searchitem_tmp = SearchItem.new
749
+ searchitem_tmp.deserialize(i)
750
+ @SearchFields << searchitem_tmp
751
+ end
752
+ end
753
+ end
754
+ end
755
+
756
+ # DescribeClusterNodes返回参数结构体
757
+ class DescribeClusterNodesResponse < TencentCloud::Common::AbstractModel
758
+ # @param TotalCnt: 查询到的节点总数
759
+ # @type TotalCnt: Integer
760
+ # @param NodeList: 节点详细信息列表
761
+ # 注意:此字段可能返回 null,表示取不到有效值。
762
+ # @type NodeList: Array
763
+ # @param TagKeys: 用户所有的标签键列表
764
+ # 注意:此字段可能返回 null,表示取不到有效值。
765
+ # @type TagKeys: Array
766
+ # @param HardwareResourceTypeList: 资源类型列表
767
+ # 注意:此字段可能返回 null,表示取不到有效值。
768
+ # @type HardwareResourceTypeList: Array
769
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
770
+ # @type RequestId: String
771
+
772
+ attr_accessor :TotalCnt, :NodeList, :TagKeys, :HardwareResourceTypeList, :RequestId
773
+
774
+ def initialize(totalcnt=nil, nodelist=nil, tagkeys=nil, hardwareresourcetypelist=nil, requestid=nil)
775
+ @TotalCnt = totalcnt
776
+ @NodeList = nodelist
777
+ @TagKeys = tagkeys
778
+ @HardwareResourceTypeList = hardwareresourcetypelist
779
+ @RequestId = requestid
780
+ end
781
+
782
+ def deserialize(params)
783
+ @TotalCnt = params['TotalCnt']
784
+ unless params['NodeList'].nil?
785
+ @NodeList = []
786
+ params['NodeList'].each do |i|
787
+ nodehardwareinfo_tmp = NodeHardwareInfo.new
788
+ nodehardwareinfo_tmp.deserialize(i)
789
+ @NodeList << nodehardwareinfo_tmp
790
+ end
791
+ end
792
+ @TagKeys = params['TagKeys']
793
+ @HardwareResourceTypeList = params['HardwareResourceTypeList']
794
+ @RequestId = params['RequestId']
795
+ end
796
+ end
797
+
798
+ # DescribeCvmQuota请求参数结构体
799
+ class DescribeCvmQuotaRequest < TencentCloud::Common::AbstractModel
800
+ # @param ClusterId: EMR集群ID
801
+ # @type ClusterId: String
802
+ # @param ZoneId: 区ID
803
+ # @type ZoneId: Integer
804
+
805
+ attr_accessor :ClusterId, :ZoneId
806
+
807
+ def initialize(clusterid=nil, zoneid=nil)
808
+ @ClusterId = clusterid
809
+ @ZoneId = zoneid
810
+ end
811
+
812
+ def deserialize(params)
813
+ @ClusterId = params['ClusterId']
814
+ @ZoneId = params['ZoneId']
815
+ end
816
+ end
817
+
818
+ # DescribeCvmQuota返回参数结构体
819
+ class DescribeCvmQuotaResponse < TencentCloud::Common::AbstractModel
820
+ # @param PostPaidQuotaSet: 后付费配额列表
821
+ # 注意:此字段可能返回 null,表示取不到有效值。
822
+ # @type PostPaidQuotaSet: Array
823
+ # @param SpotPaidQuotaSet: 竞价实例配额列表
824
+ # 注意:此字段可能返回 null,表示取不到有效值。
825
+ # @type SpotPaidQuotaSet: Array
826
+ # @param EksQuotaSet: eks配额
827
+ # 注意:此字段可能返回 null,表示取不到有效值。
828
+ # @type EksQuotaSet: Array
829
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
830
+ # @type RequestId: String
831
+
832
+ attr_accessor :PostPaidQuotaSet, :SpotPaidQuotaSet, :EksQuotaSet, :RequestId
833
+
834
+ def initialize(postpaidquotaset=nil, spotpaidquotaset=nil, eksquotaset=nil, requestid=nil)
835
+ @PostPaidQuotaSet = postpaidquotaset
836
+ @SpotPaidQuotaSet = spotpaidquotaset
837
+ @EksQuotaSet = eksquotaset
838
+ @RequestId = requestid
839
+ end
840
+
841
+ def deserialize(params)
842
+ unless params['PostPaidQuotaSet'].nil?
843
+ @PostPaidQuotaSet = []
844
+ params['PostPaidQuotaSet'].each do |i|
845
+ quotaentity_tmp = QuotaEntity.new
846
+ quotaentity_tmp.deserialize(i)
847
+ @PostPaidQuotaSet << quotaentity_tmp
848
+ end
849
+ end
850
+ unless params['SpotPaidQuotaSet'].nil?
851
+ @SpotPaidQuotaSet = []
852
+ params['SpotPaidQuotaSet'].each do |i|
853
+ quotaentity_tmp = QuotaEntity.new
854
+ quotaentity_tmp.deserialize(i)
855
+ @SpotPaidQuotaSet << quotaentity_tmp
856
+ end
857
+ end
858
+ unless params['EksQuotaSet'].nil?
859
+ @EksQuotaSet = []
860
+ params['EksQuotaSet'].each do |i|
861
+ podsalespec_tmp = PodSaleSpec.new
862
+ podsalespec_tmp.deserialize(i)
863
+ @EksQuotaSet << podsalespec_tmp
864
+ end
865
+ end
866
+ @RequestId = params['RequestId']
867
+ end
868
+ end
869
+
870
+ # DescribeInstanceRenewNodes请求参数结构体
871
+ class DescribeInstanceRenewNodesRequest < TencentCloud::Common::AbstractModel
872
+ # @param InstanceId: 集群实例ID,实例ID形如: emr-xxxxxxxx
873
+ # @type InstanceId: String
874
+
875
+ attr_accessor :InstanceId
876
+
877
+ def initialize(instanceid=nil)
878
+ @InstanceId = instanceid
879
+ end
880
+
881
+ def deserialize(params)
882
+ @InstanceId = params['InstanceId']
883
+ end
884
+ end
885
+
886
+ # DescribeInstanceRenewNodes返回参数结构体
887
+ class DescribeInstanceRenewNodesResponse < TencentCloud::Common::AbstractModel
888
+ # @param TotalCnt: 查询到的节点总数
889
+ # @type TotalCnt: Integer
890
+ # @param NodeList: 节点详细信息列表
891
+ # 注意:此字段可能返回 null,表示取不到有效值。
892
+ # @type NodeList: Array
893
+ # @param MetaInfo: 用户所有的标签键列表
894
+ # 注意:此字段可能返回 null,表示取不到有效值。
895
+ # @type MetaInfo: Array
896
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
897
+ # @type RequestId: String
898
+
899
+ attr_accessor :TotalCnt, :NodeList, :MetaInfo, :RequestId
900
+
901
+ def initialize(totalcnt=nil, nodelist=nil, metainfo=nil, requestid=nil)
902
+ @TotalCnt = totalcnt
903
+ @NodeList = nodelist
904
+ @MetaInfo = metainfo
905
+ @RequestId = requestid
906
+ end
907
+
908
+ def deserialize(params)
909
+ @TotalCnt = params['TotalCnt']
910
+ unless params['NodeList'].nil?
911
+ @NodeList = []
912
+ params['NodeList'].each do |i|
913
+ renewinstancesinfo_tmp = RenewInstancesInfo.new
914
+ renewinstancesinfo_tmp.deserialize(i)
915
+ @NodeList << renewinstancesinfo_tmp
916
+ end
917
+ end
918
+ @MetaInfo = params['MetaInfo']
919
+ @RequestId = params['RequestId']
920
+ end
921
+ end
922
+
923
+ # DescribeInstances请求参数结构体
924
+ class DescribeInstancesRequest < TencentCloud::Common::AbstractModel
925
+ # @param DisplayStrategy: 集群筛选策略。取值范围:
926
+ # <li>clusterList:表示查询除了已销毁集群之外的集群列表。</li>
927
+ # <li>monitorManage:表示查询除了已销毁、创建中以及创建失败的集群之外的集群列表。</li>
928
+ # <li>cloudHardwareManage/componentManage:目前这两个取值为预留取值,暂时和monitorManage表示同样的含义。</li>
929
+ # @type DisplayStrategy: String
930
+ # @param InstanceIds: 按照一个或者多个实例ID查询。实例ID形如: emr-xxxxxxxx 。(此参数的具体格式可参考API[简介](https://cloud.tencent.com/document/api/213/15688)的 Ids.N 一节)。如果不填写实例ID,返回该APPID下所有实例列表。
931
+ # @type InstanceIds: Array
932
+ # @param Offset: 页编号,默认值为0,表示第一页。
933
+ # @type Offset: Integer
934
+ # @param Limit: 每页返回数量,默认值为10,最大值为100。
935
+ # @type Limit: Integer
936
+ # @param ProjectId: 建议必填-1,表示拉取所有项目下的集群。
937
+ # 不填默认值为0,表示拉取默认项目下的集群。
938
+ # 实例所属项目ID。该参数可以通过调用 [DescribeProject](https://cloud.tencent.com/document/api/378/4400) 的返回值中的 projectId 字段来获取。
939
+ # @type ProjectId: Integer
940
+ # @param OrderField: 排序字段。取值范围:
941
+ # <li>clusterId:表示按照实例ID排序。</li>
942
+ # <li>addTime:表示按照实例创建时间排序。</li>
943
+ # <li>status:表示按照实例的状态码排序。</li>
944
+ # @type OrderField: String
945
+ # @param Asc: 按照OrderField升序或者降序进行排序。取值范围:
946
+ # <li>0:表示降序。</li>
947
+ # <li>1:表示升序。</li>默认值为0。
948
+ # @type Asc: Integer
949
+
950
+ attr_accessor :DisplayStrategy, :InstanceIds, :Offset, :Limit, :ProjectId, :OrderField, :Asc
951
+
952
+ def initialize(displaystrategy=nil, instanceids=nil, offset=nil, limit=nil, projectid=nil, orderfield=nil, asc=nil)
953
+ @DisplayStrategy = displaystrategy
954
+ @InstanceIds = instanceids
955
+ @Offset = offset
956
+ @Limit = limit
957
+ @ProjectId = projectid
958
+ @OrderField = orderfield
959
+ @Asc = asc
960
+ end
961
+
962
+ def deserialize(params)
963
+ @DisplayStrategy = params['DisplayStrategy']
964
+ @InstanceIds = params['InstanceIds']
965
+ @Offset = params['Offset']
966
+ @Limit = params['Limit']
967
+ @ProjectId = params['ProjectId']
968
+ @OrderField = params['OrderField']
969
+ @Asc = params['Asc']
970
+ end
971
+ end
972
+
973
+ # DescribeInstances返回参数结构体
974
+ class DescribeInstancesResponse < TencentCloud::Common::AbstractModel
975
+ # @param TotalCnt: 符合条件的实例总数。
976
+ # @type TotalCnt: Integer
977
+ # @param ClusterList: EMR实例详细信息列表。
978
+ # 注意:此字段可能返回 null,表示取不到有效值。
979
+ # @type ClusterList: Array
980
+ # @param TagKeys: 实例关联的标签键列表。
981
+ # 注意:此字段可能返回 null,表示取不到有效值。
982
+ # @type TagKeys: Array
983
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
984
+ # @type RequestId: String
985
+
986
+ attr_accessor :TotalCnt, :ClusterList, :TagKeys, :RequestId
987
+
988
+ def initialize(totalcnt=nil, clusterlist=nil, tagkeys=nil, requestid=nil)
989
+ @TotalCnt = totalcnt
990
+ @ClusterList = clusterlist
991
+ @TagKeys = tagkeys
992
+ @RequestId = requestid
993
+ end
994
+
995
+ def deserialize(params)
996
+ @TotalCnt = params['TotalCnt']
997
+ unless params['ClusterList'].nil?
998
+ @ClusterList = []
999
+ params['ClusterList'].each do |i|
1000
+ clusterinstancesinfo_tmp = ClusterInstancesInfo.new
1001
+ clusterinstancesinfo_tmp.deserialize(i)
1002
+ @ClusterList << clusterinstancesinfo_tmp
1003
+ end
1004
+ end
1005
+ @TagKeys = params['TagKeys']
1006
+ @RequestId = params['RequestId']
1007
+ end
1008
+ end
1009
+
1010
+ # DescribeJobFlow请求参数结构体
1011
+ class DescribeJobFlowRequest < TencentCloud::Common::AbstractModel
1012
+ # @param JobFlowId: 流程任务Id,RunJobFlow接口返回的值。
1013
+ # @type JobFlowId: Integer
1014
+
1015
+ attr_accessor :JobFlowId
1016
+
1017
+ def initialize(jobflowid=nil)
1018
+ @JobFlowId = jobflowid
1019
+ end
1020
+
1021
+ def deserialize(params)
1022
+ @JobFlowId = params['JobFlowId']
1023
+ end
1024
+ end
1025
+
1026
+ # DescribeJobFlow返回参数结构体
1027
+ class DescribeJobFlowResponse < TencentCloud::Common::AbstractModel
1028
+ # @param State: 流程任务状态,可以为以下值:
1029
+ # JobFlowInit,流程任务初始化。
1030
+ # JobFlowResourceApplied,资源申请中,通常为JobFlow需要新建集群时的状态。
1031
+ # JobFlowResourceReady,执行流程任务的资源就绪。
1032
+ # JobFlowStepsRunning,流程任务步骤已提交。
1033
+ # JobFlowStepsComplete,流程任务步骤已完成。
1034
+ # JobFlowTerminating,流程任务所需资源销毁中。
1035
+ # JobFlowFinish,流程任务已完成。
1036
+ # @type State: String
1037
+ # @param Details: 流程任务步骤结果。
1038
+ # @type Details: Array
1039
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1040
+ # @type RequestId: String
1041
+
1042
+ attr_accessor :State, :Details, :RequestId
1043
+
1044
+ def initialize(state=nil, details=nil, requestid=nil)
1045
+ @State = state
1046
+ @Details = details
1047
+ @RequestId = requestid
1048
+ end
1049
+
1050
+ def deserialize(params)
1051
+ @State = params['State']
1052
+ unless params['Details'].nil?
1053
+ @Details = []
1054
+ params['Details'].each do |i|
1055
+ jobresult_tmp = JobResult.new
1056
+ jobresult_tmp.deserialize(i)
1057
+ @Details << jobresult_tmp
1058
+ end
1059
+ end
1060
+ @RequestId = params['RequestId']
1061
+ end
1062
+ end
1063
+
1064
+ # 磁盘组。
1065
+ class DiskGroup < TencentCloud::Common::AbstractModel
1066
+ # @param Spec: 磁盘规格。
1067
+ # @type Spec: :class:`Tencentcloud::Emr.v20190103.models.DiskSpec`
1068
+ # @param Count: 同类型磁盘数量。
1069
+ # @type Count: Integer
1070
+
1071
+ attr_accessor :Spec, :Count
1072
+
1073
+ def initialize(spec=nil, count=nil)
1074
+ @Spec = spec
1075
+ @Count = count
1076
+ end
1077
+
1078
+ def deserialize(params)
1079
+ unless params['Spec'].nil?
1080
+ @Spec = DiskSpec.new
1081
+ @Spec.deserialize(params['Spec'])
1082
+ end
1083
+ @Count = params['Count']
1084
+ end
1085
+ end
1086
+
1087
+ # 磁盘描述。
1088
+ class DiskSpec < TencentCloud::Common::AbstractModel
1089
+ # @param DiskType: 磁盘类型。
1090
+ # LOCAL_BASIC 本地盘。
1091
+ # CLOUD_BASIC 云硬盘。
1092
+ # LOCAL_SSD 本地SSD。
1093
+ # CLOUD_SSD 云SSD。
1094
+ # CLOUD_PREMIUM 高效云盘。
1095
+ # CLOUD_HSSD 增强型云SSD。
1096
+ # @type DiskType: String
1097
+ # @param DiskSize: 磁盘大小,单位GB。
1098
+ # @type DiskSize: Integer
1099
+
1100
+ attr_accessor :DiskType, :DiskSize
1101
+
1102
+ def initialize(disktype=nil, disksize=nil)
1103
+ @DiskType = disktype
1104
+ @DiskSize = disksize
1105
+ end
1106
+
1107
+ def deserialize(params)
1108
+ @DiskType = params['DiskType']
1109
+ @DiskSize = params['DiskSize']
1110
+ end
1111
+ end
1112
+
1113
+ # POD浮动规格
1114
+ class DynamicPodSpec < TencentCloud::Common::AbstractModel
1115
+ # @param RequestCpu: 需求最小cpu核数
1116
+ # @type RequestCpu: Float
1117
+ # @param LimitCpu: 需求最大cpu核数
1118
+ # @type LimitCpu: Float
1119
+ # @param RequestMemory: 需求最小memory,单位MB
1120
+ # @type RequestMemory: Float
1121
+ # @param LimitMemory: 需求最大memory,单位MB
1122
+ # @type LimitMemory: Float
1123
+
1124
+ attr_accessor :RequestCpu, :LimitCpu, :RequestMemory, :LimitMemory
1125
+
1126
+ def initialize(requestcpu=nil, limitcpu=nil, requestmemory=nil, limitmemory=nil)
1127
+ @RequestCpu = requestcpu
1128
+ @LimitCpu = limitcpu
1129
+ @RequestMemory = requestmemory
1130
+ @LimitMemory = limitmemory
1131
+ end
1132
+
1133
+ def deserialize(params)
1134
+ @RequestCpu = params['RequestCpu']
1135
+ @LimitCpu = params['LimitCpu']
1136
+ @RequestMemory = params['RequestMemory']
1137
+ @LimitMemory = params['LimitMemory']
1138
+ end
1139
+ end
1140
+
1141
+ # EMR产品配置
1142
+ class EmrProductConfigOutter < TencentCloud::Common::AbstractModel
1143
+ # @param SoftInfo: 软件信息
1144
+ # 注意:此字段可能返回 null,表示取不到有效值。
1145
+ # @type SoftInfo: Array
1146
+ # @param MasterNodeSize: Master节点个数
1147
+ # 注意:此字段可能返回 null,表示取不到有效值。
1148
+ # @type MasterNodeSize: Integer
1149
+ # @param CoreNodeSize: Core节点个数
1150
+ # 注意:此字段可能返回 null,表示取不到有效值。
1151
+ # @type CoreNodeSize: Integer
1152
+ # @param TaskNodeSize: Task节点个数
1153
+ # 注意:此字段可能返回 null,表示取不到有效值。
1154
+ # @type TaskNodeSize: Integer
1155
+ # @param ComNodeSize: Common节点个数
1156
+ # 注意:此字段可能返回 null,表示取不到有效值。
1157
+ # @type ComNodeSize: Integer
1158
+ # @param MasterResource: Master节点资源
1159
+ # 注意:此字段可能返回 null,表示取不到有效值。
1160
+ # @type MasterResource: :class:`Tencentcloud::Emr.v20190103.models.OutterResource`
1161
+ # @param CoreResource: Core节点资源
1162
+ # 注意:此字段可能返回 null,表示取不到有效值。
1163
+ # @type CoreResource: :class:`Tencentcloud::Emr.v20190103.models.OutterResource`
1164
+ # @param TaskResource: Task节点资源
1165
+ # 注意:此字段可能返回 null,表示取不到有效值。
1166
+ # @type TaskResource: :class:`Tencentcloud::Emr.v20190103.models.OutterResource`
1167
+ # @param ComResource: Common节点资源
1168
+ # 注意:此字段可能返回 null,表示取不到有效值。
1169
+ # @type ComResource: :class:`Tencentcloud::Emr.v20190103.models.OutterResource`
1170
+ # @param OnCos: 是否使用COS
1171
+ # 注意:此字段可能返回 null,表示取不到有效值。
1172
+ # @type OnCos: Boolean
1173
+ # @param ChargeType: 收费类型
1174
+ # 注意:此字段可能返回 null,表示取不到有效值。
1175
+ # @type ChargeType: Integer
1176
+ # @param RouterNodeSize: Router节点个数
1177
+ # 注意:此字段可能返回 null,表示取不到有效值。
1178
+ # @type RouterNodeSize: Integer
1179
+ # @param SupportHA: 是否支持HA
1180
+ # 注意:此字段可能返回 null,表示取不到有效值。
1181
+ # @type SupportHA: Boolean
1182
+ # @param SecurityOn: 是否支持安全模式
1183
+ # 注意:此字段可能返回 null,表示取不到有效值。
1184
+ # @type SecurityOn: Boolean
1185
+ # @param SecurityGroup: 安全组名称
1186
+ # 注意:此字段可能返回 null,表示取不到有效值。
1187
+ # @type SecurityGroup: String
1188
+ # @param CbsEncrypt: 是否开启Cbs加密
1189
+ # 注意:此字段可能返回 null,表示取不到有效值。
1190
+ # @type CbsEncrypt: Integer
1191
+ # @param ApplicationRole: 自定义应用角色。
1192
+ # 注意:此字段可能返回 null,表示取不到有效值。
1193
+ # @type ApplicationRole: String
1194
+ # @param SecurityGroups: 安全组
1195
+ # 注意:此字段可能返回 null,表示取不到有效值。
1196
+ # @type SecurityGroups: Array
1197
+
1198
+ attr_accessor :SoftInfo, :MasterNodeSize, :CoreNodeSize, :TaskNodeSize, :ComNodeSize, :MasterResource, :CoreResource, :TaskResource, :ComResource, :OnCos, :ChargeType, :RouterNodeSize, :SupportHA, :SecurityOn, :SecurityGroup, :CbsEncrypt, :ApplicationRole, :SecurityGroups
1199
+
1200
+ def initialize(softinfo=nil, masternodesize=nil, corenodesize=nil, tasknodesize=nil, comnodesize=nil, masterresource=nil, coreresource=nil, taskresource=nil, comresource=nil, oncos=nil, chargetype=nil, routernodesize=nil, supportha=nil, securityon=nil, securitygroup=nil, cbsencrypt=nil, applicationrole=nil, securitygroups=nil)
1201
+ @SoftInfo = softinfo
1202
+ @MasterNodeSize = masternodesize
1203
+ @CoreNodeSize = corenodesize
1204
+ @TaskNodeSize = tasknodesize
1205
+ @ComNodeSize = comnodesize
1206
+ @MasterResource = masterresource
1207
+ @CoreResource = coreresource
1208
+ @TaskResource = taskresource
1209
+ @ComResource = comresource
1210
+ @OnCos = oncos
1211
+ @ChargeType = chargetype
1212
+ @RouterNodeSize = routernodesize
1213
+ @SupportHA = supportha
1214
+ @SecurityOn = securityon
1215
+ @SecurityGroup = securitygroup
1216
+ @CbsEncrypt = cbsencrypt
1217
+ @ApplicationRole = applicationrole
1218
+ @SecurityGroups = securitygroups
1219
+ end
1220
+
1221
+ def deserialize(params)
1222
+ @SoftInfo = params['SoftInfo']
1223
+ @MasterNodeSize = params['MasterNodeSize']
1224
+ @CoreNodeSize = params['CoreNodeSize']
1225
+ @TaskNodeSize = params['TaskNodeSize']
1226
+ @ComNodeSize = params['ComNodeSize']
1227
+ unless params['MasterResource'].nil?
1228
+ @MasterResource = OutterResource.new
1229
+ @MasterResource.deserialize(params['MasterResource'])
1230
+ end
1231
+ unless params['CoreResource'].nil?
1232
+ @CoreResource = OutterResource.new
1233
+ @CoreResource.deserialize(params['CoreResource'])
1234
+ end
1235
+ unless params['TaskResource'].nil?
1236
+ @TaskResource = OutterResource.new
1237
+ @TaskResource.deserialize(params['TaskResource'])
1238
+ end
1239
+ unless params['ComResource'].nil?
1240
+ @ComResource = OutterResource.new
1241
+ @ComResource.deserialize(params['ComResource'])
1242
+ end
1243
+ @OnCos = params['OnCos']
1244
+ @ChargeType = params['ChargeType']
1245
+ @RouterNodeSize = params['RouterNodeSize']
1246
+ @SupportHA = params['SupportHA']
1247
+ @SecurityOn = params['SecurityOn']
1248
+ @SecurityGroup = params['SecurityGroup']
1249
+ @CbsEncrypt = params['CbsEncrypt']
1250
+ @ApplicationRole = params['ApplicationRole']
1251
+ @SecurityGroups = params['SecurityGroups']
1252
+ end
1253
+ end
1254
+
1255
+ # 执行动作。
1256
+ class Execution < TencentCloud::Common::AbstractModel
1257
+ # @param JobType: 任务类型,目前支持以下类型。
1258
+ # 1. “MR”,将通过hadoop jar的方式提交。
1259
+ # 2. "HIVE",将通过hive -f的方式提交。
1260
+ # 3. "SPARK",将通过spark-submit的方式提交。
1261
+ # @type JobType: String
1262
+ # @param Args: 任务参数,提供除提交指令以外的参数。
1263
+ # @type Args: Array
1264
+
1265
+ attr_accessor :JobType, :Args
1266
+
1267
+ def initialize(jobtype=nil, args=nil)
1268
+ @JobType = jobtype
1269
+ @Args = args
1270
+ end
1271
+
1272
+ def deserialize(params)
1273
+ @JobType = params['JobType']
1274
+ @Args = params['Args']
1275
+ end
1276
+ end
1277
+
1278
+ # Pod HostPath挂载方式描述
1279
+ class HostVolumeContext < TencentCloud::Common::AbstractModel
1280
+ # @param VolumePath: Pod挂载宿主机的目录。资源对宿主机的挂载点,指定的挂载点对应了宿主机的路径,该挂载点在Pod中作为数据存储目录使用
1281
+ # 注意:此字段可能返回 null,表示取不到有效值。
1282
+ # @type VolumePath: String
1283
+
1284
+ attr_accessor :VolumePath
1285
+
1286
+ def initialize(volumepath=nil)
1287
+ @VolumePath = volumepath
1288
+ end
1289
+
1290
+ def deserialize(params)
1291
+ @VolumePath = params['VolumePath']
1292
+ end
1293
+ end
1294
+
1295
+ # InquirePriceRenewEmr请求参数结构体
1296
+ class InquirePriceRenewEmrRequest < TencentCloud::Common::AbstractModel
1297
+ # @param TimeSpan: 实例续费的时长。需要结合TimeUnit一起使用。1表示续费1一个月
1298
+ # @type TimeSpan: Integer
1299
+ # @param InstanceId: 待续费集群ID列表。
1300
+ # @type InstanceId: String
1301
+ # @param Placement: 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1302
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
1303
+ # @param PayMode: 实例计费模式。此处只支持取值为1,表示包年包月。
1304
+ # @type PayMode: Integer
1305
+ # @param TimeUnit: 实例续费的时间单位。取值范围:
1306
+ # <li>m:表示月份。</li>
1307
+ # @type TimeUnit: String
1308
+ # @param Currency: 货币种类。取值范围:
1309
+ # <li>CNY:表示人民币。</li>
1310
+ # @type Currency: String
1311
+
1312
+ attr_accessor :TimeSpan, :InstanceId, :Placement, :PayMode, :TimeUnit, :Currency
1313
+
1314
+ def initialize(timespan=nil, instanceid=nil, placement=nil, paymode=nil, timeunit=nil, currency=nil)
1315
+ @TimeSpan = timespan
1316
+ @InstanceId = instanceid
1317
+ @Placement = placement
1318
+ @PayMode = paymode
1319
+ @TimeUnit = timeunit
1320
+ @Currency = currency
1321
+ end
1322
+
1323
+ def deserialize(params)
1324
+ @TimeSpan = params['TimeSpan']
1325
+ @InstanceId = params['InstanceId']
1326
+ unless params['Placement'].nil?
1327
+ @Placement = Placement.new
1328
+ @Placement.deserialize(params['Placement'])
1329
+ end
1330
+ @PayMode = params['PayMode']
1331
+ @TimeUnit = params['TimeUnit']
1332
+ @Currency = params['Currency']
1333
+ end
1334
+ end
1335
+
1336
+ # InquirePriceRenewEmr返回参数结构体
1337
+ class InquirePriceRenewEmrResponse < TencentCloud::Common::AbstractModel
1338
+ # @param OriginalCost: 原价,单位为元。
1339
+ # 注意:此字段可能返回 null,表示取不到有效值。
1340
+ # @type OriginalCost: Float
1341
+ # @param DiscountCost: 折扣价,单位为元。
1342
+ # 注意:此字段可能返回 null,表示取不到有效值。
1343
+ # @type DiscountCost: Float
1344
+ # @param TimeUnit: 实例续费的时间单位。取值范围:
1345
+ # <li>m:表示月份。</li>
1346
+ # 注意:此字段可能返回 null,表示取不到有效值。
1347
+ # @type TimeUnit: String
1348
+ # @param TimeSpan: 实例续费的时长。
1349
+ # 注意:此字段可能返回 null,表示取不到有效值。
1350
+ # @type TimeSpan: Integer
1351
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1352
+ # @type RequestId: String
1353
+
1354
+ attr_accessor :OriginalCost, :DiscountCost, :TimeUnit, :TimeSpan, :RequestId
1355
+
1356
+ def initialize(originalcost=nil, discountcost=nil, timeunit=nil, timespan=nil, requestid=nil)
1357
+ @OriginalCost = originalcost
1358
+ @DiscountCost = discountcost
1359
+ @TimeUnit = timeunit
1360
+ @TimeSpan = timespan
1361
+ @RequestId = requestid
1362
+ end
1363
+
1364
+ def deserialize(params)
1365
+ @OriginalCost = params['OriginalCost']
1366
+ @DiscountCost = params['DiscountCost']
1367
+ @TimeUnit = params['TimeUnit']
1368
+ @TimeSpan = params['TimeSpan']
1369
+ @RequestId = params['RequestId']
1370
+ end
1371
+ end
1372
+
1373
+ # InquiryPriceCreateInstance请求参数结构体
1374
+ class InquiryPriceCreateInstanceRequest < TencentCloud::Common::AbstractModel
1375
+ # @param TimeUnit: 购买实例的时间单位。取值范围:
1376
+ # <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1377
+ # <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1378
+ # @type TimeUnit: String
1379
+ # @param TimeSpan: 购买实例的时长。结合TimeUnit一起使用。
1380
+ # <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1381
+ # <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1382
+ # @type TimeSpan: Integer
1383
+ # @param ResourceSpec: 询价的节点规格。
1384
+ # @type ResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.NewResourceSpec`
1385
+ # @param Currency: 货币种类。取值范围:
1386
+ # <li>CNY:表示人民币。</li>
1387
+ # @type Currency: String
1388
+ # @param PayMode: 实例计费模式。取值范围:
1389
+ # <li>0:表示按量计费。</li>
1390
+ # <li>1:表示包年包月。</li>
1391
+ # @type PayMode: Integer
1392
+ # @param SupportHA: 是否开启节点高可用。取值范围:
1393
+ # <li>0:表示不开启节点高可用。</li>
1394
+ # <li>1:表示开启节点高可用。</li>
1395
+ # @type SupportHA: Integer
1396
+ # @param Software: 部署的组件列表。不同的EMR产品ID(ProductId:具体含义参考入参ProductId字段)需要选择不同的必选组件:
1397
+ # <li>ProductId为1的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
1398
+ # <li>ProductId为2的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
1399
+ # <li>ProductId为4的时候,必选组件包括:hadoop-2.8.4、knox-1.2.0、zookeeper-3.4.9</li>
1400
+ # <li>ProductId为7的时候,必选组件包括:hadoop-3.1.2、knox-1.2.0、zookeeper-3.4.9</li>
1401
+ # @type Software: Array
1402
+ # @param Placement: 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1403
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
1404
+ # @param VPCSettings: 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。
1405
+ # @type VPCSettings: :class:`Tencentcloud::Emr.v20190103.models.VPCSettings`
1406
+ # @param MetaType: hive共享元数据库类型。取值范围:
1407
+ # <li>EMR_NEW_META:表示集群默认创建</li>
1408
+ # <li>EMR_EXIT_METE:表示集群使用指定EMR-MetaDB。</li>
1409
+ # <li>USER_CUSTOM_META:表示集群使用自定义MetaDB。</li>
1410
+ # @type MetaType: String
1411
+ # @param UnifyMetaInstanceId: EMR-MetaDB实例
1412
+ # @type UnifyMetaInstanceId: String
1413
+ # @param MetaDBInfo: 自定义MetaDB信息
1414
+ # @type MetaDBInfo: :class:`Tencentcloud::Emr.v20190103.models.CustomMetaInfo`
1415
+ # @param ProductId: 产品ID,不同产品ID表示不同的EMR产品版本。取值范围:
1416
+ # <li>1:表示EMR-V1.3.1。</li>
1417
+ # <li>2:表示EMR-V2.0.1。</li>
1418
+ # <li>4:表示EMR-V2.1.0。</li>
1419
+ # <li>7:表示EMR-V3.0.0。</li>
1420
+ # @type ProductId: Integer
1421
+
1422
+ attr_accessor :TimeUnit, :TimeSpan, :ResourceSpec, :Currency, :PayMode, :SupportHA, :Software, :Placement, :VPCSettings, :MetaType, :UnifyMetaInstanceId, :MetaDBInfo, :ProductId
1423
+
1424
+ def initialize(timeunit=nil, timespan=nil, resourcespec=nil, currency=nil, paymode=nil, supportha=nil, software=nil, placement=nil, vpcsettings=nil, metatype=nil, unifymetainstanceid=nil, metadbinfo=nil, productid=nil)
1425
+ @TimeUnit = timeunit
1426
+ @TimeSpan = timespan
1427
+ @ResourceSpec = resourcespec
1428
+ @Currency = currency
1429
+ @PayMode = paymode
1430
+ @SupportHA = supportha
1431
+ @Software = software
1432
+ @Placement = placement
1433
+ @VPCSettings = vpcsettings
1434
+ @MetaType = metatype
1435
+ @UnifyMetaInstanceId = unifymetainstanceid
1436
+ @MetaDBInfo = metadbinfo
1437
+ @ProductId = productid
1438
+ end
1439
+
1440
+ def deserialize(params)
1441
+ @TimeUnit = params['TimeUnit']
1442
+ @TimeSpan = params['TimeSpan']
1443
+ unless params['ResourceSpec'].nil?
1444
+ @ResourceSpec = NewResourceSpec.new
1445
+ @ResourceSpec.deserialize(params['ResourceSpec'])
1446
+ end
1447
+ @Currency = params['Currency']
1448
+ @PayMode = params['PayMode']
1449
+ @SupportHA = params['SupportHA']
1450
+ @Software = params['Software']
1451
+ unless params['Placement'].nil?
1452
+ @Placement = Placement.new
1453
+ @Placement.deserialize(params['Placement'])
1454
+ end
1455
+ unless params['VPCSettings'].nil?
1456
+ @VPCSettings = VPCSettings.new
1457
+ @VPCSettings.deserialize(params['VPCSettings'])
1458
+ end
1459
+ @MetaType = params['MetaType']
1460
+ @UnifyMetaInstanceId = params['UnifyMetaInstanceId']
1461
+ unless params['MetaDBInfo'].nil?
1462
+ @MetaDBInfo = CustomMetaInfo.new
1463
+ @MetaDBInfo.deserialize(params['MetaDBInfo'])
1464
+ end
1465
+ @ProductId = params['ProductId']
1466
+ end
1467
+ end
1468
+
1469
+ # InquiryPriceCreateInstance返回参数结构体
1470
+ class InquiryPriceCreateInstanceResponse < TencentCloud::Common::AbstractModel
1471
+ # @param OriginalCost: 原价,单位为元。
1472
+ # 注意:此字段可能返回 null,表示取不到有效值。
1473
+ # @type OriginalCost: Float
1474
+ # @param DiscountCost: 折扣价,单位为元。
1475
+ # 注意:此字段可能返回 null,表示取不到有效值。
1476
+ # @type DiscountCost: Float
1477
+ # @param TimeUnit: 购买实例的时间单位。取值范围:
1478
+ # <li>s:表示秒。</li>
1479
+ # <li>m:表示月份。</li>
1480
+ # 注意:此字段可能返回 null,表示取不到有效值。
1481
+ # @type TimeUnit: String
1482
+ # @param TimeSpan: 购买实例的时长。
1483
+ # 注意:此字段可能返回 null,表示取不到有效值。
1484
+ # @type TimeSpan: Integer
1485
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1486
+ # @type RequestId: String
1487
+
1488
+ attr_accessor :OriginalCost, :DiscountCost, :TimeUnit, :TimeSpan, :RequestId
1489
+
1490
+ def initialize(originalcost=nil, discountcost=nil, timeunit=nil, timespan=nil, requestid=nil)
1491
+ @OriginalCost = originalcost
1492
+ @DiscountCost = discountcost
1493
+ @TimeUnit = timeunit
1494
+ @TimeSpan = timespan
1495
+ @RequestId = requestid
1496
+ end
1497
+
1498
+ def deserialize(params)
1499
+ @OriginalCost = params['OriginalCost']
1500
+ @DiscountCost = params['DiscountCost']
1501
+ @TimeUnit = params['TimeUnit']
1502
+ @TimeSpan = params['TimeSpan']
1503
+ @RequestId = params['RequestId']
1504
+ end
1505
+ end
1506
+
1507
+ # InquiryPriceRenewInstance请求参数结构体
1508
+ class InquiryPriceRenewInstanceRequest < TencentCloud::Common::AbstractModel
1509
+ # @param TimeSpan: 实例续费的时长。需要结合TimeUnit一起使用。1表示续费1一个月
1510
+ # @type TimeSpan: Integer
1511
+ # @param ResourceIds: 待续费节点的资源ID列表。资源ID形如:emr-vm-xxxxxxxx。有效的资源ID可通过登录[控制台](https://console.cloud.tencent.com/emr/static/hardware)查询。
1512
+ # @type ResourceIds: Array
1513
+ # @param Placement: 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1514
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
1515
+ # @param PayMode: 实例计费模式。此处只支持取值为1,表示包年包月。
1516
+ # @type PayMode: Integer
1517
+ # @param TimeUnit: 实例续费的时间单位。取值范围:
1518
+ # <li>m:表示月份。</li>
1519
+ # @type TimeUnit: String
1520
+ # @param Currency: 货币种类。取值范围:
1521
+ # <li>CNY:表示人民币。</li>
1522
+ # @type Currency: String
1523
+ # @param ModifyPayMode: 是否按量转包年包月。0:否,1:是。
1524
+ # @type ModifyPayMode: Integer
1525
+
1526
+ attr_accessor :TimeSpan, :ResourceIds, :Placement, :PayMode, :TimeUnit, :Currency, :ModifyPayMode
1527
+
1528
+ def initialize(timespan=nil, resourceids=nil, placement=nil, paymode=nil, timeunit=nil, currency=nil, modifypaymode=nil)
1529
+ @TimeSpan = timespan
1530
+ @ResourceIds = resourceids
1531
+ @Placement = placement
1532
+ @PayMode = paymode
1533
+ @TimeUnit = timeunit
1534
+ @Currency = currency
1535
+ @ModifyPayMode = modifypaymode
1536
+ end
1537
+
1538
+ def deserialize(params)
1539
+ @TimeSpan = params['TimeSpan']
1540
+ @ResourceIds = params['ResourceIds']
1541
+ unless params['Placement'].nil?
1542
+ @Placement = Placement.new
1543
+ @Placement.deserialize(params['Placement'])
1544
+ end
1545
+ @PayMode = params['PayMode']
1546
+ @TimeUnit = params['TimeUnit']
1547
+ @Currency = params['Currency']
1548
+ @ModifyPayMode = params['ModifyPayMode']
1549
+ end
1550
+ end
1551
+
1552
+ # InquiryPriceRenewInstance返回参数结构体
1553
+ class InquiryPriceRenewInstanceResponse < TencentCloud::Common::AbstractModel
1554
+ # @param OriginalCost: 原价,单位为元。
1555
+ # 注意:此字段可能返回 null,表示取不到有效值。
1556
+ # @type OriginalCost: Float
1557
+ # @param DiscountCost: 折扣价,单位为元。
1558
+ # 注意:此字段可能返回 null,表示取不到有效值。
1559
+ # @type DiscountCost: Float
1560
+ # @param TimeUnit: 实例续费的时间单位。取值范围:
1561
+ # <li>m:表示月份。</li>
1562
+ # 注意:此字段可能返回 null,表示取不到有效值。
1563
+ # @type TimeUnit: String
1564
+ # @param TimeSpan: 实例续费的时长。
1565
+ # 注意:此字段可能返回 null,表示取不到有效值。
1566
+ # @type TimeSpan: Integer
1567
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1568
+ # @type RequestId: String
1569
+
1570
+ attr_accessor :OriginalCost, :DiscountCost, :TimeUnit, :TimeSpan, :RequestId
1571
+
1572
+ def initialize(originalcost=nil, discountcost=nil, timeunit=nil, timespan=nil, requestid=nil)
1573
+ @OriginalCost = originalcost
1574
+ @DiscountCost = discountcost
1575
+ @TimeUnit = timeunit
1576
+ @TimeSpan = timespan
1577
+ @RequestId = requestid
1578
+ end
1579
+
1580
+ def deserialize(params)
1581
+ @OriginalCost = params['OriginalCost']
1582
+ @DiscountCost = params['DiscountCost']
1583
+ @TimeUnit = params['TimeUnit']
1584
+ @TimeSpan = params['TimeSpan']
1585
+ @RequestId = params['RequestId']
1586
+ end
1587
+ end
1588
+
1589
+ # InquiryPriceScaleOutInstance请求参数结构体
1590
+ class InquiryPriceScaleOutInstanceRequest < TencentCloud::Common::AbstractModel
1591
+ # @param TimeUnit: 扩容的时间单位。取值范围:
1592
+ # <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1593
+ # <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1594
+ # @type TimeUnit: String
1595
+ # @param TimeSpan: 扩容的时长。结合TimeUnit一起使用。
1596
+ # <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1597
+ # <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1598
+ # @type TimeSpan: Integer
1599
+ # @param ZoneId: 实例所属的可用区ID,例如100003。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/api/213/15707) 的返回值中的ZoneId字段来获取。
1600
+ # @type ZoneId: Integer
1601
+ # @param PayMode: 实例计费模式。取值范围:
1602
+ # <li>0:表示按量计费。</li>
1603
+ # <li>1:表示包年包月。</li>
1604
+ # @type PayMode: Integer
1605
+ # @param InstanceId: 实例ID。
1606
+ # @type InstanceId: String
1607
+ # @param CoreCount: 扩容的Core节点数量。
1608
+ # @type CoreCount: Integer
1609
+ # @param TaskCount: 扩容的Task节点数量。
1610
+ # @type TaskCount: Integer
1611
+ # @param Currency: 货币种类。取值范围:
1612
+ # <li>CNY:表示人民币。</li>
1613
+ # @type Currency: String
1614
+ # @param RouterCount: 扩容的Router节点数量。
1615
+ # @type RouterCount: Integer
1616
+ # @param MasterCount: 扩容的Master节点数量。
1617
+ # @type MasterCount: Integer
1618
+
1619
+ attr_accessor :TimeUnit, :TimeSpan, :ZoneId, :PayMode, :InstanceId, :CoreCount, :TaskCount, :Currency, :RouterCount, :MasterCount
1620
+
1621
+ def initialize(timeunit=nil, timespan=nil, zoneid=nil, paymode=nil, instanceid=nil, corecount=nil, taskcount=nil, currency=nil, routercount=nil, mastercount=nil)
1622
+ @TimeUnit = timeunit
1623
+ @TimeSpan = timespan
1624
+ @ZoneId = zoneid
1625
+ @PayMode = paymode
1626
+ @InstanceId = instanceid
1627
+ @CoreCount = corecount
1628
+ @TaskCount = taskcount
1629
+ @Currency = currency
1630
+ @RouterCount = routercount
1631
+ @MasterCount = mastercount
1632
+ end
1633
+
1634
+ def deserialize(params)
1635
+ @TimeUnit = params['TimeUnit']
1636
+ @TimeSpan = params['TimeSpan']
1637
+ @ZoneId = params['ZoneId']
1638
+ @PayMode = params['PayMode']
1639
+ @InstanceId = params['InstanceId']
1640
+ @CoreCount = params['CoreCount']
1641
+ @TaskCount = params['TaskCount']
1642
+ @Currency = params['Currency']
1643
+ @RouterCount = params['RouterCount']
1644
+ @MasterCount = params['MasterCount']
1645
+ end
1646
+ end
1647
+
1648
+ # InquiryPriceScaleOutInstance返回参数结构体
1649
+ class InquiryPriceScaleOutInstanceResponse < TencentCloud::Common::AbstractModel
1650
+ # @param OriginalCost: 原价,单位为元。
1651
+ # 注意:此字段可能返回 null,表示取不到有效值。
1652
+ # @type OriginalCost: String
1653
+ # @param DiscountCost: 折扣价,单位为元。
1654
+ # 注意:此字段可能返回 null,表示取不到有效值。
1655
+ # @type DiscountCost: String
1656
+ # @param Unit: 扩容的时间单位。取值范围:
1657
+ # <li>s:表示秒。</li>
1658
+ # <li>m:表示月份。</li>
1659
+ # 注意:此字段可能返回 null,表示取不到有效值。
1660
+ # @type Unit: String
1661
+ # @param PriceSpec: 询价的节点规格。
1662
+ # 注意:此字段可能返回 null,表示取不到有效值。
1663
+ # @type PriceSpec: :class:`Tencentcloud::Emr.v20190103.models.PriceResource`
1664
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1665
+ # @type RequestId: String
1666
+
1667
+ attr_accessor :OriginalCost, :DiscountCost, :Unit, :PriceSpec, :RequestId
1668
+
1669
+ def initialize(originalcost=nil, discountcost=nil, unit=nil, pricespec=nil, requestid=nil)
1670
+ @OriginalCost = originalcost
1671
+ @DiscountCost = discountcost
1672
+ @Unit = unit
1673
+ @PriceSpec = pricespec
1674
+ @RequestId = requestid
1675
+ end
1676
+
1677
+ def deserialize(params)
1678
+ @OriginalCost = params['OriginalCost']
1679
+ @DiscountCost = params['DiscountCost']
1680
+ @Unit = params['Unit']
1681
+ unless params['PriceSpec'].nil?
1682
+ @PriceSpec = PriceResource.new
1683
+ @PriceSpec.deserialize(params['PriceSpec'])
1684
+ end
1685
+ @RequestId = params['RequestId']
1686
+ end
1687
+ end
1688
+
1689
+ # InquiryPriceUpdateInstance请求参数结构体
1690
+ class InquiryPriceUpdateInstanceRequest < TencentCloud::Common::AbstractModel
1691
+ # @param TimeUnit: 变配的时间单位。取值范围:
1692
+ # <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1693
+ # <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1694
+ # @type TimeUnit: String
1695
+ # @param TimeSpan: 变配的时长。结合TimeUnit一起使用。
1696
+ # <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1697
+ # <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1698
+ # @type TimeSpan: Integer
1699
+ # @param UpdateSpec: 节点变配的目标配置。
1700
+ # @type UpdateSpec: :class:`Tencentcloud::Emr.v20190103.models.UpdateInstanceSettings`
1701
+ # @param PayMode: 实例计费模式。取值范围:
1702
+ # <li>0:表示按量计费。</li>
1703
+ # <li>1:表示包年包月。</li>
1704
+ # @type PayMode: Integer
1705
+ # @param Placement: 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1706
+ # @type Placement: :class:`Tencentcloud::Emr.v20190103.models.Placement`
1707
+ # @param Currency: 货币种类。取值范围:
1708
+ # <li>CNY:表示人民币。</li>
1709
+ # @type Currency: String
1710
+
1711
+ attr_accessor :TimeUnit, :TimeSpan, :UpdateSpec, :PayMode, :Placement, :Currency
1712
+
1713
+ def initialize(timeunit=nil, timespan=nil, updatespec=nil, paymode=nil, placement=nil, currency=nil)
1714
+ @TimeUnit = timeunit
1715
+ @TimeSpan = timespan
1716
+ @UpdateSpec = updatespec
1717
+ @PayMode = paymode
1718
+ @Placement = placement
1719
+ @Currency = currency
1720
+ end
1721
+
1722
+ def deserialize(params)
1723
+ @TimeUnit = params['TimeUnit']
1724
+ @TimeSpan = params['TimeSpan']
1725
+ unless params['UpdateSpec'].nil?
1726
+ @UpdateSpec = UpdateInstanceSettings.new
1727
+ @UpdateSpec.deserialize(params['UpdateSpec'])
1728
+ end
1729
+ @PayMode = params['PayMode']
1730
+ unless params['Placement'].nil?
1731
+ @Placement = Placement.new
1732
+ @Placement.deserialize(params['Placement'])
1733
+ end
1734
+ @Currency = params['Currency']
1735
+ end
1736
+ end
1737
+
1738
+ # InquiryPriceUpdateInstance返回参数结构体
1739
+ class InquiryPriceUpdateInstanceResponse < TencentCloud::Common::AbstractModel
1740
+ # @param OriginalCost: 原价,单位为元。
1741
+ # 注意:此字段可能返回 null,表示取不到有效值。
1742
+ # @type OriginalCost: Float
1743
+ # @param DiscountCost: 折扣价,单位为元。
1744
+ # 注意:此字段可能返回 null,表示取不到有效值。
1745
+ # @type DiscountCost: Float
1746
+ # @param TimeUnit: 变配的时间单位。取值范围:
1747
+ # <li>s:表示秒。</li>
1748
+ # <li>m:表示月份。</li>
1749
+ # 注意:此字段可能返回 null,表示取不到有效值。
1750
+ # @type TimeUnit: String
1751
+ # @param TimeSpan: 变配的时长。
1752
+ # 注意:此字段可能返回 null,表示取不到有效值。
1753
+ # @type TimeSpan: Integer
1754
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1755
+ # @type RequestId: String
1756
+
1757
+ attr_accessor :OriginalCost, :DiscountCost, :TimeUnit, :TimeSpan, :RequestId
1758
+
1759
+ def initialize(originalcost=nil, discountcost=nil, timeunit=nil, timespan=nil, requestid=nil)
1760
+ @OriginalCost = originalcost
1761
+ @DiscountCost = discountcost
1762
+ @TimeUnit = timeunit
1763
+ @TimeSpan = timespan
1764
+ @RequestId = requestid
1765
+ end
1766
+
1767
+ def deserialize(params)
1768
+ @OriginalCost = params['OriginalCost']
1769
+ @DiscountCost = params['DiscountCost']
1770
+ @TimeUnit = params['TimeUnit']
1771
+ @TimeSpan = params['TimeSpan']
1772
+ @RequestId = params['RequestId']
1773
+ end
1774
+ end
1775
+
1776
+ # 实例预付费参数,只有在付费类型为PREPAID时生效。
1777
+ class InstanceChargePrepaid < TencentCloud::Common::AbstractModel
1778
+ # @param Period: 包年包月时间,默认为1,单位:月。
1779
+ # 取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 24, 36, 48, 60。
1780
+ # @type Period: Integer
1781
+ # @param RenewFlag: 是否自动续费,默认为否。
1782
+ # @type RenewFlag: Boolean
1783
+
1784
+ attr_accessor :Period, :RenewFlag
1785
+
1786
+ def initialize(period=nil, renewflag=nil)
1787
+ @Period = period
1788
+ @RenewFlag = renewflag
1789
+ end
1790
+
1791
+ def deserialize(params)
1792
+ @Period = params['Period']
1793
+ @RenewFlag = params['RenewFlag']
1794
+ end
1795
+ end
1796
+
1797
+ # 机器资源描述。
1798
+ class JobFlowResource < TencentCloud::Common::AbstractModel
1799
+ # @param Spec: 机器类型描述。
1800
+ # @type Spec: String
1801
+ # @param InstanceType: 机器类型描述,可参考CVM的该含义。
1802
+ # @type InstanceType: String
1803
+ # @param Tags: 标签KV对。
1804
+ # @type Tags: Array
1805
+ # @param DiskGroups: 磁盘描述列表。
1806
+ # @type DiskGroups: Array
1807
+
1808
+ attr_accessor :Spec, :InstanceType, :Tags, :DiskGroups
1809
+
1810
+ def initialize(spec=nil, instancetype=nil, tags=nil, diskgroups=nil)
1811
+ @Spec = spec
1812
+ @InstanceType = instancetype
1813
+ @Tags = tags
1814
+ @DiskGroups = diskgroups
1815
+ end
1816
+
1817
+ def deserialize(params)
1818
+ @Spec = params['Spec']
1819
+ @InstanceType = params['InstanceType']
1820
+ unless params['Tags'].nil?
1821
+ @Tags = []
1822
+ params['Tags'].each do |i|
1823
+ tag_tmp = Tag.new
1824
+ tag_tmp.deserialize(i)
1825
+ @Tags << tag_tmp
1826
+ end
1827
+ end
1828
+ unless params['DiskGroups'].nil?
1829
+ @DiskGroups = []
1830
+ params['DiskGroups'].each do |i|
1831
+ diskgroup_tmp = DiskGroup.new
1832
+ diskgroup_tmp.deserialize(i)
1833
+ @DiskGroups << diskgroup_tmp
1834
+ end
1835
+ end
1836
+ end
1837
+ end
1838
+
1839
+ # 流程作业资源描述
1840
+ class JobFlowResourceSpec < TencentCloud::Common::AbstractModel
1841
+ # @param MasterCount: 主节点数量。
1842
+ # @type MasterCount: Integer
1843
+ # @param MasterResourceSpec: 主节点配置。
1844
+ # @type MasterResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.JobFlowResource`
1845
+ # @param CoreCount: Core节点数量
1846
+ # @type CoreCount: Integer
1847
+ # @param CoreResourceSpec: Core节点配置。
1848
+ # @type CoreResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.JobFlowResource`
1849
+ # @param TaskCount: Task节点数量。
1850
+ # @type TaskCount: Integer
1851
+ # @param CommonCount: Common节点数量。
1852
+ # @type CommonCount: Integer
1853
+ # @param TaskResourceSpec: Task节点配置。
1854
+ # @type TaskResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.JobFlowResource`
1855
+ # @param CommonResourceSpec: Common节点配置。
1856
+ # @type CommonResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.JobFlowResource`
1857
+
1858
+ attr_accessor :MasterCount, :MasterResourceSpec, :CoreCount, :CoreResourceSpec, :TaskCount, :CommonCount, :TaskResourceSpec, :CommonResourceSpec
1859
+
1860
+ def initialize(mastercount=nil, masterresourcespec=nil, corecount=nil, coreresourcespec=nil, taskcount=nil, commoncount=nil, taskresourcespec=nil, commonresourcespec=nil)
1861
+ @MasterCount = mastercount
1862
+ @MasterResourceSpec = masterresourcespec
1863
+ @CoreCount = corecount
1864
+ @CoreResourceSpec = coreresourcespec
1865
+ @TaskCount = taskcount
1866
+ @CommonCount = commoncount
1867
+ @TaskResourceSpec = taskresourcespec
1868
+ @CommonResourceSpec = commonresourcespec
1869
+ end
1870
+
1871
+ def deserialize(params)
1872
+ @MasterCount = params['MasterCount']
1873
+ unless params['MasterResourceSpec'].nil?
1874
+ @MasterResourceSpec = JobFlowResource.new
1875
+ @MasterResourceSpec.deserialize(params['MasterResourceSpec'])
1876
+ end
1877
+ @CoreCount = params['CoreCount']
1878
+ unless params['CoreResourceSpec'].nil?
1879
+ @CoreResourceSpec = JobFlowResource.new
1880
+ @CoreResourceSpec.deserialize(params['CoreResourceSpec'])
1881
+ end
1882
+ @TaskCount = params['TaskCount']
1883
+ @CommonCount = params['CommonCount']
1884
+ unless params['TaskResourceSpec'].nil?
1885
+ @TaskResourceSpec = JobFlowResource.new
1886
+ @TaskResourceSpec.deserialize(params['TaskResourceSpec'])
1887
+ end
1888
+ unless params['CommonResourceSpec'].nil?
1889
+ @CommonResourceSpec = JobFlowResource.new
1890
+ @CommonResourceSpec.deserialize(params['CommonResourceSpec'])
1891
+ end
1892
+ end
1893
+ end
1894
+
1895
+ # 任务步骤结果描述
1896
+ class JobResult < TencentCloud::Common::AbstractModel
1897
+ # @param Name: 任务步骤名称。
1898
+ # 注意:此字段可能返回 null,表示取不到有效值。
1899
+ # @type Name: String
1900
+ # @param ActionOnFailure: 任务步骤失败时的处理策略,可以为以下值:
1901
+ # "CONTINUE",跳过当前失败步骤,继续后续步骤。
1902
+ # “TERMINATE_CLUSTER”,终止当前及后续步骤,并销毁集群。
1903
+ # “CANCEL_AND_WAIT”,取消当前步骤并阻塞等待处理。
1904
+ # 注意:此字段可能返回 null,表示取不到有效值。
1905
+ # @type ActionOnFailure: String
1906
+ # @param JobState: 当前步骤的状态,可以为以下值:
1907
+ # “JobFlowStepStatusInit”,初始化状态,等待执行。
1908
+ # “JobFlowStepStatusRunning”,任务步骤正在执行。
1909
+ # “JobFlowStepStatusFailed”,任务步骤执行失败。
1910
+ # “JobFlowStepStatusSucceed”,任务步骤执行成功。
1911
+ # 注意:此字段可能返回 null,表示取不到有效值。
1912
+ # @type JobState: String
1913
+
1914
+ attr_accessor :Name, :ActionOnFailure, :JobState
1915
+
1916
+ def initialize(name=nil, actiononfailure=nil, jobstate=nil)
1917
+ @Name = name
1918
+ @ActionOnFailure = actiononfailure
1919
+ @JobState = jobstate
1920
+ end
1921
+
1922
+ def deserialize(params)
1923
+ @Name = params['Name']
1924
+ @ActionOnFailure = params['ActionOnFailure']
1925
+ @JobState = params['JobState']
1926
+ end
1927
+ end
1928
+
1929
+ # 登录设置
1930
+ class LoginSettings < TencentCloud::Common::AbstractModel
1931
+ # @param Password: Password
1932
+ # @type Password: String
1933
+ # @param PublicKeyId: Public Key
1934
+ # @type PublicKeyId: String
1935
+
1936
+ attr_accessor :Password, :PublicKeyId
1937
+
1938
+ def initialize(password=nil, publickeyid=nil)
1939
+ @Password = password
1940
+ @PublicKeyId = publickeyid
1941
+ end
1942
+
1943
+ def deserialize(params)
1944
+ @Password = params['Password']
1945
+ @PublicKeyId = params['PublicKeyId']
1946
+ end
1947
+ end
1948
+
1949
+ # 元数据库信息
1950
+ class MetaDbInfo < TencentCloud::Common::AbstractModel
1951
+ # @param MetaType: 元数据类型。
1952
+ # @type MetaType: String
1953
+ # @param UnifyMetaInstanceId: 统一元数据库实例ID。
1954
+ # @type UnifyMetaInstanceId: String
1955
+ # @param MetaDBInfo: 自建元数据库信息。
1956
+ # @type MetaDBInfo: :class:`Tencentcloud::Emr.v20190103.models.CustomMetaInfo`
1957
+
1958
+ attr_accessor :MetaType, :UnifyMetaInstanceId, :MetaDBInfo
1959
+
1960
+ def initialize(metatype=nil, unifymetainstanceid=nil, metadbinfo=nil)
1961
+ @MetaType = metatype
1962
+ @UnifyMetaInstanceId = unifymetainstanceid
1963
+ @MetaDBInfo = metadbinfo
1964
+ end
1965
+
1966
+ def deserialize(params)
1967
+ @MetaType = params['MetaType']
1968
+ @UnifyMetaInstanceId = params['UnifyMetaInstanceId']
1969
+ unless params['MetaDBInfo'].nil?
1970
+ @MetaDBInfo = CustomMetaInfo.new
1971
+ @MetaDBInfo.deserialize(params['MetaDBInfo'])
1972
+ end
1973
+ end
1974
+ end
1975
+
1976
+ # 多云盘参数
1977
+ class MultiDisk < TencentCloud::Common::AbstractModel
1978
+ # @param DiskType: 云盘类型
1979
+ # <li>CLOUD_SSD:表示云SSD。</li>
1980
+ # <li>CLOUD_PREMIUM:表示高效云盘。</li>
1981
+ # <li>CLOUD_HSSD:表示增强型SSD云硬盘。</li>
1982
+ # @type DiskType: String
1983
+ # @param Volume: 云盘大小
1984
+ # @type Volume: Integer
1985
+ # @param Count: 该类型云盘个数
1986
+ # @type Count: Integer
1987
+
1988
+ attr_accessor :DiskType, :Volume, :Count
1989
+
1990
+ def initialize(disktype=nil, volume=nil, count=nil)
1991
+ @DiskType = disktype
1992
+ @Volume = volume
1993
+ @Count = count
1994
+ end
1995
+
1996
+ def deserialize(params)
1997
+ @DiskType = params['DiskType']
1998
+ @Volume = params['Volume']
1999
+ @Count = params['Count']
2000
+ end
2001
+ end
2002
+
2003
+ # 多云盘参数
2004
+ class MultiDiskMC < TencentCloud::Common::AbstractModel
2005
+ # @param Count: 该类型云盘个数
2006
+ # 注意:此字段可能返回 null,表示取不到有效值。
2007
+ # @type Count: Integer
2008
+ # @param Type: 磁盘类型
2009
+ # 注意:此字段可能返回 null,表示取不到有效值。
2010
+ # @type Type: Integer
2011
+ # @param Volume: 云盘大小
2012
+ # 注意:此字段可能返回 null,表示取不到有效值。
2013
+ # @type Volume: Integer
2014
+
2015
+ attr_accessor :Count, :Type, :Volume
2016
+
2017
+ def initialize(count=nil, type=nil, volume=nil)
2018
+ @Count = count
2019
+ @Type = type
2020
+ @Volume = volume
2021
+ end
2022
+
2023
+ def deserialize(params)
2024
+ @Count = params['Count']
2025
+ @Type = params['Type']
2026
+ @Volume = params['Volume']
2027
+ end
2028
+ end
2029
+
2030
+ # 资源描述
2031
+ class NewResourceSpec < TencentCloud::Common::AbstractModel
2032
+ # @param MasterResourceSpec: 描述Master节点资源
2033
+ # @type MasterResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.Resource`
2034
+ # @param CoreResourceSpec: 描述Core节点资源
2035
+ # @type CoreResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.Resource`
2036
+ # @param TaskResourceSpec: 描述Task节点资源
2037
+ # @type TaskResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.Resource`
2038
+ # @param MasterCount: Master节点数量
2039
+ # @type MasterCount: Integer
2040
+ # @param CoreCount: Core节点数量
2041
+ # @type CoreCount: Integer
2042
+ # @param TaskCount: Task节点数量
2043
+ # @type TaskCount: Integer
2044
+ # @param CommonResourceSpec: 描述Common节点资源
2045
+ # @type CommonResourceSpec: :class:`Tencentcloud::Emr.v20190103.models.Resource`
2046
+ # @param CommonCount: Common节点数量
2047
+ # @type CommonCount: Integer
2048
+
2049
+ attr_accessor :MasterResourceSpec, :CoreResourceSpec, :TaskResourceSpec, :MasterCount, :CoreCount, :TaskCount, :CommonResourceSpec, :CommonCount
2050
+
2051
+ def initialize(masterresourcespec=nil, coreresourcespec=nil, taskresourcespec=nil, mastercount=nil, corecount=nil, taskcount=nil, commonresourcespec=nil, commoncount=nil)
2052
+ @MasterResourceSpec = masterresourcespec
2053
+ @CoreResourceSpec = coreresourcespec
2054
+ @TaskResourceSpec = taskresourcespec
2055
+ @MasterCount = mastercount
2056
+ @CoreCount = corecount
2057
+ @TaskCount = taskcount
2058
+ @CommonResourceSpec = commonresourcespec
2059
+ @CommonCount = commoncount
2060
+ end
2061
+
2062
+ def deserialize(params)
2063
+ unless params['MasterResourceSpec'].nil?
2064
+ @MasterResourceSpec = Resource.new
2065
+ @MasterResourceSpec.deserialize(params['MasterResourceSpec'])
2066
+ end
2067
+ unless params['CoreResourceSpec'].nil?
2068
+ @CoreResourceSpec = Resource.new
2069
+ @CoreResourceSpec.deserialize(params['CoreResourceSpec'])
2070
+ end
2071
+ unless params['TaskResourceSpec'].nil?
2072
+ @TaskResourceSpec = Resource.new
2073
+ @TaskResourceSpec.deserialize(params['TaskResourceSpec'])
2074
+ end
2075
+ @MasterCount = params['MasterCount']
2076
+ @CoreCount = params['CoreCount']
2077
+ @TaskCount = params['TaskCount']
2078
+ unless params['CommonResourceSpec'].nil?
2079
+ @CommonResourceSpec = Resource.new
2080
+ @CommonResourceSpec.deserialize(params['CommonResourceSpec'])
2081
+ end
2082
+ @CommonCount = params['CommonCount']
2083
+ end
2084
+ end
2085
+
2086
+ # 节点硬件信息
2087
+ class NodeHardwareInfo < TencentCloud::Common::AbstractModel
2088
+ # @param AppId: 用户APPID
2089
+ # 注意:此字段可能返回 null,表示取不到有效值。
2090
+ # @type AppId: Integer
2091
+ # @param SerialNo: 序列号
2092
+ # 注意:此字段可能返回 null,表示取不到有效值。
2093
+ # @type SerialNo: String
2094
+ # @param OrderNo: 机器实例ID
2095
+ # 注意:此字段可能返回 null,表示取不到有效值。
2096
+ # @type OrderNo: String
2097
+ # @param WanIp: master节点绑定外网IP
2098
+ # 注意:此字段可能返回 null,表示取不到有效值。
2099
+ # @type WanIp: String
2100
+ # @param Flag: 节点类型。0:common节点;1:master节点
2101
+ # ;2:core节点;3:task节点
2102
+ # 注意:此字段可能返回 null,表示取不到有效值。
2103
+ # @type Flag: Integer
2104
+ # @param Spec: 节点规格
2105
+ # 注意:此字段可能返回 null,表示取不到有效值。
2106
+ # @type Spec: String
2107
+ # @param CpuNum: 节点核数
2108
+ # 注意:此字段可能返回 null,表示取不到有效值。
2109
+ # @type CpuNum: Integer
2110
+ # @param MemSize: 节点内存
2111
+ # 注意:此字段可能返回 null,表示取不到有效值。
2112
+ # @type MemSize: Integer
2113
+ # @param MemDesc: 节点内存描述
2114
+ # 注意:此字段可能返回 null,表示取不到有效值。
2115
+ # @type MemDesc: String
2116
+ # @param RegionId: 节点所在region
2117
+ # 注意:此字段可能返回 null,表示取不到有效值。
2118
+ # @type RegionId: Integer
2119
+ # @param ZoneId: 节点所在Zone
2120
+ # 注意:此字段可能返回 null,表示取不到有效值。
2121
+ # @type ZoneId: Integer
2122
+ # @param ApplyTime: 申请时间
2123
+ # 注意:此字段可能返回 null,表示取不到有效值。
2124
+ # @type ApplyTime: String
2125
+ # @param FreeTime: 释放时间
2126
+ # 注意:此字段可能返回 null,表示取不到有效值。
2127
+ # @type FreeTime: String
2128
+ # @param DiskSize: 硬盘大小
2129
+ # 注意:此字段可能返回 null,表示取不到有效值。
2130
+ # @type DiskSize: String
2131
+ # @param NameTag: 节点描述
2132
+ # 注意:此字段可能返回 null,表示取不到有效值。
2133
+ # @type NameTag: String
2134
+ # @param Services: 节点部署服务
2135
+ # 注意:此字段可能返回 null,表示取不到有效值。
2136
+ # @type Services: String
2137
+ # @param StorageType: 磁盘类型
2138
+ # 注意:此字段可能返回 null,表示取不到有效值。
2139
+ # @type StorageType: Integer
2140
+ # @param RootSize: 系统盘大小
2141
+ # 注意:此字段可能返回 null,表示取不到有效值。
2142
+ # @type RootSize: Integer
2143
+ # @param ChargeType: 付费类型
2144
+ # 注意:此字段可能返回 null,表示取不到有效值。
2145
+ # @type ChargeType: Integer
2146
+ # @param CdbIp: 数据库IP
2147
+ # 注意:此字段可能返回 null,表示取不到有效值。
2148
+ # @type CdbIp: String
2149
+ # @param CdbPort: 数据库端口
2150
+ # 注意:此字段可能返回 null,表示取不到有效值。
2151
+ # @type CdbPort: Integer
2152
+ # @param HwDiskSize: 硬盘容量
2153
+ # 注意:此字段可能返回 null,表示取不到有效值。
2154
+ # @type HwDiskSize: Integer
2155
+ # @param HwDiskSizeDesc: 硬盘容量描述
2156
+ # 注意:此字段可能返回 null,表示取不到有效值。
2157
+ # @type HwDiskSizeDesc: String
2158
+ # @param HwMemSize: 内存容量
2159
+ # 注意:此字段可能返回 null,表示取不到有效值。
2160
+ # @type HwMemSize: Integer
2161
+ # @param HwMemSizeDesc: 内存容量描述
2162
+ # 注意:此字段可能返回 null,表示取不到有效值。
2163
+ # @type HwMemSizeDesc: String
2164
+ # @param ExpireTime: 过期时间
2165
+ # 注意:此字段可能返回 null,表示取不到有效值。
2166
+ # @type ExpireTime: String
2167
+ # @param EmrResourceId: 节点资源ID
2168
+ # 注意:此字段可能返回 null,表示取不到有效值。
2169
+ # @type EmrResourceId: String
2170
+ # @param IsAutoRenew: 续费标志
2171
+ # 注意:此字段可能返回 null,表示取不到有效值。
2172
+ # @type IsAutoRenew: Integer
2173
+ # @param DeviceClass: 设备标识
2174
+ # 注意:此字段可能返回 null,表示取不到有效值。
2175
+ # @type DeviceClass: String
2176
+ # @param Mutable: 支持变配
2177
+ # 注意:此字段可能返回 null,表示取不到有效值。
2178
+ # @type Mutable: Integer
2179
+ # @param MCMultiDisk: 多云盘
2180
+ # 注意:此字段可能返回 null,表示取不到有效值。
2181
+ # @type MCMultiDisk: Array
2182
+ # @param CdbNodeInfo: 数据库信息
2183
+ # 注意:此字段可能返回 null,表示取不到有效值。
2184
+ # @type CdbNodeInfo: :class:`Tencentcloud::Emr.v20190103.models.CdbInfo`
2185
+ # @param Ip: 内网IP
2186
+ # 注意:此字段可能返回 null,表示取不到有效值。
2187
+ # @type Ip: String
2188
+ # @param Destroyable: 此节点是否可销毁,1可销毁,0不可销毁
2189
+ # 注意:此字段可能返回 null,表示取不到有效值。
2190
+ # @type Destroyable: Integer
2191
+ # @param Tags: 节点绑定的标签
2192
+ # 注意:此字段可能返回 null,表示取不到有效值。
2193
+ # @type Tags: Array
2194
+ # @param AutoFlag: 是否是自动扩缩容节点,0为普通节点,1为自动扩缩容节点。
2195
+ # 注意:此字段可能返回 null,表示取不到有效值。
2196
+ # @type AutoFlag: Integer
2197
+ # @param HardwareResourceType: 资源类型, host/pod
2198
+ # 注意:此字段可能返回 null,表示取不到有效值。
2199
+ # @type HardwareResourceType: String
2200
+ # @param IsDynamicSpec: 是否浮动规格,1是,0否
2201
+ # 注意:此字段可能返回 null,表示取不到有效值。
2202
+ # @type IsDynamicSpec: Integer
2203
+ # @param DynamicPodSpec: 浮动规格值json字符串
2204
+ # 注意:此字段可能返回 null,表示取不到有效值。
2205
+ # @type DynamicPodSpec: String
2206
+ # @param SupportModifyPayMode: 是否支持变更计费类型 1是,0否
2207
+ # 注意:此字段可能返回 null,表示取不到有效值。
2208
+ # @type SupportModifyPayMode: Integer
2209
+
2210
+ attr_accessor :AppId, :SerialNo, :OrderNo, :WanIp, :Flag, :Spec, :CpuNum, :MemSize, :MemDesc, :RegionId, :ZoneId, :ApplyTime, :FreeTime, :DiskSize, :NameTag, :Services, :StorageType, :RootSize, :ChargeType, :CdbIp, :CdbPort, :HwDiskSize, :HwDiskSizeDesc, :HwMemSize, :HwMemSizeDesc, :ExpireTime, :EmrResourceId, :IsAutoRenew, :DeviceClass, :Mutable, :MCMultiDisk, :CdbNodeInfo, :Ip, :Destroyable, :Tags, :AutoFlag, :HardwareResourceType, :IsDynamicSpec, :DynamicPodSpec, :SupportModifyPayMode
2211
+
2212
+ def initialize(appid=nil, serialno=nil, orderno=nil, wanip=nil, flag=nil, spec=nil, cpunum=nil, memsize=nil, memdesc=nil, regionid=nil, zoneid=nil, applytime=nil, freetime=nil, disksize=nil, nametag=nil, services=nil, storagetype=nil, rootsize=nil, chargetype=nil, cdbip=nil, cdbport=nil, hwdisksize=nil, hwdisksizedesc=nil, hwmemsize=nil, hwmemsizedesc=nil, expiretime=nil, emrresourceid=nil, isautorenew=nil, deviceclass=nil, mutable=nil, mcmultidisk=nil, cdbnodeinfo=nil, ip=nil, destroyable=nil, tags=nil, autoflag=nil, hardwareresourcetype=nil, isdynamicspec=nil, dynamicpodspec=nil, supportmodifypaymode=nil)
2213
+ @AppId = appid
2214
+ @SerialNo = serialno
2215
+ @OrderNo = orderno
2216
+ @WanIp = wanip
2217
+ @Flag = flag
2218
+ @Spec = spec
2219
+ @CpuNum = cpunum
2220
+ @MemSize = memsize
2221
+ @MemDesc = memdesc
2222
+ @RegionId = regionid
2223
+ @ZoneId = zoneid
2224
+ @ApplyTime = applytime
2225
+ @FreeTime = freetime
2226
+ @DiskSize = disksize
2227
+ @NameTag = nametag
2228
+ @Services = services
2229
+ @StorageType = storagetype
2230
+ @RootSize = rootsize
2231
+ @ChargeType = chargetype
2232
+ @CdbIp = cdbip
2233
+ @CdbPort = cdbport
2234
+ @HwDiskSize = hwdisksize
2235
+ @HwDiskSizeDesc = hwdisksizedesc
2236
+ @HwMemSize = hwmemsize
2237
+ @HwMemSizeDesc = hwmemsizedesc
2238
+ @ExpireTime = expiretime
2239
+ @EmrResourceId = emrresourceid
2240
+ @IsAutoRenew = isautorenew
2241
+ @DeviceClass = deviceclass
2242
+ @Mutable = mutable
2243
+ @MCMultiDisk = mcmultidisk
2244
+ @CdbNodeInfo = cdbnodeinfo
2245
+ @Ip = ip
2246
+ @Destroyable = destroyable
2247
+ @Tags = tags
2248
+ @AutoFlag = autoflag
2249
+ @HardwareResourceType = hardwareresourcetype
2250
+ @IsDynamicSpec = isdynamicspec
2251
+ @DynamicPodSpec = dynamicpodspec
2252
+ @SupportModifyPayMode = supportmodifypaymode
2253
+ end
2254
+
2255
+ def deserialize(params)
2256
+ @AppId = params['AppId']
2257
+ @SerialNo = params['SerialNo']
2258
+ @OrderNo = params['OrderNo']
2259
+ @WanIp = params['WanIp']
2260
+ @Flag = params['Flag']
2261
+ @Spec = params['Spec']
2262
+ @CpuNum = params['CpuNum']
2263
+ @MemSize = params['MemSize']
2264
+ @MemDesc = params['MemDesc']
2265
+ @RegionId = params['RegionId']
2266
+ @ZoneId = params['ZoneId']
2267
+ @ApplyTime = params['ApplyTime']
2268
+ @FreeTime = params['FreeTime']
2269
+ @DiskSize = params['DiskSize']
2270
+ @NameTag = params['NameTag']
2271
+ @Services = params['Services']
2272
+ @StorageType = params['StorageType']
2273
+ @RootSize = params['RootSize']
2274
+ @ChargeType = params['ChargeType']
2275
+ @CdbIp = params['CdbIp']
2276
+ @CdbPort = params['CdbPort']
2277
+ @HwDiskSize = params['HwDiskSize']
2278
+ @HwDiskSizeDesc = params['HwDiskSizeDesc']
2279
+ @HwMemSize = params['HwMemSize']
2280
+ @HwMemSizeDesc = params['HwMemSizeDesc']
2281
+ @ExpireTime = params['ExpireTime']
2282
+ @EmrResourceId = params['EmrResourceId']
2283
+ @IsAutoRenew = params['IsAutoRenew']
2284
+ @DeviceClass = params['DeviceClass']
2285
+ @Mutable = params['Mutable']
2286
+ unless params['MCMultiDisk'].nil?
2287
+ @MCMultiDisk = []
2288
+ params['MCMultiDisk'].each do |i|
2289
+ multidiskmc_tmp = MultiDiskMC.new
2290
+ multidiskmc_tmp.deserialize(i)
2291
+ @MCMultiDisk << multidiskmc_tmp
2292
+ end
2293
+ end
2294
+ unless params['CdbNodeInfo'].nil?
2295
+ @CdbNodeInfo = CdbInfo.new
2296
+ @CdbNodeInfo.deserialize(params['CdbNodeInfo'])
2297
+ end
2298
+ @Ip = params['Ip']
2299
+ @Destroyable = params['Destroyable']
2300
+ unless params['Tags'].nil?
2301
+ @Tags = []
2302
+ params['Tags'].each do |i|
2303
+ tag_tmp = Tag.new
2304
+ tag_tmp.deserialize(i)
2305
+ @Tags << tag_tmp
2306
+ end
2307
+ end
2308
+ @AutoFlag = params['AutoFlag']
2309
+ @HardwareResourceType = params['HardwareResourceType']
2310
+ @IsDynamicSpec = params['IsDynamicSpec']
2311
+ @DynamicPodSpec = params['DynamicPodSpec']
2312
+ @SupportModifyPayMode = params['SupportModifyPayMode']
2313
+ end
2314
+ end
2315
+
2316
+ # 资源详情
2317
+ class OutterResource < TencentCloud::Common::AbstractModel
2318
+ # @param Spec: 规格
2319
+ # 注意:此字段可能返回 null,表示取不到有效值。
2320
+ # @type Spec: String
2321
+ # @param SpecName: 规格名
2322
+ # 注意:此字段可能返回 null,表示取不到有效值。
2323
+ # @type SpecName: String
2324
+ # @param StorageType: 硬盘类型
2325
+ # 注意:此字段可能返回 null,表示取不到有效值。
2326
+ # @type StorageType: Integer
2327
+ # @param DiskType: 硬盘类型
2328
+ # 注意:此字段可能返回 null,表示取不到有效值。
2329
+ # @type DiskType: String
2330
+ # @param RootSize: 系统盘大小
2331
+ # 注意:此字段可能返回 null,表示取不到有效值。
2332
+ # @type RootSize: Integer
2333
+ # @param MemSize: 内存大小
2334
+ # 注意:此字段可能返回 null,表示取不到有效值。
2335
+ # @type MemSize: Integer
2336
+ # @param Cpu: CPU个数
2337
+ # 注意:此字段可能返回 null,表示取不到有效值。
2338
+ # @type Cpu: Integer
2339
+ # @param DiskSize: 硬盘大小
2340
+ # 注意:此字段可能返回 null,表示取不到有效值。
2341
+ # @type DiskSize: Integer
2342
+ # @param InstanceType: 规格
2343
+ # 注意:此字段可能返回 null,表示取不到有效值。
2344
+ # @type InstanceType: String
2345
+
2346
+ attr_accessor :Spec, :SpecName, :StorageType, :DiskType, :RootSize, :MemSize, :Cpu, :DiskSize, :InstanceType
2347
+
2348
+ def initialize(spec=nil, specname=nil, storagetype=nil, disktype=nil, rootsize=nil, memsize=nil, cpu=nil, disksize=nil, instancetype=nil)
2349
+ @Spec = spec
2350
+ @SpecName = specname
2351
+ @StorageType = storagetype
2352
+ @DiskType = disktype
2353
+ @RootSize = rootsize
2354
+ @MemSize = memsize
2355
+ @Cpu = cpu
2356
+ @DiskSize = disksize
2357
+ @InstanceType = instancetype
2358
+ end
2359
+
2360
+ def deserialize(params)
2361
+ @Spec = params['Spec']
2362
+ @SpecName = params['SpecName']
2363
+ @StorageType = params['StorageType']
2364
+ @DiskType = params['DiskType']
2365
+ @RootSize = params['RootSize']
2366
+ @MemSize = params['MemSize']
2367
+ @Cpu = params['Cpu']
2368
+ @DiskSize = params['DiskSize']
2369
+ @InstanceType = params['InstanceType']
2370
+ end
2371
+ end
2372
+
2373
+ # Pod PVC存储方式描述
2374
+ class PersistentVolumeContext < TencentCloud::Common::AbstractModel
2375
+ # @param DiskSize: 磁盘大小,单位为GB。
2376
+ # 注意:此字段可能返回 null,表示取不到有效值。
2377
+ # @type DiskSize: Integer
2378
+ # @param DiskType: 磁盘类型。CLOUD_PREMIUM;CLOUD_SSD
2379
+ # 注意:此字段可能返回 null,表示取不到有效值。
2380
+ # @type DiskType: String
2381
+ # @param DiskNum: 磁盘数量
2382
+ # 注意:此字段可能返回 null,表示取不到有效值。
2383
+ # @type DiskNum: Integer
2384
+
2385
+ attr_accessor :DiskSize, :DiskType, :DiskNum
2386
+
2387
+ def initialize(disksize=nil, disktype=nil, disknum=nil)
2388
+ @DiskSize = disksize
2389
+ @DiskType = disktype
2390
+ @DiskNum = disknum
2391
+ end
2392
+
2393
+ def deserialize(params)
2394
+ @DiskSize = params['DiskSize']
2395
+ @DiskType = params['DiskType']
2396
+ @DiskNum = params['DiskNum']
2397
+ end
2398
+ end
2399
+
2400
+ # 描述集群实例位置信息
2401
+ class Placement < TencentCloud::Common::AbstractModel
2402
+ # @param ProjectId: 实例所属项目ID。该参数可以通过调用 DescribeProject 的返回值中的 projectId 字段来获取。填0为默认项目。
2403
+ # @type ProjectId: Integer
2404
+ # @param Zone: 实例所属的可用区,例如ap-guangzhou-1。该参数也可以通过调用 DescribeZones 的返回值中的Zone字段来获取。
2405
+ # @type Zone: String
2406
+
2407
+ attr_accessor :ProjectId, :Zone
2408
+
2409
+ def initialize(projectid=nil, zone=nil)
2410
+ @ProjectId = projectid
2411
+ @Zone = zone
2412
+ end
2413
+
2414
+ def deserialize(params)
2415
+ @ProjectId = params['ProjectId']
2416
+ @Zone = params['Zone']
2417
+ end
2418
+ end
2419
+
2420
+ # POD自定义权限和自定义参数
2421
+ class PodParameter < TencentCloud::Common::AbstractModel
2422
+ # @param ClusterId: TKE或EKS集群ID
2423
+ # @type ClusterId: String
2424
+ # @param Config: 自定义权限
2425
+ # 如:
2426
+ # {
2427
+ # "apiVersion": "v1",
2428
+ # "clusters": [
2429
+ # {
2430
+ # "cluster": {
2431
+ # "certificate-authority-data": "xxxxxx==",
2432
+ # "server": "https://xxxxx.com"
2433
+ # },
2434
+ # "name": "cls-xxxxx"
2435
+ # }
2436
+ # ],
2437
+ # "contexts": [
2438
+ # {
2439
+ # "context": {
2440
+ # "cluster": "cls-xxxxx",
2441
+ # "user": "100014xxxxx"
2442
+ # },
2443
+ # "name": "cls-a44yhcxxxxxxxxxx"
2444
+ # }
2445
+ # ],
2446
+ # "current-context": "cls-a4xxxx-context-default",
2447
+ # "kind": "Config",
2448
+ # "preferences": {},
2449
+ # "users": [
2450
+ # {
2451
+ # "name": "100014xxxxx",
2452
+ # "user": {
2453
+ # "client-certificate-data": "xxxxxx",
2454
+ # "client-key-data": "xxxxxx"
2455
+ # }
2456
+ # }
2457
+ # ]
2458
+ # }
2459
+ # @type Config: String
2460
+ # @param Parameter: 自定义参数
2461
+ # 如:
2462
+ # {
2463
+ # "apiVersion": "apps/v1",
2464
+ # "kind": "Deployment",
2465
+ # "metadata": {
2466
+ # "name": "test-deployment",
2467
+ # "labels": {
2468
+ # "app": "test"
2469
+ # }
2470
+ # },
2471
+ # "spec": {
2472
+ # "replicas": 3,
2473
+ # "selector": {
2474
+ # "matchLabels": {
2475
+ # "app": "test-app"
2476
+ # }
2477
+ # },
2478
+ # "template": {
2479
+ # "metadata": {
2480
+ # "annotations": {
2481
+ # "your-organization.com/department-v1": "test-example-v1",
2482
+ # "your-organization.com/department-v2": "test-example-v2"
2483
+ # },
2484
+ # "labels": {
2485
+ # "app": "test-app",
2486
+ # "environment": "production"
2487
+ # }
2488
+ # },
2489
+ # "spec": {
2490
+ # "nodeSelector": {
2491
+ # "your-organization/node-test": "test-node"
2492
+ # },
2493
+ # "containers": [
2494
+ # {
2495
+ # "name": "nginx",
2496
+ # "image": "nginx:1.14.2",
2497
+ # "ports": [
2498
+ # {
2499
+ # "containerPort": 80
2500
+ # }
2501
+ # ]
2502
+ # }
2503
+ # ],
2504
+ # "affinity": {
2505
+ # "nodeAffinity": {
2506
+ # "requiredDuringSchedulingIgnoredDuringExecution": {
2507
+ # "nodeSelectorTerms": [
2508
+ # {
2509
+ # "matchExpressions": [
2510
+ # {
2511
+ # "key": "disk-type",
2512
+ # "operator": "In",
2513
+ # "values": [
2514
+ # "ssd",
2515
+ # "sas"
2516
+ # ]
2517
+ # },
2518
+ # {
2519
+ # "key": "cpu-num",
2520
+ # "operator": "Gt",
2521
+ # "values": [
2522
+ # "6"
2523
+ # ]
2524
+ # }
2525
+ # ]
2526
+ # }
2527
+ # ]
2528
+ # }
2529
+ # }
2530
+ # }
2531
+ # }
2532
+ # }
2533
+ # }
2534
+ # }
2535
+ # @type Parameter: String
2536
+
2537
+ attr_accessor :ClusterId, :Config, :Parameter
2538
+
2539
+ def initialize(clusterid=nil, config=nil, parameter=nil)
2540
+ @ClusterId = clusterid
2541
+ @Config = config
2542
+ @Parameter = parameter
2543
+ end
2544
+
2545
+ def deserialize(params)
2546
+ @ClusterId = params['ClusterId']
2547
+ @Config = params['Config']
2548
+ @Parameter = params['Parameter']
2549
+ end
2550
+ end
2551
+
2552
+ # Pod资源售卖规格
2553
+ class PodSaleSpec < TencentCloud::Common::AbstractModel
2554
+ # @param NodeType: 可售卖的资源规格,仅为以下值:"TASK","CORE","MASTER","ROUTER"。
2555
+ # @type NodeType: String
2556
+ # @param Cpu: Cpu核数。
2557
+ # @type Cpu: Integer
2558
+ # @param Memory: 内存数量,单位为GB。
2559
+ # @type Memory: Integer
2560
+ # @param Number: 该规格资源可申请的最大数量。
2561
+ # @type Number: Integer
2562
+
2563
+ attr_accessor :NodeType, :Cpu, :Memory, :Number
2564
+
2565
+ def initialize(nodetype=nil, cpu=nil, memory=nil, number=nil)
2566
+ @NodeType = nodetype
2567
+ @Cpu = cpu
2568
+ @Memory = memory
2569
+ @Number = number
2570
+ end
2571
+
2572
+ def deserialize(params)
2573
+ @NodeType = params['NodeType']
2574
+ @Cpu = params['Cpu']
2575
+ @Memory = params['Memory']
2576
+ @Number = params['Number']
2577
+ end
2578
+ end
2579
+
2580
+ # 扩容容器资源时的资源描述
2581
+ class PodSpec < TencentCloud::Common::AbstractModel
2582
+ # @param ResourceProviderIdentifier: 外部资源提供者的标识符,例如"cls-a1cd23fa"。
2583
+ # @type ResourceProviderIdentifier: String
2584
+ # @param ResourceProviderType: 外部资源提供者类型,例如"tke",当前仅支持"tke"。
2585
+ # @type ResourceProviderType: String
2586
+ # @param NodeType: 资源的用途,即节点类型,当前仅支持"TASK"。
2587
+ # @type NodeType: String
2588
+ # @param Cpu: CPU核数。
2589
+ # @type Cpu: Integer
2590
+ # @param Memory: 内存大小,单位为GB。
2591
+ # @type Memory: Integer
2592
+ # @param DataVolumes: 资源对宿主机的挂载点,指定的挂载点对应了宿主机的路径,该挂载点在Pod中作为数据存储目录使用。弃用
2593
+ # @type DataVolumes: Array
2594
+ # @param CpuType: Eks集群-CPU类型,当前支持"intel"和"amd"
2595
+ # @type CpuType: String
2596
+ # @param PodVolumes: Pod节点数据目录挂载信息。
2597
+ # @type PodVolumes: Array
2598
+ # @param IsDynamicSpec: 是否浮动规格,1是,0否
2599
+ # @type IsDynamicSpec: Integer
2600
+ # @param DynamicPodSpec: 浮动规格
2601
+ # 注意:此字段可能返回 null,表示取不到有效值。
2602
+ # @type DynamicPodSpec: :class:`Tencentcloud::Emr.v20190103.models.DynamicPodSpec`
2603
+ # @param VpcId: 代表vpc网络唯一id
2604
+ # 注意:此字段可能返回 null,表示取不到有效值。
2605
+ # @type VpcId: String
2606
+ # @param SubnetId: 代表vpc子网唯一id
2607
+ # 注意:此字段可能返回 null,表示取不到有效值。
2608
+ # @type SubnetId: String
2609
+
2610
+ attr_accessor :ResourceProviderIdentifier, :ResourceProviderType, :NodeType, :Cpu, :Memory, :DataVolumes, :CpuType, :PodVolumes, :IsDynamicSpec, :DynamicPodSpec, :VpcId, :SubnetId
2611
+
2612
+ def initialize(resourceprovideridentifier=nil, resourceprovidertype=nil, nodetype=nil, cpu=nil, memory=nil, datavolumes=nil, cputype=nil, podvolumes=nil, isdynamicspec=nil, dynamicpodspec=nil, vpcid=nil, subnetid=nil)
2613
+ @ResourceProviderIdentifier = resourceprovideridentifier
2614
+ @ResourceProviderType = resourceprovidertype
2615
+ @NodeType = nodetype
2616
+ @Cpu = cpu
2617
+ @Memory = memory
2618
+ @DataVolumes = datavolumes
2619
+ @CpuType = cputype
2620
+ @PodVolumes = podvolumes
2621
+ @IsDynamicSpec = isdynamicspec
2622
+ @DynamicPodSpec = dynamicpodspec
2623
+ @VpcId = vpcid
2624
+ @SubnetId = subnetid
2625
+ end
2626
+
2627
+ def deserialize(params)
2628
+ @ResourceProviderIdentifier = params['ResourceProviderIdentifier']
2629
+ @ResourceProviderType = params['ResourceProviderType']
2630
+ @NodeType = params['NodeType']
2631
+ @Cpu = params['Cpu']
2632
+ @Memory = params['Memory']
2633
+ @DataVolumes = params['DataVolumes']
2634
+ @CpuType = params['CpuType']
2635
+ unless params['PodVolumes'].nil?
2636
+ @PodVolumes = []
2637
+ params['PodVolumes'].each do |i|
2638
+ podvolume_tmp = PodVolume.new
2639
+ podvolume_tmp.deserialize(i)
2640
+ @PodVolumes << podvolume_tmp
2641
+ end
2642
+ end
2643
+ @IsDynamicSpec = params['IsDynamicSpec']
2644
+ unless params['DynamicPodSpec'].nil?
2645
+ @DynamicPodSpec = DynamicPodSpec.new
2646
+ @DynamicPodSpec.deserialize(params['DynamicPodSpec'])
2647
+ end
2648
+ @VpcId = params['VpcId']
2649
+ @SubnetId = params['SubnetId']
2650
+ end
2651
+ end
2652
+
2653
+ # 单个pod状态
2654
+ class PodState < TencentCloud::Common::AbstractModel
2655
+ # @param Name: pod的名称
2656
+ # @type Name: String
2657
+ # @param Uuid: pod uuid
2658
+ # @type Uuid: String
2659
+ # @param State: pod的状态
2660
+ # @type State: String
2661
+ # @param Reason: pod处于该状态原因
2662
+ # @type Reason: String
2663
+ # @param OwnerCluster: pod所属集群
2664
+ # @type OwnerCluster: String
2665
+ # @param Memory: pod内存大小
2666
+ # @type Memory: Integer
2667
+
2668
+ attr_accessor :Name, :Uuid, :State, :Reason, :OwnerCluster, :Memory
2669
+
2670
+ def initialize(name=nil, uuid=nil, state=nil, reason=nil, ownercluster=nil, memory=nil)
2671
+ @Name = name
2672
+ @Uuid = uuid
2673
+ @State = state
2674
+ @Reason = reason
2675
+ @OwnerCluster = ownercluster
2676
+ @Memory = memory
2677
+ end
2678
+
2679
+ def deserialize(params)
2680
+ @Name = params['Name']
2681
+ @Uuid = params['Uuid']
2682
+ @State = params['State']
2683
+ @Reason = params['Reason']
2684
+ @OwnerCluster = params['OwnerCluster']
2685
+ @Memory = params['Memory']
2686
+ end
2687
+ end
2688
+
2689
+ # Pod的存储设备描述信息。
2690
+ class PodVolume < TencentCloud::Common::AbstractModel
2691
+ # @param VolumeType: 存储类型,可为"pvc","hostpath"。
2692
+ # 注意:此字段可能返回 null,表示取不到有效值。
2693
+ # @type VolumeType: String
2694
+ # @param PVCVolume: 当VolumeType为"pvc"时,该字段生效。
2695
+ # 注意:此字段可能返回 null,表示取不到有效值。
2696
+ # @type PVCVolume: :class:`Tencentcloud::Emr.v20190103.models.PersistentVolumeContext`
2697
+ # @param HostVolume: 当VolumeType为"hostpath"时,该字段生效。
2698
+ # 注意:此字段可能返回 null,表示取不到有效值。
2699
+ # @type HostVolume: :class:`Tencentcloud::Emr.v20190103.models.HostVolumeContext`
2700
+
2701
+ attr_accessor :VolumeType, :PVCVolume, :HostVolume
2702
+
2703
+ def initialize(volumetype=nil, pvcvolume=nil, hostvolume=nil)
2704
+ @VolumeType = volumetype
2705
+ @PVCVolume = pvcvolume
2706
+ @HostVolume = hostvolume
2707
+ end
2708
+
2709
+ def deserialize(params)
2710
+ @VolumeType = params['VolumeType']
2711
+ unless params['PVCVolume'].nil?
2712
+ @PVCVolume = PersistentVolumeContext.new
2713
+ @PVCVolume.deserialize(params['PVCVolume'])
2714
+ end
2715
+ unless params['HostVolume'].nil?
2716
+ @HostVolume = HostVolumeContext.new
2717
+ @HostVolume.deserialize(params['HostVolume'])
2718
+ end
2719
+ end
2720
+ end
2721
+
2722
+ # 预执行脚本配置
2723
+ class PreExecuteFileSettings < TencentCloud::Common::AbstractModel
2724
+ # @param Path: 脚本在COS上路径,已废弃
2725
+ # @type Path: String
2726
+ # @param Args: 执行脚本参数
2727
+ # @type Args: Array
2728
+ # @param Bucket: COS的Bucket名称,已废弃
2729
+ # @type Bucket: String
2730
+ # @param Region: COS的Region名称,已废弃
2731
+ # @type Region: String
2732
+ # @param Domain: COS的Domain数据,已废弃
2733
+ # @type Domain: String
2734
+ # @param RunOrder: 执行顺序
2735
+ # @type RunOrder: Integer
2736
+ # @param WhenRun: resourceAfter 或 clusterAfter
2737
+ # @type WhenRun: String
2738
+ # @param CosFileName: 脚本文件名,已废弃
2739
+ # @type CosFileName: String
2740
+ # @param CosFileURI: 脚本的cos地址
2741
+ # @type CosFileURI: String
2742
+ # @param CosSecretId: cos的SecretId
2743
+ # @type CosSecretId: String
2744
+ # @param CosSecretKey: Cos的SecretKey
2745
+ # @type CosSecretKey: String
2746
+ # @param AppId: cos的appid,已废弃
2747
+ # @type AppId: String
2748
+
2749
+ attr_accessor :Path, :Args, :Bucket, :Region, :Domain, :RunOrder, :WhenRun, :CosFileName, :CosFileURI, :CosSecretId, :CosSecretKey, :AppId
2750
+
2751
+ def initialize(path=nil, args=nil, bucket=nil, region=nil, domain=nil, runorder=nil, whenrun=nil, cosfilename=nil, cosfileuri=nil, cossecretid=nil, cossecretkey=nil, appid=nil)
2752
+ @Path = path
2753
+ @Args = args
2754
+ @Bucket = bucket
2755
+ @Region = region
2756
+ @Domain = domain
2757
+ @RunOrder = runorder
2758
+ @WhenRun = whenrun
2759
+ @CosFileName = cosfilename
2760
+ @CosFileURI = cosfileuri
2761
+ @CosSecretId = cossecretid
2762
+ @CosSecretKey = cossecretkey
2763
+ @AppId = appid
2764
+ end
2765
+
2766
+ def deserialize(params)
2767
+ @Path = params['Path']
2768
+ @Args = params['Args']
2769
+ @Bucket = params['Bucket']
2770
+ @Region = params['Region']
2771
+ @Domain = params['Domain']
2772
+ @RunOrder = params['RunOrder']
2773
+ @WhenRun = params['WhenRun']
2774
+ @CosFileName = params['CosFileName']
2775
+ @CosFileURI = params['CosFileURI']
2776
+ @CosSecretId = params['CosSecretId']
2777
+ @CosSecretKey = params['CosSecretKey']
2778
+ @AppId = params['AppId']
2779
+ end
2780
+ end
2781
+
2782
+ # 询价资源
2783
+ class PriceResource < TencentCloud::Common::AbstractModel
2784
+ # @param Spec: 需要的规格
2785
+ # 注意:此字段可能返回 null,表示取不到有效值。
2786
+ # @type Spec: String
2787
+ # @param StorageType: 硬盘类型
2788
+ # 注意:此字段可能返回 null,表示取不到有效值。
2789
+ # @type StorageType: Integer
2790
+ # @param DiskType: 硬盘类型
2791
+ # 注意:此字段可能返回 null,表示取不到有效值。
2792
+ # @type DiskType: String
2793
+ # @param RootSize: 系统盘大小
2794
+ # 注意:此字段可能返回 null,表示取不到有效值。
2795
+ # @type RootSize: Integer
2796
+ # @param MemSize: 内存大小
2797
+ # 注意:此字段可能返回 null,表示取不到有效值。
2798
+ # @type MemSize: Integer
2799
+ # @param Cpu: 核心数量
2800
+ # 注意:此字段可能返回 null,表示取不到有效值。
2801
+ # @type Cpu: Integer
2802
+ # @param DiskSize: 硬盘大小
2803
+ # 注意:此字段可能返回 null,表示取不到有效值。
2804
+ # @type DiskSize: Integer
2805
+ # @param MultiDisks: 云盘列表
2806
+ # 注意:此字段可能返回 null,表示取不到有效值。
2807
+ # @type MultiDisks: Array
2808
+ # @param DiskCnt: 磁盘数量
2809
+ # 注意:此字段可能返回 null,表示取不到有效值。
2810
+ # @type DiskCnt: Integer
2811
+ # @param InstanceType: 规格
2812
+ # 注意:此字段可能返回 null,表示取不到有效值。
2813
+ # @type InstanceType: String
2814
+ # @param Tags: 标签
2815
+ # 注意:此字段可能返回 null,表示取不到有效值。
2816
+ # @type Tags: Array
2817
+ # @param DiskNum: 磁盘数量
2818
+ # 注意:此字段可能返回 null,表示取不到有效值。
2819
+ # @type DiskNum: Integer
2820
+ # @param LocalDiskNum: 本地盘的数量
2821
+ # 注意:此字段可能返回 null,表示取不到有效值。
2822
+ # @type LocalDiskNum: Integer
2823
+
2824
+ attr_accessor :Spec, :StorageType, :DiskType, :RootSize, :MemSize, :Cpu, :DiskSize, :MultiDisks, :DiskCnt, :InstanceType, :Tags, :DiskNum, :LocalDiskNum
2825
+
2826
+ def initialize(spec=nil, storagetype=nil, disktype=nil, rootsize=nil, memsize=nil, cpu=nil, disksize=nil, multidisks=nil, diskcnt=nil, instancetype=nil, tags=nil, disknum=nil, localdisknum=nil)
2827
+ @Spec = spec
2828
+ @StorageType = storagetype
2829
+ @DiskType = disktype
2830
+ @RootSize = rootsize
2831
+ @MemSize = memsize
2832
+ @Cpu = cpu
2833
+ @DiskSize = disksize
2834
+ @MultiDisks = multidisks
2835
+ @DiskCnt = diskcnt
2836
+ @InstanceType = instancetype
2837
+ @Tags = tags
2838
+ @DiskNum = disknum
2839
+ @LocalDiskNum = localdisknum
2840
+ end
2841
+
2842
+ def deserialize(params)
2843
+ @Spec = params['Spec']
2844
+ @StorageType = params['StorageType']
2845
+ @DiskType = params['DiskType']
2846
+ @RootSize = params['RootSize']
2847
+ @MemSize = params['MemSize']
2848
+ @Cpu = params['Cpu']
2849
+ @DiskSize = params['DiskSize']
2850
+ unless params['MultiDisks'].nil?
2851
+ @MultiDisks = []
2852
+ params['MultiDisks'].each do |i|
2853
+ multidisk_tmp = MultiDisk.new
2854
+ multidisk_tmp.deserialize(i)
2855
+ @MultiDisks << multidisk_tmp
2856
+ end
2857
+ end
2858
+ @DiskCnt = params['DiskCnt']
2859
+ @InstanceType = params['InstanceType']
2860
+ unless params['Tags'].nil?
2861
+ @Tags = []
2862
+ params['Tags'].each do |i|
2863
+ tag_tmp = Tag.new
2864
+ tag_tmp.deserialize(i)
2865
+ @Tags << tag_tmp
2866
+ end
2867
+ end
2868
+ @DiskNum = params['DiskNum']
2869
+ @LocalDiskNum = params['LocalDiskNum']
2870
+ end
2871
+ end
2872
+
2873
+ # 获取CVM配额
2874
+ class QuotaEntity < TencentCloud::Common::AbstractModel
2875
+ # @param UsedQuota: 已使用配额
2876
+ # 注意:此字段可能返回 null,表示取不到有效值。
2877
+ # @type UsedQuota: Integer
2878
+ # @param RemainingQuota: 剩余配额
2879
+ # 注意:此字段可能返回 null,表示取不到有效值。
2880
+ # @type RemainingQuota: Integer
2881
+ # @param TotalQuota: 总配额
2882
+ # 注意:此字段可能返回 null,表示取不到有效值。
2883
+ # @type TotalQuota: Integer
2884
+ # @param Zone: 可用区
2885
+ # 注意:此字段可能返回 null,表示取不到有效值。
2886
+ # @type Zone: String
2887
+
2888
+ attr_accessor :UsedQuota, :RemainingQuota, :TotalQuota, :Zone
2889
+
2890
+ def initialize(usedquota=nil, remainingquota=nil, totalquota=nil, zone=nil)
2891
+ @UsedQuota = usedquota
2892
+ @RemainingQuota = remainingquota
2893
+ @TotalQuota = totalquota
2894
+ @Zone = zone
2895
+ end
2896
+
2897
+ def deserialize(params)
2898
+ @UsedQuota = params['UsedQuota']
2899
+ @RemainingQuota = params['RemainingQuota']
2900
+ @TotalQuota = params['TotalQuota']
2901
+ @Zone = params['Zone']
2902
+ end
2903
+ end
2904
+
2905
+ # 集群续费实例信息
2906
+ class RenewInstancesInfo < TencentCloud::Common::AbstractModel
2907
+ # @param EmrResourceId: 节点资源ID
2908
+ # @type EmrResourceId: String
2909
+ # @param Flag: 节点类型。0:common节点;1:master节点
2910
+ # ;2:core节点;3:task节点
2911
+ # @type Flag: Integer
2912
+ # @param Ip: 内网IP
2913
+ # @type Ip: String
2914
+ # @param MemDesc: 节点内存描述
2915
+ # @type MemDesc: String
2916
+ # @param CpuNum: 节点核数
2917
+ # @type CpuNum: Integer
2918
+ # @param DiskSize: 硬盘大小
2919
+ # @type DiskSize: String
2920
+ # @param ExpireTime: 过期时间
2921
+ # @type ExpireTime: String
2922
+ # @param Spec: 节点规格
2923
+ # @type Spec: String
2924
+ # @param StorageType: 磁盘类型
2925
+ # @type StorageType: Integer
2926
+
2927
+ attr_accessor :EmrResourceId, :Flag, :Ip, :MemDesc, :CpuNum, :DiskSize, :ExpireTime, :Spec, :StorageType
2928
+
2929
+ def initialize(emrresourceid=nil, flag=nil, ip=nil, memdesc=nil, cpunum=nil, disksize=nil, expiretime=nil, spec=nil, storagetype=nil)
2930
+ @EmrResourceId = emrresourceid
2931
+ @Flag = flag
2932
+ @Ip = ip
2933
+ @MemDesc = memdesc
2934
+ @CpuNum = cpunum
2935
+ @DiskSize = disksize
2936
+ @ExpireTime = expiretime
2937
+ @Spec = spec
2938
+ @StorageType = storagetype
2939
+ end
2940
+
2941
+ def deserialize(params)
2942
+ @EmrResourceId = params['EmrResourceId']
2943
+ @Flag = params['Flag']
2944
+ @Ip = params['Ip']
2945
+ @MemDesc = params['MemDesc']
2946
+ @CpuNum = params['CpuNum']
2947
+ @DiskSize = params['DiskSize']
2948
+ @ExpireTime = params['ExpireTime']
2949
+ @Spec = params['Spec']
2950
+ @StorageType = params['StorageType']
2951
+ end
2952
+ end
2953
+
2954
+ # 资源详情
2955
+ class Resource < TencentCloud::Common::AbstractModel
2956
+ # @param Spec: 节点规格描述,如CVM.SA2。
2957
+ # 注意:此字段可能返回 null,表示取不到有效值。
2958
+ # @type Spec: String
2959
+ # @param StorageType: 存储类型
2960
+ # 取值范围:
2961
+ # <li>4:表示云SSD。</li>
2962
+ # <li>5:表示高效云盘。</li>
2963
+ # <li>6:表示增强型SSD云硬盘。</li>
2964
+ # <li>11:表示吞吐型云硬盘。</li>
2965
+ # <li>12:表示极速型SSD云硬盘。</li>
2966
+ # 注意:此字段可能返回 null,表示取不到有效值。
2967
+ # @type StorageType: Integer
2968
+ # @param DiskType: 磁盘类型
2969
+ # 取值范围:
2970
+ # <li>CLOUD_SSD:表示云SSD。</li>
2971
+ # <li>CLOUD_PREMIUM:表示高效云盘。</li>
2972
+ # <li>CLOUD_BASIC:表示云硬盘。</li>
2973
+ # 注意:此字段可能返回 null,表示取不到有效值。
2974
+ # @type DiskType: String
2975
+ # @param MemSize: 内存容量,单位为M
2976
+ # 注意:此字段可能返回 null,表示取不到有效值。
2977
+ # @type MemSize: Integer
2978
+ # @param Cpu: CPU核数
2979
+ # 注意:此字段可能返回 null,表示取不到有效值。
2980
+ # @type Cpu: Integer
2981
+ # @param DiskSize: 数据盘容量
2982
+ # 注意:此字段可能返回 null,表示取不到有效值。
2983
+ # @type DiskSize: Integer
2984
+ # @param RootSize: 系统盘容量
2985
+ # 注意:此字段可能返回 null,表示取不到有效值。
2986
+ # @type RootSize: Integer
2987
+ # @param MultiDisks: 云盘列表,当数据盘为一块云盘时,直接使用DiskType和DiskSize参数,超出部分使用MultiDisks
2988
+ # 注意:此字段可能返回 null,表示取不到有效值。
2989
+ # @type MultiDisks: Array
2990
+ # @param Tags: 需要绑定的标签列表
2991
+ # 注意:此字段可能返回 null,表示取不到有效值。
2992
+ # @type Tags: Array
2993
+ # @param InstanceType: 规格类型,如S2.MEDIUM8
2994
+ # 注意:此字段可能返回 null,表示取不到有效值。
2995
+ # @type InstanceType: String
2996
+ # @param LocalDiskNum: 本地盘数量,该字段已废弃
2997
+ # 注意:此字段可能返回 null,表示取不到有效值。
2998
+ # @type LocalDiskNum: Integer
2999
+ # @param DiskNum: 本地盘数量,如2
3000
+ # 注意:此字段可能返回 null,表示取不到有效值。
3001
+ # @type DiskNum: Integer
3002
+
3003
+ attr_accessor :Spec, :StorageType, :DiskType, :MemSize, :Cpu, :DiskSize, :RootSize, :MultiDisks, :Tags, :InstanceType, :LocalDiskNum, :DiskNum
3004
+
3005
+ def initialize(spec=nil, storagetype=nil, disktype=nil, memsize=nil, cpu=nil, disksize=nil, rootsize=nil, multidisks=nil, tags=nil, instancetype=nil, localdisknum=nil, disknum=nil)
3006
+ @Spec = spec
3007
+ @StorageType = storagetype
3008
+ @DiskType = disktype
3009
+ @MemSize = memsize
3010
+ @Cpu = cpu
3011
+ @DiskSize = disksize
3012
+ @RootSize = rootsize
3013
+ @MultiDisks = multidisks
3014
+ @Tags = tags
3015
+ @InstanceType = instancetype
3016
+ @LocalDiskNum = localdisknum
3017
+ @DiskNum = disknum
3018
+ end
3019
+
3020
+ def deserialize(params)
3021
+ @Spec = params['Spec']
3022
+ @StorageType = params['StorageType']
3023
+ @DiskType = params['DiskType']
3024
+ @MemSize = params['MemSize']
3025
+ @Cpu = params['Cpu']
3026
+ @DiskSize = params['DiskSize']
3027
+ @RootSize = params['RootSize']
3028
+ unless params['MultiDisks'].nil?
3029
+ @MultiDisks = []
3030
+ params['MultiDisks'].each do |i|
3031
+ multidisk_tmp = MultiDisk.new
3032
+ multidisk_tmp.deserialize(i)
3033
+ @MultiDisks << multidisk_tmp
3034
+ end
3035
+ end
3036
+ unless params['Tags'].nil?
3037
+ @Tags = []
3038
+ params['Tags'].each do |i|
3039
+ tag_tmp = Tag.new
3040
+ tag_tmp.deserialize(i)
3041
+ @Tags << tag_tmp
3042
+ end
3043
+ end
3044
+ @InstanceType = params['InstanceType']
3045
+ @LocalDiskNum = params['LocalDiskNum']
3046
+ @DiskNum = params['DiskNum']
3047
+ end
3048
+ end
3049
+
3050
+ # RunJobFlow请求参数结构体
3051
+ class RunJobFlowRequest < TencentCloud::Common::AbstractModel
3052
+ # @param Name: 作业名称。
3053
+ # @type Name: String
3054
+ # @param CreateCluster: 是否新创建集群。
3055
+ # true,新创建集群,则使用Instance中的参数进行集群创建。
3056
+ # false,使用已有集群,则通过InstanceId传入。
3057
+ # @type CreateCluster: Boolean
3058
+ # @param Steps: 作业流程执行步骤。
3059
+ # @type Steps: Array
3060
+ # @param InstancePolicy: 作业流程正常完成时,集群的处理方式,可选择:
3061
+ # Terminate 销毁集群。
3062
+ # Reserve 保留集群。
3063
+ # @type InstancePolicy: String
3064
+ # @param ProductVersion: 只有CreateCluster为true时生效,目前只支持EMR版本,例如EMR-2.2.0,不支持ClickHouse和Druid版本。
3065
+ # @type ProductVersion: String
3066
+ # @param SecurityClusterFlag: 只在CreateCluster为true时生效。
3067
+ # true 表示安装kerberos,false表示不安装kerberos。
3068
+ # @type SecurityClusterFlag: Boolean
3069
+ # @param Software: 只在CreateCluster为true时生效。
3070
+ # 新建集群时,要安装的软件列表。
3071
+ # @type Software: Array
3072
+ # @param BootstrapActions: 引导脚本。
3073
+ # @type BootstrapActions: Array
3074
+ # @param Configurations: 指定配置创建集群。
3075
+ # @type Configurations: Array
3076
+ # @param LogUri: 作业日志保存地址。
3077
+ # @type LogUri: String
3078
+ # @param InstanceId: 只在CreateCluster为false时生效。
3079
+ # @type InstanceId: String
3080
+ # @param ApplicationRole: 自定义应用角色,大数据应用访问外部服务时使用的角色,默认为"EME_QCSRole"。
3081
+ # @type ApplicationRole: String
3082
+ # @param ClientToken: 重入标签,用来可重入检查,防止在一段时间内,创建相同的流程作业。
3083
+ # @type ClientToken: String
3084
+ # @param Instance: 只在CreateCluster为true时生效,使用该配置创建集群。
3085
+ # @type Instance: :class:`Tencentcloud::Emr.v20190103.models.ClusterSetting`
3086
+
3087
+ attr_accessor :Name, :CreateCluster, :Steps, :InstancePolicy, :ProductVersion, :SecurityClusterFlag, :Software, :BootstrapActions, :Configurations, :LogUri, :InstanceId, :ApplicationRole, :ClientToken, :Instance
3088
+
3089
+ def initialize(name=nil, createcluster=nil, steps=nil, instancepolicy=nil, productversion=nil, securityclusterflag=nil, software=nil, bootstrapactions=nil, configurations=nil, loguri=nil, instanceid=nil, applicationrole=nil, clienttoken=nil, instance=nil)
3090
+ @Name = name
3091
+ @CreateCluster = createcluster
3092
+ @Steps = steps
3093
+ @InstancePolicy = instancepolicy
3094
+ @ProductVersion = productversion
3095
+ @SecurityClusterFlag = securityclusterflag
3096
+ @Software = software
3097
+ @BootstrapActions = bootstrapactions
3098
+ @Configurations = configurations
3099
+ @LogUri = loguri
3100
+ @InstanceId = instanceid
3101
+ @ApplicationRole = applicationrole
3102
+ @ClientToken = clienttoken
3103
+ @Instance = instance
3104
+ end
3105
+
3106
+ def deserialize(params)
3107
+ @Name = params['Name']
3108
+ @CreateCluster = params['CreateCluster']
3109
+ unless params['Steps'].nil?
3110
+ @Steps = []
3111
+ params['Steps'].each do |i|
3112
+ step_tmp = Step.new
3113
+ step_tmp.deserialize(i)
3114
+ @Steps << step_tmp
3115
+ end
3116
+ end
3117
+ @InstancePolicy = params['InstancePolicy']
3118
+ @ProductVersion = params['ProductVersion']
3119
+ @SecurityClusterFlag = params['SecurityClusterFlag']
3120
+ @Software = params['Software']
3121
+ unless params['BootstrapActions'].nil?
3122
+ @BootstrapActions = []
3123
+ params['BootstrapActions'].each do |i|
3124
+ bootstrapaction_tmp = BootstrapAction.new
3125
+ bootstrapaction_tmp.deserialize(i)
3126
+ @BootstrapActions << bootstrapaction_tmp
3127
+ end
3128
+ end
3129
+ unless params['Configurations'].nil?
3130
+ @Configurations = []
3131
+ params['Configurations'].each do |i|
3132
+ configuration_tmp = Configuration.new
3133
+ configuration_tmp.deserialize(i)
3134
+ @Configurations << configuration_tmp
3135
+ end
3136
+ end
3137
+ @LogUri = params['LogUri']
3138
+ @InstanceId = params['InstanceId']
3139
+ @ApplicationRole = params['ApplicationRole']
3140
+ @ClientToken = params['ClientToken']
3141
+ unless params['Instance'].nil?
3142
+ @Instance = ClusterSetting.new
3143
+ @Instance.deserialize(params['Instance'])
3144
+ end
3145
+ end
3146
+ end
3147
+
3148
+ # RunJobFlow返回参数结构体
3149
+ class RunJobFlowResponse < TencentCloud::Common::AbstractModel
3150
+ # @param JobFlowId: 作业流程ID。
3151
+ # @type JobFlowId: Integer
3152
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3153
+ # @type RequestId: String
3154
+
3155
+ attr_accessor :JobFlowId, :RequestId
3156
+
3157
+ def initialize(jobflowid=nil, requestid=nil)
3158
+ @JobFlowId = jobflowid
3159
+ @RequestId = requestid
3160
+ end
3161
+
3162
+ def deserialize(params)
3163
+ @JobFlowId = params['JobFlowId']
3164
+ @RequestId = params['RequestId']
3165
+ end
3166
+ end
3167
+
3168
+ # ScaleOutInstance请求参数结构体
3169
+ class ScaleOutInstanceRequest < TencentCloud::Common::AbstractModel
3170
+ # @param TimeUnit: 扩容的时间单位。取值范围:
3171
+ # <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
3172
+ # <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
3173
+ # @type TimeUnit: String
3174
+ # @param TimeSpan: 扩容的时长。结合TimeUnit一起使用。
3175
+ # <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
3176
+ # <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
3177
+ # @type TimeSpan: Integer
3178
+ # @param InstanceId: 实例ID。
3179
+ # @type InstanceId: String
3180
+ # @param PayMode: 实例计费模式。取值范围:
3181
+ # <li>0:表示按量计费。</li>
3182
+ # <li>1:表示包年包月。</li>
3183
+ # @type PayMode: Integer
3184
+ # @param ClientToken: 客户端Token。
3185
+ # @type ClientToken: String
3186
+ # @param PreExecutedFileSettings: 引导操作脚本设置。
3187
+ # @type PreExecutedFileSettings: Array
3188
+ # @param TaskCount: 扩容的Task节点数量。
3189
+ # @type TaskCount: Integer
3190
+ # @param CoreCount: 扩容的Core节点数量。
3191
+ # @type CoreCount: Integer
3192
+ # @param UnNecessaryNodeList: 扩容时不需要安装的进程。
3193
+ # @type UnNecessaryNodeList: Array
3194
+ # @param RouterCount: 扩容的Router节点数量。
3195
+ # @type RouterCount: Integer
3196
+ # @param SoftDeployInfo: 部署的服务。
3197
+ # <li>SoftDeployInfo和ServiceNodeInfo是同组参数,和UnNecessaryNodeList参数互斥。</li>
3198
+ # <li>建议使用SoftDeployInfo和ServiceNodeInfo组合。</li>
3199
+ # @type SoftDeployInfo: Array
3200
+ # @param ServiceNodeInfo: 启动的进程。
3201
+ # @type ServiceNodeInfo: Array
3202
+ # @param DisasterRecoverGroupIds: 分散置放群组ID列表,当前仅支持指定一个。
3203
+ # @type DisasterRecoverGroupIds: Array
3204
+ # @param Tags: 扩容节点绑定标签列表。
3205
+ # @type Tags: Array
3206
+ # @param HardwareResourceType: 扩容所选资源类型,可选范围为"host","pod",host为普通的CVM资源,Pod为TKE集群或EKS集群提供的资源
3207
+ # @type HardwareResourceType: String
3208
+ # @param PodSpec: 使用Pod资源扩容时,指定的Pod规格以及来源等信息
3209
+ # @type PodSpec: :class:`Tencentcloud::Emr.v20190103.models.PodSpec`
3210
+ # @param ClickHouseClusterName: 使用clickhouse集群扩容时,选择的机器分组名称
3211
+ # @type ClickHouseClusterName: String
3212
+ # @param ClickHouseClusterType: 使用clickhouse集群扩容时,选择的机器分组类型。new为新增,old为选择旧分组
3213
+ # @type ClickHouseClusterType: String
3214
+ # @param YarnNodeLabel: 规则扩容指定 yarn node label
3215
+ # @type YarnNodeLabel: String
3216
+ # @param PodParameter: POD自定义权限和自定义参数
3217
+ # @type PodParameter: :class:`Tencentcloud::Emr.v20190103.models.PodParameter`
3218
+ # @param MasterCount: 扩容的Master节点的数量。
3219
+ # 使用clickhouse集群扩容时,该参数不生效。
3220
+ # 使用kafka集群扩容时,该参数不生效。
3221
+ # 当HardwareResourceType=POD时,该参数不生效。
3222
+ # @type MasterCount: Integer
3223
+ # @param StartServiceAfterScaleOut: 扩容后是否启动服务,true:启动,false:不启动
3224
+ # @type StartServiceAfterScaleOut: String
3225
+
3226
+ attr_accessor :TimeUnit, :TimeSpan, :InstanceId, :PayMode, :ClientToken, :PreExecutedFileSettings, :TaskCount, :CoreCount, :UnNecessaryNodeList, :RouterCount, :SoftDeployInfo, :ServiceNodeInfo, :DisasterRecoverGroupIds, :Tags, :HardwareResourceType, :PodSpec, :ClickHouseClusterName, :ClickHouseClusterType, :YarnNodeLabel, :PodParameter, :MasterCount, :StartServiceAfterScaleOut
3227
+
3228
+ def initialize(timeunit=nil, timespan=nil, instanceid=nil, paymode=nil, clienttoken=nil, preexecutedfilesettings=nil, taskcount=nil, corecount=nil, unnecessarynodelist=nil, routercount=nil, softdeployinfo=nil, servicenodeinfo=nil, disasterrecovergroupids=nil, tags=nil, hardwareresourcetype=nil, podspec=nil, clickhouseclustername=nil, clickhouseclustertype=nil, yarnnodelabel=nil, podparameter=nil, mastercount=nil, startserviceafterscaleout=nil)
3229
+ @TimeUnit = timeunit
3230
+ @TimeSpan = timespan
3231
+ @InstanceId = instanceid
3232
+ @PayMode = paymode
3233
+ @ClientToken = clienttoken
3234
+ @PreExecutedFileSettings = preexecutedfilesettings
3235
+ @TaskCount = taskcount
3236
+ @CoreCount = corecount
3237
+ @UnNecessaryNodeList = unnecessarynodelist
3238
+ @RouterCount = routercount
3239
+ @SoftDeployInfo = softdeployinfo
3240
+ @ServiceNodeInfo = servicenodeinfo
3241
+ @DisasterRecoverGroupIds = disasterrecovergroupids
3242
+ @Tags = tags
3243
+ @HardwareResourceType = hardwareresourcetype
3244
+ @PodSpec = podspec
3245
+ @ClickHouseClusterName = clickhouseclustername
3246
+ @ClickHouseClusterType = clickhouseclustertype
3247
+ @YarnNodeLabel = yarnnodelabel
3248
+ @PodParameter = podparameter
3249
+ @MasterCount = mastercount
3250
+ @StartServiceAfterScaleOut = startserviceafterscaleout
3251
+ end
3252
+
3253
+ def deserialize(params)
3254
+ @TimeUnit = params['TimeUnit']
3255
+ @TimeSpan = params['TimeSpan']
3256
+ @InstanceId = params['InstanceId']
3257
+ @PayMode = params['PayMode']
3258
+ @ClientToken = params['ClientToken']
3259
+ unless params['PreExecutedFileSettings'].nil?
3260
+ @PreExecutedFileSettings = []
3261
+ params['PreExecutedFileSettings'].each do |i|
3262
+ preexecutefilesettings_tmp = PreExecuteFileSettings.new
3263
+ preexecutefilesettings_tmp.deserialize(i)
3264
+ @PreExecutedFileSettings << preexecutefilesettings_tmp
3265
+ end
3266
+ end
3267
+ @TaskCount = params['TaskCount']
3268
+ @CoreCount = params['CoreCount']
3269
+ @UnNecessaryNodeList = params['UnNecessaryNodeList']
3270
+ @RouterCount = params['RouterCount']
3271
+ @SoftDeployInfo = params['SoftDeployInfo']
3272
+ @ServiceNodeInfo = params['ServiceNodeInfo']
3273
+ @DisasterRecoverGroupIds = params['DisasterRecoverGroupIds']
3274
+ unless params['Tags'].nil?
3275
+ @Tags = []
3276
+ params['Tags'].each do |i|
3277
+ tag_tmp = Tag.new
3278
+ tag_tmp.deserialize(i)
3279
+ @Tags << tag_tmp
3280
+ end
3281
+ end
3282
+ @HardwareResourceType = params['HardwareResourceType']
3283
+ unless params['PodSpec'].nil?
3284
+ @PodSpec = PodSpec.new
3285
+ @PodSpec.deserialize(params['PodSpec'])
3286
+ end
3287
+ @ClickHouseClusterName = params['ClickHouseClusterName']
3288
+ @ClickHouseClusterType = params['ClickHouseClusterType']
3289
+ @YarnNodeLabel = params['YarnNodeLabel']
3290
+ unless params['PodParameter'].nil?
3291
+ @PodParameter = PodParameter.new
3292
+ @PodParameter.deserialize(params['PodParameter'])
3293
+ end
3294
+ @MasterCount = params['MasterCount']
3295
+ @StartServiceAfterScaleOut = params['StartServiceAfterScaleOut']
3296
+ end
3297
+ end
3298
+
3299
+ # ScaleOutInstance返回参数结构体
3300
+ class ScaleOutInstanceResponse < TencentCloud::Common::AbstractModel
3301
+ # @param InstanceId: 实例ID。
3302
+ # @type InstanceId: String
3303
+ # @param DealNames: 订单号。
3304
+ # 注意:此字段可能返回 null,表示取不到有效值。
3305
+ # @type DealNames: Array
3306
+ # @param ClientToken: 客户端Token。
3307
+ # 注意:此字段可能返回 null,表示取不到有效值。
3308
+ # @type ClientToken: String
3309
+ # @param FlowId: 扩容流程ID。
3310
+ # 注意:此字段可能返回 null,表示取不到有效值。
3311
+ # @type FlowId: Integer
3312
+ # @param BillId: 大订单号。
3313
+ # 注意:此字段可能返回 null,表示取不到有效值。
3314
+ # @type BillId: String
3315
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3316
+ # @type RequestId: String
3317
+
3318
+ attr_accessor :InstanceId, :DealNames, :ClientToken, :FlowId, :BillId, :RequestId
3319
+
3320
+ def initialize(instanceid=nil, dealnames=nil, clienttoken=nil, flowid=nil, billid=nil, requestid=nil)
3321
+ @InstanceId = instanceid
3322
+ @DealNames = dealnames
3323
+ @ClientToken = clienttoken
3324
+ @FlowId = flowid
3325
+ @BillId = billid
3326
+ @RequestId = requestid
3327
+ end
3328
+
3329
+ def deserialize(params)
3330
+ @InstanceId = params['InstanceId']
3331
+ @DealNames = params['DealNames']
3332
+ @ClientToken = params['ClientToken']
3333
+ @FlowId = params['FlowId']
3334
+ @BillId = params['BillId']
3335
+ @RequestId = params['RequestId']
3336
+ end
3337
+ end
3338
+
3339
+ # 搜索字段
3340
+ class SearchItem < TencentCloud::Common::AbstractModel
3341
+ # @param SearchType: 支持搜索的类型
3342
+ # @type SearchType: String
3343
+ # @param SearchValue: 支持搜索的值
3344
+ # @type SearchValue: String
3345
+
3346
+ attr_accessor :SearchType, :SearchValue
3347
+
3348
+ def initialize(searchtype=nil, searchvalue=nil)
3349
+ @SearchType = searchtype
3350
+ @SearchValue = searchvalue
3351
+ end
3352
+
3353
+ def deserialize(params)
3354
+ @SearchType = params['SearchType']
3355
+ @SearchValue = params['SearchValue']
3356
+ end
3357
+ end
3358
+
3359
+ # 执行步骤
3360
+ class Step < TencentCloud::Common::AbstractModel
3361
+ # @param Name: 执行步骤名称。
3362
+ # @type Name: String
3363
+ # @param ExecutionStep: 执行动作。
3364
+ # @type ExecutionStep: :class:`Tencentcloud::Emr.v20190103.models.Execution`
3365
+ # @param ActionOnFailure: 执行失败策略。
3366
+ # 1. TERMINATE_CLUSTER 执行失败时退出并销毁集群。
3367
+ # 2. CANCEL_AND_WAIT 执行失败时阻塞等待。
3368
+ # 3. CONTINUE 执行失败时跳过并执行后续步骤。
3369
+ # @type ActionOnFailure: String
3370
+ # @param User: 指定执行Step时的用户名,非必须,默认为hadoop。
3371
+ # @type User: String
3372
+
3373
+ attr_accessor :Name, :ExecutionStep, :ActionOnFailure, :User
3374
+
3375
+ def initialize(name=nil, executionstep=nil, actiononfailure=nil, user=nil)
3376
+ @Name = name
3377
+ @ExecutionStep = executionstep
3378
+ @ActionOnFailure = actiononfailure
3379
+ @User = user
3380
+ end
3381
+
3382
+ def deserialize(params)
3383
+ @Name = params['Name']
3384
+ unless params['ExecutionStep'].nil?
3385
+ @ExecutionStep = Execution.new
3386
+ @ExecutionStep.deserialize(params['ExecutionStep'])
3387
+ end
3388
+ @ActionOnFailure = params['ActionOnFailure']
3389
+ @User = params['User']
3390
+ end
3391
+ end
3392
+
3393
+ # SyncPodState请求参数结构体
3394
+ class SyncPodStateRequest < TencentCloud::Common::AbstractModel
3395
+ # @param Message: EmrService中pod状态信息
3396
+ # @type Message: :class:`Tencentcloud::Emr.v20190103.models.PodState`
3397
+
3398
+ attr_accessor :Message
3399
+
3400
+ def initialize(message=nil)
3401
+ @Message = message
3402
+ end
3403
+
3404
+ def deserialize(params)
3405
+ unless params['Message'].nil?
3406
+ @Message = PodState.new
3407
+ @Message.deserialize(params['Message'])
3408
+ end
3409
+ end
3410
+ end
3411
+
3412
+ # SyncPodState返回参数结构体
3413
+ class SyncPodStateResponse < TencentCloud::Common::AbstractModel
3414
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3415
+ # @type RequestId: String
3416
+
3417
+ attr_accessor :RequestId
3418
+
3419
+ def initialize(requestid=nil)
3420
+ @RequestId = requestid
3421
+ end
3422
+
3423
+ def deserialize(params)
3424
+ @RequestId = params['RequestId']
3425
+ end
3426
+ end
3427
+
3428
+ # 标签
3429
+ class Tag < TencentCloud::Common::AbstractModel
3430
+ # @param TagKey: 标签键
3431
+ # @type TagKey: String
3432
+ # @param TagValue: 标签值
3433
+ # @type TagValue: String
3434
+
3435
+ attr_accessor :TagKey, :TagValue
3436
+
3437
+ def initialize(tagkey=nil, tagvalue=nil)
3438
+ @TagKey = tagkey
3439
+ @TagValue = tagvalue
3440
+ end
3441
+
3442
+ def deserialize(params)
3443
+ @TagKey = params['TagKey']
3444
+ @TagValue = params['TagValue']
3445
+ end
3446
+ end
3447
+
3448
+ # TerminateInstance请求参数结构体
3449
+ class TerminateInstanceRequest < TencentCloud::Common::AbstractModel
3450
+ # @param InstanceId: 实例ID。
3451
+ # @type InstanceId: String
3452
+ # @param ResourceIds: 销毁节点ID。该参数为预留参数,用户无需配置。
3453
+ # @type ResourceIds: Array
3454
+
3455
+ attr_accessor :InstanceId, :ResourceIds
3456
+
3457
+ def initialize(instanceid=nil, resourceids=nil)
3458
+ @InstanceId = instanceid
3459
+ @ResourceIds = resourceids
3460
+ end
3461
+
3462
+ def deserialize(params)
3463
+ @InstanceId = params['InstanceId']
3464
+ @ResourceIds = params['ResourceIds']
3465
+ end
3466
+ end
3467
+
3468
+ # TerminateInstance返回参数结构体
3469
+ class TerminateInstanceResponse < TencentCloud::Common::AbstractModel
3470
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3471
+ # @type RequestId: String
3472
+
3473
+ attr_accessor :RequestId
3474
+
3475
+ def initialize(requestid=nil)
3476
+ @RequestId = requestid
3477
+ end
3478
+
3479
+ def deserialize(params)
3480
+ @RequestId = params['RequestId']
3481
+ end
3482
+ end
3483
+
3484
+ # TerminateTasks请求参数结构体
3485
+ class TerminateTasksRequest < TencentCloud::Common::AbstractModel
3486
+ # @param InstanceId: 实例ID。
3487
+ # @type InstanceId: String
3488
+ # @param ResourceIds: 待销毁节点的资源ID列表。资源ID形如:emr-vm-xxxxxxxx。有效的资源ID可通过登录[控制台](https://console.cloud.tencent.com/emr/static/hardware)查询。
3489
+ # @type ResourceIds: Array
3490
+
3491
+ attr_accessor :InstanceId, :ResourceIds
3492
+
3493
+ def initialize(instanceid=nil, resourceids=nil)
3494
+ @InstanceId = instanceid
3495
+ @ResourceIds = resourceids
3496
+ end
3497
+
3498
+ def deserialize(params)
3499
+ @InstanceId = params['InstanceId']
3500
+ @ResourceIds = params['ResourceIds']
3501
+ end
3502
+ end
3503
+
3504
+ # TerminateTasks返回参数结构体
3505
+ class TerminateTasksResponse < TencentCloud::Common::AbstractModel
3506
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3507
+ # @type RequestId: String
3508
+
3509
+ attr_accessor :RequestId
3510
+
3511
+ def initialize(requestid=nil)
3512
+ @RequestId = requestid
3513
+ end
3514
+
3515
+ def deserialize(params)
3516
+ @RequestId = params['RequestId']
3517
+ end
3518
+ end
3519
+
3520
+ # 变配资源规格
3521
+ class UpdateInstanceSettings < TencentCloud::Common::AbstractModel
3522
+ # @param Memory: 内存容量,单位为G
3523
+ # @type Memory: Integer
3524
+ # @param CPUCores: CPU核数
3525
+ # @type CPUCores: Integer
3526
+ # @param ResourceId: 机器资源ID(EMR测资源标识)
3527
+ # @type ResourceId: String
3528
+ # @param InstanceType: 变配机器规格
3529
+ # @type InstanceType: String
3530
+
3531
+ attr_accessor :Memory, :CPUCores, :ResourceId, :InstanceType
3532
+
3533
+ def initialize(memory=nil, cpucores=nil, resourceid=nil, instancetype=nil)
3534
+ @Memory = memory
3535
+ @CPUCores = cpucores
3536
+ @ResourceId = resourceid
3537
+ @InstanceType = instancetype
3538
+ end
3539
+
3540
+ def deserialize(params)
3541
+ @Memory = params['Memory']
3542
+ @CPUCores = params['CPUCores']
3543
+ @ResourceId = params['ResourceId']
3544
+ @InstanceType = params['InstanceType']
3545
+ end
3546
+ end
3547
+
3548
+ # VPC 参数
3549
+ class VPCSettings < TencentCloud::Common::AbstractModel
3550
+ # @param VpcId: VPC ID
3551
+ # @type VpcId: String
3552
+ # @param SubnetId: Subnet ID
3553
+ # @type SubnetId: String
3554
+
3555
+ attr_accessor :VpcId, :SubnetId
3556
+
3557
+ def initialize(vpcid=nil, subnetid=nil)
3558
+ @VpcId = vpcid
3559
+ @SubnetId = subnetid
3560
+ end
3561
+
3562
+ def deserialize(params)
3563
+ @VpcId = params['VpcId']
3564
+ @SubnetId = params['SubnetId']
3565
+ end
3566
+ end
3567
+
3568
+ end
3569
+ end
3570
+ end
3571
+