tencentcloud-sdk-emr 1.0.200

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