/*
* 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.Mongodb.V20180408.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class MongoDBInstanceDetail : AbstractModel
{
///
/// 实例ID
///
[JsonProperty("InstanceId")]
public string InstanceId{ get; set; }
///
/// 实例名称
///
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
///
/// 付费类型,可能的返回值:1-包年包月;0-按量计费
///
[JsonProperty("PayMode")]
public ulong? PayMode{ get; set; }
///
/// 项目ID
///
[JsonProperty("ProjectId")]
public ulong? ProjectId{ get; set; }
///
/// 集群类型,可能的返回值:0-副本集实例,1-分片实例,
///
[JsonProperty("ClusterType")]
public ulong? ClusterType{ get; set; }
///
/// 地域信息
///
[JsonProperty("Region")]
public string Region{ get; set; }
///
/// 可用区信息
///
[JsonProperty("Zone")]
public string Zone{ get; set; }
///
/// 网络类型,可能的返回值:0-基础网络,1-私有网络
///
[JsonProperty("NetType")]
public ulong? NetType{ get; set; }
///
/// 私有网络的ID
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// 私有网络的子网ID
///
[JsonProperty("SubnetId")]
public string SubnetId{ get; set; }
///
/// 实例状态,可能的返回值:0-待初始化,1-流程处理中,2-运行中,-2-实例已过期
///
[JsonProperty("Status")]
public long? Status{ get; set; }
///
/// 实例IP
///
[JsonProperty("Vip")]
public string Vip{ get; set; }
///
/// 端口号
///
[JsonProperty("Vport")]
public ulong? Vport{ get; set; }
///
/// 实例创建时间
///
[JsonProperty("CreateTime")]
public string CreateTime{ get; set; }
///
/// 实例到期时间
///
[JsonProperty("DeadLine")]
public string DeadLine{ get; set; }
///
/// 实例版本信息
///
[JsonProperty("MongoVersion")]
public string MongoVersion{ get; set; }
///
/// 实例内存规格,单位为MB
///
[JsonProperty("Memory")]
public ulong? Memory{ get; set; }
///
/// 实例磁盘规格,单位为MB
///
[JsonProperty("Volume")]
public ulong? Volume{ get; set; }
///
/// 实例CPU核心数
///
[JsonProperty("CpuNum")]
public ulong? CpuNum{ get; set; }
///
/// 实例机器类型
///
[JsonProperty("MachineType")]
public string MachineType{ get; set; }
///
/// 实例从节点数
///
[JsonProperty("SecondaryNum")]
public ulong? SecondaryNum{ get; set; }
///
/// 实例分片数
///
[JsonProperty("ReplicationSetNum")]
public ulong? ReplicationSetNum{ get; set; }
///
/// 实例自动续费标志,可能的返回值:0-手动续费,1-自动续费,2-确认不续费
///
[JsonProperty("AutoRenewFlag")]
public long? AutoRenewFlag{ get; set; }
///
/// 已用容量,单位MB
///
[JsonProperty("UsedVolume")]
public ulong? UsedVolume{ get; set; }
///
/// 维护窗口起始时间
///
[JsonProperty("MaintenanceStart")]
public string MaintenanceStart{ get; set; }
///
/// 维护窗口结束时间
///
[JsonProperty("MaintenanceEnd")]
public string MaintenanceEnd{ get; set; }
///
/// 分片信息
///
[JsonProperty("ReplicaSets")]
public MongodbShardInfo[] ReplicaSets{ get; set; }
///
/// 只读实例信息
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("ReadonlyInstances")]
public MongoDBInstance[] ReadonlyInstances{ get; set; }
///
/// 灾备实例信息
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("StandbyInstances")]
public MongoDBInstance[] StandbyInstances{ get; set; }
///
/// 临时实例信息
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("CloneInstances")]
public MongoDBInstance[] CloneInstances{ get; set; }
///
/// 关联实例信息,对于正式实例,该字段表示它的临时实例信息;对于临时实例,则表示它的正式实例信息;如果为只读/灾备实例,则表示他的主实例信息
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("RelatedInstance")]
public MongoDBInstance RelatedInstance{ get; set; }
///
/// 实例标签信息集合
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("Tags")]
public TagInfo[] Tags{ get; set; }
///
/// 实例标记
///
[JsonProperty("InstanceVer")]
public ulong? InstanceVer{ get; set; }
///
/// 实例标记
///
[JsonProperty("ClusterVer")]
public ulong? ClusterVer{ get; set; }
///
/// 协议信息,可能的返回值:1-mongodb,2-dynamodb
///
[JsonProperty("Protocol")]
public ulong? Protocol{ get; set; }
///
/// 实例类型,可能的返回值,1-正式实例,2-临时实例,3-只读实例,4-灾备实例
///
[JsonProperty("InstanceType")]
public ulong? InstanceType{ get; set; }
///
/// 实例状态描述
///
[JsonProperty("InstanceStatusDesc")]
public string InstanceStatusDesc{ get; set; }
///
/// 实例对应的物理实例ID,回档并替换过的实例有不同的InstanceId和RealInstanceId,从barad获取监控数据等场景下需要用物理id获取
///
[JsonProperty("RealInstanceId")]
public string RealInstanceId{ 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 + "PayMode", this.PayMode);
this.SetParamSimple(map, prefix + "ProjectId", this.ProjectId);
this.SetParamSimple(map, prefix + "ClusterType", this.ClusterType);
this.SetParamSimple(map, prefix + "Region", this.Region);
this.SetParamSimple(map, prefix + "Zone", this.Zone);
this.SetParamSimple(map, prefix + "NetType", this.NetType);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamSimple(map, prefix + "SubnetId", this.SubnetId);
this.SetParamSimple(map, prefix + "Status", this.Status);
this.SetParamSimple(map, prefix + "Vip", this.Vip);
this.SetParamSimple(map, prefix + "Vport", this.Vport);
this.SetParamSimple(map, prefix + "CreateTime", this.CreateTime);
this.SetParamSimple(map, prefix + "DeadLine", this.DeadLine);
this.SetParamSimple(map, prefix + "MongoVersion", this.MongoVersion);
this.SetParamSimple(map, prefix + "Memory", this.Memory);
this.SetParamSimple(map, prefix + "Volume", this.Volume);
this.SetParamSimple(map, prefix + "CpuNum", this.CpuNum);
this.SetParamSimple(map, prefix + "MachineType", this.MachineType);
this.SetParamSimple(map, prefix + "SecondaryNum", this.SecondaryNum);
this.SetParamSimple(map, prefix + "ReplicationSetNum", this.ReplicationSetNum);
this.SetParamSimple(map, prefix + "AutoRenewFlag", this.AutoRenewFlag);
this.SetParamSimple(map, prefix + "UsedVolume", this.UsedVolume);
this.SetParamSimple(map, prefix + "MaintenanceStart", this.MaintenanceStart);
this.SetParamSimple(map, prefix + "MaintenanceEnd", this.MaintenanceEnd);
this.SetParamArrayObj(map, prefix + "ReplicaSets.", this.ReplicaSets);
this.SetParamArrayObj(map, prefix + "ReadonlyInstances.", this.ReadonlyInstances);
this.SetParamArrayObj(map, prefix + "StandbyInstances.", this.StandbyInstances);
this.SetParamArrayObj(map, prefix + "CloneInstances.", this.CloneInstances);
this.SetParamObj(map, prefix + "RelatedInstance.", this.RelatedInstance);
this.SetParamArrayObj(map, prefix + "Tags.", this.Tags);
this.SetParamSimple(map, prefix + "InstanceVer", this.InstanceVer);
this.SetParamSimple(map, prefix + "ClusterVer", this.ClusterVer);
this.SetParamSimple(map, prefix + "Protocol", this.Protocol);
this.SetParamSimple(map, prefix + "InstanceType", this.InstanceType);
this.SetParamSimple(map, prefix + "InstanceStatusDesc", this.InstanceStatusDesc);
this.SetParamSimple(map, prefix + "RealInstanceId", this.RealInstanceId);
}
}
}