/* * 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.Ecm.V20190719.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class Instance : AbstractModel { /// /// 实例ID。 /// [JsonProperty("InstanceId")] public string InstanceId{ get; set; } /// /// 实例名称,如ens-34241f3s。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("InstanceName")] public string InstanceName{ get; set; } /// /// 实例状态。取值范围: /// PENDING:表示创建中 /// LAUNCH_FAILED:表示创建失败 /// RUNNING:表示运行中 /// STOPPED:表示关机 /// STARTING:表示开机中 /// STOPPING:表示关机中 /// REBOOTING:表示重启中 /// SHUTDOWN:表示停止待销毁 /// TERMINATING:表示销毁中。 /// [JsonProperty("InstanceState")] public string InstanceState{ get; set; } /// /// 实例当前使用的镜像的信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("Image")] public Image Image{ get; set; } /// /// 实例当前所属的模块简要信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("SimpleModule")] public SimpleModule SimpleModule{ get; set; } /// /// 实例所在的位置相关信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("Position")] public Position Position{ get; set; } /// /// 实例的网络相关信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("Internet")] public Internet Internet{ get; set; } /// /// 实例的配置相关信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("InstanceTypeConfig")] public InstanceTypeConfig InstanceTypeConfig{ get; set; } /// /// 实例的创建时间。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("CreateTime")] public string CreateTime{ get; set; } /// /// 实例的标签信息。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("TagSet")] public Tag[] TagSet{ get; set; } /// /// 实例最后一次操作。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("LatestOperation")] public string LatestOperation{ get; set; } /// /// 实例最后一次操作结果。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("LatestOperationState")] public string LatestOperationState{ get; set; } /// /// 实例业务状态。取值范围: /// NORMAL:表示正常状态的实例 /// EXPIRED:表示过期的实例 /// PROTECTIVELY_ISOLATED:表示被安全隔离的实例。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("RestrictState")] public string RestrictState{ get; set; } /// /// 系统盘大小,单位GB。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("SystemDiskSize")] public long? SystemDiskSize{ get; set; } /// /// 数据盘大小,单位GB。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("DataDiskSize")] public long? DataDiskSize{ get; set; } /// /// UUID /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("UUID")] public string UUID{ get; set; } /// /// 付费方式。 /// 0为后付费。 /// 1为预付费。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("PayMode")] public long? PayMode{ get; set; } /// /// 过期时间。格式为yyyy-mm-dd HH:mm:ss。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("ExpireTime")] public string ExpireTime{ get; set; } /// /// 隔离时间。格式为yyyy-mm-dd HH:mm:ss。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("IsolatedTime")] public string IsolatedTime{ get; set; } /// /// 是否自动续费。 /// 0为不自动续费。 /// 1为自动续费。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("RenewFlag")] public long? RenewFlag{ get; set; } /// /// 过期状态。 /// NORMAL 表示机器运行正常。 /// WILL_EXPIRE 表示即将过期。 /// EXPIRED 表示已过期。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("ExpireState")] public string ExpireState{ get; set; } /// /// 系统盘信息 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("SystemDisk")] public DiskInfo SystemDisk{ get; set; } /// /// 数据盘信息 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("DataDisks")] public DiskInfo[] DataDisks{ 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 + "InstanceState", this.InstanceState); this.SetParamObj(map, prefix + "Image.", this.Image); this.SetParamObj(map, prefix + "SimpleModule.", this.SimpleModule); this.SetParamObj(map, prefix + "Position.", this.Position); this.SetParamObj(map, prefix + "Internet.", this.Internet); this.SetParamObj(map, prefix + "InstanceTypeConfig.", this.InstanceTypeConfig); this.SetParamSimple(map, prefix + "CreateTime", this.CreateTime); this.SetParamArrayObj(map, prefix + "TagSet.", this.TagSet); this.SetParamSimple(map, prefix + "LatestOperation", this.LatestOperation); this.SetParamSimple(map, prefix + "LatestOperationState", this.LatestOperationState); this.SetParamSimple(map, prefix + "RestrictState", this.RestrictState); this.SetParamSimple(map, prefix + "SystemDiskSize", this.SystemDiskSize); this.SetParamSimple(map, prefix + "DataDiskSize", this.DataDiskSize); this.SetParamSimple(map, prefix + "UUID", this.UUID); this.SetParamSimple(map, prefix + "PayMode", this.PayMode); this.SetParamSimple(map, prefix + "ExpireTime", this.ExpireTime); this.SetParamSimple(map, prefix + "IsolatedTime", this.IsolatedTime); this.SetParamSimple(map, prefix + "RenewFlag", this.RenewFlag); this.SetParamSimple(map, prefix + "ExpireState", this.ExpireState); this.SetParamObj(map, prefix + "SystemDisk.", this.SystemDisk); this.SetParamArrayObj(map, prefix + "DataDisks.", this.DataDisks); } } }