/* * 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 UpdateInstanceRequest : AbstractModel { /// /// 实例ID /// [JsonProperty("InstanceId")] public string InstanceId{ get; set; } /// /// 实例名称(1-50 个英文、汉字、数字、连接线-或下划线_) /// [JsonProperty("InstanceName")] public string InstanceName{ get; set; } /// /// 已废弃请使用NodeInfoList /// 节点个数(2-50个) /// [JsonProperty("NodeNum")] public ulong? NodeNum{ get; set; } /// /// 配置项(JSON格式字符串)。当前仅支持以下配置项:
  • action.destructive_requires_name
  • indices.fielddata.cache.size
  • indices.query.bool.max_clause_count
  • ///
    [JsonProperty("EsConfig")] public string EsConfig{ get; set; } /// /// 默认用户elastic的密码(8到16位,至少包括两项([a-z,A-Z],[0-9]和[-!@#$%&^*+=_:;,.?]的特殊符号) /// [JsonProperty("Password")] public string Password{ get; set; } /// /// 访问控制列表 /// [JsonProperty("EsAcl")] public EsAcl EsAcl{ get; set; } /// /// 已废弃请使用NodeInfoList /// 磁盘大小(单位GB) /// [JsonProperty("DiskSize")] public ulong? DiskSize{ get; set; } /// /// 已废弃请使用NodeInfoList /// 节点规格
  • ES.S1.SMALL2:1核2G
  • ES.S1.MEDIUM4:2核4G
  • ES.S1.MEDIUM8:2核8G
  • ES.S1.LARGE16:4核16G
  • ES.S1.2XLARGE32:8核32G
  • ES.S1.4XLARGE32:16核32G
  • ES.S1.4XLARGE64:16核64G
  • ///
    [JsonProperty("NodeType")] public string NodeType{ get; set; } /// /// 已废弃请使用NodeInfoList /// 专用主节点个数(只支持3个或5个) /// [JsonProperty("MasterNodeNum")] public ulong? MasterNodeNum{ get; set; } /// /// 已废弃请使用NodeInfoList /// 专用主节点规格
  • ES.S1.SMALL2:1核2G
  • ES.S1.MEDIUM4:2核4G
  • ES.S1.MEDIUM8:2核8G
  • ES.S1.LARGE16:4核16G
  • ES.S1.2XLARGE32:8核32G
  • ES.S1.4XLARGE32:16核32G
  • ES.S1.4XLARGE64:16核64G
  • ///
    [JsonProperty("MasterNodeType")] public string MasterNodeType{ get; set; } /// /// 已废弃请使用NodeInfoList /// 专用主节点磁盘大小(单位GB系统默认配置为50GB,暂不支持自定义) /// [JsonProperty("MasterNodeDiskSize")] public ulong? MasterNodeDiskSize{ get; set; } /// /// 更新配置时是否强制重启
  • true强制重启
  • false不强制重启
  • 当前仅更新EsConfig时需要设置,默认值为false ///
    [JsonProperty("ForceRestart")] public bool? ForceRestart{ get; set; } /// /// COS自动备份信息 /// [JsonProperty("CosBackup")] public CosBackup CosBackup{ get; set; } /// /// 节点信息列表,可以只传递要更新的节点及其对应的规格信息。支持的操作包括
  • 修改一种节点的个数
  • 修改一种节点的节点规格及磁盘大小
  • 增加一种节点类型(需要同时指定该节点的类型,个数,规格,磁盘等信息)
  • 上述操作一次只能进行一种,且磁盘类型不支持修改 ///
    [JsonProperty("NodeInfoList")] public NodeInfo[] NodeInfoList{ get; set; } /// /// 公网访问状态 /// [JsonProperty("PublicAccess")] public string PublicAccess{ get; set; } /// /// 公网访问控制列表 /// [JsonProperty("EsPublicAcl")] public EsPublicAcl EsPublicAcl{ get; set; } /// /// Kibana公网访问状态 /// [JsonProperty("KibanaPublicAccess")] public string KibanaPublicAccess{ get; set; } /// /// Kibana内网访问状态 /// [JsonProperty("KibanaPrivateAccess")] public string KibanaPrivateAccess{ get; set; } /// /// ES 6.8及以上版本基础版开启或关闭用户认证 /// [JsonProperty("BasicSecurityType")] public long? BasicSecurityType{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamSimple(map, prefix + "InstanceId", this.InstanceId); this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName); this.SetParamSimple(map, prefix + "NodeNum", this.NodeNum); this.SetParamSimple(map, prefix + "EsConfig", this.EsConfig); this.SetParamSimple(map, prefix + "Password", this.Password); this.SetParamObj(map, prefix + "EsAcl.", this.EsAcl); this.SetParamSimple(map, prefix + "DiskSize", this.DiskSize); this.SetParamSimple(map, prefix + "NodeType", this.NodeType); 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 + "ForceRestart", this.ForceRestart); this.SetParamObj(map, prefix + "CosBackup.", this.CosBackup); this.SetParamArrayObj(map, prefix + "NodeInfoList.", this.NodeInfoList); this.SetParamSimple(map, prefix + "PublicAccess", this.PublicAccess); this.SetParamObj(map, prefix + "EsPublicAcl.", this.EsPublicAcl); this.SetParamSimple(map, prefix + "KibanaPublicAccess", this.KibanaPublicAccess); this.SetParamSimple(map, prefix + "KibanaPrivateAccess", this.KibanaPrivateAccess); this.SetParamSimple(map, prefix + "BasicSecurityType", this.BasicSecurityType); } } }