Files
g.hnyhua.cn/TencentCloud/Es/V20180416/Models/UpdateInstanceRequest.cs

176 lines
7.2 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.Es.V20180416.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class UpdateInstanceRequest : AbstractModel
{
/// <summary>
/// 实例ID
/// </summary>
[JsonProperty("InstanceId")]
public string InstanceId{ 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>
/// 配置项JSON格式字符串。当前仅支持以下配置项<li>action.destructive_requires_name</li><li>indices.fielddata.cache.size</li><li>indices.query.bool.max_clause_count</li>
/// </summary>
[JsonProperty("EsConfig")]
public string EsConfig{ get; set; }
/// <summary>
/// 默认用户elastic的密码8到16位至少包括两项[a-z,A-Z],[0-9]和[-!@#$%&^*+=_:;,.?]的特殊符号)
/// </summary>
[JsonProperty("Password")]
public string Password{ get; set; }
/// <summary>
/// 访问控制列表
/// </summary>
[JsonProperty("EsAcl")]
public EsAcl EsAcl{ get; set; }
/// <summary>
/// 已废弃请使用NodeInfoList
/// 磁盘大小单位GB
/// </summary>
[JsonProperty("DiskSize")]
public ulong? DiskSize{ get; set; }
/// <summary>
/// 已废弃请使用NodeInfoList
/// 节点规格<li>ES.S1.SMALL21核2G</li><li>ES.S1.MEDIUM42核4G</li><li>ES.S1.MEDIUM82核8G</li><li>ES.S1.LARGE164核16G</li><li>ES.S1.2XLARGE328核32G</li><li>ES.S1.4XLARGE3216核32G</li><li>ES.S1.4XLARGE6416核64G</li>
/// </summary>
[JsonProperty("NodeType")]
public string NodeType{ get; set; }
/// <summary>
/// 已废弃请使用NodeInfoList
/// 专用主节点个数只支持3个或5个
/// </summary>
[JsonProperty("MasterNodeNum")]
public ulong? MasterNodeNum{ get; set; }
/// <summary>
/// 已废弃请使用NodeInfoList
/// 专用主节点规格<li>ES.S1.SMALL21核2G</li><li>ES.S1.MEDIUM42核4G</li><li>ES.S1.MEDIUM82核8G</li><li>ES.S1.LARGE164核16G</li><li>ES.S1.2XLARGE328核32G</li><li>ES.S1.4XLARGE3216核32G</li><li>ES.S1.4XLARGE6416核64G</li>
/// </summary>
[JsonProperty("MasterNodeType")]
public string MasterNodeType{ get; set; }
/// <summary>
/// 已废弃请使用NodeInfoList
/// 专用主节点磁盘大小单位GB系统默认配置为50GB,暂不支持自定义)
/// </summary>
[JsonProperty("MasterNodeDiskSize")]
public ulong? MasterNodeDiskSize{ get; set; }
/// <summary>
/// 更新配置时是否强制重启<li>true强制重启</li><li>false不强制重启</li>当前仅更新EsConfig时需要设置默认值为false
/// </summary>
[JsonProperty("ForceRestart")]
public bool? ForceRestart{ get; set; }
/// <summary>
/// COS自动备份信息
/// </summary>
[JsonProperty("CosBackup")]
public CosBackup CosBackup{ get; set; }
/// <summary>
/// 节点信息列表,可以只传递要更新的节点及其对应的规格信息。支持的操作包括<li>修改一种节点的个数</li><li>修改一种节点的节点规格及磁盘大小</li><li>增加一种节点类型(需要同时指定该节点的类型,个数,规格,磁盘等信息)</li>上述操作一次只能进行一种,且磁盘类型不支持修改
/// </summary>
[JsonProperty("NodeInfoList")]
public NodeInfo[] NodeInfoList{ get; set; }
/// <summary>
/// 公网访问状态
/// </summary>
[JsonProperty("PublicAccess")]
public string PublicAccess{ get; set; }
/// <summary>
/// 公网访问控制列表
/// </summary>
[JsonProperty("EsPublicAcl")]
public EsPublicAcl EsPublicAcl{ get; set; }
/// <summary>
/// Kibana公网访问状态
/// </summary>
[JsonProperty("KibanaPublicAccess")]
public string KibanaPublicAccess{ get; set; }
/// <summary>
/// Kibana内网访问状态
/// </summary>
[JsonProperty("KibanaPrivateAccess")]
public string KibanaPrivateAccess{ get; set; }
/// <summary>
/// ES 6.8及以上版本基础版开启或关闭用户认证
/// </summary>
[JsonProperty("BasicSecurityType")]
public long? 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 + "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);
}
}
}