1// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//    http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package v20190103
16
17import (
18    "encoding/json"
19    tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
20    tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
21)
22
23type BootstrapAction struct {
24
25	// 脚本位置,支持cos上的文件,且只支持https协议。
26	Path *string `json:"Path,omitempty" name:"Path"`
27
28	// 执行时间。
29	// resourceAfter 表示在机器资源申请成功后执行。
30	// clusterBefore 表示在集群初始化前执行。
31	// clusterAfter 表示在集群初始化后执行。
32	WhenRun *string `json:"WhenRun,omitempty" name:"WhenRun"`
33
34	// 脚本参数
35	Args []*string `json:"Args,omitempty" name:"Args"`
36}
37
38type COSSettings struct {
39
40	// COS SecretId
41	CosSecretId *string `json:"CosSecretId,omitempty" name:"CosSecretId"`
42
43	// COS SecrectKey
44	CosSecretKey *string `json:"CosSecretKey,omitempty" name:"CosSecretKey"`
45
46	// 日志存储在COS上的路径
47	LogOnCosPath *string `json:"LogOnCosPath,omitempty" name:"LogOnCosPath"`
48}
49
50type CdbInfo struct {
51
52	// 数据库实例
53	// 注意:此字段可能返回 null,表示取不到有效值。
54	InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
55
56	// 数据库IP
57	// 注意:此字段可能返回 null,表示取不到有效值。
58	Ip *string `json:"Ip,omitempty" name:"Ip"`
59
60	// 数据库端口
61	// 注意:此字段可能返回 null,表示取不到有效值。
62	Port *int64 `json:"Port,omitempty" name:"Port"`
63
64	// 数据库内存规格
65	// 注意:此字段可能返回 null,表示取不到有效值。
66	MemSize *int64 `json:"MemSize,omitempty" name:"MemSize"`
67
68	// 数据库磁盘规格
69	// 注意:此字段可能返回 null,表示取不到有效值。
70	Volume *int64 `json:"Volume,omitempty" name:"Volume"`
71
72	// 服务标识
73	// 注意:此字段可能返回 null,表示取不到有效值。
74	Service *string `json:"Service,omitempty" name:"Service"`
75
76	// 过期时间
77	// 注意:此字段可能返回 null,表示取不到有效值。
78	ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"`
79
80	// 申请时间
81	// 注意:此字段可能返回 null,表示取不到有效值。
82	ApplyTime *string `json:"ApplyTime,omitempty" name:"ApplyTime"`
83
84	// 付费类型
85	// 注意:此字段可能返回 null,表示取不到有效值。
86	PayType *int64 `json:"PayType,omitempty" name:"PayType"`
87
88	// 过期标识
89	// 注意:此字段可能返回 null,表示取不到有效值。
90	ExpireFlag *bool `json:"ExpireFlag,omitempty" name:"ExpireFlag"`
91
92	// 数据库状态
93	// 注意:此字段可能返回 null,表示取不到有效值。
94	Status *int64 `json:"Status,omitempty" name:"Status"`
95
96	// 续费标识
97	// 注意:此字段可能返回 null,表示取不到有效值。
98	IsAutoRenew *int64 `json:"IsAutoRenew,omitempty" name:"IsAutoRenew"`
99
100	// 数据库字符串
101	// 注意:此字段可能返回 null,表示取不到有效值。
102	SerialNo *string `json:"SerialNo,omitempty" name:"SerialNo"`
103
104	// ZoneId
105	// 注意:此字段可能返回 null,表示取不到有效值。
106	ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"`
107
108	// RegionId
109	// 注意:此字段可能返回 null,表示取不到有效值。
110	RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"`
111}
112
113type ClusterInstancesInfo struct {
114
115	// ID号
116	// 注意:此字段可能返回 null,表示取不到有效值。
117	Id *int64 `json:"Id,omitempty" name:"Id"`
118
119	// 集群ID
120	// 注意:此字段可能返回 null,表示取不到有效值。
121	ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
122
123	// 标题
124	// 注意:此字段可能返回 null,表示取不到有效值。
125	Ftitle *string `json:"Ftitle,omitempty" name:"Ftitle"`
126
127	// 集群名
128	// 注意:此字段可能返回 null,表示取不到有效值。
129	ClusterName *string `json:"ClusterName,omitempty" name:"ClusterName"`
130
131	// 地域ID
132	// 注意:此字段可能返回 null,表示取不到有效值。
133	RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"`
134
135	// 地区ID
136	// 注意:此字段可能返回 null,表示取不到有效值。
137	ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"`
138
139	// 用户APPID
140	// 注意:此字段可能返回 null,表示取不到有效值。
141	AppId *int64 `json:"AppId,omitempty" name:"AppId"`
142
143	// 用户UIN
144	// 注意:此字段可能返回 null,表示取不到有效值。
145	Uin *string `json:"Uin,omitempty" name:"Uin"`
146
147	// 项目Id
148	// 注意:此字段可能返回 null,表示取不到有效值。
149	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
150
151	// 集群VPCID
152	// 注意:此字段可能返回 null,表示取不到有效值。
153	VpcId *int64 `json:"VpcId,omitempty" name:"VpcId"`
154
155	// 子网ID
156	// 注意:此字段可能返回 null,表示取不到有效值。
157	SubnetId *int64 `json:"SubnetId,omitempty" name:"SubnetId"`
158
159	// 实例的状态码。取值范围:
160	// <li>2:表示集群运行中。</li>
161	// <li>3:表示集群创建中。</li>
162	// <li>4:表示集群扩容中。</li>
163	// <li>5:表示集群增加router节点中。</li>
164	// <li>6:表示集群安装组件中。</li>
165	// <li>7:表示集群执行命令中。</li>
166	// <li>8:表示重启服务中。</li>
167	// <li>9:表示进入维护中。</li>
168	// <li>10:表示服务暂停中。</li>
169	// <li>11:表示退出维护中。</li>
170	// <li>12:表示退出暂停中。</li>
171	// <li>13:表示配置下发中。</li>
172	// <li>14:表示销毁集群中。</li>
173	// <li>15:表示销毁core节点中。</li>
174	// <li>16:销毁task节点中。</li>
175	// <li>17:表示销毁router节点中。</li>
176	// <li>18:表示更改webproxy密码中。</li>
177	// <li>19:表示集群隔离中。</li>
178	// <li>20:表示集群冲正中。</li>
179	// <li>21:表示集群回收中。</li>
180	// <li>22:表示变配等待中。</li>
181	// <li>23:表示集群已隔离。</li>
182	// <li>24:表示缩容节点中。</li>
183	// <li>33:表示集群等待退费中。</li>
184	// <li>34:表示集群已退费。</li>
185	// <li>301:表示创建失败。</li>
186	// <li>302:表示扩容失败。</li>
187	// 注意:此字段可能返回 null,表示取不到有效值。
188	Status *int64 `json:"Status,omitempty" name:"Status"`
189
190	// 添加时间
191	// 注意:此字段可能返回 null,表示取不到有效值。
192	AddTime *string `json:"AddTime,omitempty" name:"AddTime"`
193
194	// 已经运行时间
195	// 注意:此字段可能返回 null,表示取不到有效值。
196	RunTime *string `json:"RunTime,omitempty" name:"RunTime"`
197
198	// 集群产品配置信息
199	// 注意:此字段可能返回 null,表示取不到有效值。
200	Config *EmrProductConfigOutter `json:"Config,omitempty" name:"Config"`
201
202	// 主节点外网IP
203	// 注意:此字段可能返回 null,表示取不到有效值。
204	MasterIp *string `json:"MasterIp,omitempty" name:"MasterIp"`
205
206	// EMR版本
207	// 注意:此字段可能返回 null,表示取不到有效值。
208	EmrVersion *string `json:"EmrVersion,omitempty" name:"EmrVersion"`
209
210	// 收费类型
211	// 注意:此字段可能返回 null,表示取不到有效值。
212	ChargeType *int64 `json:"ChargeType,omitempty" name:"ChargeType"`
213
214	// 交易版本
215	// 注意:此字段可能返回 null,表示取不到有效值。
216	TradeVersion *int64 `json:"TradeVersion,omitempty" name:"TradeVersion"`
217
218	// 资源订单ID
219	// 注意:此字段可能返回 null,表示取不到有效值。
220	ResourceOrderId *int64 `json:"ResourceOrderId,omitempty" name:"ResourceOrderId"`
221
222	// 是否计费集群
223	// 注意:此字段可能返回 null,表示取不到有效值。
224	IsTradeCluster *int64 `json:"IsTradeCluster,omitempty" name:"IsTradeCluster"`
225
226	// 集群错误状态告警信息
227	// 注意:此字段可能返回 null,表示取不到有效值。
228	AlarmInfo *string `json:"AlarmInfo,omitempty" name:"AlarmInfo"`
229
230	// 是否采用新架构
231	// 注意:此字段可能返回 null,表示取不到有效值。
232	IsWoodpeckerCluster *int64 `json:"IsWoodpeckerCluster,omitempty" name:"IsWoodpeckerCluster"`
233
234	// 元数据库信息
235	// 注意:此字段可能返回 null,表示取不到有效值。
236	MetaDb *string `json:"MetaDb,omitempty" name:"MetaDb"`
237
238	// 标签信息
239	// 注意:此字段可能返回 null,表示取不到有效值。
240	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
241
242	// Hive元数据信息
243	// 注意:此字段可能返回 null,表示取不到有效值。
244	HiveMetaDb *string `json:"HiveMetaDb,omitempty" name:"HiveMetaDb"`
245
246	// 集群类型:EMR,CLICKHOUSE,DRUID
247	// 注意:此字段可能返回 null,表示取不到有效值。
248	ServiceClass *string `json:"ServiceClass,omitempty" name:"ServiceClass"`
249
250	// 集群所有节点的别名序列化
251	// 注意:此字段可能返回 null,表示取不到有效值。
252	AliasInfo *string `json:"AliasInfo,omitempty" name:"AliasInfo"`
253
254	// 集群版本Id
255	// 注意:此字段可能返回 null,表示取不到有效值。
256	ProductId *int64 `json:"ProductId,omitempty" name:"ProductId"`
257
258	// 地区ID
259	// 注意:此字段可能返回 null,表示取不到有效值。
260	Zone *string `json:"Zone,omitempty" name:"Zone"`
261}
262
263type ClusterSetting struct {
264
265	// 付费方式。
266	// PREPAID 包年包月。
267	// POSTPAID_BY_HOUR 按量计费,默认方式。
268	InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"`
269
270	// 是否为HA集群。
271	SupportHA *bool `json:"SupportHA,omitempty" name:"SupportHA"`
272
273	// 集群所使用的安全组,目前仅支持一个。
274	SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds"`
275
276	// 实例位置。
277	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
278
279	// 实例所在VPC。
280	VPCSettings *VPCSettings `json:"VPCSettings,omitempty" name:"VPCSettings"`
281
282	// 实例登录配置。
283	LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"`
284
285	// 实例标签。
286	TagSpecification []*string `json:"TagSpecification,omitempty" name:"TagSpecification"`
287
288	// 元数据库配置。
289	MetaDB *MetaDbInfo `json:"MetaDB,omitempty" name:"MetaDB"`
290
291	// 实例硬件配置。
292	ResourceSpec *JobFlowResourceSpec `json:"ResourceSpec,omitempty" name:"ResourceSpec"`
293
294	// 是否申请公网IP,默认为false。
295	PublicIpAssigned *bool `json:"PublicIpAssigned,omitempty" name:"PublicIpAssigned"`
296
297	// 包年包月配置,只对包年包月集群生效。
298	InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"`
299
300	// 集群置放群组。
301	DisasterRecoverGroupIds *string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds"`
302
303	// 是否使用cbs加密。
304	CbsEncryptFlag *bool `json:"CbsEncryptFlag,omitempty" name:"CbsEncryptFlag"`
305
306	// 是否使用远程登录,默认为false。
307	RemoteTcpDefaultPort *bool `json:"RemoteTcpDefaultPort,omitempty" name:"RemoteTcpDefaultPort"`
308}
309
310type Configuration struct {
311
312	// 配置文件名,支持SPARK、HIVE、HDFS、YARN的部分配置文件自定义。
313	Classification *string `json:"Classification,omitempty" name:"Classification"`
314
315	// 配置参数通过KV的形式传入,部分文件支持自定义,可以通过特殊的键"content"传入所有内容。
316	Properties *string `json:"Properties,omitempty" name:"Properties"`
317}
318
319type CreateInstanceRequest struct {
320	*tchttp.BaseRequest
321
322	// 产品ID,不同产品ID表示不同的EMR产品版本。取值范围:
323	// <li>1:表示EMR-V1.3.1。</li>
324	// <li>2:表示EMR-V2.0.1。</li>
325	// <li>4:表示EMR-V2.1.0。</li>
326	// <li>7:表示EMR-V3.0.0。</li>
327	// <li>9:表示EMR-V2.2.0。</li>
328	// <li>11:表示CLICKHOUSE-V1.0.0。</li>
329	// <li>13:表示DRUID-V1.0.0。</li>
330	// <li>15:表示EMR-V2.2.1。</li>
331	// <li>16:表示EMR-V2.3.0。</li>
332	// <li>17:表示CLICKHOUSE-V1.1.0。</li>
333	// <li>19:表示EMR-V2.4.0。</li>
334	// <li>20:表示EMR-V2.5.0。</li>
335	// <li>22:表示CLICKHOUSE-V1.2.0。</li>
336	// <li>24:表示EMR-TianQiong-V1.0.0。</li>
337	// <li>25:表示EMR-V3.1.0。</li>
338	// <li>26:表示DORIS-V1.0.0。</li>
339	// <li>27:表示KAFKA-V1.0.0。</li>
340	// <li>28:表示EMR-V3.2.0。</li>
341	// <li>29:表示EMR-V2.5.1。</li>
342	// <li>30:表示EMR-V2.6.0。</li>
343	ProductId *uint64 `json:"ProductId,omitempty" name:"ProductId"`
344
345	// 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。
346	VPCSettings *VPCSettings `json:"VPCSettings,omitempty" name:"VPCSettings"`
347
348	// 部署的组件列表。不同的EMR产品ID(ProductId:具体含义参考入参ProductId字段)对应不同可选组件列表,不同产品版本可选组件列表查询:[组件版本](https://cloud.tencent.com/document/product/589/20279)
349	// 填写实例值:hive、flink。
350	Software []*string `json:"Software,omitempty" name:"Software"`
351
352	// 节点资源的规格。
353	ResourceSpec *NewResourceSpec `json:"ResourceSpec,omitempty" name:"ResourceSpec"`
354
355	// 是否开启节点高可用。取值范围:
356	// <li>0:表示不开启节点高可用。</li>
357	// <li>1:表示开启节点高可用。</li>
358	SupportHA *uint64 `json:"SupportHA,omitempty" name:"SupportHA"`
359
360	// 实例名称。
361	// <li>长度限制为6-36个字符。</li>
362	// <li>只允许包含中文、字母、数字、-、_。</li>
363	InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"`
364
365	// 实例计费模式。取值范围:
366	// <li>0:表示按量计费。</li>
367	// <li>1:表示包年包月。</li>
368	PayMode *uint64 `json:"PayMode,omitempty" name:"PayMode"`
369
370	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
371	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
372
373	// 购买实例的时长。结合TimeUnit一起使用。
374	// <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
375	// <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
376	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
377
378	// 购买实例的时间单位。取值范围:
379	// <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
380	// <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
381	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
382
383	// 实例登录设置。通过该参数可以设置所购买节点的登录方式密码或者密钥。
384	// <li>设置密钥时,密码仅用于组件原生WebUI快捷入口登录。</li>
385	// <li>未设置密钥时,密码用于登录所购节点以及组件原生WebUI快捷入口登录。</li>
386	LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"`
387
388	// 开启COS访问需要设置的参数。
389	COSSettings *COSSettings `json:"COSSettings,omitempty" name:"COSSettings"`
390
391	// 实例所属安全组的ID,形如sg-xxxxxxxx。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的SecurityGroupId字段来获取。
392	SgId *string `json:"SgId,omitempty" name:"SgId"`
393
394	// [引导操作](https://cloud.tencent.com/document/product/589/35656)脚本设置。
395	PreExecutedFileSettings []*PreExecuteFileSettings `json:"PreExecutedFileSettings,omitempty" name:"PreExecutedFileSettings"`
396
397	// 包年包月实例是否自动续费。取值范围:
398	// <li>0:表示不自动续费。</li>
399	// <li>1:表示自动续费。</li>
400	AutoRenew *uint64 `json:"AutoRenew,omitempty" name:"AutoRenew"`
401
402	// 客户端Token。
403	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
404
405	// 是否开启集群Master节点公网。取值范围:
406	// <li>NEED_MASTER_WAN:表示开启集群Master节点公网。</li>
407	// <li>NOT_NEED_MASTER_WAN:表示不开启。</li>默认开启集群Master节点公网。
408	NeedMasterWan *string `json:"NeedMasterWan,omitempty" name:"NeedMasterWan"`
409
410	// 是否需要开启外网远程登录,即22号端口。在SgId不为空时,该参数无效。
411	RemoteLoginAtCreate *int64 `json:"RemoteLoginAtCreate,omitempty" name:"RemoteLoginAtCreate"`
412
413	// 是否开启安全集群。0表示不开启,非0表示开启。
414	CheckSecurity *int64 `json:"CheckSecurity,omitempty" name:"CheckSecurity"`
415
416	// 访问外部文件系统。
417	ExtendFsField *string `json:"ExtendFsField,omitempty" name:"ExtendFsField"`
418
419	// 标签描述列表。通过指定该参数可以同时绑定标签到相应的实例。
420	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
421
422	// 分散置放群组ID列表,当前只支持指定一个。
423	// 该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/product/213/15486 ) 的返回值中的SecurityGroupId字段来获取。
424	DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds"`
425
426	// 集群维度CBS加密盘,默认0表示不加密,1表示加密
427	CbsEncrypt *uint64 `json:"CbsEncrypt,omitempty" name:"CbsEncrypt"`
428
429	// hive共享元数据库类型。取值范围:
430	// <li>EMR_NEW_META:表示集群默认创建</li>
431	// <li>EMR_EXIT_META:表示集群使用指定EMR-MetaDB。</li>
432	// <li>USER_CUSTOM_META:表示集群使用自定义MetaDB。</li>
433	MetaType *string `json:"MetaType,omitempty" name:"MetaType"`
434
435	// EMR-MetaDB实例
436	UnifyMetaInstanceId *string `json:"UnifyMetaInstanceId,omitempty" name:"UnifyMetaInstanceId"`
437
438	// 自定义MetaDB信息
439	MetaDBInfo *CustomMetaInfo `json:"MetaDBInfo,omitempty" name:"MetaDBInfo"`
440
441	// 自定义应用角色。
442	ApplicationRole *string `json:"ApplicationRole,omitempty" name:"ApplicationRole"`
443}
444
445func (r *CreateInstanceRequest) ToJsonString() string {
446    b, _ := json.Marshal(r)
447    return string(b)
448}
449
450// FromJsonString It is highly **NOT** recommended to use this function
451// because it has no param check, nor strict type check
452func (r *CreateInstanceRequest) FromJsonString(s string) error {
453	f := make(map[string]interface{})
454	if err := json.Unmarshal([]byte(s), &f); err != nil {
455		return err
456	}
457	delete(f, "ProductId")
458	delete(f, "VPCSettings")
459	delete(f, "Software")
460	delete(f, "ResourceSpec")
461	delete(f, "SupportHA")
462	delete(f, "InstanceName")
463	delete(f, "PayMode")
464	delete(f, "Placement")
465	delete(f, "TimeSpan")
466	delete(f, "TimeUnit")
467	delete(f, "LoginSettings")
468	delete(f, "COSSettings")
469	delete(f, "SgId")
470	delete(f, "PreExecutedFileSettings")
471	delete(f, "AutoRenew")
472	delete(f, "ClientToken")
473	delete(f, "NeedMasterWan")
474	delete(f, "RemoteLoginAtCreate")
475	delete(f, "CheckSecurity")
476	delete(f, "ExtendFsField")
477	delete(f, "Tags")
478	delete(f, "DisasterRecoverGroupIds")
479	delete(f, "CbsEncrypt")
480	delete(f, "MetaType")
481	delete(f, "UnifyMetaInstanceId")
482	delete(f, "MetaDBInfo")
483	delete(f, "ApplicationRole")
484	if len(f) > 0 {
485		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateInstanceRequest has unknown keys!", "")
486	}
487	return json.Unmarshal([]byte(s), &r)
488}
489
490type CreateInstanceResponse struct {
491	*tchttp.BaseResponse
492	Response *struct {
493
494		// 实例ID
495	// 注意:此字段可能返回 null,表示取不到有效值。
496		InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
497
498		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
499		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
500	} `json:"Response"`
501}
502
503func (r *CreateInstanceResponse) ToJsonString() string {
504    b, _ := json.Marshal(r)
505    return string(b)
506}
507
508// FromJsonString It is highly **NOT** recommended to use this function
509// because it has no param check, nor strict type check
510func (r *CreateInstanceResponse) FromJsonString(s string) error {
511	return json.Unmarshal([]byte(s), &r)
512}
513
514type CustomMetaInfo struct {
515
516	// 自定义MetaDB的JDBC连接,请以 jdbc:mysql:// 开头
517	MetaDataJdbcUrl *string `json:"MetaDataJdbcUrl,omitempty" name:"MetaDataJdbcUrl"`
518
519	// 自定义MetaDB用户名
520	MetaDataUser *string `json:"MetaDataUser,omitempty" name:"MetaDataUser"`
521
522	// 自定义MetaDB密码
523	MetaDataPass *string `json:"MetaDataPass,omitempty" name:"MetaDataPass"`
524}
525
526type DescribeClusterNodesRequest struct {
527	*tchttp.BaseRequest
528
529	// 集群实例ID,实例ID形如: emr-xxxxxxxx
530	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
531
532	// 节点标识,取值为:
533	// <li>all:表示获取全部类型节点,cdb信息除外。</li>
534	// <li>master:表示获取master节点信息。</li>
535	// <li>core:表示获取core节点信息。</li>
536	// <li>task:表示获取task节点信息。</li>
537	// <li>common:表示获取common节点信息。</li>
538	// <li>router:表示获取router节点信息。</li>
539	// <li>db:表示获取正常状态的cdb信息。</li>
540	// <li>recyle:表示获取回收站隔离中的节点信息,包括cdb信息。</li>
541	// <li>renew:表示获取所有待续费的节点信息,包括cdb信息,自动续费节点不会返回。</li>
542	// 注意:现在只支持以上取值,输入其他值会导致错误。
543	NodeFlag *string `json:"NodeFlag,omitempty" name:"NodeFlag"`
544
545	// 页编号,默认值为0,表示第一页。
546	Offset *int64 `json:"Offset,omitempty" name:"Offset"`
547
548	// 每页返回数量,默认值为100,最大值为100。
549	Limit *int64 `json:"Limit,omitempty" name:"Limit"`
550
551	// 资源类型:支持all/host/pod,默认为all
552	HardwareResourceType *string `json:"HardwareResourceType,omitempty" name:"HardwareResourceType"`
553
554	// 支持搜索的字段
555	SearchFields []*SearchItem `json:"SearchFields,omitempty" name:"SearchFields"`
556}
557
558func (r *DescribeClusterNodesRequest) ToJsonString() string {
559    b, _ := json.Marshal(r)
560    return string(b)
561}
562
563// FromJsonString It is highly **NOT** recommended to use this function
564// because it has no param check, nor strict type check
565func (r *DescribeClusterNodesRequest) FromJsonString(s string) error {
566	f := make(map[string]interface{})
567	if err := json.Unmarshal([]byte(s), &f); err != nil {
568		return err
569	}
570	delete(f, "InstanceId")
571	delete(f, "NodeFlag")
572	delete(f, "Offset")
573	delete(f, "Limit")
574	delete(f, "HardwareResourceType")
575	delete(f, "SearchFields")
576	if len(f) > 0 {
577		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeClusterNodesRequest has unknown keys!", "")
578	}
579	return json.Unmarshal([]byte(s), &r)
580}
581
582type DescribeClusterNodesResponse struct {
583	*tchttp.BaseResponse
584	Response *struct {
585
586		// 查询到的节点总数
587		TotalCnt *int64 `json:"TotalCnt,omitempty" name:"TotalCnt"`
588
589		// 节点详细信息列表
590	// 注意:此字段可能返回 null,表示取不到有效值。
591		NodeList []*NodeHardwareInfo `json:"NodeList,omitempty" name:"NodeList"`
592
593		// 用户所有的标签键列表
594	// 注意:此字段可能返回 null,表示取不到有效值。
595		TagKeys []*string `json:"TagKeys,omitempty" name:"TagKeys"`
596
597		// 资源类型列表
598	// 注意:此字段可能返回 null,表示取不到有效值。
599		HardwareResourceTypeList []*string `json:"HardwareResourceTypeList,omitempty" name:"HardwareResourceTypeList"`
600
601		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
602		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
603	} `json:"Response"`
604}
605
606func (r *DescribeClusterNodesResponse) ToJsonString() string {
607    b, _ := json.Marshal(r)
608    return string(b)
609}
610
611// FromJsonString It is highly **NOT** recommended to use this function
612// because it has no param check, nor strict type check
613func (r *DescribeClusterNodesResponse) FromJsonString(s string) error {
614	return json.Unmarshal([]byte(s), &r)
615}
616
617type DescribeCvmQuotaRequest struct {
618	*tchttp.BaseRequest
619
620	// EMR集群ID
621	ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
622
623	// 区ID
624	ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"`
625}
626
627func (r *DescribeCvmQuotaRequest) ToJsonString() string {
628    b, _ := json.Marshal(r)
629    return string(b)
630}
631
632// FromJsonString It is highly **NOT** recommended to use this function
633// because it has no param check, nor strict type check
634func (r *DescribeCvmQuotaRequest) FromJsonString(s string) error {
635	f := make(map[string]interface{})
636	if err := json.Unmarshal([]byte(s), &f); err != nil {
637		return err
638	}
639	delete(f, "ClusterId")
640	delete(f, "ZoneId")
641	if len(f) > 0 {
642		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeCvmQuotaRequest has unknown keys!", "")
643	}
644	return json.Unmarshal([]byte(s), &r)
645}
646
647type DescribeCvmQuotaResponse struct {
648	*tchttp.BaseResponse
649	Response *struct {
650
651		// 后付费配额列表
652	// 注意:此字段可能返回 null,表示取不到有效值。
653		PostPaidQuotaSet []*QuotaEntity `json:"PostPaidQuotaSet,omitempty" name:"PostPaidQuotaSet"`
654
655		// 竞价实例配额列表
656	// 注意:此字段可能返回 null,表示取不到有效值。
657		SpotPaidQuotaSet []*QuotaEntity `json:"SpotPaidQuotaSet,omitempty" name:"SpotPaidQuotaSet"`
658
659		// eks配额
660	// 注意:此字段可能返回 null,表示取不到有效值。
661		EksQuotaSet []*PodSaleSpec `json:"EksQuotaSet,omitempty" name:"EksQuotaSet"`
662
663		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
664		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
665	} `json:"Response"`
666}
667
668func (r *DescribeCvmQuotaResponse) ToJsonString() string {
669    b, _ := json.Marshal(r)
670    return string(b)
671}
672
673// FromJsonString It is highly **NOT** recommended to use this function
674// because it has no param check, nor strict type check
675func (r *DescribeCvmQuotaResponse) FromJsonString(s string) error {
676	return json.Unmarshal([]byte(s), &r)
677}
678
679type DescribeInstanceRenewNodesRequest struct {
680	*tchttp.BaseRequest
681
682	// 集群实例ID,实例ID形如: emr-xxxxxxxx
683	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
684}
685
686func (r *DescribeInstanceRenewNodesRequest) ToJsonString() string {
687    b, _ := json.Marshal(r)
688    return string(b)
689}
690
691// FromJsonString It is highly **NOT** recommended to use this function
692// because it has no param check, nor strict type check
693func (r *DescribeInstanceRenewNodesRequest) FromJsonString(s string) error {
694	f := make(map[string]interface{})
695	if err := json.Unmarshal([]byte(s), &f); err != nil {
696		return err
697	}
698	delete(f, "InstanceId")
699	if len(f) > 0 {
700		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstanceRenewNodesRequest has unknown keys!", "")
701	}
702	return json.Unmarshal([]byte(s), &r)
703}
704
705type DescribeInstanceRenewNodesResponse struct {
706	*tchttp.BaseResponse
707	Response *struct {
708
709		// 查询到的节点总数
710		TotalCnt *int64 `json:"TotalCnt,omitempty" name:"TotalCnt"`
711
712		// 节点详细信息列表
713	// 注意:此字段可能返回 null,表示取不到有效值。
714		NodeList []*RenewInstancesInfo `json:"NodeList,omitempty" name:"NodeList"`
715
716		// 用户所有的标签键列表
717	// 注意:此字段可能返回 null,表示取不到有效值。
718		MetaInfo []*string `json:"MetaInfo,omitempty" name:"MetaInfo"`
719
720		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
721		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
722	} `json:"Response"`
723}
724
725func (r *DescribeInstanceRenewNodesResponse) ToJsonString() string {
726    b, _ := json.Marshal(r)
727    return string(b)
728}
729
730// FromJsonString It is highly **NOT** recommended to use this function
731// because it has no param check, nor strict type check
732func (r *DescribeInstanceRenewNodesResponse) FromJsonString(s string) error {
733	return json.Unmarshal([]byte(s), &r)
734}
735
736type DescribeInstancesRequest struct {
737	*tchttp.BaseRequest
738
739	// 集群筛选策略。取值范围:
740	// <li>clusterList:表示查询除了已销毁集群之外的集群列表。</li>
741	// <li>monitorManage:表示查询除了已销毁、创建中以及创建失败的集群之外的集群列表。</li>
742	// <li>cloudHardwareManage/componentManage:目前这两个取值为预留取值,暂时和monitorManage表示同样的含义。</li>
743	DisplayStrategy *string `json:"DisplayStrategy,omitempty" name:"DisplayStrategy"`
744
745	// 按照一个或者多个实例ID查询。实例ID形如: emr-xxxxxxxx 。(此参数的具体格式可参考API[简介](https://cloud.tencent.com/document/api/213/15688)的 Ids.N 一节)。如果不填写实例ID,返回该APPID下所有实例列表。
746	InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
747
748	// 页编号,默认值为0,表示第一页。
749	Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
750
751	// 每页返回数量,默认值为10,最大值为100。
752	Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
753
754	// 建议必填-1,表示拉取所有项目下的集群。
755	// 不填默认值为0,表示拉取默认项目下的集群。
756	// 实例所属项目ID。该参数可以通过调用 [DescribeProject](https://cloud.tencent.com/document/api/378/4400) 的返回值中的 projectId 字段来获取。
757	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
758
759	// 排序字段。取值范围:
760	// <li>clusterId:表示按照实例ID排序。</li>
761	// <li>addTime:表示按照实例创建时间排序。</li>
762	// <li>status:表示按照实例的状态码排序。</li>
763	OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
764
765	// 按照OrderField升序或者降序进行排序。取值范围:
766	// <li>0:表示降序。</li>
767	// <li>1:表示升序。</li>默认值为0。
768	Asc *int64 `json:"Asc,omitempty" name:"Asc"`
769}
770
771func (r *DescribeInstancesRequest) ToJsonString() string {
772    b, _ := json.Marshal(r)
773    return string(b)
774}
775
776// FromJsonString It is highly **NOT** recommended to use this function
777// because it has no param check, nor strict type check
778func (r *DescribeInstancesRequest) FromJsonString(s string) error {
779	f := make(map[string]interface{})
780	if err := json.Unmarshal([]byte(s), &f); err != nil {
781		return err
782	}
783	delete(f, "DisplayStrategy")
784	delete(f, "InstanceIds")
785	delete(f, "Offset")
786	delete(f, "Limit")
787	delete(f, "ProjectId")
788	delete(f, "OrderField")
789	delete(f, "Asc")
790	if len(f) > 0 {
791		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeInstancesRequest has unknown keys!", "")
792	}
793	return json.Unmarshal([]byte(s), &r)
794}
795
796type DescribeInstancesResponse struct {
797	*tchttp.BaseResponse
798	Response *struct {
799
800		// 符合条件的实例总数。
801		TotalCnt *int64 `json:"TotalCnt,omitempty" name:"TotalCnt"`
802
803		// EMR实例详细信息列表。
804	// 注意:此字段可能返回 null,表示取不到有效值。
805		ClusterList []*ClusterInstancesInfo `json:"ClusterList,omitempty" name:"ClusterList"`
806
807		// 实例关联的标签键列表。
808	// 注意:此字段可能返回 null,表示取不到有效值。
809		TagKeys []*string `json:"TagKeys,omitempty" name:"TagKeys"`
810
811		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
812		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
813	} `json:"Response"`
814}
815
816func (r *DescribeInstancesResponse) ToJsonString() string {
817    b, _ := json.Marshal(r)
818    return string(b)
819}
820
821// FromJsonString It is highly **NOT** recommended to use this function
822// because it has no param check, nor strict type check
823func (r *DescribeInstancesResponse) FromJsonString(s string) error {
824	return json.Unmarshal([]byte(s), &r)
825}
826
827type DescribeJobFlowRequest struct {
828	*tchttp.BaseRequest
829
830	// 流程任务Id,RunJobFlow接口返回的值。
831	JobFlowId *int64 `json:"JobFlowId,omitempty" name:"JobFlowId"`
832}
833
834func (r *DescribeJobFlowRequest) ToJsonString() string {
835    b, _ := json.Marshal(r)
836    return string(b)
837}
838
839// FromJsonString It is highly **NOT** recommended to use this function
840// because it has no param check, nor strict type check
841func (r *DescribeJobFlowRequest) FromJsonString(s string) error {
842	f := make(map[string]interface{})
843	if err := json.Unmarshal([]byte(s), &f); err != nil {
844		return err
845	}
846	delete(f, "JobFlowId")
847	if len(f) > 0 {
848		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeJobFlowRequest has unknown keys!", "")
849	}
850	return json.Unmarshal([]byte(s), &r)
851}
852
853type DescribeJobFlowResponse struct {
854	*tchttp.BaseResponse
855	Response *struct {
856
857		// 流程任务状态,可以为以下值:
858	// JobFlowInit,流程任务初始化。
859	// JobFlowResourceApplied,资源申请中,通常为JobFlow需要新建集群时的状态。
860	// JobFlowResourceReady,执行流程任务的资源就绪。
861	// JobFlowStepsRunning,流程任务步骤已提交。
862	// JobFlowStepsComplete,流程任务步骤已完成。
863	// JobFlowTerminating,流程任务所需资源销毁中。
864	// JobFlowFinish,流程任务已完成。
865		State *string `json:"State,omitempty" name:"State"`
866
867		// 流程任务步骤结果。
868		Details []*JobResult `json:"Details,omitempty" name:"Details"`
869
870		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
871		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
872	} `json:"Response"`
873}
874
875func (r *DescribeJobFlowResponse) ToJsonString() string {
876    b, _ := json.Marshal(r)
877    return string(b)
878}
879
880// FromJsonString It is highly **NOT** recommended to use this function
881// because it has no param check, nor strict type check
882func (r *DescribeJobFlowResponse) FromJsonString(s string) error {
883	return json.Unmarshal([]byte(s), &r)
884}
885
886type DiskGroup struct {
887
888	// 磁盘规格。
889	Spec *DiskSpec `json:"Spec,omitempty" name:"Spec"`
890
891	// 同类型磁盘数量。
892	Count *int64 `json:"Count,omitempty" name:"Count"`
893}
894
895type DiskSpec struct {
896
897	// 磁盘类型。
898	// LOCAL_BASIC  本地盘。
899	// CLOUD_BASIC 云硬盘。
900	// LOCAL_SSD 本地SSD。
901	// CLOUD_SSD 云SSD。
902	// CLOUD_PREMIUM 高效云盘。
903	// CLOUD_HSSD 增强型云SSD。
904	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
905
906	// 磁盘大小,单位GB。
907	DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
908}
909
910type DynamicPodSpec struct {
911
912	// 需求最小cpu核数
913	RequestCpu *float64 `json:"RequestCpu,omitempty" name:"RequestCpu"`
914
915	// 需求最大cpu核数
916	LimitCpu *float64 `json:"LimitCpu,omitempty" name:"LimitCpu"`
917
918	// 需求最小memory,单位MB
919	RequestMemory *float64 `json:"RequestMemory,omitempty" name:"RequestMemory"`
920
921	// 需求最大memory,单位MB
922	LimitMemory *float64 `json:"LimitMemory,omitempty" name:"LimitMemory"`
923}
924
925type EmrProductConfigOutter struct {
926
927	// 软件信息
928	// 注意:此字段可能返回 null,表示取不到有效值。
929	SoftInfo []*string `json:"SoftInfo,omitempty" name:"SoftInfo"`
930
931	// Master节点个数
932	// 注意:此字段可能返回 null,表示取不到有效值。
933	MasterNodeSize *int64 `json:"MasterNodeSize,omitempty" name:"MasterNodeSize"`
934
935	// Core节点个数
936	// 注意:此字段可能返回 null,表示取不到有效值。
937	CoreNodeSize *int64 `json:"CoreNodeSize,omitempty" name:"CoreNodeSize"`
938
939	// Task节点个数
940	// 注意:此字段可能返回 null,表示取不到有效值。
941	TaskNodeSize *int64 `json:"TaskNodeSize,omitempty" name:"TaskNodeSize"`
942
943	// Common节点个数
944	// 注意:此字段可能返回 null,表示取不到有效值。
945	ComNodeSize *int64 `json:"ComNodeSize,omitempty" name:"ComNodeSize"`
946
947	// Master节点资源
948	// 注意:此字段可能返回 null,表示取不到有效值。
949	MasterResource *OutterResource `json:"MasterResource,omitempty" name:"MasterResource"`
950
951	// Core节点资源
952	// 注意:此字段可能返回 null,表示取不到有效值。
953	CoreResource *OutterResource `json:"CoreResource,omitempty" name:"CoreResource"`
954
955	// Task节点资源
956	// 注意:此字段可能返回 null,表示取不到有效值。
957	TaskResource *OutterResource `json:"TaskResource,omitempty" name:"TaskResource"`
958
959	// Common节点资源
960	// 注意:此字段可能返回 null,表示取不到有效值。
961	ComResource *OutterResource `json:"ComResource,omitempty" name:"ComResource"`
962
963	// 是否使用COS
964	// 注意:此字段可能返回 null,表示取不到有效值。
965	OnCos *bool `json:"OnCos,omitempty" name:"OnCos"`
966
967	// 收费类型
968	// 注意:此字段可能返回 null,表示取不到有效值。
969	ChargeType *int64 `json:"ChargeType,omitempty" name:"ChargeType"`
970
971	// Router节点个数
972	// 注意:此字段可能返回 null,表示取不到有效值。
973	RouterNodeSize *int64 `json:"RouterNodeSize,omitempty" name:"RouterNodeSize"`
974
975	// 是否支持HA
976	// 注意:此字段可能返回 null,表示取不到有效值。
977	SupportHA *bool `json:"SupportHA,omitempty" name:"SupportHA"`
978
979	// 是否支持安全模式
980	// 注意:此字段可能返回 null,表示取不到有效值。
981	SecurityOn *bool `json:"SecurityOn,omitempty" name:"SecurityOn"`
982
983	// 安全组名称
984	// 注意:此字段可能返回 null,表示取不到有效值。
985	SecurityGroup *string `json:"SecurityGroup,omitempty" name:"SecurityGroup"`
986
987	// 是否开启Cbs加密
988	// 注意:此字段可能返回 null,表示取不到有效值。
989	CbsEncrypt *int64 `json:"CbsEncrypt,omitempty" name:"CbsEncrypt"`
990
991	// 自定义应用角色。
992	// 注意:此字段可能返回 null,表示取不到有效值。
993	ApplicationRole *string `json:"ApplicationRole,omitempty" name:"ApplicationRole"`
994
995	// 安全组
996	// 注意:此字段可能返回 null,表示取不到有效值。
997	SecurityGroups []*string `json:"SecurityGroups,omitempty" name:"SecurityGroups"`
998}
999
1000type Execution struct {
1001
1002	// 任务类型,目前支持以下类型。
1003	// 1. “MR”,将通过hadoop jar的方式提交。
1004	// 2. "HIVE",将通过hive -f的方式提交。
1005	// 3. "SPARK",将通过spark-submit的方式提交。
1006	JobType *string `json:"JobType,omitempty" name:"JobType"`
1007
1008	// 任务参数,提供除提交指令以外的参数。
1009	Args []*string `json:"Args,omitempty" name:"Args"`
1010}
1011
1012type HostVolumeContext struct {
1013
1014	// Pod挂载宿主机的目录。资源对宿主机的挂载点,指定的挂载点对应了宿主机的路径,该挂载点在Pod中作为数据存储目录使用
1015	// 注意:此字段可能返回 null,表示取不到有效值。
1016	VolumePath *string `json:"VolumePath,omitempty" name:"VolumePath"`
1017}
1018
1019type InquirePriceRenewEmrRequest struct {
1020	*tchttp.BaseRequest
1021
1022	// 实例续费的时长。需要结合TimeUnit一起使用。1表示续费1一个月
1023	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1024
1025	// 待续费集群ID列表。
1026	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
1027
1028	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1029	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
1030
1031	// 实例计费模式。此处只支持取值为1,表示包年包月。
1032	PayMode *int64 `json:"PayMode,omitempty" name:"PayMode"`
1033
1034	// 实例续费的时间单位。取值范围:
1035	// <li>m:表示月份。</li>
1036	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1037
1038	// 货币种类。取值范围:
1039	// <li>CNY:表示人民币。</li>
1040	Currency *string `json:"Currency,omitempty" name:"Currency"`
1041}
1042
1043func (r *InquirePriceRenewEmrRequest) ToJsonString() string {
1044    b, _ := json.Marshal(r)
1045    return string(b)
1046}
1047
1048// FromJsonString It is highly **NOT** recommended to use this function
1049// because it has no param check, nor strict type check
1050func (r *InquirePriceRenewEmrRequest) FromJsonString(s string) error {
1051	f := make(map[string]interface{})
1052	if err := json.Unmarshal([]byte(s), &f); err != nil {
1053		return err
1054	}
1055	delete(f, "TimeSpan")
1056	delete(f, "InstanceId")
1057	delete(f, "Placement")
1058	delete(f, "PayMode")
1059	delete(f, "TimeUnit")
1060	delete(f, "Currency")
1061	if len(f) > 0 {
1062		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquirePriceRenewEmrRequest has unknown keys!", "")
1063	}
1064	return json.Unmarshal([]byte(s), &r)
1065}
1066
1067type InquirePriceRenewEmrResponse struct {
1068	*tchttp.BaseResponse
1069	Response *struct {
1070
1071		// 原价,单位为元。
1072	// 注意:此字段可能返回 null,表示取不到有效值。
1073		OriginalCost *float64 `json:"OriginalCost,omitempty" name:"OriginalCost"`
1074
1075		// 折扣价,单位为元。
1076	// 注意:此字段可能返回 null,表示取不到有效值。
1077		DiscountCost *float64 `json:"DiscountCost,omitempty" name:"DiscountCost"`
1078
1079		// 实例续费的时间单位。取值范围:
1080	// <li>m:表示月份。</li>
1081	// 注意:此字段可能返回 null,表示取不到有效值。
1082		TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1083
1084		// 实例续费的时长。
1085	// 注意:此字段可能返回 null,表示取不到有效值。
1086		TimeSpan *int64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1087
1088		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1089		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1090	} `json:"Response"`
1091}
1092
1093func (r *InquirePriceRenewEmrResponse) ToJsonString() string {
1094    b, _ := json.Marshal(r)
1095    return string(b)
1096}
1097
1098// FromJsonString It is highly **NOT** recommended to use this function
1099// because it has no param check, nor strict type check
1100func (r *InquirePriceRenewEmrResponse) FromJsonString(s string) error {
1101	return json.Unmarshal([]byte(s), &r)
1102}
1103
1104type InquiryPriceCreateInstanceRequest struct {
1105	*tchttp.BaseRequest
1106
1107	// 购买实例的时间单位。取值范围:
1108	// <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1109	// <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1110	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1111
1112	// 购买实例的时长。结合TimeUnit一起使用。
1113	// <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1114	// <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1115	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1116
1117	// 询价的节点规格。
1118	ResourceSpec *NewResourceSpec `json:"ResourceSpec,omitempty" name:"ResourceSpec"`
1119
1120	// 货币种类。取值范围:
1121	// <li>CNY:表示人民币。</li>
1122	Currency *string `json:"Currency,omitempty" name:"Currency"`
1123
1124	// 实例计费模式。取值范围:
1125	// <li>0:表示按量计费。</li>
1126	// <li>1:表示包年包月。</li>
1127	PayMode *uint64 `json:"PayMode,omitempty" name:"PayMode"`
1128
1129	// 是否开启节点高可用。取值范围:
1130	// <li>0:表示不开启节点高可用。</li>
1131	// <li>1:表示开启节点高可用。</li>
1132	SupportHA *uint64 `json:"SupportHA,omitempty" name:"SupportHA"`
1133
1134	// 部署的组件列表。不同的EMR产品ID(ProductId:具体含义参考入参ProductId字段)需要选择不同的必选组件:
1135	// <li>ProductId为1的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
1136	// <li>ProductId为2的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
1137	// <li>ProductId为4的时候,必选组件包括:hadoop-2.8.4、knox-1.2.0、zookeeper-3.4.9</li>
1138	// <li>ProductId为7的时候,必选组件包括:hadoop-3.1.2、knox-1.2.0、zookeeper-3.4.9</li>
1139	Software []*string `json:"Software,omitempty" name:"Software"`
1140
1141	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1142	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
1143
1144	// 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。
1145	VPCSettings *VPCSettings `json:"VPCSettings,omitempty" name:"VPCSettings"`
1146
1147	// hive共享元数据库类型。取值范围:
1148	// <li>EMR_NEW_META:表示集群默认创建</li>
1149	// <li>EMR_EXIT_METE:表示集群使用指定EMR-MetaDB。</li>
1150	// <li>USER_CUSTOM_META:表示集群使用自定义MetaDB。</li>
1151	MetaType *string `json:"MetaType,omitempty" name:"MetaType"`
1152
1153	// EMR-MetaDB实例
1154	UnifyMetaInstanceId *string `json:"UnifyMetaInstanceId,omitempty" name:"UnifyMetaInstanceId"`
1155
1156	// 自定义MetaDB信息
1157	MetaDBInfo *CustomMetaInfo `json:"MetaDBInfo,omitempty" name:"MetaDBInfo"`
1158
1159	// 产品ID,不同产品ID表示不同的EMR产品版本。取值范围:
1160	// <li>1:表示EMR-V1.3.1。</li>
1161	// <li>2:表示EMR-V2.0.1。</li>
1162	// <li>4:表示EMR-V2.1.0。</li>
1163	// <li>7:表示EMR-V3.0.0。</li>
1164	ProductId *uint64 `json:"ProductId,omitempty" name:"ProductId"`
1165}
1166
1167func (r *InquiryPriceCreateInstanceRequest) ToJsonString() string {
1168    b, _ := json.Marshal(r)
1169    return string(b)
1170}
1171
1172// FromJsonString It is highly **NOT** recommended to use this function
1173// because it has no param check, nor strict type check
1174func (r *InquiryPriceCreateInstanceRequest) FromJsonString(s string) error {
1175	f := make(map[string]interface{})
1176	if err := json.Unmarshal([]byte(s), &f); err != nil {
1177		return err
1178	}
1179	delete(f, "TimeUnit")
1180	delete(f, "TimeSpan")
1181	delete(f, "ResourceSpec")
1182	delete(f, "Currency")
1183	delete(f, "PayMode")
1184	delete(f, "SupportHA")
1185	delete(f, "Software")
1186	delete(f, "Placement")
1187	delete(f, "VPCSettings")
1188	delete(f, "MetaType")
1189	delete(f, "UnifyMetaInstanceId")
1190	delete(f, "MetaDBInfo")
1191	delete(f, "ProductId")
1192	if len(f) > 0 {
1193		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceCreateInstanceRequest has unknown keys!", "")
1194	}
1195	return json.Unmarshal([]byte(s), &r)
1196}
1197
1198type InquiryPriceCreateInstanceResponse struct {
1199	*tchttp.BaseResponse
1200	Response *struct {
1201
1202		// 原价,单位为元。
1203	// 注意:此字段可能返回 null,表示取不到有效值。
1204		OriginalCost *float64 `json:"OriginalCost,omitempty" name:"OriginalCost"`
1205
1206		// 折扣价,单位为元。
1207	// 注意:此字段可能返回 null,表示取不到有效值。
1208		DiscountCost *float64 `json:"DiscountCost,omitempty" name:"DiscountCost"`
1209
1210		// 购买实例的时间单位。取值范围:
1211	// <li>s:表示秒。</li>
1212	// <li>m:表示月份。</li>
1213	// 注意:此字段可能返回 null,表示取不到有效值。
1214		TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1215
1216		// 购买实例的时长。
1217	// 注意:此字段可能返回 null,表示取不到有效值。
1218		TimeSpan *int64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1219
1220		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1221		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1222	} `json:"Response"`
1223}
1224
1225func (r *InquiryPriceCreateInstanceResponse) ToJsonString() string {
1226    b, _ := json.Marshal(r)
1227    return string(b)
1228}
1229
1230// FromJsonString It is highly **NOT** recommended to use this function
1231// because it has no param check, nor strict type check
1232func (r *InquiryPriceCreateInstanceResponse) FromJsonString(s string) error {
1233	return json.Unmarshal([]byte(s), &r)
1234}
1235
1236type InquiryPriceRenewInstanceRequest struct {
1237	*tchttp.BaseRequest
1238
1239	// 实例续费的时长。需要结合TimeUnit一起使用。1表示续费1一个月
1240	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1241
1242	// 待续费节点的资源ID列表。资源ID形如:emr-vm-xxxxxxxx。有效的资源ID可通过登录[控制台](https://console.cloud.tencent.com/emr/static/hardware)查询。
1243	ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds"`
1244
1245	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1246	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
1247
1248	// 实例计费模式。此处只支持取值为1,表示包年包月。
1249	PayMode *int64 `json:"PayMode,omitempty" name:"PayMode"`
1250
1251	// 实例续费的时间单位。取值范围:
1252	// <li>m:表示月份。</li>
1253	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1254
1255	// 货币种类。取值范围:
1256	// <li>CNY:表示人民币。</li>
1257	Currency *string `json:"Currency,omitempty" name:"Currency"`
1258
1259	// 是否按量转包年包月。0:否,1:是。
1260	ModifyPayMode *int64 `json:"ModifyPayMode,omitempty" name:"ModifyPayMode"`
1261}
1262
1263func (r *InquiryPriceRenewInstanceRequest) ToJsonString() string {
1264    b, _ := json.Marshal(r)
1265    return string(b)
1266}
1267
1268// FromJsonString It is highly **NOT** recommended to use this function
1269// because it has no param check, nor strict type check
1270func (r *InquiryPriceRenewInstanceRequest) FromJsonString(s string) error {
1271	f := make(map[string]interface{})
1272	if err := json.Unmarshal([]byte(s), &f); err != nil {
1273		return err
1274	}
1275	delete(f, "TimeSpan")
1276	delete(f, "ResourceIds")
1277	delete(f, "Placement")
1278	delete(f, "PayMode")
1279	delete(f, "TimeUnit")
1280	delete(f, "Currency")
1281	delete(f, "ModifyPayMode")
1282	if len(f) > 0 {
1283		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceRenewInstanceRequest has unknown keys!", "")
1284	}
1285	return json.Unmarshal([]byte(s), &r)
1286}
1287
1288type InquiryPriceRenewInstanceResponse struct {
1289	*tchttp.BaseResponse
1290	Response *struct {
1291
1292		// 原价,单位为元。
1293	// 注意:此字段可能返回 null,表示取不到有效值。
1294		OriginalCost *float64 `json:"OriginalCost,omitempty" name:"OriginalCost"`
1295
1296		// 折扣价,单位为元。
1297	// 注意:此字段可能返回 null,表示取不到有效值。
1298		DiscountCost *float64 `json:"DiscountCost,omitempty" name:"DiscountCost"`
1299
1300		// 实例续费的时间单位。取值范围:
1301	// <li>m:表示月份。</li>
1302	// 注意:此字段可能返回 null,表示取不到有效值。
1303		TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1304
1305		// 实例续费的时长。
1306	// 注意:此字段可能返回 null,表示取不到有效值。
1307		TimeSpan *int64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1308
1309		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1310		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1311	} `json:"Response"`
1312}
1313
1314func (r *InquiryPriceRenewInstanceResponse) ToJsonString() string {
1315    b, _ := json.Marshal(r)
1316    return string(b)
1317}
1318
1319// FromJsonString It is highly **NOT** recommended to use this function
1320// because it has no param check, nor strict type check
1321func (r *InquiryPriceRenewInstanceResponse) FromJsonString(s string) error {
1322	return json.Unmarshal([]byte(s), &r)
1323}
1324
1325type InquiryPriceScaleOutInstanceRequest struct {
1326	*tchttp.BaseRequest
1327
1328	// 扩容的时间单位。取值范围:
1329	// <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1330	// <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1331	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1332
1333	// 扩容的时长。结合TimeUnit一起使用。
1334	// <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1335	// <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1336	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1337
1338	// 实例所属的可用区ID,例如100003。该参数可以通过调用 [DescribeZones](https://cloud.tencent.com/document/api/213/15707) 的返回值中的ZoneId字段来获取。
1339	ZoneId *uint64 `json:"ZoneId,omitempty" name:"ZoneId"`
1340
1341	// 实例计费模式。取值范围:
1342	// <li>0:表示按量计费。</li>
1343	// <li>1:表示包年包月。</li>
1344	PayMode *uint64 `json:"PayMode,omitempty" name:"PayMode"`
1345
1346	// 实例ID。
1347	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
1348
1349	// 扩容的Core节点数量。
1350	CoreCount *uint64 `json:"CoreCount,omitempty" name:"CoreCount"`
1351
1352	// 扩容的Task节点数量。
1353	TaskCount *uint64 `json:"TaskCount,omitempty" name:"TaskCount"`
1354
1355	// 货币种类。取值范围:
1356	// <li>CNY:表示人民币。</li>
1357	Currency *string `json:"Currency,omitempty" name:"Currency"`
1358
1359	// 扩容的Router节点数量。
1360	RouterCount *uint64 `json:"RouterCount,omitempty" name:"RouterCount"`
1361
1362	// 扩容的Master节点数量。
1363	MasterCount *uint64 `json:"MasterCount,omitempty" name:"MasterCount"`
1364}
1365
1366func (r *InquiryPriceScaleOutInstanceRequest) ToJsonString() string {
1367    b, _ := json.Marshal(r)
1368    return string(b)
1369}
1370
1371// FromJsonString It is highly **NOT** recommended to use this function
1372// because it has no param check, nor strict type check
1373func (r *InquiryPriceScaleOutInstanceRequest) FromJsonString(s string) error {
1374	f := make(map[string]interface{})
1375	if err := json.Unmarshal([]byte(s), &f); err != nil {
1376		return err
1377	}
1378	delete(f, "TimeUnit")
1379	delete(f, "TimeSpan")
1380	delete(f, "ZoneId")
1381	delete(f, "PayMode")
1382	delete(f, "InstanceId")
1383	delete(f, "CoreCount")
1384	delete(f, "TaskCount")
1385	delete(f, "Currency")
1386	delete(f, "RouterCount")
1387	delete(f, "MasterCount")
1388	if len(f) > 0 {
1389		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceScaleOutInstanceRequest has unknown keys!", "")
1390	}
1391	return json.Unmarshal([]byte(s), &r)
1392}
1393
1394type InquiryPriceScaleOutInstanceResponse struct {
1395	*tchttp.BaseResponse
1396	Response *struct {
1397
1398		// 原价,单位为元。
1399	// 注意:此字段可能返回 null,表示取不到有效值。
1400		OriginalCost *string `json:"OriginalCost,omitempty" name:"OriginalCost"`
1401
1402		// 折扣价,单位为元。
1403	// 注意:此字段可能返回 null,表示取不到有效值。
1404		DiscountCost *string `json:"DiscountCost,omitempty" name:"DiscountCost"`
1405
1406		// 扩容的时间单位。取值范围:
1407	// <li>s:表示秒。</li>
1408	// <li>m:表示月份。</li>
1409	// 注意:此字段可能返回 null,表示取不到有效值。
1410		Unit *string `json:"Unit,omitempty" name:"Unit"`
1411
1412		// 询价的节点规格。
1413	// 注意:此字段可能返回 null,表示取不到有效值。
1414		PriceSpec *PriceResource `json:"PriceSpec,omitempty" name:"PriceSpec"`
1415
1416		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1417		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1418	} `json:"Response"`
1419}
1420
1421func (r *InquiryPriceScaleOutInstanceResponse) ToJsonString() string {
1422    b, _ := json.Marshal(r)
1423    return string(b)
1424}
1425
1426// FromJsonString It is highly **NOT** recommended to use this function
1427// because it has no param check, nor strict type check
1428func (r *InquiryPriceScaleOutInstanceResponse) FromJsonString(s string) error {
1429	return json.Unmarshal([]byte(s), &r)
1430}
1431
1432type InquiryPriceUpdateInstanceRequest struct {
1433	*tchttp.BaseRequest
1434
1435	// 变配的时间单位。取值范围:
1436	// <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
1437	// <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
1438	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1439
1440	// 变配的时长。结合TimeUnit一起使用。
1441	// <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
1442	// <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
1443	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1444
1445	// 节点变配的目标配置。
1446	UpdateSpec *UpdateInstanceSettings `json:"UpdateSpec,omitempty" name:"UpdateSpec"`
1447
1448	// 实例计费模式。取值范围:
1449	// <li>0:表示按量计费。</li>
1450	// <li>1:表示包年包月。</li>
1451	PayMode *uint64 `json:"PayMode,omitempty" name:"PayMode"`
1452
1453	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
1454	Placement *Placement `json:"Placement,omitempty" name:"Placement"`
1455
1456	// 货币种类。取值范围:
1457	// <li>CNY:表示人民币。</li>
1458	Currency *string `json:"Currency,omitempty" name:"Currency"`
1459}
1460
1461func (r *InquiryPriceUpdateInstanceRequest) ToJsonString() string {
1462    b, _ := json.Marshal(r)
1463    return string(b)
1464}
1465
1466// FromJsonString It is highly **NOT** recommended to use this function
1467// because it has no param check, nor strict type check
1468func (r *InquiryPriceUpdateInstanceRequest) FromJsonString(s string) error {
1469	f := make(map[string]interface{})
1470	if err := json.Unmarshal([]byte(s), &f); err != nil {
1471		return err
1472	}
1473	delete(f, "TimeUnit")
1474	delete(f, "TimeSpan")
1475	delete(f, "UpdateSpec")
1476	delete(f, "PayMode")
1477	delete(f, "Placement")
1478	delete(f, "Currency")
1479	if len(f) > 0 {
1480		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceUpdateInstanceRequest has unknown keys!", "")
1481	}
1482	return json.Unmarshal([]byte(s), &r)
1483}
1484
1485type InquiryPriceUpdateInstanceResponse struct {
1486	*tchttp.BaseResponse
1487	Response *struct {
1488
1489		// 原价,单位为元。
1490	// 注意:此字段可能返回 null,表示取不到有效值。
1491		OriginalCost *float64 `json:"OriginalCost,omitempty" name:"OriginalCost"`
1492
1493		// 折扣价,单位为元。
1494	// 注意:此字段可能返回 null,表示取不到有效值。
1495		DiscountCost *float64 `json:"DiscountCost,omitempty" name:"DiscountCost"`
1496
1497		// 变配的时间单位。取值范围:
1498	// <li>s:表示秒。</li>
1499	// <li>m:表示月份。</li>
1500	// 注意:此字段可能返回 null,表示取不到有效值。
1501		TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
1502
1503		// 变配的时长。
1504	// 注意:此字段可能返回 null,表示取不到有效值。
1505		TimeSpan *int64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
1506
1507		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1508		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1509	} `json:"Response"`
1510}
1511
1512func (r *InquiryPriceUpdateInstanceResponse) ToJsonString() string {
1513    b, _ := json.Marshal(r)
1514    return string(b)
1515}
1516
1517// FromJsonString It is highly **NOT** recommended to use this function
1518// because it has no param check, nor strict type check
1519func (r *InquiryPriceUpdateInstanceResponse) FromJsonString(s string) error {
1520	return json.Unmarshal([]byte(s), &r)
1521}
1522
1523type InstanceChargePrepaid struct {
1524
1525	// 包年包月时间,默认为1,单位:月。
1526	// 取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12, 24, 36, 48, 60。
1527	Period *int64 `json:"Period,omitempty" name:"Period"`
1528
1529	// 是否自动续费,默认为否。
1530	RenewFlag *bool `json:"RenewFlag,omitempty" name:"RenewFlag"`
1531}
1532
1533type JobFlowResource struct {
1534
1535	// 机器类型描述。
1536	Spec *string `json:"Spec,omitempty" name:"Spec"`
1537
1538	// 机器类型描述,可参考CVM的该含义。
1539	InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
1540
1541	// 标签KV对。
1542	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
1543
1544	// 磁盘描述列表。
1545	DiskGroups []*DiskGroup `json:"DiskGroups,omitempty" name:"DiskGroups"`
1546}
1547
1548type JobFlowResourceSpec struct {
1549
1550	// 主节点数量。
1551	MasterCount *int64 `json:"MasterCount,omitempty" name:"MasterCount"`
1552
1553	// 主节点配置。
1554	MasterResourceSpec *JobFlowResource `json:"MasterResourceSpec,omitempty" name:"MasterResourceSpec"`
1555
1556	// Core节点数量
1557	CoreCount *int64 `json:"CoreCount,omitempty" name:"CoreCount"`
1558
1559	// Core节点配置。
1560	CoreResourceSpec *JobFlowResource `json:"CoreResourceSpec,omitempty" name:"CoreResourceSpec"`
1561
1562	// Task节点数量。
1563	TaskCount *int64 `json:"TaskCount,omitempty" name:"TaskCount"`
1564
1565	// Common节点数量。
1566	CommonCount *int64 `json:"CommonCount,omitempty" name:"CommonCount"`
1567
1568	// Task节点配置。
1569	TaskResourceSpec *JobFlowResource `json:"TaskResourceSpec,omitempty" name:"TaskResourceSpec"`
1570
1571	// Common节点配置。
1572	CommonResourceSpec *JobFlowResource `json:"CommonResourceSpec,omitempty" name:"CommonResourceSpec"`
1573}
1574
1575type JobResult struct {
1576
1577	// 任务步骤名称。
1578	// 注意:此字段可能返回 null,表示取不到有效值。
1579	Name *string `json:"Name,omitempty" name:"Name"`
1580
1581	// 任务步骤失败时的处理策略,可以为以下值:
1582	// "CONTINUE",跳过当前失败步骤,继续后续步骤。
1583	// “TERMINATE_CLUSTER”,终止当前及后续步骤,并销毁集群。
1584	// “CANCEL_AND_WAIT”,取消当前步骤并阻塞等待处理。
1585	// 注意:此字段可能返回 null,表示取不到有效值。
1586	ActionOnFailure *string `json:"ActionOnFailure,omitempty" name:"ActionOnFailure"`
1587
1588	// 当前步骤的状态,可以为以下值:
1589	// “JobFlowStepStatusInit”,初始化状态,等待执行。
1590	// “JobFlowStepStatusRunning”,任务步骤正在执行。
1591	// “JobFlowStepStatusFailed”,任务步骤执行失败。
1592	// “JobFlowStepStatusSucceed”,任务步骤执行成功。
1593	// 注意:此字段可能返回 null,表示取不到有效值。
1594	JobState *string `json:"JobState,omitempty" name:"JobState"`
1595}
1596
1597type LoginSettings struct {
1598
1599	// Password
1600	Password *string `json:"Password,omitempty" name:"Password"`
1601
1602	// Public Key
1603	PublicKeyId *string `json:"PublicKeyId,omitempty" name:"PublicKeyId"`
1604}
1605
1606type MetaDbInfo struct {
1607
1608	// 元数据类型。
1609	MetaType *string `json:"MetaType,omitempty" name:"MetaType"`
1610
1611	// 统一元数据库实例ID。
1612	UnifyMetaInstanceId *string `json:"UnifyMetaInstanceId,omitempty" name:"UnifyMetaInstanceId"`
1613
1614	// 自建元数据库信息。
1615	MetaDBInfo *CustomMetaInfo `json:"MetaDBInfo,omitempty" name:"MetaDBInfo"`
1616}
1617
1618type MultiDisk struct {
1619
1620	// 云盘类型
1621	// <li>CLOUD_SSD:表示云SSD。</li>
1622	// <li>CLOUD_PREMIUM:表示高效云盘。</li>
1623	// <li>CLOUD_HSSD:表示增强型SSD云硬盘。</li>
1624	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
1625
1626	// 云盘大小
1627	Volume *int64 `json:"Volume,omitempty" name:"Volume"`
1628
1629	// 该类型云盘个数
1630	Count *int64 `json:"Count,omitempty" name:"Count"`
1631}
1632
1633type MultiDiskMC struct {
1634
1635	// 该类型云盘个数
1636	// 注意:此字段可能返回 null,表示取不到有效值。
1637	Count *int64 `json:"Count,omitempty" name:"Count"`
1638
1639	// 磁盘类型
1640	// 注意:此字段可能返回 null,表示取不到有效值。
1641	Type *int64 `json:"Type,omitempty" name:"Type"`
1642
1643	// 云盘大小
1644	// 注意:此字段可能返回 null,表示取不到有效值。
1645	Volume *int64 `json:"Volume,omitempty" name:"Volume"`
1646}
1647
1648type NewResourceSpec struct {
1649
1650	// 描述Master节点资源
1651	MasterResourceSpec *Resource `json:"MasterResourceSpec,omitempty" name:"MasterResourceSpec"`
1652
1653	// 描述Core节点资源
1654	CoreResourceSpec *Resource `json:"CoreResourceSpec,omitempty" name:"CoreResourceSpec"`
1655
1656	// 描述Task节点资源
1657	TaskResourceSpec *Resource `json:"TaskResourceSpec,omitempty" name:"TaskResourceSpec"`
1658
1659	// Master节点数量
1660	MasterCount *int64 `json:"MasterCount,omitempty" name:"MasterCount"`
1661
1662	// Core节点数量
1663	CoreCount *int64 `json:"CoreCount,omitempty" name:"CoreCount"`
1664
1665	// Task节点数量
1666	TaskCount *int64 `json:"TaskCount,omitempty" name:"TaskCount"`
1667
1668	// 描述Common节点资源
1669	CommonResourceSpec *Resource `json:"CommonResourceSpec,omitempty" name:"CommonResourceSpec"`
1670
1671	// Common节点数量
1672	CommonCount *int64 `json:"CommonCount,omitempty" name:"CommonCount"`
1673}
1674
1675type NodeHardwareInfo struct {
1676
1677	// 用户APPID
1678	// 注意:此字段可能返回 null,表示取不到有效值。
1679	AppId *int64 `json:"AppId,omitempty" name:"AppId"`
1680
1681	// 序列号
1682	// 注意:此字段可能返回 null,表示取不到有效值。
1683	SerialNo *string `json:"SerialNo,omitempty" name:"SerialNo"`
1684
1685	// 机器实例ID
1686	// 注意:此字段可能返回 null,表示取不到有效值。
1687	OrderNo *string `json:"OrderNo,omitempty" name:"OrderNo"`
1688
1689	// master节点绑定外网IP
1690	// 注意:此字段可能返回 null,表示取不到有效值。
1691	WanIp *string `json:"WanIp,omitempty" name:"WanIp"`
1692
1693	// 节点类型。0:common节点;1:master节点
1694	// ;2:core节点;3:task节点
1695	// 注意:此字段可能返回 null,表示取不到有效值。
1696	Flag *int64 `json:"Flag,omitempty" name:"Flag"`
1697
1698	// 节点规格
1699	// 注意:此字段可能返回 null,表示取不到有效值。
1700	Spec *string `json:"Spec,omitempty" name:"Spec"`
1701
1702	// 节点核数
1703	// 注意:此字段可能返回 null,表示取不到有效值。
1704	CpuNum *int64 `json:"CpuNum,omitempty" name:"CpuNum"`
1705
1706	// 节点内存
1707	// 注意:此字段可能返回 null,表示取不到有效值。
1708	MemSize *int64 `json:"MemSize,omitempty" name:"MemSize"`
1709
1710	// 节点内存描述
1711	// 注意:此字段可能返回 null,表示取不到有效值。
1712	MemDesc *string `json:"MemDesc,omitempty" name:"MemDesc"`
1713
1714	// 节点所在region
1715	// 注意:此字段可能返回 null,表示取不到有效值。
1716	RegionId *int64 `json:"RegionId,omitempty" name:"RegionId"`
1717
1718	// 节点所在Zone
1719	// 注意:此字段可能返回 null,表示取不到有效值。
1720	ZoneId *int64 `json:"ZoneId,omitempty" name:"ZoneId"`
1721
1722	// 申请时间
1723	// 注意:此字段可能返回 null,表示取不到有效值。
1724	ApplyTime *string `json:"ApplyTime,omitempty" name:"ApplyTime"`
1725
1726	// 释放时间
1727	// 注意:此字段可能返回 null,表示取不到有效值。
1728	FreeTime *string `json:"FreeTime,omitempty" name:"FreeTime"`
1729
1730	// 硬盘大小
1731	// 注意:此字段可能返回 null,表示取不到有效值。
1732	DiskSize *string `json:"DiskSize,omitempty" name:"DiskSize"`
1733
1734	// 节点描述
1735	// 注意:此字段可能返回 null,表示取不到有效值。
1736	NameTag *string `json:"NameTag,omitempty" name:"NameTag"`
1737
1738	// 节点部署服务
1739	// 注意:此字段可能返回 null,表示取不到有效值。
1740	Services *string `json:"Services,omitempty" name:"Services"`
1741
1742	// 磁盘类型
1743	// 注意:此字段可能返回 null,表示取不到有效值。
1744	StorageType *int64 `json:"StorageType,omitempty" name:"StorageType"`
1745
1746	// 系统盘大小
1747	// 注意:此字段可能返回 null,表示取不到有效值。
1748	RootSize *int64 `json:"RootSize,omitempty" name:"RootSize"`
1749
1750	// 付费类型
1751	// 注意:此字段可能返回 null,表示取不到有效值。
1752	ChargeType *int64 `json:"ChargeType,omitempty" name:"ChargeType"`
1753
1754	// 数据库IP
1755	// 注意:此字段可能返回 null,表示取不到有效值。
1756	CdbIp *string `json:"CdbIp,omitempty" name:"CdbIp"`
1757
1758	// 数据库端口
1759	// 注意:此字段可能返回 null,表示取不到有效值。
1760	CdbPort *int64 `json:"CdbPort,omitempty" name:"CdbPort"`
1761
1762	// 硬盘容量
1763	// 注意:此字段可能返回 null,表示取不到有效值。
1764	HwDiskSize *int64 `json:"HwDiskSize,omitempty" name:"HwDiskSize"`
1765
1766	// 硬盘容量描述
1767	// 注意:此字段可能返回 null,表示取不到有效值。
1768	HwDiskSizeDesc *string `json:"HwDiskSizeDesc,omitempty" name:"HwDiskSizeDesc"`
1769
1770	// 内存容量
1771	// 注意:此字段可能返回 null,表示取不到有效值。
1772	HwMemSize *int64 `json:"HwMemSize,omitempty" name:"HwMemSize"`
1773
1774	// 内存容量描述
1775	// 注意:此字段可能返回 null,表示取不到有效值。
1776	HwMemSizeDesc *string `json:"HwMemSizeDesc,omitempty" name:"HwMemSizeDesc"`
1777
1778	// 过期时间
1779	// 注意:此字段可能返回 null,表示取不到有效值。
1780	ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"`
1781
1782	// 节点资源ID
1783	// 注意:此字段可能返回 null,表示取不到有效值。
1784	EmrResourceId *string `json:"EmrResourceId,omitempty" name:"EmrResourceId"`
1785
1786	// 续费标志
1787	// 注意:此字段可能返回 null,表示取不到有效值。
1788	IsAutoRenew *int64 `json:"IsAutoRenew,omitempty" name:"IsAutoRenew"`
1789
1790	// 设备标识
1791	// 注意:此字段可能返回 null,表示取不到有效值。
1792	DeviceClass *string `json:"DeviceClass,omitempty" name:"DeviceClass"`
1793
1794	// 支持变配
1795	// 注意:此字段可能返回 null,表示取不到有效值。
1796	Mutable *int64 `json:"Mutable,omitempty" name:"Mutable"`
1797
1798	// 多云盘
1799	// 注意:此字段可能返回 null,表示取不到有效值。
1800	MCMultiDisk []*MultiDiskMC `json:"MCMultiDisk,omitempty" name:"MCMultiDisk"`
1801
1802	// 数据库信息
1803	// 注意:此字段可能返回 null,表示取不到有效值。
1804	CdbNodeInfo *CdbInfo `json:"CdbNodeInfo,omitempty" name:"CdbNodeInfo"`
1805
1806	// 内网IP
1807	// 注意:此字段可能返回 null,表示取不到有效值。
1808	Ip *string `json:"Ip,omitempty" name:"Ip"`
1809
1810	// 此节点是否可销毁,1可销毁,0不可销毁
1811	// 注意:此字段可能返回 null,表示取不到有效值。
1812	Destroyable *int64 `json:"Destroyable,omitempty" name:"Destroyable"`
1813
1814	// 节点绑定的标签
1815	// 注意:此字段可能返回 null,表示取不到有效值。
1816	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
1817
1818	// 是否是自动扩缩容节点,0为普通节点,1为自动扩缩容节点。
1819	// 注意:此字段可能返回 null,表示取不到有效值。
1820	AutoFlag *int64 `json:"AutoFlag,omitempty" name:"AutoFlag"`
1821
1822	// 资源类型, host/pod
1823	// 注意:此字段可能返回 null,表示取不到有效值。
1824	HardwareResourceType *string `json:"HardwareResourceType,omitempty" name:"HardwareResourceType"`
1825
1826	// 是否浮动规格,1是,0否
1827	// 注意:此字段可能返回 null,表示取不到有效值。
1828	IsDynamicSpec *int64 `json:"IsDynamicSpec,omitempty" name:"IsDynamicSpec"`
1829
1830	// 浮动规格值json字符串
1831	// 注意:此字段可能返回 null,表示取不到有效值。
1832	DynamicPodSpec *string `json:"DynamicPodSpec,omitempty" name:"DynamicPodSpec"`
1833
1834	// 是否支持变更计费类型 1是,0否
1835	// 注意:此字段可能返回 null,表示取不到有效值。
1836	SupportModifyPayMode *int64 `json:"SupportModifyPayMode,omitempty" name:"SupportModifyPayMode"`
1837}
1838
1839type OutterResource struct {
1840
1841	// 规格
1842	// 注意:此字段可能返回 null,表示取不到有效值。
1843	Spec *string `json:"Spec,omitempty" name:"Spec"`
1844
1845	// 规格名
1846	// 注意:此字段可能返回 null,表示取不到有效值。
1847	SpecName *string `json:"SpecName,omitempty" name:"SpecName"`
1848
1849	// 硬盘类型
1850	// 注意:此字段可能返回 null,表示取不到有效值。
1851	StorageType *int64 `json:"StorageType,omitempty" name:"StorageType"`
1852
1853	// 硬盘类型
1854	// 注意:此字段可能返回 null,表示取不到有效值。
1855	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
1856
1857	// 系统盘大小
1858	// 注意:此字段可能返回 null,表示取不到有效值。
1859	RootSize *int64 `json:"RootSize,omitempty" name:"RootSize"`
1860
1861	// 内存大小
1862	// 注意:此字段可能返回 null,表示取不到有效值。
1863	MemSize *int64 `json:"MemSize,omitempty" name:"MemSize"`
1864
1865	// CPU个数
1866	// 注意:此字段可能返回 null,表示取不到有效值。
1867	Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"`
1868
1869	// 硬盘大小
1870	// 注意:此字段可能返回 null,表示取不到有效值。
1871	DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
1872
1873	// 规格
1874	// 注意:此字段可能返回 null,表示取不到有效值。
1875	InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
1876}
1877
1878type PersistentVolumeContext struct {
1879
1880	// 磁盘大小,单位为GB。
1881	// 注意:此字段可能返回 null,表示取不到有效值。
1882	DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
1883
1884	// 磁盘类型。CLOUD_PREMIUM;CLOUD_SSD
1885	// 注意:此字段可能返回 null,表示取不到有效值。
1886	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
1887
1888	// 磁盘数量
1889	// 注意:此字段可能返回 null,表示取不到有效值。
1890	DiskNum *int64 `json:"DiskNum,omitempty" name:"DiskNum"`
1891}
1892
1893type Placement struct {
1894
1895	// 实例所属项目ID。该参数可以通过调用 DescribeProject 的返回值中的 projectId 字段来获取。填0为默认项目。
1896	ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
1897
1898	// 实例所属的可用区,例如ap-guangzhou-1。该参数也可以通过调用 DescribeZones 的返回值中的Zone字段来获取。
1899	Zone *string `json:"Zone,omitempty" name:"Zone"`
1900}
1901
1902type PodParameter struct {
1903
1904	// TKE或EKS集群ID
1905	ClusterId *string `json:"ClusterId,omitempty" name:"ClusterId"`
1906
1907	// 自定义权限
1908	// 如:
1909	// {
1910	//   "apiVersion": "v1",
1911	//   "clusters": [
1912	//     {
1913	//       "cluster": {
1914	//         "certificate-authority-data": "xxxxxx==",
1915	//         "server": "https://xxxxx.com"
1916	//       },
1917	//       "name": "cls-xxxxx"
1918	//     }
1919	//   ],
1920	//   "contexts": [
1921	//     {
1922	//       "context": {
1923	//         "cluster": "cls-xxxxx",
1924	//         "user": "100014xxxxx"
1925	//       },
1926	//       "name": "cls-a44yhcxxxxxxxxxx"
1927	//     }
1928	//   ],
1929	//   "current-context": "cls-a4xxxx-context-default",
1930	//   "kind": "Config",
1931	//   "preferences": {},
1932	//   "users": [
1933	//     {
1934	//       "name": "100014xxxxx",
1935	//       "user": {
1936	//         "client-certificate-data": "xxxxxx",
1937	//         "client-key-data": "xxxxxx"
1938	//       }
1939	//     }
1940	//   ]
1941	// }
1942	Config *string `json:"Config,omitempty" name:"Config"`
1943
1944	// 自定义参数
1945	// 如:
1946	// {
1947	//     "apiVersion": "apps/v1",
1948	//     "kind": "Deployment",
1949	//     "metadata": {
1950	//       "name": "test-deployment",
1951	//       "labels": {
1952	//         "app": "test"
1953	//       }
1954	//     },
1955	//     "spec": {
1956	//       "replicas": 3,
1957	//       "selector": {
1958	//         "matchLabels": {
1959	//           "app": "test-app"
1960	//         }
1961	//       },
1962	//       "template": {
1963	//         "metadata": {
1964	//           "annotations": {
1965	//             "your-organization.com/department-v1": "test-example-v1",
1966	//             "your-organization.com/department-v2": "test-example-v2"
1967	//           },
1968	//           "labels": {
1969	//             "app": "test-app",
1970	//             "environment": "production"
1971	//           }
1972	//         },
1973	//         "spec": {
1974	//           "nodeSelector": {
1975	//             "your-organization/node-test": "test-node"
1976	//           },
1977	//           "containers": [
1978	//             {
1979	//               "name": "nginx",
1980	//               "image": "nginx:1.14.2",
1981	//               "ports": [
1982	//                 {
1983	//                   "containerPort": 80
1984	//                 }
1985	//               ]
1986	//             }
1987	//           ],
1988	//           "affinity": {
1989	//             "nodeAffinity": {
1990	//               "requiredDuringSchedulingIgnoredDuringExecution": {
1991	//                 "nodeSelectorTerms": [
1992	//                   {
1993	//                     "matchExpressions": [
1994	//                       {
1995	//                         "key": "disk-type",
1996	//                         "operator": "In",
1997	//                         "values": [
1998	//                           "ssd",
1999	//                           "sas"
2000	//                         ]
2001	//                       },
2002	//                       {
2003	//                         "key": "cpu-num",
2004	//                         "operator": "Gt",
2005	//                         "values": [
2006	//                           "6"
2007	//                         ]
2008	//                       }
2009	//                     ]
2010	//                   }
2011	//                 ]
2012	//               }
2013	//             }
2014	//           }
2015	//         }
2016	//       }
2017	//     }
2018	//   }
2019	Parameter *string `json:"Parameter,omitempty" name:"Parameter"`
2020}
2021
2022type PodSaleSpec struct {
2023
2024	// 可售卖的资源规格,仅为以下值:"TASK","CORE","MASTER","ROUTER"。
2025	NodeType *string `json:"NodeType,omitempty" name:"NodeType"`
2026
2027	// Cpu核数。
2028	Cpu *uint64 `json:"Cpu,omitempty" name:"Cpu"`
2029
2030	// 内存数量,单位为GB。
2031	Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
2032
2033	// 该规格资源可申请的最大数量。
2034	Number *uint64 `json:"Number,omitempty" name:"Number"`
2035}
2036
2037type PodSpec struct {
2038
2039	// 外部资源提供者的标识符,例如"cls-a1cd23fa"。
2040	ResourceProviderIdentifier *string `json:"ResourceProviderIdentifier,omitempty" name:"ResourceProviderIdentifier"`
2041
2042	// 外部资源提供者类型,例如"tke",当前仅支持"tke"。
2043	ResourceProviderType *string `json:"ResourceProviderType,omitempty" name:"ResourceProviderType"`
2044
2045	// 资源的用途,即节点类型,当前仅支持"TASK"。
2046	NodeType *string `json:"NodeType,omitempty" name:"NodeType"`
2047
2048	// CPU核数。
2049	Cpu *uint64 `json:"Cpu,omitempty" name:"Cpu"`
2050
2051	// 内存大小,单位为GB。
2052	Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
2053
2054	// 资源对宿主机的挂载点,指定的挂载点对应了宿主机的路径,该挂载点在Pod中作为数据存储目录使用。弃用
2055	DataVolumes []*string `json:"DataVolumes,omitempty" name:"DataVolumes"`
2056
2057	// Eks集群-CPU类型,当前支持"intel"和"amd"
2058	CpuType *string `json:"CpuType,omitempty" name:"CpuType"`
2059
2060	// Pod节点数据目录挂载信息。
2061	PodVolumes []*PodVolume `json:"PodVolumes,omitempty" name:"PodVolumes"`
2062
2063	// 是否浮动规格,1是,0否
2064	IsDynamicSpec *uint64 `json:"IsDynamicSpec,omitempty" name:"IsDynamicSpec"`
2065
2066	// 浮动规格
2067	// 注意:此字段可能返回 null,表示取不到有效值。
2068	DynamicPodSpec *DynamicPodSpec `json:"DynamicPodSpec,omitempty" name:"DynamicPodSpec"`
2069
2070	// 代表vpc网络唯一id
2071	// 注意:此字段可能返回 null,表示取不到有效值。
2072	VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
2073
2074	// 代表vpc子网唯一id
2075	// 注意:此字段可能返回 null,表示取不到有效值。
2076	SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"`
2077}
2078
2079type PodState struct {
2080
2081	// pod的名称
2082	Name *string `json:"Name,omitempty" name:"Name"`
2083
2084	// pod uuid
2085	Uuid *string `json:"Uuid,omitempty" name:"Uuid"`
2086
2087	// pod的状态
2088	State *string `json:"State,omitempty" name:"State"`
2089
2090	// pod处于该状态原因
2091	Reason *string `json:"Reason,omitempty" name:"Reason"`
2092
2093	// pod所属集群
2094	OwnerCluster *string `json:"OwnerCluster,omitempty" name:"OwnerCluster"`
2095
2096	// pod内存大小
2097	Memory *int64 `json:"Memory,omitempty" name:"Memory"`
2098}
2099
2100type PodVolume struct {
2101
2102	// 存储类型,可为"pvc","hostpath"。
2103	// 注意:此字段可能返回 null,表示取不到有效值。
2104	VolumeType *string `json:"VolumeType,omitempty" name:"VolumeType"`
2105
2106	// 当VolumeType为"pvc"时,该字段生效。
2107	// 注意:此字段可能返回 null,表示取不到有效值。
2108	PVCVolume *PersistentVolumeContext `json:"PVCVolume,omitempty" name:"PVCVolume"`
2109
2110	// 当VolumeType为"hostpath"时,该字段生效。
2111	// 注意:此字段可能返回 null,表示取不到有效值。
2112	HostVolume *HostVolumeContext `json:"HostVolume,omitempty" name:"HostVolume"`
2113}
2114
2115type PreExecuteFileSettings struct {
2116
2117	// 脚本在COS上路径,已废弃
2118	Path *string `json:"Path,omitempty" name:"Path"`
2119
2120	// 执行脚本参数
2121	Args []*string `json:"Args,omitempty" name:"Args"`
2122
2123	// COS的Bucket名称,已废弃
2124	Bucket *string `json:"Bucket,omitempty" name:"Bucket"`
2125
2126	// COS的Region名称,已废弃
2127	Region *string `json:"Region,omitempty" name:"Region"`
2128
2129	// COS的Domain数据,已废弃
2130	Domain *string `json:"Domain,omitempty" name:"Domain"`
2131
2132	// 执行顺序
2133	RunOrder *int64 `json:"RunOrder,omitempty" name:"RunOrder"`
2134
2135	// resourceAfter 或 clusterAfter
2136	WhenRun *string `json:"WhenRun,omitempty" name:"WhenRun"`
2137
2138	// 脚本文件名,已废弃
2139	CosFileName *string `json:"CosFileName,omitempty" name:"CosFileName"`
2140
2141	// 脚本的cos地址
2142	CosFileURI *string `json:"CosFileURI,omitempty" name:"CosFileURI"`
2143
2144	// cos的SecretId
2145	CosSecretId *string `json:"CosSecretId,omitempty" name:"CosSecretId"`
2146
2147	// Cos的SecretKey
2148	CosSecretKey *string `json:"CosSecretKey,omitempty" name:"CosSecretKey"`
2149
2150	// cos的appid,已废弃
2151	AppId *string `json:"AppId,omitempty" name:"AppId"`
2152}
2153
2154type PriceResource struct {
2155
2156	// 需要的规格
2157	// 注意:此字段可能返回 null,表示取不到有效值。
2158	Spec *string `json:"Spec,omitempty" name:"Spec"`
2159
2160	// 硬盘类型
2161	// 注意:此字段可能返回 null,表示取不到有效值。
2162	StorageType *uint64 `json:"StorageType,omitempty" name:"StorageType"`
2163
2164	// 硬盘类型
2165	// 注意:此字段可能返回 null,表示取不到有效值。
2166	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
2167
2168	// 系统盘大小
2169	// 注意:此字段可能返回 null,表示取不到有效值。
2170	RootSize *int64 `json:"RootSize,omitempty" name:"RootSize"`
2171
2172	// 内存大小
2173	// 注意:此字段可能返回 null,表示取不到有效值。
2174	MemSize *int64 `json:"MemSize,omitempty" name:"MemSize"`
2175
2176	// 核心数量
2177	// 注意:此字段可能返回 null,表示取不到有效值。
2178	Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"`
2179
2180	// 硬盘大小
2181	// 注意:此字段可能返回 null,表示取不到有效值。
2182	DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
2183
2184	// 云盘列表
2185	// 注意:此字段可能返回 null,表示取不到有效值。
2186	MultiDisks []*MultiDisk `json:"MultiDisks,omitempty" name:"MultiDisks"`
2187
2188	// 磁盘数量
2189	// 注意:此字段可能返回 null,表示取不到有效值。
2190	DiskCnt *int64 `json:"DiskCnt,omitempty" name:"DiskCnt"`
2191
2192	// 规格
2193	// 注意:此字段可能返回 null,表示取不到有效值。
2194	InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
2195
2196	// 标签
2197	// 注意:此字段可能返回 null,表示取不到有效值。
2198	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
2199
2200	// 磁盘数量
2201	// 注意:此字段可能返回 null,表示取不到有效值。
2202	DiskNum *int64 `json:"DiskNum,omitempty" name:"DiskNum"`
2203
2204	// 本地盘的数量
2205	// 注意:此字段可能返回 null,表示取不到有效值。
2206	LocalDiskNum *int64 `json:"LocalDiskNum,omitempty" name:"LocalDiskNum"`
2207}
2208
2209type QuotaEntity struct {
2210
2211	// 已使用配额
2212	// 注意:此字段可能返回 null,表示取不到有效值。
2213	UsedQuota *int64 `json:"UsedQuota,omitempty" name:"UsedQuota"`
2214
2215	// 剩余配额
2216	// 注意:此字段可能返回 null,表示取不到有效值。
2217	RemainingQuota *int64 `json:"RemainingQuota,omitempty" name:"RemainingQuota"`
2218
2219	// 总配额
2220	// 注意:此字段可能返回 null,表示取不到有效值。
2221	TotalQuota *int64 `json:"TotalQuota,omitempty" name:"TotalQuota"`
2222
2223	// 可用区
2224	// 注意:此字段可能返回 null,表示取不到有效值。
2225	Zone *string `json:"Zone,omitempty" name:"Zone"`
2226}
2227
2228type RenewInstancesInfo struct {
2229
2230	// 节点资源ID
2231	EmrResourceId *string `json:"EmrResourceId,omitempty" name:"EmrResourceId"`
2232
2233	// 节点类型。0:common节点;1:master节点
2234	// ;2:core节点;3:task节点
2235	Flag *int64 `json:"Flag,omitempty" name:"Flag"`
2236
2237	// 内网IP
2238	Ip *string `json:"Ip,omitempty" name:"Ip"`
2239
2240	// 节点内存描述
2241	MemDesc *string `json:"MemDesc,omitempty" name:"MemDesc"`
2242
2243	// 节点核数
2244	CpuNum *int64 `json:"CpuNum,omitempty" name:"CpuNum"`
2245
2246	// 硬盘大小
2247	DiskSize *string `json:"DiskSize,omitempty" name:"DiskSize"`
2248
2249	// 过期时间
2250	ExpireTime *string `json:"ExpireTime,omitempty" name:"ExpireTime"`
2251
2252	// 节点规格
2253	Spec *string `json:"Spec,omitempty" name:"Spec"`
2254
2255	// 磁盘类型
2256	StorageType *int64 `json:"StorageType,omitempty" name:"StorageType"`
2257}
2258
2259type Resource struct {
2260
2261	// 节点规格描述,如CVM.SA2。
2262	// 注意:此字段可能返回 null,表示取不到有效值。
2263	Spec *string `json:"Spec,omitempty" name:"Spec"`
2264
2265	// 存储类型
2266	// 取值范围:
2267	// <li>4:表示云SSD。</li>
2268	// <li>5:表示高效云盘。</li>
2269	// <li>6:表示增强型SSD云硬盘。</li>
2270	// <li>11:表示吞吐型云硬盘。</li>
2271	// <li>12:表示极速型SSD云硬盘。</li>
2272	// 注意:此字段可能返回 null,表示取不到有效值。
2273	StorageType *int64 `json:"StorageType,omitempty" name:"StorageType"`
2274
2275	// 磁盘类型
2276	// 取值范围:
2277	// <li>CLOUD_SSD:表示云SSD。</li>
2278	// <li>CLOUD_PREMIUM:表示高效云盘。</li>
2279	// <li>CLOUD_BASIC:表示云硬盘。</li>
2280	// 注意:此字段可能返回 null,表示取不到有效值。
2281	DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
2282
2283	// 内存容量,单位为M
2284	// 注意:此字段可能返回 null,表示取不到有效值。
2285	MemSize *int64 `json:"MemSize,omitempty" name:"MemSize"`
2286
2287	// CPU核数
2288	// 注意:此字段可能返回 null,表示取不到有效值。
2289	Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"`
2290
2291	// 数据盘容量
2292	// 注意:此字段可能返回 null,表示取不到有效值。
2293	DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
2294
2295	// 系统盘容量
2296	// 注意:此字段可能返回 null,表示取不到有效值。
2297	RootSize *int64 `json:"RootSize,omitempty" name:"RootSize"`
2298
2299	// 云盘列表,当数据盘为一块云盘时,直接使用DiskType和DiskSize参数,超出部分使用MultiDisks
2300	// 注意:此字段可能返回 null,表示取不到有效值。
2301	MultiDisks []*MultiDisk `json:"MultiDisks,omitempty" name:"MultiDisks"`
2302
2303	// 需要绑定的标签列表
2304	// 注意:此字段可能返回 null,表示取不到有效值。
2305	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
2306
2307	// 规格类型,如S2.MEDIUM8
2308	// 注意:此字段可能返回 null,表示取不到有效值。
2309	InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
2310
2311	// 本地盘数量,该字段已废弃
2312	// 注意:此字段可能返回 null,表示取不到有效值。
2313	LocalDiskNum *uint64 `json:"LocalDiskNum,omitempty" name:"LocalDiskNum"`
2314
2315	// 本地盘数量,如2
2316	// 注意:此字段可能返回 null,表示取不到有效值。
2317	DiskNum *uint64 `json:"DiskNum,omitempty" name:"DiskNum"`
2318}
2319
2320type RunJobFlowRequest struct {
2321	*tchttp.BaseRequest
2322
2323	// 作业名称。
2324	Name *string `json:"Name,omitempty" name:"Name"`
2325
2326	// 是否新创建集群。
2327	// true,新创建集群,则使用Instance中的参数进行集群创建。
2328	// false,使用已有集群,则通过InstanceId传入。
2329	CreateCluster *bool `json:"CreateCluster,omitempty" name:"CreateCluster"`
2330
2331	// 作业流程执行步骤。
2332	Steps []*Step `json:"Steps,omitempty" name:"Steps"`
2333
2334	// 作业流程正常完成时,集群的处理方式,可选择:
2335	// Terminate 销毁集群。
2336	// Reserve 保留集群。
2337	InstancePolicy *string `json:"InstancePolicy,omitempty" name:"InstancePolicy"`
2338
2339	// 只有CreateCluster为true时生效,目前只支持EMR版本,例如EMR-2.2.0,不支持ClickHouse和Druid版本。
2340	ProductVersion *string `json:"ProductVersion,omitempty" name:"ProductVersion"`
2341
2342	// 只在CreateCluster为true时生效。
2343	// true 表示安装kerberos,false表示不安装kerberos。
2344	SecurityClusterFlag *bool `json:"SecurityClusterFlag,omitempty" name:"SecurityClusterFlag"`
2345
2346	// 只在CreateCluster为true时生效。
2347	// 新建集群时,要安装的软件列表。
2348	Software []*string `json:"Software,omitempty" name:"Software"`
2349
2350	// 引导脚本。
2351	BootstrapActions []*BootstrapAction `json:"BootstrapActions,omitempty" name:"BootstrapActions"`
2352
2353	// 指定配置创建集群。
2354	Configurations []*Configuration `json:"Configurations,omitempty" name:"Configurations"`
2355
2356	// 作业日志保存地址。
2357	LogUri *string `json:"LogUri,omitempty" name:"LogUri"`
2358
2359	// 只在CreateCluster为false时生效。
2360	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
2361
2362	// 自定义应用角色,大数据应用访问外部服务时使用的角色,默认为"EME_QCSRole"。
2363	ApplicationRole *string `json:"ApplicationRole,omitempty" name:"ApplicationRole"`
2364
2365	// 重入标签,用来可重入检查,防止在一段时间内,创建相同的流程作业。
2366	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
2367
2368	// 只在CreateCluster为true时生效,使用该配置创建集群。
2369	Instance *ClusterSetting `json:"Instance,omitempty" name:"Instance"`
2370}
2371
2372func (r *RunJobFlowRequest) ToJsonString() string {
2373    b, _ := json.Marshal(r)
2374    return string(b)
2375}
2376
2377// FromJsonString It is highly **NOT** recommended to use this function
2378// because it has no param check, nor strict type check
2379func (r *RunJobFlowRequest) FromJsonString(s string) error {
2380	f := make(map[string]interface{})
2381	if err := json.Unmarshal([]byte(s), &f); err != nil {
2382		return err
2383	}
2384	delete(f, "Name")
2385	delete(f, "CreateCluster")
2386	delete(f, "Steps")
2387	delete(f, "InstancePolicy")
2388	delete(f, "ProductVersion")
2389	delete(f, "SecurityClusterFlag")
2390	delete(f, "Software")
2391	delete(f, "BootstrapActions")
2392	delete(f, "Configurations")
2393	delete(f, "LogUri")
2394	delete(f, "InstanceId")
2395	delete(f, "ApplicationRole")
2396	delete(f, "ClientToken")
2397	delete(f, "Instance")
2398	if len(f) > 0 {
2399		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "RunJobFlowRequest has unknown keys!", "")
2400	}
2401	return json.Unmarshal([]byte(s), &r)
2402}
2403
2404type RunJobFlowResponse struct {
2405	*tchttp.BaseResponse
2406	Response *struct {
2407
2408		// 作业流程ID。
2409		JobFlowId *int64 `json:"JobFlowId,omitempty" name:"JobFlowId"`
2410
2411		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2412		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2413	} `json:"Response"`
2414}
2415
2416func (r *RunJobFlowResponse) ToJsonString() string {
2417    b, _ := json.Marshal(r)
2418    return string(b)
2419}
2420
2421// FromJsonString It is highly **NOT** recommended to use this function
2422// because it has no param check, nor strict type check
2423func (r *RunJobFlowResponse) FromJsonString(s string) error {
2424	return json.Unmarshal([]byte(s), &r)
2425}
2426
2427type ScaleOutInstanceRequest struct {
2428	*tchttp.BaseRequest
2429
2430	// 扩容的时间单位。取值范围:
2431	// <li>s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。</li>
2432	// <li>m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。</li>
2433	TimeUnit *string `json:"TimeUnit,omitempty" name:"TimeUnit"`
2434
2435	// 扩容的时长。结合TimeUnit一起使用。
2436	// <li>TimeUnit为s时,该参数只能填写3600,表示按量计费实例。</li>
2437	// <li>TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月</li>
2438	TimeSpan *uint64 `json:"TimeSpan,omitempty" name:"TimeSpan"`
2439
2440	// 实例ID。
2441	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
2442
2443	// 实例计费模式。取值范围:
2444	// <li>0:表示按量计费。</li>
2445	// <li>1:表示包年包月。</li>
2446	PayMode *uint64 `json:"PayMode,omitempty" name:"PayMode"`
2447
2448	// 客户端Token。
2449	ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
2450
2451	// 引导操作脚本设置。
2452	PreExecutedFileSettings []*PreExecuteFileSettings `json:"PreExecutedFileSettings,omitempty" name:"PreExecutedFileSettings"`
2453
2454	// 扩容的Task节点数量。
2455	TaskCount *uint64 `json:"TaskCount,omitempty" name:"TaskCount"`
2456
2457	// 扩容的Core节点数量。
2458	CoreCount *uint64 `json:"CoreCount,omitempty" name:"CoreCount"`
2459
2460	// 扩容时不需要安装的进程。
2461	UnNecessaryNodeList []*uint64 `json:"UnNecessaryNodeList,omitempty" name:"UnNecessaryNodeList"`
2462
2463	// 扩容的Router节点数量。
2464	RouterCount *uint64 `json:"RouterCount,omitempty" name:"RouterCount"`
2465
2466	// 部署的服务。
2467	// <li>SoftDeployInfo和ServiceNodeInfo是同组参数,和UnNecessaryNodeList参数互斥。</li>
2468	// <li>建议使用SoftDeployInfo和ServiceNodeInfo组合。</li>
2469	SoftDeployInfo []*uint64 `json:"SoftDeployInfo,omitempty" name:"SoftDeployInfo"`
2470
2471	// 启动的进程。
2472	ServiceNodeInfo []*uint64 `json:"ServiceNodeInfo,omitempty" name:"ServiceNodeInfo"`
2473
2474	// 分散置放群组ID列表,当前仅支持指定一个。
2475	DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds"`
2476
2477	// 扩容节点绑定标签列表。
2478	Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
2479
2480	// 扩容所选资源类型,可选范围为"host","pod",host为普通的CVM资源,Pod为TKE集群或EKS集群提供的资源
2481	HardwareResourceType *string `json:"HardwareResourceType,omitempty" name:"HardwareResourceType"`
2482
2483	// 使用Pod资源扩容时,指定的Pod规格以及来源等信息
2484	PodSpec *PodSpec `json:"PodSpec,omitempty" name:"PodSpec"`
2485
2486	// 使用clickhouse集群扩容时,选择的机器分组名称
2487	ClickHouseClusterName *string `json:"ClickHouseClusterName,omitempty" name:"ClickHouseClusterName"`
2488
2489	// 使用clickhouse集群扩容时,选择的机器分组类型。new为新增,old为选择旧分组
2490	ClickHouseClusterType *string `json:"ClickHouseClusterType,omitempty" name:"ClickHouseClusterType"`
2491
2492	// 规则扩容指定 yarn node label
2493	YarnNodeLabel *string `json:"YarnNodeLabel,omitempty" name:"YarnNodeLabel"`
2494
2495	// POD自定义权限和自定义参数
2496	PodParameter *PodParameter `json:"PodParameter,omitempty" name:"PodParameter"`
2497
2498	// 扩容的Master节点的数量。
2499	// 使用clickhouse集群扩容时,该参数不生效。
2500	// 使用kafka集群扩容时,该参数不生效。
2501	// 当HardwareResourceType=POD时,该参数不生效。
2502	MasterCount *uint64 `json:"MasterCount,omitempty" name:"MasterCount"`
2503
2504	// 扩容后是否启动服务,true:启动,false:不启动
2505	StartServiceAfterScaleOut *string `json:"StartServiceAfterScaleOut,omitempty" name:"StartServiceAfterScaleOut"`
2506}
2507
2508func (r *ScaleOutInstanceRequest) ToJsonString() string {
2509    b, _ := json.Marshal(r)
2510    return string(b)
2511}
2512
2513// FromJsonString It is highly **NOT** recommended to use this function
2514// because it has no param check, nor strict type check
2515func (r *ScaleOutInstanceRequest) FromJsonString(s string) error {
2516	f := make(map[string]interface{})
2517	if err := json.Unmarshal([]byte(s), &f); err != nil {
2518		return err
2519	}
2520	delete(f, "TimeUnit")
2521	delete(f, "TimeSpan")
2522	delete(f, "InstanceId")
2523	delete(f, "PayMode")
2524	delete(f, "ClientToken")
2525	delete(f, "PreExecutedFileSettings")
2526	delete(f, "TaskCount")
2527	delete(f, "CoreCount")
2528	delete(f, "UnNecessaryNodeList")
2529	delete(f, "RouterCount")
2530	delete(f, "SoftDeployInfo")
2531	delete(f, "ServiceNodeInfo")
2532	delete(f, "DisasterRecoverGroupIds")
2533	delete(f, "Tags")
2534	delete(f, "HardwareResourceType")
2535	delete(f, "PodSpec")
2536	delete(f, "ClickHouseClusterName")
2537	delete(f, "ClickHouseClusterType")
2538	delete(f, "YarnNodeLabel")
2539	delete(f, "PodParameter")
2540	delete(f, "MasterCount")
2541	delete(f, "StartServiceAfterScaleOut")
2542	if len(f) > 0 {
2543		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ScaleOutInstanceRequest has unknown keys!", "")
2544	}
2545	return json.Unmarshal([]byte(s), &r)
2546}
2547
2548type ScaleOutInstanceResponse struct {
2549	*tchttp.BaseResponse
2550	Response *struct {
2551
2552		// 实例ID。
2553		InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
2554
2555		// 订单号。
2556	// 注意:此字段可能返回 null,表示取不到有效值。
2557		DealNames []*string `json:"DealNames,omitempty" name:"DealNames"`
2558
2559		// 客户端Token。
2560	// 注意:此字段可能返回 null,表示取不到有效值。
2561		ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
2562
2563		// 扩容流程ID。
2564	// 注意:此字段可能返回 null,表示取不到有效值。
2565		FlowId *int64 `json:"FlowId,omitempty" name:"FlowId"`
2566
2567		// 大订单号。
2568	// 注意:此字段可能返回 null,表示取不到有效值。
2569		BillId *string `json:"BillId,omitempty" name:"BillId"`
2570
2571		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2572		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2573	} `json:"Response"`
2574}
2575
2576func (r *ScaleOutInstanceResponse) ToJsonString() string {
2577    b, _ := json.Marshal(r)
2578    return string(b)
2579}
2580
2581// FromJsonString It is highly **NOT** recommended to use this function
2582// because it has no param check, nor strict type check
2583func (r *ScaleOutInstanceResponse) FromJsonString(s string) error {
2584	return json.Unmarshal([]byte(s), &r)
2585}
2586
2587type SearchItem struct {
2588
2589	// 支持搜索的类型
2590	SearchType *string `json:"SearchType,omitempty" name:"SearchType"`
2591
2592	// 支持搜索的值
2593	SearchValue *string `json:"SearchValue,omitempty" name:"SearchValue"`
2594}
2595
2596type Step struct {
2597
2598	// 执行步骤名称。
2599	Name *string `json:"Name,omitempty" name:"Name"`
2600
2601	// 执行动作。
2602	ExecutionStep *Execution `json:"ExecutionStep,omitempty" name:"ExecutionStep"`
2603
2604	// 执行失败策略。
2605	// 1. TERMINATE_CLUSTER 执行失败时退出并销毁集群。
2606	// 2. CANCEL_AND_WAIT 执行失败时阻塞等待。
2607	// 3. CONTINUE 执行失败时跳过并执行后续步骤。
2608	ActionOnFailure *string `json:"ActionOnFailure,omitempty" name:"ActionOnFailure"`
2609
2610	// 指定执行Step时的用户名,非必须,默认为hadoop。
2611	User *string `json:"User,omitempty" name:"User"`
2612}
2613
2614type SyncPodStateRequest struct {
2615	*tchttp.BaseRequest
2616
2617	// EmrService中pod状态信息
2618	Message *PodState `json:"Message,omitempty" name:"Message"`
2619}
2620
2621func (r *SyncPodStateRequest) ToJsonString() string {
2622    b, _ := json.Marshal(r)
2623    return string(b)
2624}
2625
2626// FromJsonString It is highly **NOT** recommended to use this function
2627// because it has no param check, nor strict type check
2628func (r *SyncPodStateRequest) FromJsonString(s string) error {
2629	f := make(map[string]interface{})
2630	if err := json.Unmarshal([]byte(s), &f); err != nil {
2631		return err
2632	}
2633	delete(f, "Message")
2634	if len(f) > 0 {
2635		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "SyncPodStateRequest has unknown keys!", "")
2636	}
2637	return json.Unmarshal([]byte(s), &r)
2638}
2639
2640type SyncPodStateResponse struct {
2641	*tchttp.BaseResponse
2642	Response *struct {
2643
2644		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2645		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2646	} `json:"Response"`
2647}
2648
2649func (r *SyncPodStateResponse) ToJsonString() string {
2650    b, _ := json.Marshal(r)
2651    return string(b)
2652}
2653
2654// FromJsonString It is highly **NOT** recommended to use this function
2655// because it has no param check, nor strict type check
2656func (r *SyncPodStateResponse) FromJsonString(s string) error {
2657	return json.Unmarshal([]byte(s), &r)
2658}
2659
2660type Tag struct {
2661
2662	// 标签键
2663	TagKey *string `json:"TagKey,omitempty" name:"TagKey"`
2664
2665	// 标签值
2666	TagValue *string `json:"TagValue,omitempty" name:"TagValue"`
2667}
2668
2669type TerminateInstanceRequest struct {
2670	*tchttp.BaseRequest
2671
2672	// 实例ID。
2673	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
2674
2675	// 销毁节点ID。该参数为预留参数,用户无需配置。
2676	ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds"`
2677}
2678
2679func (r *TerminateInstanceRequest) ToJsonString() string {
2680    b, _ := json.Marshal(r)
2681    return string(b)
2682}
2683
2684// FromJsonString It is highly **NOT** recommended to use this function
2685// because it has no param check, nor strict type check
2686func (r *TerminateInstanceRequest) FromJsonString(s string) error {
2687	f := make(map[string]interface{})
2688	if err := json.Unmarshal([]byte(s), &f); err != nil {
2689		return err
2690	}
2691	delete(f, "InstanceId")
2692	delete(f, "ResourceIds")
2693	if len(f) > 0 {
2694		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TerminateInstanceRequest has unknown keys!", "")
2695	}
2696	return json.Unmarshal([]byte(s), &r)
2697}
2698
2699type TerminateInstanceResponse struct {
2700	*tchttp.BaseResponse
2701	Response *struct {
2702
2703		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2704		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2705	} `json:"Response"`
2706}
2707
2708func (r *TerminateInstanceResponse) ToJsonString() string {
2709    b, _ := json.Marshal(r)
2710    return string(b)
2711}
2712
2713// FromJsonString It is highly **NOT** recommended to use this function
2714// because it has no param check, nor strict type check
2715func (r *TerminateInstanceResponse) FromJsonString(s string) error {
2716	return json.Unmarshal([]byte(s), &r)
2717}
2718
2719type TerminateTasksRequest struct {
2720	*tchttp.BaseRequest
2721
2722	// 实例ID。
2723	InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
2724
2725	// 待销毁节点的资源ID列表。资源ID形如:emr-vm-xxxxxxxx。有效的资源ID可通过登录[控制台](https://console.cloud.tencent.com/emr/static/hardware)查询。
2726	ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds"`
2727}
2728
2729func (r *TerminateTasksRequest) ToJsonString() string {
2730    b, _ := json.Marshal(r)
2731    return string(b)
2732}
2733
2734// FromJsonString It is highly **NOT** recommended to use this function
2735// because it has no param check, nor strict type check
2736func (r *TerminateTasksRequest) FromJsonString(s string) error {
2737	f := make(map[string]interface{})
2738	if err := json.Unmarshal([]byte(s), &f); err != nil {
2739		return err
2740	}
2741	delete(f, "InstanceId")
2742	delete(f, "ResourceIds")
2743	if len(f) > 0 {
2744		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "TerminateTasksRequest has unknown keys!", "")
2745	}
2746	return json.Unmarshal([]byte(s), &r)
2747}
2748
2749type TerminateTasksResponse struct {
2750	*tchttp.BaseResponse
2751	Response *struct {
2752
2753		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2754		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
2755	} `json:"Response"`
2756}
2757
2758func (r *TerminateTasksResponse) ToJsonString() string {
2759    b, _ := json.Marshal(r)
2760    return string(b)
2761}
2762
2763// FromJsonString It is highly **NOT** recommended to use this function
2764// because it has no param check, nor strict type check
2765func (r *TerminateTasksResponse) FromJsonString(s string) error {
2766	return json.Unmarshal([]byte(s), &r)
2767}
2768
2769type UpdateInstanceSettings struct {
2770
2771	// 内存容量,单位为G
2772	Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
2773
2774	// CPU核数
2775	CPUCores *uint64 `json:"CPUCores,omitempty" name:"CPUCores"`
2776
2777	// 机器资源ID(EMR测资源标识)
2778	ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"`
2779
2780	// 变配机器规格
2781	InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
2782}
2783
2784type VPCSettings struct {
2785
2786	// VPC ID
2787	VpcId *string `json:"VpcId,omitempty" name:"VpcId"`
2788
2789	// Subnet ID
2790	SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"`
2791}
2792