Files
g.hnyhua.cn/TencentCloud/Emr/V20190103/Models/CreateInstanceRequest.cs

246 lines
10 KiB
C#
Raw Normal View History

/*
* 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
{
/// <summary>
/// 产品ID不同产品ID表示不同的EMR产品版本。取值范围
/// <li>1表示EMR-V1.3.1。</li>
/// <li>2表示EMR-V2.0.1。</li>
/// <li>4表示EMR-V2.1.0。</li>
/// <li>7表示EMR-V3.0.0。</li>
/// </summary>
[JsonProperty("ProductId")]
public ulong? ProductId{ get; set; }
/// <summary>
/// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。
/// </summary>
[JsonProperty("VPCSettings")]
public VPCSettings VPCSettings{ get; set; }
/// <summary>
/// 部署的组件列表。不同的EMR产品IDProductId具体含义参考入参ProductId字段需要选择不同的必选组件
/// <li>ProductId为1的时候必选组件包括hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
/// <li>ProductId为2的时候必选组件包括hadoop-2.7.3、knox-1.2.0、zookeeper-3.4.9</li>
/// <li>ProductId为4的时候必选组件包括hadoop-2.8.4、knox-1.2.0、zookeeper-3.4.9</li>
/// <li>ProductId为7的时候必选组件包括hadoop-3.1.2、knox-1.2.0、zookeeper-3.4.9</li>
/// </summary>
[JsonProperty("Software")]
public string[] Software{ get; set; }
/// <summary>
/// 节点资源的规格。
/// </summary>
[JsonProperty("ResourceSpec")]
public NewResourceSpec ResourceSpec{ get; set; }
/// <summary>
/// 是否开启节点高可用。取值范围:
/// <li>0表示不开启节点高可用。</li>
/// <li>1表示开启节点高可用。</li>
/// </summary>
[JsonProperty("SupportHA")]
public ulong? SupportHA{ get; set; }
/// <summary>
/// 实例名称。
/// <li>长度限制为6-36个字符。</li>
/// <li>只允许包含中文、字母、数字、-、_。</li>
/// </summary>
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
/// <summary>
/// 实例计费模式。取值范围:
/// <li>0表示按量计费。</li>
/// <li>1表示包年包月。</li>
/// </summary>
[JsonProperty("PayMode")]
public ulong? PayMode{ get; set; }
/// <summary>
/// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
/// </summary>
[JsonProperty("Placement")]
public Placement Placement{ get; set; }
/// <summary>
/// 购买实例的时长。结合TimeUnit一起使用。
/// <li>TimeUnit为s时该参数只能填写3600表示按量计费实例。</li>
/// <li>TimeUnit为m时该参数填写的数字表示包年包月实例的购买时长如1表示购买一个月</li>
/// </summary>
[JsonProperty("TimeSpan")]
public ulong? TimeSpan{ get; set; }
/// <summary>
/// 购买实例的时间单位。取值范围:
/// <li>s表示秒。PayMode取值为0时TimeUnit只能取值为s。</li>
/// <li>m表示月份。PayMode取值为1时TimeUnit只能取值为m。</li>
/// </summary>
[JsonProperty("TimeUnit")]
public string TimeUnit{ get; set; }
/// <summary>
/// 实例登录设置。通过该参数可以设置所购买节点的登录方式密码或者密钥。
/// <li>设置密钥时密码仅用于组件原生WebUI快捷入口登录。</li>
/// <li>未设置密钥时密码用于登录所购节点以及组件原生WebUI快捷入口登录。</li>
/// </summary>
[JsonProperty("LoginSettings")]
public LoginSettings LoginSettings{ get; set; }
/// <summary>
/// 开启COS访问需要设置的参数。
/// </summary>
[JsonProperty("COSSettings")]
public COSSettings COSSettings{ get; set; }
/// <summary>
/// 实例所属安全组的ID形如sg-xxxxxxxx。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的SecurityGroupId字段来获取。
/// </summary>
[JsonProperty("SgId")]
public string SgId{ get; set; }
/// <summary>
/// 引导操作脚本设置。
/// </summary>
[JsonProperty("PreExecutedFileSettings")]
public PreExecuteFileSettings[] PreExecutedFileSettings{ get; set; }
/// <summary>
/// 包年包月实例是否自动续费。取值范围:
/// <li>0表示不自动续费。</li>
/// <li>1表示自动续费。</li>
/// </summary>
[JsonProperty("AutoRenew")]
public ulong? AutoRenew{ get; set; }
/// <summary>
/// 客户端Token。
/// </summary>
[JsonProperty("ClientToken")]
public string ClientToken{ get; set; }
/// <summary>
/// 是否开启集群Master节点公网。取值范围
/// <li>NEED_MASTER_WAN表示开启集群Master节点公网。</li>
/// <li>NOT_NEED_MASTER_WAN表示不开启。</li>默认开启集群Master节点公网。
/// </summary>
[JsonProperty("NeedMasterWan")]
public string NeedMasterWan{ get; set; }
/// <summary>
/// 是否需要开启外网远程登录即22号端口。在SgId不为空时该参数无效。
/// </summary>
[JsonProperty("RemoteLoginAtCreate")]
public long? RemoteLoginAtCreate{ get; set; }
/// <summary>
/// 是否开启安全集群。0表示不开启非0表示开启。
/// </summary>
[JsonProperty("CheckSecurity")]
public long? CheckSecurity{ get; set; }
/// <summary>
/// 访问外部文件系统。
/// </summary>
[JsonProperty("ExtendFsField")]
public string ExtendFsField{ get; set; }
/// <summary>
/// 标签描述列表。通过指定该参数可以同时绑定标签到相应的实例。
/// </summary>
[JsonProperty("Tags")]
public Tag[] Tags{ get; set; }
/// <summary>
/// 分散置放群组ID列表当前只支持指定一个。
/// </summary>
[JsonProperty("DisasterRecoverGroupIds")]
public string[] DisasterRecoverGroupIds{ get; set; }
/// <summary>
/// 集群维度CBS加密盘默认0表示不加密1表示加密
/// </summary>
[JsonProperty("CbsEncrypt")]
public ulong? CbsEncrypt{ get; set; }
/// <summary>
/// hive共享元数据库类型。取值范围
/// <li>EMR_NEW_META表示集群默认创建</li>
/// <li>EMR_EXIT_METE表示集群使用指定EMR-MetaDB。</li>
/// <li>USER_CUSTOM_META表示集群使用自定义MetaDB。</li>
/// </summary>
[JsonProperty("MetaType")]
public string MetaType{ get; set; }
/// <summary>
/// EMR-MetaDB实例
/// </summary>
[JsonProperty("UnifyMetaInstanceId")]
public string UnifyMetaInstanceId{ get; set; }
/// <summary>
/// 自定义MetaDB信息
/// </summary>
[JsonProperty("MetaDBInfo")]
public CustomMetaInfo MetaDBInfo{ get; set; }
/// <summary>
/// For internal usage only. DO NOT USE IT.
/// </summary>
internal override void ToMap(Dictionary<string, string> 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);
}
}
}