234 lines
9.9 KiB
C#
234 lines
9.9 KiB
C#
|
|
/*
|
|||
|
|
* 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.Es.V20180416.Models
|
|||
|
|
{
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using TencentCloud.Common;
|
|||
|
|
|
|||
|
|
public class CreateInstanceRequest : AbstractModel
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 可用区
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("Zone")]
|
|||
|
|
public string Zone{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 实例版本(支持"5.6.4"、"6.4.3"、"6.8.2"、"7.5.1")
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("EsVersion")]
|
|||
|
|
public string EsVersion{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 私有网络ID
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("VpcId")]
|
|||
|
|
public string VpcId{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 子网ID
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("SubnetId")]
|
|||
|
|
public string SubnetId{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 访问密码(密码需8到16位,至少包括两项([a-z,A-Z],[0-9]和[-!@#$%&^*+=_:;,.?]的特殊符号)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("Password")]
|
|||
|
|
public string Password{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 实例名称(1-50 个英文、汉字、数字、连接线-或下划线_)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("InstanceName")]
|
|||
|
|
public string InstanceName{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 节点数量(2-50个)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("NodeNum")]
|
|||
|
|
public ulong? NodeNum{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 计费类型<li>PREPAID:预付费,即包年包月</li><li>POSTPAID_BY_HOUR:按小时后付费</li>默认值POSTPAID_BY_HOUR
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("ChargeType")]
|
|||
|
|
public string ChargeType{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 包年包月购买时长(单位由参数TimeUnit决定)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("ChargePeriod")]
|
|||
|
|
public ulong? ChargePeriod{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 自动续费标识<li>RENEW_FLAG_AUTO:自动续费</li><li>RENEW_FLAG_MANUAL:不自动续费,用户手动续费</li>ChargeType为PREPAID时需要设置,如不传递该参数,普通用户默认不自动续费,SVIP用户自动续费
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("RenewFlag")]
|
|||
|
|
public string RenewFlag{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 节点规格<li>ES.S1.SMALL2:1核2G</li><li>ES.S1.MEDIUM4:2核4G</li><li>ES.S1.MEDIUM8:2核8G</li><li>ES.S1.LARGE16:4核16G</li><li>ES.S1.2XLARGE32:8核32G</li><li>ES.S1.4XLARGE32:16核32G</li><li>ES.S1.4XLARGE64:16核64G</li>
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("NodeType")]
|
|||
|
|
public string NodeType{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 节点磁盘类型<li>CLOUD_SSD:SSD云硬盘</li><li>CLOUD_PREMIUM:高硬能云硬盘</li>默认值CLOUD_SSD
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("DiskType")]
|
|||
|
|
public string DiskType{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 节点磁盘容量(单位GB)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("DiskSize")]
|
|||
|
|
public ulong? DiskSize{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 计费时长单位(ChargeType为PREPAID时需要设置,默认值为“m”,表示月,当前只支持“m”)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("TimeUnit")]
|
|||
|
|
public string TimeUnit{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否自动使用代金券<li>0:不自动使用</li><li>1:自动使用</li>默认值0
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("AutoVoucher")]
|
|||
|
|
public long? AutoVoucher{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 代金券ID列表(目前仅支持指定一张代金券)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("VoucherIds")]
|
|||
|
|
public string[] VoucherIds{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 是否创建专用主节点<li>true:开启专用主节点</li><li>false:不开启专用主节点</li>默认值false
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("EnableDedicatedMaster")]
|
|||
|
|
public bool? EnableDedicatedMaster{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 专用主节点个数(只支持3个和5个,EnableDedicatedMaster为true时该值必传)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("MasterNodeNum")]
|
|||
|
|
public ulong? MasterNodeNum{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 专用主节点类型(EnableDedicatedMaster为true时必传)<li>ES.S1.SMALL2:1核2G</li><li>ES.S1.MEDIUM4:2核4G</li><li>ES.S1.MEDIUM8:2核8G</li><li>ES.S1.LARGE16:4核16G</li><li>ES.S1.2XLARGE32:8核32G</li><li>ES.S1.4XLARGE32:16核32G</li><li>ES.S1.4XLARGE64:16核64G</li>
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("MasterNodeType")]
|
|||
|
|
public string MasterNodeType{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 已废弃请使用NodeInfoList
|
|||
|
|
/// 专用主节点磁盘大小(单位GB,非必传,若传递则必须为50,暂不支持自定义)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("MasterNodeDiskSize")]
|
|||
|
|
public ulong? MasterNodeDiskSize{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 集群配置文件中的ClusterName(系统默认配置为实例ID,暂不支持自定义)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("ClusterNameInConf")]
|
|||
|
|
public string ClusterNameInConf{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 集群部署方式<li>0:单可用区部署</li><li>1:多可用区部署</li>默认为0
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("DeployMode")]
|
|||
|
|
public ulong? DeployMode{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 多可用区部署时可用区的详细信息(DeployMode为1时必传)
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("MultiZoneInfo")]
|
|||
|
|
public ZoneDetail[] MultiZoneInfo{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// License类型<li>oss:开源版</li><li>basic:基础版</li><li>platinum:白金版</li>默认值platinum
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("LicenseType")]
|
|||
|
|
public string LicenseType{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 节点信息列表, 用于描述集群各类节点的规格信息如节点类型,节点个数,节点规格,磁盘类型,磁盘大小等
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("NodeInfoList")]
|
|||
|
|
public NodeInfo[] NodeInfoList{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 节点标签信息列表
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("TagList")]
|
|||
|
|
public TagInfo[] TagList{ get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 6.8(及以上版本)基础版是否开启xpack security认证<li>1:不开启</li><li>2:开启</li>
|
|||
|
|
/// </summary>
|
|||
|
|
[JsonProperty("BasicSecurityType")]
|
|||
|
|
public ulong? BasicSecurityType{ 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 + "Zone", this.Zone);
|
|||
|
|
this.SetParamSimple(map, prefix + "EsVersion", this.EsVersion);
|
|||
|
|
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
|
|||
|
|
this.SetParamSimple(map, prefix + "SubnetId", this.SubnetId);
|
|||
|
|
this.SetParamSimple(map, prefix + "Password", this.Password);
|
|||
|
|
this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName);
|
|||
|
|
this.SetParamSimple(map, prefix + "NodeNum", this.NodeNum);
|
|||
|
|
this.SetParamSimple(map, prefix + "ChargeType", this.ChargeType);
|
|||
|
|
this.SetParamSimple(map, prefix + "ChargePeriod", this.ChargePeriod);
|
|||
|
|
this.SetParamSimple(map, prefix + "RenewFlag", this.RenewFlag);
|
|||
|
|
this.SetParamSimple(map, prefix + "NodeType", this.NodeType);
|
|||
|
|
this.SetParamSimple(map, prefix + "DiskType", this.DiskType);
|
|||
|
|
this.SetParamSimple(map, prefix + "DiskSize", this.DiskSize);
|
|||
|
|
this.SetParamSimple(map, prefix + "TimeUnit", this.TimeUnit);
|
|||
|
|
this.SetParamSimple(map, prefix + "AutoVoucher", this.AutoVoucher);
|
|||
|
|
this.SetParamArraySimple(map, prefix + "VoucherIds.", this.VoucherIds);
|
|||
|
|
this.SetParamSimple(map, prefix + "EnableDedicatedMaster", this.EnableDedicatedMaster);
|
|||
|
|
this.SetParamSimple(map, prefix + "MasterNodeNum", this.MasterNodeNum);
|
|||
|
|
this.SetParamSimple(map, prefix + "MasterNodeType", this.MasterNodeType);
|
|||
|
|
this.SetParamSimple(map, prefix + "MasterNodeDiskSize", this.MasterNodeDiskSize);
|
|||
|
|
this.SetParamSimple(map, prefix + "ClusterNameInConf", this.ClusterNameInConf);
|
|||
|
|
this.SetParamSimple(map, prefix + "DeployMode", this.DeployMode);
|
|||
|
|
this.SetParamArrayObj(map, prefix + "MultiZoneInfo.", this.MultiZoneInfo);
|
|||
|
|
this.SetParamSimple(map, prefix + "LicenseType", this.LicenseType);
|
|||
|
|
this.SetParamArrayObj(map, prefix + "NodeInfoList.", this.NodeInfoList);
|
|||
|
|
this.SetParamArrayObj(map, prefix + "TagList.", this.TagList);
|
|||
|
|
this.SetParamSimple(map, prefix + "BasicSecurityType", this.BasicSecurityType);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|