/* * 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.Cvm.V20170312.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class Instance : AbstractModel { /// /// 实例所在的位置。 /// [JsonProperty("Placement")] public Placement Placement{ get; set; } /// /// 实例`ID`。 /// [JsonProperty("InstanceId")] public string InstanceId{ get; set; } /// /// 实例机型。 /// [JsonProperty("InstanceType")] public string InstanceType{ get; set; } /// /// 实例的CPU核数,单位:核。 /// [JsonProperty("CPU")] public long? CPU{ get; set; } /// /// 实例内存容量,单位:`GB`。 /// [JsonProperty("Memory")] public long? Memory{ get; set; } /// /// 实例业务状态。取值范围:
  • NORMAL:表示正常状态的实例
  • EXPIRED:表示过期的实例
  • PROTECTIVELY_ISOLATED:表示被安全隔离的实例。 ///
  • [JsonProperty("RestrictState")] public string RestrictState{ get; set; } /// /// 实例名称。 /// [JsonProperty("InstanceName")] public string InstanceName{ get; set; } /// /// 实例计费模式。取值范围:
  • `PREPAID`:表示预付费,即包年包月
  • `POSTPAID_BY_HOUR`:表示后付费,即按量计费
  • `CDHPAID`:`CDH`付费,即只对`CDH`计费,不对`CDH`上的实例计费。
  • `SPOTPAID`:表示竞价实例付费。 ///
  • [JsonProperty("InstanceChargeType")] public string InstanceChargeType{ get; set; } /// /// 实例系统盘信息。 /// [JsonProperty("SystemDisk")] public SystemDisk SystemDisk{ get; set; } /// /// 实例数据盘信息。只包含随实例购买的数据盘。 /// [JsonProperty("DataDisks")] public DataDisk[] DataDisks{ get; set; } /// /// 实例主网卡的内网`IP`列表。 /// [JsonProperty("PrivateIpAddresses")] public string[] PrivateIpAddresses{ get; set; } /// /// 实例主网卡的公网`IP`列表。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("PublicIpAddresses")] public string[] PublicIpAddresses{ get; set; } /// /// 实例带宽信息。 /// [JsonProperty("InternetAccessible")] public InternetAccessible InternetAccessible{ get; set; } /// /// 实例所属虚拟私有网络信息。 /// [JsonProperty("VirtualPrivateCloud")] public VirtualPrivateCloud VirtualPrivateCloud{ get; set; } /// /// 生产实例所使用的镜像`ID`。 /// [JsonProperty("ImageId")] public string ImageId{ get; set; } /// /// 自动续费标识。取值范围:
  • `NOTIFY_AND_MANUAL_RENEW`:表示通知即将过期,但不自动续费
  • `NOTIFY_AND_AUTO_RENEW`:表示通知即将过期,而且自动续费
  • `DISABLE_NOTIFY_AND_MANUAL_RENEW`:表示不通知即将过期,也不自动续费。 ///
  • 注意:后付费模式本项为null ///
  • [JsonProperty("RenewFlag")] public string RenewFlag{ get; set; } /// /// 创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 /// [JsonProperty("CreatedTime")] public string CreatedTime{ get; set; } /// /// 到期时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。注意:后付费模式本项为null /// [JsonProperty("ExpiredTime")] public string ExpiredTime{ get; set; } /// /// 操作系统名称。 /// [JsonProperty("OsName")] public string OsName{ get; set; } /// /// 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。 /// [JsonProperty("SecurityGroupIds")] public string[] SecurityGroupIds{ get; set; } /// /// 实例登录设置。目前只返回实例所关联的密钥。 /// [JsonProperty("LoginSettings")] public LoginSettings LoginSettings{ get; set; } /// /// 实例状态。取值范围:
  • PENDING:表示创建中
  • LAUNCH_FAILED:表示创建失败
  • RUNNING:表示运行中
  • STOPPED:表示关机
  • STARTING:表示开机中
  • STOPPING:表示关机中
  • REBOOTING:表示重启中
  • SHUTDOWN:表示停止待销毁
  • TERMINATING:表示销毁中。
  • ///
    [JsonProperty("InstanceState")] public string InstanceState{ get; set; } /// /// 实例关联的标签列表。 /// [JsonProperty("Tags")] public Tag[] Tags{ get; set; } /// /// 实例的关机计费模式。 /// 取值范围:
  • KEEP_CHARGING:关机继续收费
  • STOP_CHARGING:关机停止收费
  • NOT_APPLICABLE:实例处于非关机状态或者不适用关机停止计费的条件
    ///
  • [JsonProperty("StopChargingMode")] public string StopChargingMode{ get; set; } /// /// 实例全局唯一ID /// [JsonProperty("Uuid")] public string Uuid{ get; set; } /// /// 实例的最新操作。例:StopInstances、ResetInstance。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("LatestOperation")] public string LatestOperation{ get; set; } /// /// 实例的最新操作状态。取值范围:
  • SUCCESS:表示操作成功
  • OPERATING:表示操作执行中
  • FAILED:表示操作失败 /// 注意:此字段可能返回 null,表示取不到有效值。 ///
  • [JsonProperty("LatestOperationState")] public string LatestOperationState{ get; set; } /// /// 实例最新操作的唯一请求 ID。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("LatestOperationRequestId")] public string LatestOperationRequestId{ get; set; } /// /// 分散置放群组ID。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("DisasterRecoverGroupId")] public string DisasterRecoverGroupId{ get; set; } /// /// 实例的IPv6地址。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("IPv6Addresses")] public string[] IPv6Addresses{ get; set; } /// /// CAM角色名。 /// 注意:此字段可能返回 null,表示取不到有效值。 /// [JsonProperty("CamRoleName")] public string CamRoleName{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamObj(map, prefix + "Placement.", this.Placement); this.SetParamSimple(map, prefix + "InstanceId", this.InstanceId); this.SetParamSimple(map, prefix + "InstanceType", this.InstanceType); this.SetParamSimple(map, prefix + "CPU", this.CPU); this.SetParamSimple(map, prefix + "Memory", this.Memory); this.SetParamSimple(map, prefix + "RestrictState", this.RestrictState); this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName); this.SetParamSimple(map, prefix + "InstanceChargeType", this.InstanceChargeType); this.SetParamObj(map, prefix + "SystemDisk.", this.SystemDisk); this.SetParamArrayObj(map, prefix + "DataDisks.", this.DataDisks); this.SetParamArraySimple(map, prefix + "PrivateIpAddresses.", this.PrivateIpAddresses); this.SetParamArraySimple(map, prefix + "PublicIpAddresses.", this.PublicIpAddresses); this.SetParamObj(map, prefix + "InternetAccessible.", this.InternetAccessible); this.SetParamObj(map, prefix + "VirtualPrivateCloud.", this.VirtualPrivateCloud); this.SetParamSimple(map, prefix + "ImageId", this.ImageId); this.SetParamSimple(map, prefix + "RenewFlag", this.RenewFlag); this.SetParamSimple(map, prefix + "CreatedTime", this.CreatedTime); this.SetParamSimple(map, prefix + "ExpiredTime", this.ExpiredTime); this.SetParamSimple(map, prefix + "OsName", this.OsName); this.SetParamArraySimple(map, prefix + "SecurityGroupIds.", this.SecurityGroupIds); this.SetParamObj(map, prefix + "LoginSettings.", this.LoginSettings); this.SetParamSimple(map, prefix + "InstanceState", this.InstanceState); this.SetParamArrayObj(map, prefix + "Tags.", this.Tags); this.SetParamSimple(map, prefix + "StopChargingMode", this.StopChargingMode); this.SetParamSimple(map, prefix + "Uuid", this.Uuid); this.SetParamSimple(map, prefix + "LatestOperation", this.LatestOperation); this.SetParamSimple(map, prefix + "LatestOperationState", this.LatestOperationState); this.SetParamSimple(map, prefix + "LatestOperationRequestId", this.LatestOperationRequestId); this.SetParamSimple(map, prefix + "DisasterRecoverGroupId", this.DisasterRecoverGroupId); this.SetParamArraySimple(map, prefix + "IPv6Addresses.", this.IPv6Addresses); this.SetParamSimple(map, prefix + "CamRoleName", this.CamRoleName); } } }