/* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ namespace TencentCloud.Emr.V20190103.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class CreateInstanceRequest : AbstractModel { /// /// 产品ID,不同产品ID表示不同的EMR产品版本。取值范围: ///
  • 1:表示EMR-V1.3.1。
  • ///
  • 2:表示EMR-V2.0.1。
  • ///
  • 4:表示EMR-V2.1.0。
  • ///
  • 7:表示EMR-V3.0.0。
  • ///
    [JsonProperty("ProductId")] public ulong? ProductId{ get; set; } /// /// 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。 /// [JsonProperty("VPCSettings")] public VPCSettings VPCSettings{ get; set; } /// /// 部署的组件列表。不同的EMR产品ID(ProductId:具体含义参考入参ProductId字段)需要选择不同的必选组件: ///
  • ProductId为1的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9
  • ///
  • ProductId为2的时候,必选组件包括:hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9
  • ///
  • ProductId为4的时候,必选组件包括:hadoop-2.8.4、knox-1.2.0、zookeeper-3.4.9
  • ///
  • ProductId为7的时候,必选组件包括:hadoop-3.1.2、knox-1.2.0、zookeeper-3.4.9
  • ///
    [JsonProperty("Software")] public string[] Software{ get; set; } /// /// 节点资源的规格。 /// [JsonProperty("ResourceSpec")] public NewResourceSpec ResourceSpec{ get; set; } /// /// 是否开启节点高可用。取值范围: ///
  • 0:表示不开启节点高可用。
  • ///
  • 1:表示开启节点高可用。
  • ///
    [JsonProperty("SupportHA")] public ulong? SupportHA{ get; set; } /// /// 实例名称。 ///
  • 长度限制为6-36个字符。
  • ///
  • 只允许包含中文、字母、数字、-、_。
  • ///
    [JsonProperty("InstanceName")] public string InstanceName{ get; set; } /// /// 实例计费模式。取值范围: ///
  • 0:表示按量计费。
  • ///
  • 1:表示包年包月。
  • ///
    [JsonProperty("PayMode")] public ulong? PayMode{ get; set; } /// /// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。 /// [JsonProperty("Placement")] public Placement Placement{ get; set; } /// /// 购买实例的时长。结合TimeUnit一起使用。 ///
  • TimeUnit为s时,该参数只能填写3600,表示按量计费实例。
  • ///
  • TimeUnit为m时,该参数填写的数字表示包年包月实例的购买时长,如1表示购买一个月
  • ///
    [JsonProperty("TimeSpan")] public ulong? TimeSpan{ get; set; } /// /// 购买实例的时间单位。取值范围: ///
  • s:表示秒。PayMode取值为0时,TimeUnit只能取值为s。
  • ///
  • m:表示月份。PayMode取值为1时,TimeUnit只能取值为m。
  • ///
    [JsonProperty("TimeUnit")] public string TimeUnit{ get; set; } /// /// 实例登录设置。通过该参数可以设置所购买节点的登录方式密码或者密钥。 ///
  • 设置密钥时,密码仅用于组件原生WebUI快捷入口登录。
  • ///
  • 未设置密钥时,密码用于登录所购节点以及组件原生WebUI快捷入口登录。
  • ///
    [JsonProperty("LoginSettings")] public LoginSettings LoginSettings{ get; set; } /// /// 开启COS访问需要设置的参数。 /// [JsonProperty("COSSettings")] public COSSettings COSSettings{ get; set; } /// /// 实例所属安全组的ID,形如sg-xxxxxxxx。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的SecurityGroupId字段来获取。 /// [JsonProperty("SgId")] public string SgId{ get; set; } /// /// 引导操作脚本设置。 /// [JsonProperty("PreExecutedFileSettings")] public PreExecuteFileSettings[] PreExecutedFileSettings{ get; set; } /// /// 包年包月实例是否自动续费。取值范围: ///
  • 0:表示不自动续费。
  • ///
  • 1:表示自动续费。
  • ///
    [JsonProperty("AutoRenew")] public ulong? AutoRenew{ get; set; } /// /// 客户端Token。 /// [JsonProperty("ClientToken")] public string ClientToken{ get; set; } /// /// 是否开启集群Master节点公网。取值范围: ///
  • NEED_MASTER_WAN:表示开启集群Master节点公网。
  • ///
  • NOT_NEED_MASTER_WAN:表示不开启。
  • 默认开启集群Master节点公网。 ///
    [JsonProperty("NeedMasterWan")] public string NeedMasterWan{ get; set; } /// /// 是否需要开启外网远程登录,即22号端口。在SgId不为空时,该参数无效。 /// [JsonProperty("RemoteLoginAtCreate")] public long? RemoteLoginAtCreate{ get; set; } /// /// 是否开启安全集群。0表示不开启,非0表示开启。 /// [JsonProperty("CheckSecurity")] public long? CheckSecurity{ get; set; } /// /// 访问外部文件系统。 /// [JsonProperty("ExtendFsField")] public string ExtendFsField{ get; set; } /// /// 标签描述列表。通过指定该参数可以同时绑定标签到相应的实例。 /// [JsonProperty("Tags")] public Tag[] Tags{ get; set; } /// /// 分散置放群组ID列表,当前只支持指定一个。 /// [JsonProperty("DisasterRecoverGroupIds")] public string[] DisasterRecoverGroupIds{ get; set; } /// /// 集群维度CBS加密盘,默认0表示不加密,1表示加密 /// [JsonProperty("CbsEncrypt")] public ulong? CbsEncrypt{ get; set; } /// /// hive共享元数据库类型。取值范围: ///
  • EMR_NEW_META:表示集群默认创建
  • ///
  • EMR_EXIT_METE:表示集群使用指定EMR-MetaDB。
  • ///
  • USER_CUSTOM_META:表示集群使用自定义MetaDB。
  • ///
    [JsonProperty("MetaType")] public string MetaType{ get; set; } /// /// EMR-MetaDB实例 /// [JsonProperty("UnifyMetaInstanceId")] public string UnifyMetaInstanceId{ get; set; } /// /// 自定义MetaDB信息 /// [JsonProperty("MetaDBInfo")] public CustomMetaInfo MetaDBInfo{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamSimple(map, prefix + "ProductId", this.ProductId); this.SetParamObj(map, prefix + "VPCSettings.", this.VPCSettings); this.SetParamArraySimple(map, prefix + "Software.", this.Software); this.SetParamObj(map, prefix + "ResourceSpec.", this.ResourceSpec); this.SetParamSimple(map, prefix + "SupportHA", this.SupportHA); this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName); this.SetParamSimple(map, prefix + "PayMode", this.PayMode); this.SetParamObj(map, prefix + "Placement.", this.Placement); this.SetParamSimple(map, prefix + "TimeSpan", this.TimeSpan); this.SetParamSimple(map, prefix + "TimeUnit", this.TimeUnit); this.SetParamObj(map, prefix + "LoginSettings.", this.LoginSettings); this.SetParamObj(map, prefix + "COSSettings.", this.COSSettings); this.SetParamSimple(map, prefix + "SgId", this.SgId); this.SetParamArrayObj(map, prefix + "PreExecutedFileSettings.", this.PreExecutedFileSettings); this.SetParamSimple(map, prefix + "AutoRenew", this.AutoRenew); this.SetParamSimple(map, prefix + "ClientToken", this.ClientToken); this.SetParamSimple(map, prefix + "NeedMasterWan", this.NeedMasterWan); this.SetParamSimple(map, prefix + "RemoteLoginAtCreate", this.RemoteLoginAtCreate); this.SetParamSimple(map, prefix + "CheckSecurity", this.CheckSecurity); this.SetParamSimple(map, prefix + "ExtendFsField", this.ExtendFsField); this.SetParamArrayObj(map, prefix + "Tags.", this.Tags); this.SetParamArraySimple(map, prefix + "DisasterRecoverGroupIds.", this.DisasterRecoverGroupIds); this.SetParamSimple(map, prefix + "CbsEncrypt", this.CbsEncrypt); this.SetParamSimple(map, prefix + "MetaType", this.MetaType); this.SetParamSimple(map, prefix + "UnifyMetaInstanceId", this.UnifyMetaInstanceId); this.SetParamObj(map, prefix + "MetaDBInfo.", this.MetaDBInfo); } } }