/*
* 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_nameindices.fielddata.cache.sizeindices.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核2GES.S1.MEDIUM4:2核4GES.S1.MEDIUM8:2核8GES.S1.LARGE16:4核16GES.S1.2XLARGE32:8核32GES.S1.4XLARGE32:16核32GES.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核2GES.S1.MEDIUM4:2核4GES.S1.MEDIUM8:2核8GES.S1.LARGE16:4核16GES.S1.2XLARGE32:8核32GES.S1.4XLARGE32:16核32GES.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);
}
}
}